運用・品質

会話の切り方・調査の任せ方・検証。

会話の切り方・調査の任せ方・検証してから完了

やること

  1. 6つの基本ルールを試す
  2. 広い調査は Task に任せる
  3. 指摘を tasks/lessons.md に残す

完了: 小タスク1件を Plan→実装→検証まで完了

会話の切り方・調査の任せ方・検証してから完了

やること

  1. 6つの基本ルールを試す
  2. 広い調査は Task に任せる
  3. 指摘を tasks/lessons.md に残す

完了: 小タスク1件を Plan→実装→検証まで完了

sequenceDiagram participant U as ユーザー participant M as メインエージェント participant S as 別AI担当 participant T as tasks/ U->>M: タスク依頼 M->>M: Plan(チャット Plan モード) opt チーム共有 M->>T: tasks/todo.md に転記 end M->>S: 調査・探索を任せる S-->>M: 構造化結果 M->>M: 実装・検証 alt 指摘あり U-->>M: 修正フィードバック M->>T: lessons.md 更新 M->>M: 再計画 or 修正 end M-->>U: 確認結果つき完了報告

エージェント運用 — 6つの基本ルール

Plan 先・調査委譲・lessons・検証・簡潔さ・自律修正。詳細は下の折りたたみと agent-workflow-orchestration.mdc

