Skip to content

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 コマンドで作成します。

yaml
---
name: frontend-reviewer
description: React コンポーネントのコードレビュー専門家
tools: Read, Grep, Glob
model: sonnet
---
あなたはReact/TypeScriptの専門家です...

並列 vs 順次実行の基準

パターン条件
並列実行タスクが独立している + ファイルの重複なし + 相互依存関係なし
順次実行前の結果が次のステップに必要 / 同じファイルを修正する

Agent Teams(実験的機能)

Agent Teamsは複数のClaude Codeセッションがチームとして協調して動作する機能で、1つのセッションがチームリードの役割を担ってタスクを調整し、チームメンバーは互いに直接通信しながら協業します。Subagentとの主な違いは、メンバー間で直接通信が可能な点です。

有効化方法:

json
// .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に設定するとコストを大幅に削減できます。

bash
export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-5"

PRを歓迎します ✦