この記事でわかること
– Anthropic公式の5つのマルチエージェント協調パターンをClaude Code視点で分類
– 各パターンの構造・ユースケース・Claude実装例
– エージェント設計レビューの共通語彙として活用する方法
– 実務で選ぶべきパターンの判断基準Quick Answer
Anthropicの5パターン(Generator-Verifier/Orchestrator-Subagent/Agent Teams/Message Bus/Shared State)は、Claude Codeでエージェント設計を分類する共通語彙。Generator-Verifierは自己検証、Orchestratorは階層統括、Teamsはピア協力、Busはメッセージ中継、Stateは共有メモリ。設計レビューで「これはOrchestratorかTeamsか?」を明確化し、Claudeのツール・プロンプトで即実装可能。(148字)
マルチエージェント設計の混乱を解消するAnthropicの5パターン
マルチエージェントシステムの議論で、「これはOrchestratorパターン? それともAgent Teams?」と意見が分かれる経験はありませんか? Anthropic公式が提唱する5つの協調パターン(Generator-Verifier、Orchestrator-Subagent、Agent Teams、Message Bus、Shared State)は、そんな混乱を防ぐ共通語彙です。
Claude Code(Claudeのコード生成・実行機能)視点でこれらを整理すると、エージェント設計が一気に実務的になります。従来、各人の経験談ベースのレビューが多かったですが、この分類で「パターン名+Claudeプロンプト例」を共有可能。たとえば、Generator-VerifierはClaudeの自己修正ループに直結します。
本記事では、各パターンを構造・ユースケース・Claude Code実装例で解説。ソースはAnthropicのガイド(zenn.dev/motowo/articles/anthropic-multi-agent-coordination-patterns-guide)。これであなたのエージェントプロジェクトが加速します。(312字)
1. Generator-Verifierパターン:自己検証で品質向上
Generator-Verifierは、生成エージェント(Generator)がアイデアやコードを産み、Verifierがそれを検証・修正するシンプルなループパターン。Claude Codeでは、1つのClaudeインスタンス内でプロンプトを切り替えて実現可能です。
構造: Generator → Verifier → 修正ループ → 承認。並列検証も可能。
ユースケース: コード生成時のバグチェックや、文章の事実確認。Claudeの「reasoning」能力を活かし、Verifierに「論理的誤りやエッジケースを指摘せよ」と指示。
Claude Code実装例:
# Claude APIでGenerator
generator_prompt = "コードを生成せよ:{task}"
# Verifier
verifier_prompt = "このコードの誤りを検証:{generated_code}"
ループで品質が指数関数的に向上。単一エージェントでマルチ風を実現し、軽量プロジェクトに最適。Anthropicの例では、数学問題解決でVerifierが90%以上の精度向上を示すデータあり。設計レビューでは「GVパターン」と呼べば即通じます。(298字)
2. Orchestrator-Subagentパターン:階層統括で複雑タスク分解
Orchestrator-Subagentは、中央OchestratorがタスクをSubagentに振り分け、結果を集約する階層型。Claude Codeのツール呼び出し(tool_use)と相性抜群で、ループ制御が容易です。
構造: Orchestrator(計画・委任・集約) ↔ Subagents(専門タスク実行)。
ユースケース: Webスクレイピング+分析ワークフロー。Orchestratorが「データ収集Sub→分析Sub→レポートSub」とルーティング。
Claude Code実装例:
# Orchestratorプロンプト
orch_prompt = """
タスク:{goal}
Subagents: [data_agent, analysis_agent]
計画を立て、各Subに委任せよ。
"""
# Subagentは別Claude呼び出し
ClaudeのXMLタグ(
3. Agent Teamsパターン:ピアツーピアの自律議論
Agent Teamsは、複数のエージェントが対等に議論・協力する民主主義型。Claude Codeでは、会話履歴を共有し、各Agentが順番に発言させるマルチターン対話で再現。
構造: 全Agentがメッセージを共有し、合意形成→アクション。
ユースケース: ブレインストーミングやデバッグ会議。Claudeのロールプレイ(「君はエンジニアA」「B」)でシミュレート。
Claude Code実装例:
conversation = []
for agent in teams:
response = claude.chat(conversation + [f"{agent}:{prompt}"])
conversation.append(response)
自然言語議論がClaudeの強みを発揮。Anthropic例では、製品企画で多角的視点が生まれる。Teamsは自律性が高いが、収束しにくい欠点あり。O-Sとの違いは「中央統括なし」。実務で「Teamsでアイデア出し、O-Sで実行」とハイブリッド推奨。(284字)
4. Message Busパターン:非同期メッセージ中継
Message Busは、Bus(キュー)がエージェント間のメッセージを中継するイベント駆動型。Claude Codeでは、RedisやKafka風の外部Queueをツールで操作。
構造: Agent → Bus(publish) → 購読Agent(subscribe)。
ユースケース: リアルタイム監視システム。エージェントが非同期で通知を送受信。
Claude Code実装例:
# Claudeツール定義
tools = [{"name": "publish_message", "bus": "queue"}]
claude_prompt = "メッセージをBusにpublishせよ:{msg}"
スケールしやすく、分散システム向き。Anthropicでは、ログ処理で活用例。Claude単体では擬似Bus(会話履歴)で代用可が、真の非同期は外部統合必須。レビューで「Busパターンで耐障害性確保」と明記。(267字)
5. Shared Stateパターン:共有メモリで同期
Shared Stateは、全エージェントが共通の状態(DB/メモリ)を読み書きするパターン。Claude Codeでは、外部DB(Pineconeなど)をツールでアクセス。
構造: Agents ↔ Shared State(原子更新)。
ユースケース: タスクボード管理。進捗をStateにcommit。
Claude Code実装例:
tools = [{"name": "read_state"}, {"name": "write_state"}]
prompt = "Stateを読み、更新せよ:{key}"
競合回避に楽観ロック併用。Anthropic例では、長期プロジェクトの状態管理に有効。Busとの違いは「プッシュ vs プル」。シンプルだが、一貫性確保が課題。Claudeのメモリ機能拡張版として最適。(256字)
Claude Codeで5パターンを選ぶ判断基準とハイブリッド活用
パターン選択は、タスク複雑度・同期性・スケールで決まります。軽量→GV、階層→O-S、議論→Teams、非同期→Bus、状態持続→State。
Claude Code実装のTips:
– 全てプロンプト+ツールで統一。
– ハイブリッド例: O-S + Shared Stateで大規模化。
| パターン | 同期性 | Claude適性 | ユースケース |
|---|---|---|---|
| GV | 高 | ★★★★★ | 品質検証 |
| O-S | 高 | ★★★★★ | ワークフロー |
| Teams | 中 | ★★★★☆ | 議論 |
| Bus | 低 | ★★★☆☆ | イベント |
| State | 中 | ★★★★☆ | 状態管理 |
これで設計ドキュメントが標準化。AnthropicガイドをClaude Codeに特化適用。(312字)
わさびの見解
12プロジェクトのAI自動化運用経験から、Anthropicの5パターンは「設計レビューの救世主」です。過去、TeamsとO-Sの混同で2週間無駄にしたことがありますが、この分類導入後、レビュー時間が半減。Claude CodeではO-S+GVハイブリッドが鉄板で、弊社Vラボのエージェント基盤で月間1万タスク処理を実現。
注意点: Claudeのトークン制限でTeamsは3-5Agent以内に。実務ではStateをVector DBで強化を。皆さんのプロジェクトでぜひ試して、共通語彙を共有しましょう!(218字)
(合計本文: 約2073字)



コメント