Session Orchestrator
複雑なタスクを順次ステップに分解し、各ステップ内で並列サブタスクを実行する。
オーケストレーター原則
高レベルの調整役として機能する。
| 操作 | 推奨 | 理由 |
|---|---|---|
| 大規模ファイル探索 | Explore agentへ委譲 | コンテキスト効率化 |
| コード実装・編集 | default agentへ委譲 | 責務分離 |
| 詳細なコード分析 | code-reviewer agentへ委譲 | 専門性活用 |
| 小規模な確認読み | 直接実行可 | オーバーヘッド削減 |
原則: 計画と調整が主、実行は委譲を優先
Agent選択の詳細は references/agent-selection.md を参照。
コンテキスト分離ルール
サブタスクへの入力
必要最小限の情報を渡す。
code
[サブタスク入力テンプレート] タスク: [具体的な指示] スコープ: [対象範囲と除外事項] 前ステップからの入力: [Handoff情報] 期待出力: [完了レポート形式]
サブタスクからの出力
code
[サブタスク完了レポート] Result: (目安: 200語程度) Artifacts: (ファイルパス or "なし") Handoff: (次ステップへの引継ぎ、目安: 100語程度) Blockers: (あれば記載)
プロセス
Phase 0: タスク受付・分類
code
[入力] ユーザーからのタスク ↓ [判定] タスクカテゴリの特定 ↓ [出力] 「このタスクは【カテゴリ名】に分類します。理由: ...」
| カテゴリ | 特徴 | 典型的なステップ構成 |
|---|---|---|
| 開発系 | 依存関係が明確、検証可能 | 分析 → 実装 → 検証 |
| 調査系 | 探索的、分岐が多い | 収集 → 統合 → 深掘り |
| 文書作成 | 反復・推敲が必要 | 調査 → ドラフト → レビュー |
| データ処理 | パイプライン型 | 取得 → 変換 → 出力 |
| 複合系 | 上記の組み合わせ | カテゴリごとにフェーズ分割 |
Phase 1: 初期分析
- •タスク全体のスコープと要件を理解
- •依存関係と実行順序を特定
- •必要なツール・リソースを洗い出し
Phase 2: ステップ計画
ステップ数の目安:
- •シンプル: 1-2ステップ
- •標準的: 2-4ステップ
- •複雑: フェーズ分割して再帰適用
各ステップに含める情報:
- •ステップ名と目的
- •並列実行可能なサブタスク一覧
- •前ステップからの入力
- •次ステップへの出力
- •ユーザー確認が必要か
Phase 3: ステップ実行
code
Task( subagent_type: "Explore" | "Plan" | "code-reviewer" | "default", prompt: "タスク: ... スコープ: ... 前ステップから: [Handoff情報]" )
実行サイクル: [委譲] → [待機] → [完了レポート受信] → [判断] → [次へ]
Phase 4: ステップ間レビュー
各ステップ完了後に実行:
code
=== ステップ間レビュー === 完了ステップ: Step N 結果サマリ: ... 計画との差分: 予定通り / 変更あり 次ステップの再評価: 当初計画 or 変更後
Phase 5: 結果統合
code
=== 最終結果 === タスク: [元のタスク] 完了ステップ: N/M 成果物一覧: ... 実行サマリ: 成功/スキップ/残課題
エラーハンドリング
詳細は references/error-handling.md を参照。
ユーザーチェックポイント
以下の場合はユーザー確認を要求:
- •複数の有効なアプローチがある
- •予期せぬ結果が発生
- •破壊的な操作を含む(削除、上書き、git push等)
- •コストが高い操作(大量API呼び出し、長時間処理)
- •調査系タスクの中間成果確認
TodoWriteとの連携
実行中は常にTodoWriteでステータスを可視化:
code
Step 1: 情報収集 [completed] A社API仕様取得 [in_progress] B社API仕様取得 Step 2: 比較軸抽出 [pending] 共通の比較軸を特定
使用例
詳細な使用例は references/examples.md を参照。
注意事項
- •すべてのログは日本語で出力
- •判断の理由を必ず明記
- •並列実行時は依存関係がないことを確認
- •Handoffが長すぎる場合は再要約を検討