ツールを使うと、モデルは情報の取得、データの処理、アクションの実行ができます。各ツールは、入力、出力、振る舞いを表すインターフェイスを定義します。
旅行エージェントなら、フライト検索、ホテル料金の確認、支払い処理、確認メールの送信にツールを使います。ツールインターフェイスにより、モデルは各機能をいつ、どう使うかを判断できます。
ツール設計では、独立した 3 つの選択があります。
- モデルインターフェイス — ツールを直接のツール呼び出しとして公開するか、Code Mode 経由で公開するか。
- 実行場所 — ツール実装を Worker、ブラウザー、別の Agent のどこで動かすか。
- ツールの提供元 — アプリケーション内で定義するか、Model Context Protocol(MCP)経由で外部ホストのツールに接続するか。
たとえば、ブラウザーツールは直接公開も、Code Mode 経由の公開もできます。MCP ツールも、どちらのモデルインターフェイスでも公開できます。
直接のツール呼び出しと Code Mode は、モデルがツールをどう見て、どう呼び出すかを決めます。基盤のツール実装がどこで動くかは決めません。
| インターフェイス | 仕組み | 向いている場合 |
|---|---|---|
| 直接のツール呼び出し | モデルは個々のツール定義を受け取ります。次の呼び出しを選ぶ前に、各結果がモデルへ戻ります。 | タスクが単純で、使うツール集合が小さく既知のとき。 |
| Code Mode | モデルはコード用ツールを 1 つ受け取り、型付きツールインターフェイスに対してコードを書きます。 | 組み合わせ、依存する呼び出し、フィルター、分岐、繰り返しロジック、ツール探索が必要なとき。 |
ほとんどのツール例は、パターン名を出さなくても、直接のツール呼び出しです。各ツールを定義し、そのスキーマをモデルへ渡します。モデルがツールを選び、アプリケーションが実行し、結果がモデルへ戻ります。
モデルは、次のツールを選ぶ前に各中間結果を見ます。実行経路は追いやすいです。一方、依存する操作はモデルターンを繰り返し、中間データでコンテキストを消費します。
Code Mode は、モデルにコード実行ツールを 1 つ渡します。モデルは、型付きツールを呼び、結果を受け渡し、制御フローを適用する JavaScript を書きます。
生成されたコードは、大きな応答をフィルターし、モデルが必要な最終値だけを返せます。中間結果は、操作のたびにモデルコンテキストへ入らず、サンドボックス内に留まります。複数ツールを組み合わせるワークフローや、大きなツールカタログでは、Code Mode の方が効率的です。
Code Mode は段階的な探索もサポートします。モデルは利用可能なコネクタを検索し、必要なメソッドの詳細な型だけを要求できます。うまく動いたプログラムは、再利用可能なスニペットとして保存できます。
ランタイムの振る舞い、承認、再実行、スニペットは Code Mode の仕組み を参照してください。
実行場所は、ツール実装がどこで動くかを表します。モデルインターフェイスとは独立です。各場所のツールは、直接公開も Code Mode 経由の公開もできます。
| 場所 | 向いている場合 | まず読むページ |
|---|---|---|
| Worker | ツールが API を呼ぶ、SQL をクエリする、サーバー側のバインディングやシークレットを使うとき。 | サーバー側ツール |
| ブラウザー | ツールが位置情報、クリップボード、ローカルストレージ、その他のブラウザー API を使うとき。 | クライアント側ツール |
| 別の Agent | チャット可能な Agent を、状態を保ったストリーミングツールとして実行したいとき。 | ツールとしての Agents |
直接のツール呼び出しでは、モデルがツールを呼び、フレームワークが設定した場所へ実行を振り分けます。
Code Mode では、生成コードがサンドボックス内で動きます。そのコードからの呼び出しは、サンドボックス境界を越えて基盤のツール実装へ届きます。サーバーツールはホスト Worker で実行でき、ブラウザー所有のツールは親ページで実行でき、Agent ツールは別の Agent へ作業を委任できます。
Model Context Protocol(MCP) ↗ は、AI アプリケーションが外部ホストのツールを発見し、呼び出す方法を標準化します。MCP が決めるのはツールの提供元と転送方法であり、モデルがどう呼び出すべきかではありません。
Agent は、どちらのモデルインターフェイスでも MCP ツールを公開できます。
- Agents MCP クライアント で、MCP ツールをモデルへ直接渡します。
- MCP コネクタ で、Code Mode 内に MCP ツールを公開し、組み合わせと段階的な探索に使います。
MCP サーバー自身が Code Mode を公開することもできます。たとえば、code ツールを 1 つ出す、または search と execute を分ける、といった形です。こうしたサーバー側のパターンは Code Mode の MCP サーバーパターン を参照してください。
承認ポリシーも、実行場所やツールの提供元とは独立です。外部状態を変更するツールは、ユーザー承認が必要な場合があります。
直接ツールでは、標準の 人間が承認するパターン(human-in-the-loop) を使えます。
耐久的な Code Mode ランタイムは、注釈付きコネクタメソッドが実行される前に、生成コードを一時停止できます。承認後は、実行ログから完了済み呼び出しを再実行し、承認されたアクションを適用し、同じプログラムを続けます。