AIエージェントのタスク分解術 — 大きな目標を実行可能な単位に
なぜタスク分解が重要なのか
AIエージェントに「ECサイトを作って」と指示しても、そのままでは実行できない。人間と同じように、大きな目標を具体的なアクションに分解する必要がある。タスク分解の品質が、エージェント全体の成功率を決定する。
分解テンプレート — 3層構造
実務で使える分解テンプレートは以下の3層構造になる。
# タスク分解テンプレート
goal: "ECサイトのMVP構築"
layers:
L1_phases:
- id: P1
name: "要件定義"
deliverable: "要件定義書"
- id: P2
name: "設計"
deliverable: "DB設計書 + API設計書"
- id: P3
name: "実装"
deliverable: "動作するコード"
- id: P4
name: "テスト・デプロイ"
deliverable: "本番URL"
L2_tasks:
- id: T1
phase: P3
name: "商品一覧API実装"
estimate: "2h"
depends_on: ["T0_db_setup"]
- id: T2
phase: P3
name: "カート機能実装"
depends_on: ["T1"]
L3_steps:
- task: T1
steps:
- "Prismaスキーマ定義"
- "GET /api/products エンドポイント作成"
- "ページネーション実装"
- "テスト作成"
L1(フェーズ)→ L2(タスク)→ L3(ステップ)の順に具体化する。各ステップは1回のエージェント実行で完了できるサイズにする。
依存関係グラフ
タスク間の依存関係を明示することで、並列実行可能な作業を特定できる。
[DB設計] ──→ [API実装] ──→ [フロント結合]
│ │
└──→ [認証実装] ┘
│
[UI設計] ──→ [フロント実装] ──→ [フロント結合] ──→ [E2Eテスト]
この例では「DB設計+UI設計」が並列実行可能。「API実装+認証実装」も並列可能。依存関係グラフを正しく描けば、総所要時間を40-60%短縮できる。
依存関係の種類
| 種類 | 説明 | 例 |
|---|---|---|
| 完了依存 | 前タスクの完了が必須 | DBスキーマ → マイグレーション |
| 成果物依存 | 前タスクの成果物を入力に使う | API設計書 → API実装 |
| リソース依存 | 同一リソースを共有 | 同じファイルを編集する2タスク |
| 外部依存 | 外部の承認・入力待ち | クライアント確認待ち |
優先度マトリクス — Impact × Effort
分解したタスクの実行順序を決めるために、Impact(効果)とEffort(工数)の2軸で評価する。
高Impact
│
Quick Wins │ Strategic
(最優先) │ (計画的に)
───────────────┼───────────────
Fill-ins │ Avoid
(空き時間に) │ (やらない)
│
低Impact
低Effort ←──────→ 高Effort
Quick Wins(高Impact × 低Effort): 最初に着手。認証機能、決済連携など。 Strategic(高Impact × 高Effort): 計画を立てて段階的に実行。アーキテクチャ刷新など。 Fill-ins(低Impact × 低Effort): 余裕があるときに。ログ整形、コメント追加など。 Avoid(低Impact × 高Effort): 実行しない。過剰な最適化、不要な機能追加など。
Planner子エージェントの実装パターン
Claude Codeでタスク分解を自動化する場合、Planner子エージェントを使う。
PLANNER_PROMPT = """
あなたはPlanner子エージェントです。
与えられた目標を以下の形式で分解してください:
1. L1フェーズを3-5個に分割
2. 各フェーズをL2タスク(2-4個)に分割
3. 各タスクの依存関係をdepends_onで明示
4. 各タスクのestimateを付与(30m/1h/2h/4h)
5. 優先度をP0(最優先)/P1/P2/P3で付与
制約:
- 1タスクは最大4時間以内
- 依存関係のないタスクは並列実行候補としてマーク
- 外部依存がある場合はblocked_byで明示
"""
分解の失敗パターンと対策
| 失敗パターン | 症状 | 対策 |
|---|---|---|
| 粒度が粗すぎ | 1タスクに8時間以上 | 2時間以内に再分割 |
| 粒度が細かすぎ | 100個以上のステップ | L2レベルで20個以内に |
| 依存関係の見落とし | 実行時にブロック発生 | 成果物ベースで依存を洗い出す |
| 暗黙の前提 | 環境構築漏れ | 前提条件チェックリストを追加 |
まとめ
タスク分解はAIエージェントの実行品質を決定する最重要工程。3層構造テンプレートで分解し、依存関係グラフで並列化を最大化し、優先度マトリクスで実行順序を最適化する。
関連記事
Agentive 編集部
AIエージェントを実際に使い倒す個人開発者。サイト制作の自動化を実践しながら、その知見を発信しています。