Anthropic「Managed Agents」が教える、エージェント設計の正解 — 脳と手を分離する

Managed Agents

Anthropicのエンジニアリングブログに「Scaling Managed Agents: Decoupling the brain from the hands」という記事が公開されました。

AIエージェントを本格的にスケールさせるための設計思想が詰まった内容で、エージェント開発に携わる人にとって必読の記事です。

🎯 記事のテーマ

エージェントの構成要素を「脳(Claude + Harness)」「手(Sandbox + Tools)」「セッション(イベントログ)」の3つに分離し、それぞれを独立して交換・再起動できるようにする設計方針。

📊 Pet vs Cattle — ペットから家畜へ

初期設計では全てのコンポーネントを1つのコンテナに詰め込んでいました。しかしこれでは「ペット」(死ぬと困る個体)になってしまい、コンテナが落ちるとセッションも失われる。

分離設計にすることで、各コンポーネントは「家畜」(死んでも作り直せる)になります。コンテナが死んでも、Harnessがエラーを捕捉して新しいコンテナを立ち上げ、処理を継続できる。

🔑 3つの重要な学び

1. Harnessはコンテナの外に

Harnessはコンテナを execute(name, input) → string として呼ぶだけ。コンテナが死んでも「ツール呼び出しエラー」としてClaudeに返し、リトライ判定はClaudeに任せる。

2. セキュリティ境界の分離

認証情報をサンドボックスに置かない。Git トークンは初期化時だけ使い、MCP ツールはプロキシ経由でvaultから取得。Harness自体は認証情報を一切知らない。

3. セッション ≠ コンテキストウィンドウ

長時間タスクではコンテキストウィンドウを超える。compaction(要約保存)やmemory tool(ファイルへの書き出し)で対応するが、「どのトークンを残すか」の決定は不可逆的で難しい。Sessionはこの問題を「全てのイベントを追記ログとして保持する」で解決する。

💡 筆者の感想

この設計思想は、組織のAI導入にも通じると感じました。「全部1つのコンテナに詰め込む」=「各部署がバラバラにAIを導入する」と同じ問題を抱えている。

Anthropic自身が「密結合は破綻する。分離して疎結合にせよ」と結論づけたことは、エージェント開発に限らず、組織全体のシステム設計にも示唆に富んでいます。

「人が介在する部分がボトルネックになる」という課題に対して、「脳と手を分離し、つなぎ目をシステム化する」という回答。まさに今の時代が求めている設計思想だと思います。

🔗 参考