#ルール参照
1Plan で始めるPhase 2 Plan
2調査は別 AI に任せるマルチエージェント
3lessons に残すlessons · tasks/lessons.md
4完了前に検証検証
5簡潔さ単純修正に過剰設計しない
6自律的バグ修正バグ修正(git は許可後)
6つの基本ルール・タスク管理(詳細)
  1. Plan で始める — 完了条件・検証ステップまで書く(Plan 成果物
  2. 調査は別 AI に任せる — 1担当=1タスク。メイン会話を散らかさない
  3. lessons に残す — 指摘パターンを tasks/lessons.md → 再発時に rules へ
  4. 完了前に検証 — テスト・curl 等で動いたことを示す
  5. 簡潔さ — 単純な修正に過剰設計しない
  6. 自律的バグ修正 — git push 等はユーザー許可を待つ

Plan 置き場パターン・適用シナリオの詳細は ルールサンプル と上記 .mdc を参照。

会話の文脈管理(2026)

AI の回答の質は、渡す情報の量より、余計な情報が少ないかで決まる。下表は状況別の推奨。

状況推奨
コードベースの調査・「どこにある?」ファイルを総 @ しない。自然言語で領域を指定。必要なら 1 ファイルだけ @
ブランチ上の作業・レビュー@Branch で差分コンテキストを渡す
前セッションの続き会話全文のコピペではなく @Past Chats で選択的に参照(手順: ルール/プラン — @Past Chats
別タスク・別機能に着手新規チャット。Plan(チャット or ファイル)/ ADR / 必要なら tasks/todo.md を正式な記録に
同じ機能の反復・デバッグ同一会話を継続(直前の実装文脈が必要)
エージェントが同じミスを繰り返す会話を切り、ルールを 1 条追加してから再開
広い調査・並列分析別の AI 担当(Task)に委譲し、結果だけメインへ(調査の任せ方

ツール横断の整理・公式 BP 対応表: ルール/プラン — 3ツール横断 · 公式ドキュメント。プロンプト: プロンプト設計

Plan の置き場所(チャット / ファイル)

3 ステップ以上は Plan をファイル化。tasks/todo.md がチーム正本。Cursor は .cursor/plans/ が下書き。

Plan — ズレたら follow-up ではなく計画からやり直す

公式 BP: 意図と違う出力が出たら、追加入力で直すより変更を revert → Plan を具体化 → 再 Buildの方が速くきれいなことが多い。

  1. Checkpoint / git で安全な地点に戻す
  2. Plan(チャット or .cursor/plans/)に不足コンテキスト・完了条件を追記
  3. ユーザー承認後に Agent で再実行
  4. 検証コマンド(完了前検証)を Plan に含める

マルチエージェント協調

開発セッションでは、1つの会話にすべてを詰め込まず、別の AI 担当(Task / Subagent)に調査・分析を委譲し、メインは実装と判断に集中する。プロダクト実装(LangGraph・SDK)の詳細は Tool Use 参考 — マルチエージェント、RAG 統合は RAG 参考 — Agentic RAG

基本 — 開発文脈でのマルチエージェント

マルチエージェントとは、役割とコンテキストを分けた複数の AI 実行単位が協調すること。Cursor では Task ツール、Claude Code では Subagents が相当する。

  1. Plan — メインがゴール・サブタスク・並列可否を書く(Plan の置き場所
  2. 調査委譲 — 広い grep・複数ディレクトリ探索は Subagent に任せ、結果だけ戻す(調査の任せ方
  3. 執筆・実装 — メインが構造化された調査結果をもとにコード・ドキュメントを書く
  4. 検証 — テスト・curl・本番 HEAD など完了条件を満たす(完了前の検証

Cursor Task — subagent_type の使い分け

subagent_type向く場面避けること
exploreコードベース探索・「どこにある?」・パス一覧同一機能の反復デバッグ(メインで続ける)
generalPurpose複数ステップの調査・分析・執筆前の下準備出力形式を指定しない長文ダンプ
shellgit status / ビルド / テスト実行破壊的操作(ユーザー許可ルールに従う)

並列: 独立タスクは複数 Task を同時起動(ファンアウト)。集約ロジックを Plan に先に書く。

worktree 並列 · 複数モデル比較(Cursor 2026)

出典: 公式 BP

  • Git worktree — Agent ドロップダウンから worktree を選ぶと、ファイル変更が分離された作業ツリーで実行。完了後 Apply で現在ブランチへマージ
  • 複数モデル — 同一プロンプトを複数モデルに送り、結果を横並び比較。難問・エッジケースの探索向け
  • 通知 — 並列実行時は完了通知を有効化(長時間タスク)

調査だけ委譲する場合は Task / Subagent。実装の並列は worktree + Plan で衝突を防ぐ。

受け渡しスキーマ(データ契約)

Subagent からメインへ戻すのは構造化結果だけ。全文ダンプ・長い grep 出力は避ける。

{
  "paths": ["src/domain/order.ts", "src/api/routes/order.ts"],
  "summary": "OrderService.create が POST /orders から呼ばれる。認可は middleware/auth.ts。"
}
  • paths — 触るべきファイル(最大10件程度)
  • summary — 3〜5文の要点(メインが次のアクションを決めるのに足る量)
  • 必要なら blockers — 調査だけでは解決できない不明点

協調パターン

flowchart LR subgraph pipe [パイプライン] P1[調査] --> P2[分析] --> P3[執筆] --> P4[レビュー] end subgraph fan [ファンアウト] F0[タスク] --> F1[Item1] F0 --> F2[Item2] F0 --> F3[Item3] F1 --> FM[集約] F2 --> FM F3 --> FM end subgraph team [スペシャリスト] T1[市場] --> TM[統合] T2[技術] --> TM T3[財務] --> TM end

下表はパターンごとの向き不向き。

パターン向く場面注意点
パイプライン段階依存が明確受け渡しスキーマを固定
ファンアウト独立アイテムの並列処理集約ロジックを先に定義
スペシャリスト多ドメイン統合出力形式を標準化

チェックリスト

  1. ゴール・サブタスク・並列可否を書く
  2. 各エージェントに役割・ツール・構造化出力(データ契約)を割り当てる
  3. 並列/直列の境界と受け渡しを固定する
  4. 失敗時フォールバックを文章化する
  5. まず 2 体パイプラインで固めてから段階的に増やす
  6. ハンドオフ失敗・重複作業・品質低下・トークン肥大を監視する

よくある失敗

  • 汎用エージェントだらけで特化のメリットが消える
  • 出力形式未標準化で次段がパースできない
  • 並列を早まりで増やし観測不能になる
  • 段間エラー処理がなく連鎖失敗する
  • トークンコストを軽視する


履歴・記録の残し方

「誰が・何を・どの粒度で読むか」を決めると、履歴の残し方がブレない。正本の置き場所は リポジトリ — docs / 作業履歴 を参照。

flowchart TD PR[PR / merge commit] --> Git[Git log] Docs[docs/ 公式] --> Onboard[新メンバー onboarding] ADR[docs/adr/] --> Onboard Zdocs[z_docs/history/ 任意] --> Self[個人振り返り] Chat[チャット履歴] --> Handoff[引き継ぎ] Git --> Handoff Docs --> Handoff

下表は記録の置き場所と粒度の早見。

記録の種類粒度誰が読むか正式な記録性
Git logコミット単位レビュアー・将来の自分
docs/機能単位チーム全体最高(公式)
docs/adr/意思決定単位設計レビュアー
z_docs/history/セッション単位本人任意
チャット1 チャット = 1 タスク引き継ぎ先補助

Git log

TDD 採用チームは [RED] / [GREEN] / [REFACTOR] プレフィックスを使うと読みやすい。

* [REVIEW] address review comment: handle null in <field>
* [REFACTOR] extract _<helper> to private method
* [GREEN] implement <usecase>
* [RED] add failing tests for <usecase>
* docs: add docs/<feature>/ design docs + ADR-NNNN
* [PLAN] refine task breakdown before implementation
* feat: <user-visible summary>  (merge commit)

docs/ (公式)

  • 要件・設計・DB・技術選定・テスト計画・ログ・デプロイが揃う
  • 重要な意思決定は docs/adr/ に切り出す
  • 共有したい知見は z_docs から docs/ へ昇格させる

作業履歴(Obsidian 正本 · z_docs 任意)

詳細・判断フロー: リポジトリ — docs / 作業履歴

  • 必要なときだけ、フェーズ別意思決定を時系列で残す
  • 後から自分で振り返りたいときの補助
  • 共有したい知見だけ docs/ や PR に昇格すればよい

チャット履歴

  • 各フェーズの冒頭で「フェーズN: 目的」を宣言
  • 長くなったら新規チャット。@Past Chats で必要分だけ引き継ぐ(4章 会話の文脈管理
  • 引き継ぎ時、後任者が PR と履歴を読めば理解できる状態にする


AIのよくある誤り

プロジェクト固有のルールとは別に、AI がよく間違える論点の早見表。該当行があればテスト・docs・rules で先回りする。

下表は論点ごとの典型ミスと対策。プロジェクト docs に境界表・丸めポリシー等を書いておくと効く。

論点典型ミス対策
金額/数量float 使用Decimal 必須。丸めポリシーを docs に明示
時刻/TZローカル保存UTC 保存。境界値テスト
境界条件0/null/上限未テスト境界表をテストケース化
並行更新ロック未考慮楽観/悲観ロック方針を docs 化
冪等性リトライで二重実行idempotency key / 一意制約
エラーパスハッピーパスのみ異常系チェックリスト
既存整合「最善実装」提案既存パスをコンテキストに必須
国際化単一言語前提通貨・単位・エンコーディング
権限認証=認可行レベル権限を設計 docs に
性能N+1クエリ数をテスト/ログで確認
データ移行後方互換なし移行手順 + rollback

NOTE: 言語・FW・ライブラリの最新仕様は AI の学習データより古いことが多い。公式ドキュメント・チェンジログと突き合わせる習慣をつける。



ルールは古くなります。四半期見直し・チーム導入・コスト管理をセットで運用してください。

運用の注意

運用の注意(6項目・クリックで展開)

ルールの陳腐化対策

  • スプリント終了時や四半期ごとに利用中ラインのルール (.cursor/rules/ / AGENTS.md / CLAUDE.md / .claude/skills/ / .agents/skills/) を見直す
  • ルール改訂時は docs/adr/ に意思決定を残す(例: ADR-NNNN: Update testing rule)
  • 新規メンバーのオンボーディング時のフィードバックを取り込む

グローバルルールとの境界

  • 個人のグローバルルール (/Users/<user>/.cursor/rules/~/.claude/CLAUDE.md~/.codex/AGENTS.md) と重複させない
  • プロジェクト固有のものだけリポジトリに置く

AIツールのバージョン管理

  • モデル変更で挙動が変わることがある
  • 重要な意思決定では「どのモデルでいつ生成したか」を履歴に残す
  • モデル変更時はチーム内で動作確認を共有

チームへの導入手順

  1. まず 1〜2 人で試し、ルールの初版を固める
  2. 設計レビューで Cursor / Claude Code / Codex のルール群の存在を共有
  3. ペアプロでフロー実演
  4. 既存リポジトリへは PR 単位で rules を追加
  5. 1〜2 スプリント後にレトロでフィードバック収集

既存プロジェクトへの段階適用

  • 既存コードを一括書き換えしない
  • 新規 PR から本フローを適用
  • 既存実装と異なる選択は docs/<feature>/04_tech_decisions.md または docs/adr/ に理由を残す

コスト管理

  • 長セッションはコンテキストコスト高 → 1 チャット 1 タスクで分ける
  • 単純な補完は Tab 補完 / cmd+K で済ませる
  • Plan/設計の議論は Web の Free Tier でも可

1 機能 = 1 チャットに分ける — 1 機能 = 1 チャットに分ける。変数名修正は Tab 補完、Plan 議論だけ別チャットで行い、実装チャットのコンテキストを薄く保つ。