クライアントツールとサーバーツールとは、Anthropic の Claude API が区別する 2 種類のツールであり、
ツールのコードが実際にどこで実行されるかによって分けられる。Anthropic のドキュメントは、ツールは主に
この軸に沿って異なると述べている。クライアントツールは呼び出し側のアプリケーションで実行される。
モデルは stop_reason: "tool_use" と 1 つ以上の tool_use ブロックで応答し、アプリケーション自身のコードが
その操作を実行して、結果を tool_result ブロックで返す。サーバーツールは Anthropic のインフラ上で実行されるため、
呼び出し側はハンドラを一切書かずに結果を直接受け取る。ドキュメントは最小限の例としてウェブ検索を挙げており、
検索は Anthropic の側で実行され、引用付きの結果が同じレスポンスの中で返ってくる。Google の
Gemini API も、後述するように、別の名前で同じ線を引いている。
用法
Anthropic のドキュメントは、提供するツールをこの線に沿って 3 つのカテゴリに分けており、そのうち 2 つが
クライアント側、1 つがサーバー側である。独自のツールは、開発者がスキーマを書いて定義するもので、各呼び出しは
アプリケーションが実行する。Anthropic スキーマのクライアントツールは、Anthropic がスキーマを公開してモデルを
それに合わせて学習させているものだが、各呼び出しを実行して tool_result を返すのは依然としてアプリケーションである。
その中にはメモリ、bash、テキストエディタ、コンピュータ操作(Computer Use)、ブラウザ操作の各ツールが含まれる。
サーバーツールはハンドラのコードを一切必要としない。その中にはウェブ検索、ウェブフェッチ、コード実行、
アドバイザーツール、ツール検索ツール、MCP コネクタが含まれる。
この区別が絶対的でない場合が 1 つ文書化されている。ドキュメントによれば、サーバーツールの結果は直接返されるが、 モデルがそれを呼び出し側のクライアントツールのいずれかと同じ並列ツール呼び出しのグループの中で呼び出した場合は その限りではない。
ツールがどこで実行されるかは、課金のされ方も決める。Anthropic によれば、クライアント側のツールは他の API リクエストと同じ料金だが、サーバー側のツールはトークンに加えて使用量に基づく追加料金が発生しうる。その例として、 ウェブ検索は実行された検索ごとに課金される。
Google の Gemini API のドキュメントは、ツールを Google が管理する組み込みツールと、開発者が管理するカスタムツールに
分け、それぞれに異なる実行フローを説明している。組み込みツール(Google Search、Google Maps、URL Context、
File Search、Code Execution)では、処理全体が 1 回の API 呼び出しの中で完結する。モデルがツールが必要だと判断し、
Google のサーバー上でそれを実行し、その結果に根拠づけられた最終的な回答を返す。関数呼び出しによって定義される
カスタムツールでは、実行はアプリケーションが担う。モデルは関数を呼び出す構造化された JSON を常に一意の id 付きで返し、
アプリケーションがそれを実行して同じ id とともに結果を送り返し、モデルは最終的な応答か別の呼び出しを生成する。
コンピュータ操作(Computer Use)は、どちらの記述でもクライアント側に分類される。Anthropic はこれを Anthropic スキーマの
クライアントツールの中に挙げており、Google のドキュメントは、自社の Computer Use ツールを組み込みツールの中に
列挙しながらも、カスタムツールと並んでアプリケーションが実行するフローに位置づけている。
2 つの記述はそれぞれ、2 種類のツールが 1 回のやり取りの中で出会う場合も説明している。Anthropic のものは、 上述の並列呼び出しの例外である。Google のものは Gemini 3 シリーズのモデル向けのプレビュー機能で、 組み込みツールとカスタムツールを 1 つのターンの中で組み合わせるものであり、そのドキュメントはこれを ツールコンテキストの循環(tool context circulation)と呼んでいる。モデルは組み込みツールを実行し、 クライアント側の関数呼び出しが生成されるとアプリケーションに制御を渡す。アプリケーションは、コンテキストを保持する 暗号化された思考シグネチャを含むモデルの応答のすべての部分を、自身の関数の結果と合わせて返す。これにより、 最終的な回答は統合されたコンテキストから生成される。
関連用語
- 関数呼び出し — この区別がより細かく分けている一般的なパターン
- コンピュータ操作(Computer Use) — 両方の記述がクライアント側に置いているツール
- Model Context Protocol — エージェントが外部ツールに到達するもう 1 つの経路
- Code Execution MCP — エージェントに代わってコードを実行する関連したアプローチ
- Gemini API — 組み込みツールとカスタムツールが同じ線を引いている Google の API