「コードを書いてツールを呼ぶ」エージェント、Cloudflare・Claude・AWS・Azureを同じ土俵で並べてみた
はじめに
前回、CloudflareのCode Modeを掘りました。エージェントがツールを直接呼ぶのをやめて、コードを書いて呼ぶ。それだけでツール定義のトークンが桁違いに減る、という話です。書き終えてすぐ湧いたのは「これ、Cloudflareだけの話なのか?」でした。
調べると、答えははっきりしていました。同じ発想を、Anthropic(Claude)もAWSもMicrosoft(Azure)も、それぞれのやり方で持っています。しかも「どれかが決定的に優れている」という単純な構図ではなく、尖っている方向が四者四様でした。今回は、この4つを同じ土俵に並べて、どこが同じでどこが違うのかを整理します。特定の1社を持ち上げる記事ではありません。
先に3行でまとめると
- 「コードを書いてツールを呼ぶ」は 3つの層でできている。実行サンドボックス、コードで動くパターン、統合基盤・MCP。この層で見ると4社を見比べやすい
- Cloudflareは Code Mode、Claudeは Programmatic Tool Calling、Azureは CodeAct。AWSは単一ブランド名こそないが、Code InterpreterとStrandsで同じことをやる。狙いは共通で、中間結果をモデルの外で処理してコンテキストを軽く保つ
- 優劣は一択にならない。Cloudflareはレイテンシとトークン効率、Claudeはモデル密結合、AWSはフレームワーク・モデル非依存の運用、Azureは企業ガバナンス、と強みが分かれる
🚀 Devin専門の解説メディア「StartDevin」を運営中!
Devinの導入・使い方・最新アップデート・活用事例を、日本語でまとめています。
👉 StartDevin をチェックする(startdevin.jp)
この記事にぜひ いいね❤️ していただけると励みになります 🙌
この記事に出てくる用語の位置づけ
4社の呼び名が入り混じります。迷ったらここに戻ってきてください。
| 用語 | どこの言葉 | ざっくりの意味 |
|---|---|---|
| Code Mode | Cloudflare | ツールを型付きSDKに圧縮し、コードから呼ぶ方式 |
| Programmatic Tool Calling | Anthropic(Claude) | コードでツールを束ね、中間結果を文脈に載せない機能 |
| CodeAct | Microsoft | 行動をツール呼び出しではなく実行可能コードで表現する方式 |
| AgentCore Code Interpreter | AWS | エージェントがコードを書いて安全に実行するサンドボックス |
| AgentCore Gateway | AWS | API・LambdaをゼロコードでMCPツール化する仕組み |
| Strands Agents | AWS | AWSのオープンソース製エージェントSDK(model-driven) |
| MCP | 一般用語 | エージェントに外部ツールをつなぐ標準プロトコル |
| Dynamic Worker Loader / dynamic sessions / Code Execution tool | 各社のサンドボックス | LLMが書いたコードを安全に走らせる隔離環境 |
| Microsoft Agent Framework | Microsoft | AutoGenとSemantic Kernelを統合したエージェント基盤 |
「コードで動く」は3つの層でできている
4社を比べる前に、この技術が3つの層に分けられることを押さえると、話が一気に見通せます。実行サンドボックス、コードで動くパターン、統合基盤・MCP。この層に沿って各社を並べると、同じ土俵に乗ります。
🟠 Cloudflare 🟣 Claude 🟢 AWS 🔵 Azure
この記事では、この色でベンダーを区別します。図と表で共通です。
上から見ていきます。1つ目の実行サンドボックスは、LLMが書いたコードを安全に走らせる隔離環境です。Cloudflareは Dynamic Worker Loader(V8アイソレート)、Claudeは Code Execution tool、AWSは AgentCore の Code Interpreter、Azureは Container Apps の dynamic sessions が担います。2つ目の「コードで動くパターン」が、まさに前回のCode Modeにあたる部分で、Cloudflareは Code Mode、Claudeは Programmatic Tool Calling、Azureは CodeAct と、名前は違えど「ツール呼び出しの代わりにコードで表現する」という狙いは共通です。AWSだけは単一のブランド名がなく、Code Interpreter上でコードを書いて実行する動き(Strandsのmodel-drivenなアプローチ)として実現します。3つ目の統合基盤は、エージェントを載せる場所と外部連携で、いずれもMCPに対応しています。
🔎 ここがいちばんの発見
この3層が、4社ともきれいに埋まります。別々のプレイヤーが、同じ構造にたどり着いている。これは一過性の流行ではなく、エージェント設計の定石になりつつある、と読むほうが自然です。
4社を1つずつ
層で対応が見えたところで、それぞれの中身を短く押さえます。
🟠 Cloudflare|レイテンシとトークン効率
Cloudflareの Code Mode は、2,500を超えるエンドポイントを持つAPIを型付きSDKに圧縮し、従来なら約117万トークンかかるツール定義を約1,000トークンにする、と公表しています。実行環境の Dynamic Worker Loader は、ファイルシステムも環境変数も持たず、外部通信も既定で無効という締め方で、コードを走らせる危険を抑えています。エッジと一体で、起動がサブミリ秒という速さが持ち味です。
🟣 Claude(Anthropic)|モデルとの密結合
Claudeの側は、Programmatic Tool Calling です。Claudeがコード実行環境の中でスクリプトを書き、ツールを束ねて呼ぶ。生データはスクリプトが処理し、モデルが見るのは最終出力だけ、という作りです。Anthropicはこれを「Code execution with MCP」という設計として説明していて、エージェント検索のベンチマークでは、基本的な検索ツールにこれを足すと精度が平均11%上がり、入力トークンが24%減ったと報告しています。モデル本体と密に結びついているのが強みです。
🟢 AWS|フレームワーク・モデル非依存の運用
AWSは、実は単一の「Code Mode」的なブランド名を持っていません。その代わり、部品の組み合わせで同じことを実現します。エージェントがコードを書いて実行する場が AgentCore の Code Interpreter(複数言語ランタイム、大容量ファイルやネット接続、CloudTrailログ対応のサンドボックス)で、外部ツールとの接続は AgentCore Gateway が担います。Gatewayは、既存のAPIやAWS Lambdaをゼロコードで(コードを書かずに)MCPツールに変える仕組みで、認証やインフラの複雑さを引き受けてくれます。エージェント本体は、AWSのオープンソースSDK Strands Agents で組むのが素直で、これはモデルにツールの使い方や手順を任せる model-driven なアプローチを取ります。運用は、任意のフレームワークとモデルを載せられるマネージド実行環境 AgentCore Runtime に寄せる形です。名前が1つに定まらないぶん見えづらいですが、「コードを書いてツールを束ねる」という中身は他社と同じです。
🔵 Azure(Microsoft)|企業ガバナンスの網羅性
Azureは CodeAct です。Microsoft Agent Framework(AutoGenとSemantic Kernelを統合した基盤)で、BUILD 2026に合わせて打ち出された、行動を実行可能なコードとして表現する方式です。コードを走らせる場は Container Apps の dynamic sessions で、Hyper-Vで隔離された使い捨てサンドボックスをミリ秒で用意します。ここはMicrosoft Copilotの「高度なデータ分析」も実運用で使っている、実績のある基盤です。本番運用は Foundry Agent Service の Hosted Agents が受け持ち、Entra IDの認証やガバナンスまで含めて揃っています。
どこで選ぶか
では優劣はどうか。結論は「一択にならない」です。尖っている方向が違うので、前提と優先順位で選ぶ対象が変わります。
横に並べると、こうなります。
| 観点 | 🟠 Cloudflare | 🟣 Claude | 🟢 AWS | 🔵 Azure |
|---|---|---|---|---|
| いちばんの強み | レイテンシとトークン効率 | モデルとの密結合 | フレームワーク・モデル非依存 | 企業要件の網羅性 |
| サンドボックスの隔離 | V8アイソレート | 実行環境 | Code Interpreterサンドボックス | Hyper-V(強い隔離) |
| MCPの扱い | MCPを型付きSDK化 | ネイティブ対応 | API・LambdaをゼロコードでMCP化 | MCP / OpenAPI / A2A |
| 向いている場面 | エッジ/大量APIを薄く速く | Claude前提・推論品質重視 | AWS中心・既存API資産の活用 | 全社導入・統制・マルチモデル |
選び方の目安を図にすると、こう整理できます。
大づかみに言うと、すでにエッジやWorkersが基盤ならCloudflare、AWS中心で既存のAPIやLambda資産をツール化したいならAWS、Microsoft中心の環境で統制も要るならAzure、Claude前提で推論品質を最優先にするならClaude、という分かれ方です。もちろん実際には組み合わせもありえます(Claudeのモデルを、AWSやAzureの基盤で動かす、など)。
どれを選んでも、逃げられない落とし穴
4社に共通する注意点もあります。ここは前回書いたことの繰り返しになりますが、大事なので改めて。
いちばんはサンドボックスの責任です。コードを書いて何でも実行できる、ということは、裏を返せば危険なコードも走りうる、ということです。各社ともFS無効やHyper-V隔離といった対策を持っていますが、自前で組む範囲が広いほど、この隔離を自分で正しく設定する責任が乗ってきます。次にデバッグ。エージェントが書いたコードが失敗したとき、原因を追うのは1回のツール呼び出しを追うより手間です。そして、ツールを1回呼ぶだけで終わる単純タスクにコードを書かせるのは、どの会社の仕組みでも過剰です。トークンは減っても複雑さは増える、という天秤は共通しています。
おわりに
4社を並べてみて感じたのは、エージェント効率化の主戦場が完全に「モデルに何を渡すか」の情報設計に移った、ということでした。ツール定義を積みすぎない、中間結果をモデルに通さない。この同じ結論に、エッジのCloudflareも、モデル側のAnthropicも、AWSもAzureも別々にたどり着いている。名前は Code Mode、Programmatic Tool Calling、CodeAct とバラバラで、AWSに至っては単一の名前すらない。それでも、やっていることは驚くほど似ています。
Devinのようなエージェントを使うときも、結局は同じ問いに戻ります。この作業で、モデルに本当に見せる必要がある情報はどれか。どこに逃がすか。その逃がし先を、エッジのアイソレートに置くか、モデル直結の実行環境に置くか、企業ガバナンス込みのサンドボックスに置くか。今はその選択肢が、四者四様に出そろった段階だと思います。次は、この観点でDevinがどの層にあたるのかを、自分なりに位置づけてみるつもりです。
参考リンク
- Code Mode: give agents an entire API in 1,000 tokens(Cloudflare Blog)(Cloudflareの一次情報)
- Code execution with MCP(Anthropic)(Anthropicの設計思想)
- Introducing advanced tool use(Anthropic)(Programmatic Tool Calling の削減率)
- Amazon Bedrock AgentCore Code Interpreter(AWS Docs)(AWSのサンドボックス)
- Introducing Amazon Bedrock AgentCore Gateway(AWS Blog)(API・LambdaのゼロコードMCP化)
- Introducing Strands Agents, an Open Source AI Agents SDK(AWS Open Source Blog)(AWSのmodel-driven SDK)
- Dynamic sessions in Azure Container Apps(Microsoft Learn)(Azureのサンドボックス)
- Introducing Microsoft Agent Framework(Azure Blog)(Agent Framework と CodeAct の基盤)

