メインコンテンツまでスキップ

ツールの利用 / 関数呼び出し

中級

ツールの利用により、Claude はあなたが定義した関数——検索、計算機、あなたのデータベース、任意の API——を呼び出して、その結果を使えます。これはあらゆるエージェントの基盤です。

What you'll learn
  • 4ステップのエージェント型ループが、ツール定義から最終的な答えまでどう動くか
  • Python で名前・説明・JSON-Schema 入力を持つツールを定義する方法
  • ツールの説明が、Claude がいつどう呼ぶかを形づくるプロンプトとして働く理由
  • 入力を検証し、エラーを結果として返し、サーバー側ツールを安全に使う方法

ループ

ツールの利用は単一の呼び出しではなく会話です。あなたが Claude にツールのメニューを渡し、Claude が1つを選んで一時停止し、あなたが実行して報告し、Claude がその結果を答えに織り込む——必要に応じて繰り返します。

Guided walkthrough1 of 4
  1. ツール定義のリストを含めます——それぞれに名前、説明、JSON-Schema 入力があります。

ツールを定義する(Python)

ツール定義は、名前、平易な言葉の説明、そして入力の JSON-Schema にすぎません。tools に渡してから、stop_reason を確認して Claude がいつ行動したいかを知ります。

get_weather tool + first call

tools = [{
  "name": "get_weather",
  "description": "Get current weather for a city.",
  "input_schema": {
      "type": "object",
      "properties": {"city": {"type": "string"}},
      "required": ["city"],
  },
}]

msg = client.messages.create(
  model="claude-sonnet-5", max_tokens=1024,
  tools=tools,
  messages=[{"role": "user", "content": "What's the weather in Rome?"}],
)
# If msg.stop_reason == "tool_use": run the tool, then send a tool_result back.

コツ

ツールを定義し処理する際の小さな選択が、信頼性に大きな差を生みます。

  • 説明はプロンプト。 明確なツールの description とパラメータのドキュメントは、Claude がいつどう呼ぶかを大きく改善します。
  • 受け取った入力を検証する——実行前に。決して鵜呑みにしない。
  • エラーを結果として返す。 ツールが失敗したら、エラーを記述した tool_result を送って Claude が回復できるようにします。
  • サーバー側ツール。 Anthropic は組み込みツール(例:ウェブ検索、コード実行、コンピュータ使用)も提供しています——現在のメニューはドキュメントで確認してください。

:::warning ツール = アクション = リスク 実際のアクションを取るツールはセキュリティモデルを引き継ぎます。最小権限を適用し、リスクのある呼び出しには人を介在させてください——エージェントとツールの保護を参照。 :::

ツール使用の用語
Enter キーまたはスペースキーでカードを裏返します。左右の矢印キーでカードを移動できます。用語を表示しました。
1 / 4

理解度チェック

0/3
  1. Claude が tool_use ブロックを返した後、誰がツールを実行する?
  2. あなたが定義したツールが実行時に失敗した。推奨される対応は?
  3. 明確なツールの説明がなぜそれほど重要なのか?
Key takeaways
  • ツールの利用はループ:ツール定義を送り、Claude が tool_use ブロックを返して停止し、あなたが実行して tool_result を返し、Claude が答えるまで続ける。
  • ツール定義は名前、説明、JSON-Schema 入力——tools に渡し、stop_reason == tool_use を確認する。
  • 説明はプロンプト;実行前に入力を検証する;失敗は tool_result エラーとして返し、Claude が回復できるようにする。
  • Anthropic はサーバー側ツールも提供しており、実際のアクションを取るツールには最小権限と人の介在が必要。

次へ