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

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エージェント構築の基盤技術です。

関連記事