Claude API Tool Use(関数呼び出し)の実装ガイド

AIを知りたい
Claude APIの「Tool Use」って何ですか?GPTのFunction Callingと同じものですか?

AIエンジニア
はい、基本的に同じ概念です。AIモデルが外部のツール(関数)を呼び出す機能で、APIレスポンスで「この関数をこの引数で呼んでほしい」という指示を返してきます。天気API、データベース検索、計算処理などをAIに使わせることができます。

AIを知りたい
具体的にどう実装するのですか?

AIエンジニア
API呼び出し時にtoolsパラメータでツールの定義(名前、説明、パラメータのJSON Schema)を渡します。Claudeが必要と判断するとtool_useレスポンスを返すので、実際に関数を実行して結果をtool_resultとして返します。このやり取りを繰り返すのがTool Useの基本フローです。
Tool Use(ツール利用)とは、Claude APIがユーザー定義のツール(関数)を呼び出す機能で、AIに外部データの取得や実際のアクション実行を可能にします。
OpenAI GPTのFunction Calling、Google GeminiのFunction Callingと同等の機能です。Webスクレイピング、DB操作、API連携、計算処理などの外部ツールをAIに使わせることで、より高度なタスクを実行できます。
Tool Useの実装フロー

AIを知りたい
実装の全体的な流れを教えてください。

AIエンジニア
4ステップです。1)ツールを定義(名前、説明、パラメータスキーマ)。2)APIリクエストにtools配列を含めて送信。3)レスポンスでtool_useが返ったら実際にツールを実行。4)結果をtool_resultとして返す。Claudeが最終回答を返すまで3-4を繰り返します。

AIを知りたい
1回の会話で複数のツールを呼ぶことはできますか?

AIエンジニア
はい。Claudeは必要に応じて複数のツールを連続して呼び出します。例えば「東京とニューヨークの天気を比較して」という質問には、天気APIを2回呼び出す判断をします。また並列でのツール呼び出しにも対応しているので、独立した複数の処理を効率的に実行できます。
| 機能 | Claude Tool Use | GPT Function Calling | Gemini Function Calling |
|---|---|---|---|
| 並列呼び出し | 対応 | 対応 | 対応 |
| ストリーミング | 対応 | 対応 | 対応 |
| ツール結果の型 | テキスト/画像 | テキスト | テキスト |
| 強制呼び出し | tool_choice指定 | tool_choice指定 | tool_config指定 |
3社のFunction Calling比較

AIを知りたい
Claude、GPT、Geminiの関数呼び出し、違いはありますか?

AIエンジニア
機能的にはほぼ同等ですが、Claudeのtool_useはレスポンスにテキストと画像を含められる点がユニークです。GPTのFunction Callingが最も歴史が長くドキュメントが充実。GeminiはGoogle検索をビルトインツールとして利用できるのが強みです。
まとめ
Tool UseはClaude APIの外部ツール連携を実現する核心機能です。ツール定義→API送信→ツール実行→結果返却のサイクルでAIに外部データやアクション実行の能力を付与できます。GPTのFunction Calling、GeminiのFunction Callingと同等の機能で、AIエージェント構築の基盤技術です。
