Claude Managed Agentsの使い分け — 自作Agent SDKとClaude Codeとの比較
Managed Agents・Agent SDK・Claude Code CLIはインフラを誰が持つかで根本的に違います。評価軸と比較表、乗り換えの判断基準をまとめます。
Claude Managed Agents・Agent SDK・Claude Codeは何が違うか
3つはいずれも「Claudeを自律的なエージェントとして動かす」ための手段ですが、インフラを誰が持つかが根本的に違います。Agent SDKとClaude Code CLIは自分の端末やプロセスの中で動き、Managed Agentsはインフラそのものをオフロードします。
Claude Managed Agentsとは、Anthropicが管理するインフラの上でエージェントを実行するホスト型のREST APIです。エージェントループ・ツール実行・セッションの永続化をAnthropic側が担うため、開発者はサンドボックスや実行基盤を自作せずに済みます。対してAgent SDKは、Claude Codeと同じツール実行ループ・コンテキスト管理をPython/TypeScriptのライブラリとして提供し、自分のプロセスの中でエージェントループを組み立てるための手段です。Claude Code CLIは、その同じ機能を対話的なターミナル体験としてパッケージしたものにあたります。
3つの関係は上下ではなく並列です。Agent SDK公式ドキュメントの比較表でも、Managed Agentsは「Agent SDKとは別プロダクトのホスト型REST API」と明記されています。どれか1つが上位互換というわけではなく、インフラの持ち方と実行モデルが違う選択肢が並んでいる、という理解が出発点になります。
4つの評価軸で使い分けを判断する
比較の軸は多いように見えて、実務で効くのは次の4つに絞れます。インフラの持ち方・実行モデル・コンプライアンス適格性・拡張の自由度です。この4軸で自分の要件を並べると、どれを選ぶべきかはかなり早い段階で決まります。
インフラの持ち方は最も分かりやすい軸です。Managed AgentsはAnthropicがサンドボックス・ハーネス・セッションストアを持ちます。Agent SDKとClaude Code CLIは、実行環境そのものを開発者側が用意する前提です。
実行モデルは対話的か、長時間・非同期かの違いです。Claude Code CLIは対話的な日次開発に最適化されていますが、他言語からエージェントループを駆動したい場合は -p フラグと --output-format json でCLIをサブプロセスとして呼び出す経路も用意されています。Managed Agentsは分単位・時間単位で走り続けるタスクや、スケジュールデプロイによるcron実行を前提にした設計です。
コンプライアンス適格性は見落とされがちですが重要な軸です。Managed Agentsはステートフルな設計上、ゼロデータ保持(ZDR)とHIPAA事業者提携契約(BAA)の対象になりません。データがネットワーク境界を出せない要件がある場合、自己ホストサンドボックスへ切り替えるか、Agent SDKで自前インフラを組む必要があります。
拡張の自由度は、ツール実行の中身にどこまで手を入れたいかです。Agent SDKはフック・サブエージェント・MCP・権限制御・プラグインをClaude Codeと同じ形でライブラリとして使えるため、自分のアプリケーションのロジックと密結合させやすい構造です。Managed AgentsもMCPサーバー接続やカスタムツールをサポートしますが、エージェントの構成はAPI経由の設定として渡す形になります。
3つの実行環境を比較する
| 観点 | Claude Code CLI | Agent SDK | Managed Agents |
|---|---|---|---|
| 実行場所 | Claude Code CLI開発者のローカル端末 | Agent SDK自分のプロセス内(Python/TypeScript) | Managed AgentsAnthropic管理のクラウド、または自己ホストサンドボックス |
| エージェントループ | Claude Code CLICLIが内蔵 | Agent SDK開発者が組み立てる(ライブラリとして提供) | Managed AgentsAnthropicがホスト |
| セッションの永続化 | Claude Code CLIローカルのセッションファイルで再開 | Agent SDK実装次第(自前で永続化を組む) | Managed Agentsサーバー側で永続化、一時停止から再開可能 |
| スケジュール実行 | Claude Code CLI対話中心(サブプロセス呼び出しは可能) | Agent SDK実装次第 | Managed Agentsスケジュールデプロイでcron実行に対応 |
言語対応も違いがあります。Agent SDKはPython/TypeScript向けのライブラリとして配布され、他言語からはCLIをサブプロセス実行する形で同じエージェントループを利用します。Managed AgentsはREST APIなので、HTTPを話せればどの言語からでも到達できます。
Managed Agentsをコードで見る
Managed Agentsのエージェント作成は、モデル・システムプロンプト・ツールをJSONで渡すだけで完結します。managed-agents-2026-04-01 ベータヘッダーが全リクエストで必須です。
curl -sS https://api.anthropic.com/v1/agents \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d '{
"name": "Coding Assistant",
"model": "claude-opus-5",
"system": "You are a helpful coding assistant.",
"tools": [{"type": "agent_toolset_20260401"}]
}'このエージェントIDを使い回して複数のセッションを起動できる点が、Agent SDKでプロセスごとに状態を組み立てるやり方との実務上の違いです。Managed Agentsのエンドポイントには作成系で1分あたり300リクエスト、参照系で1分あたり1,200リクエストという組織単位のレート制限もかかります。
セッションの操作モデルも違う
Managed Agentsのセッションは、ユーザーのメッセージを「イベント」として送り、Claudeがツールを自律的に呼びながらサーバー送信イベント(SSE)で結果をストリーム返却する仕組みです。イベント履歴はサーバー側に永続化され、後から全件取得できます。実行中のセッションに追加のイベントを送って途中で方向を修正したり、割り込んで実行を止めたりする操作も、専用のAPI呼び出しとして用意されています。
Agent SDKでは、この「ステアリング」や「割り込み」に相当する挙動を自分のプロセス内のロジックとして自前で実装します。Claude Codeが備えるフックの仕組みを使えば、ツール呼び出しの前後に処理を挟むことはできますが、実行中のセッションに外部から新しいイベントを送り込む標準化されたAPIがある前提ではありません。長時間動くセッションに人間が随時介入する運用を作りたい場合、この違いは設計の初期段階で効いてきます。
各手段の強みと弱み
Managed Agentsの強みは、サンドボックスとセッション永続化のインフラを自分で持たずに済む点です。長時間タスクやcronでの定期実行を、インフラ構築なしで自社プロダクトに組み込めます。弱みは、ベータ機能である点と、ZDR/HIPAA非対象という制約です。自己ホストサンドボックスを使えば、ツール実行とネットワーク越境を自社インフラに留められますが、ZDR/HIPAA適格性は別途確認が必要です。
Agent SDKの強みは、Claude Codeで使っているフック・サブエージェント・MCP・権限制御・プラグインの仕組みをそのままライブラリとして呼べる点です。自社アプリのロジックに深く組み込みたい場合、制御の自由度は3つの中で最も高くなります。弱みは、サンドボックスやセッションの永続化を含め、実行基盤を自分で用意する前提になる点です。
Claude Code CLIの強みは、追加のインフラなしにすぐ使える対話的な体験です。日々のコーディング作業ではこれが最も摩擦が少ない選択肢になります。弱みは、長時間・非同期のプロダクション用途を主眼に設計されたツールではない点で、その用途にはAgent SDKかManaged Agentsのどちらかに乗り換える判断が必要になります。ただしPython/TypeScript以外の言語からエージェントループを駆動したい場合の逃げ道として、CLIをサブプロセスで呼ぶ経路が用意されている点は覚えておく価値があります。この経路はAgent SDKが対応していない言語のためのフォールバックという位置付けで、Managed Agentsのように長時間セッションの永続化やスケジュール実行までは面倒を見てくれません。
いつ乗り換えるべきか — 使い分け早見表
| シチュエーション | 選ぶべき手段 | 理由 |
|---|---|---|
| 手元でコードを書きながら対話的に使いたい | 選ぶべき手段Claude Code CLI | 理由対話的開発に最適化され、追加のインフラが不要 |
| 自社プロダクトにエージェントループを深く組み込み、挙動を細かく制御したい | 選ぶべき手段Agent SDK | 理由Claude Codeと同じ機能をライブラリとして自分のプロセスで使える |
| サンドボックスやセッション永続化のインフラを持たずに長時間・非同期タスクを回したい | 選ぶべき手段Managed Agents | 理由Anthropicがハーネスとサンドボックスを管理し、cronでのスケジュール実行にも対応 |
| データがネットワーク境界を出せない、ZDR/HIPAA要件がある | 選ぶべき手段Agent SDKで自前インフラを組む、または自己ホストサンドボックスを検討 | 理由Managed AgentsはステートフルでZDR/HIPAA非対象。自己ホストサンドボックスでの適格性は公式のAPI and data retentionページで要確認 |
「対話的な開発から始めて、本番運用でManaged Agentsに移す」という順路をたどるチームが多いパターンです。Claude Code CLIでプロンプトやツール構成を試作し、固まった構成をAgent SDKかManaged Agentsに移植する流れは、3つが並列の選択肢であることを踏まえても自然な進め方です。
Managed Agentsへの乗り換えで気をつけること
Managed AgentsはAPIアカウントであれば既定で有効ですが、ベータ機能なので挙動がリリース間で調整される可能性がある点は前提にしておく必要があります。すべてのエンドポイントで managed-agents-2026-04-01 ベータヘッダーが必須です。SDKを使えばこのヘッダーは自動で付与されますが、curlで直接叩く場合は付け忘れがそのままエラーの原因になります。
Agent SDKやMessages APIから移行する場合の具体的な手順はManaged Agentsへの移行ガイドにまとめています。既存のツール定義やシステムプロンプトをどう持ち込むかは、そちらを参照してください。
まとめ
Managed Agents・Agent SDK・Claude Code CLIはどれも「Claudeをエージェントとして動かす」ための正当な選択肢で、優劣ではなくインフラの持ち方が違います。対話的な日次開発ならClaude Code CLI、自社アプリへの深い組み込みと細かい制御が必要ならAgent SDK、インフラを持たずに長時間・非同期タスクを回したいならManaged Agentsが軸になります。ZDR/HIPAAのようなコンプライアンス要件がある場合は、Managed Agentsの既定サンドボックスが対象外である点を先に確認してから、自己ホストサンドボックスかAgent SDKでの自前構築を検討する順番が安全です。Managed Agentsの設計思想を掘り下げたい場合や、Agent SDKクイックスタートで自作エージェントループを試したい場合は、それぞれの記事も参照してください。