Claudeで構築する
ツール使用(関数呼び出し)
Claudeは外部のクライアントサイドツールや関数と連携することができ、独自のカスタムツールを装備してより幅広いタスクを実行することができます。
Messages APIを使用してClaudeにツールを提供する例を示します:
ツール使用の仕組み
以下のステップでClaudeと外部ツールを統合します:
1
Claudeにツールとユーザープロンプトを提供
- APIリクエストでツールの名前、説明、入力スキーマを定義します。
- これらのツールを必要とする可能性のあるユーザープロンプトを含めます(例:「サンフランシスコの天気は?」)。
2
Claudeがツールの使用を決定
- Claudeはユーザーのクエリに役立つツールがあるかどうかを評価します。
- ある場合、Claudeは適切にフォーマットされたツール使用リクエストを構築します。
- APIレスポンスの
stop_reason
がtool_use
となり、Claudeの意図を示します。
3
ツール入力を抽出し、コードを実行して結果を返す
- あなたの側で、Claudeのリクエストからツール名と入力を抽出します。
- 実際のツールコードをクライアントサイドで実行します。
tool_result
コンテンツブロックを含む新しいuser
メッセージで会話を継続します。
4
Claudeがツール結果を使用して応答を作成
- Claudeはツールの結果を分析して、元のユーザープロンプトへの最終的な応答を作成します。
注意: ステップ3と4はオプションです。一部のワークフローでは、Claudeのツール使用リクエスト(ステップ2)だけで十分で、結果をClaudeに送り返す必要がない場合があります。
ツールはユーザーが提供
重要な点として、Claudeには組み込みのサーバーサイドツールへのアクセス権がありません。すべてのツールは、各APIリクエストでユーザーであるあなたが明示的に提供する必要があります。これにより、Claudeが使用できるツールを完全にコントロールし、柔軟性を持たせることができます。
コンピューター使用(ベータ)機能は例外です - これはAnthropicが提供し、ユーザーであるあなたが実装するツールを導入します。
[続く…]