WATフレームワーク (Workflows, Agents, Tools)
⚠️ WATフレームワークは公式Anthropicドキュメントではなく、コミュニティで確立されたアーキテクチャパターンです。
ただし、各構成要素(Subagent、Agent Teamsなど)は公式機能としてサポートされています。
複雑な機能を開発する際、Claudeに漠然と指示すると道に迷いやすくなります。WATフレームワークは、複雑なエージェントシステムを3つのレイヤーで構造化する方法です。
1. Workflows — タスクフローの定義
Claudeが達成すべき目標を、明確な順次的ステップに分割して指示します。
"まずDBスキーマを更新して(Step 1)、
次にバックエンドAPIを作って(Step 2)、
最後にフロントエンドUIを接続して(Step 3)。"💡 大きな機能を一度に任せる前に、Claudeに先にインタビュー形式で要件を整理させるのも良い方法です。
"この機能を実装する前に、AskUserQuestionツールで私にインタビューして要件を明確にしてください。 完了したらSPEC.mdに仕様を記述してください。"
2. Agents — 役割分担と並列処理
Subagent(公式機能)
Subagentは特定の種類のタスクを処理する特化したAIアシスタントで、それぞれ独立したコンテキストウィンドウで実行され、カスタムシステムプロンプト、特定のツールアクセス、独立した権限を持ちます。
.claude/agents/ フォルダにMarkdownファイルとして定義するか、/agents コマンドで作成します。
---
name: frontend-reviewer
description: React コンポーネントのコードレビュー専門家
tools: Read, Grep, Glob
model: sonnet
---
あなたはReact/TypeScriptの専門家です...並列 vs 順次実行の基準
| パターン | 条件 |
|---|---|
| 並列実行 | タスクが独立している + ファイルの重複なし + 相互依存関係なし |
| 順次実行 | 前の結果が次のステップに必要 / 同じファイルを修正する |
Agent Teams(実験的機能)
Agent Teamsは複数のClaude Codeセッションがチームとして協調して動作する機能で、1つのセッションがチームリードの役割を担ってタスクを調整し、チームメンバーは互いに直接通信しながら協業します。Subagentとの主な違いは、メンバー間で直接通信が可能な点です。
有効化方法:
// .claude/settings.json
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}⚠️ コストに注意: 3人チームの場合、単一セッションと比べて約3〜4倍のトークンを消費します。
メンバー間の通信が不要なタスクにはSubagentの方が効率的です。
3. Tools — アトミックなツールの活用
一度に数千行のコードを書かせないでください。アトミック(Atomic)な小さなユーティリティ関数やスクリプトを先に作って組み合わせることで、バグを追跡しやすくなります。
良い例:
"まず日付フォーマットのユーティリティ関数だけ作ってください。
テストが通ったらその時APIに組み込みましょう。"悪い例:
"認証システム全体を作ってください。"実践的な適用 — フルスタック機能開発の例
Step 1: DBスキーマ設計(単一セッション + Plan Mode)
Step 2: バックエンドAPI + フロントコンポーネント(並列Subagent)
└─ backend-agent: APIルート、ビジネスロジック
└─ frontend-agent: Reactコンポーネント、UI状態
Step 3: テスト + ドキュメント化(順次実行)💡 サブエージェントのモデルコスト削減のヒント:
メインセッションはOpus、サブエージェントはSonnetに設定するとコストを大幅に削減できます。bashexport CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-5"