Source: https://aiprimetech.io/ja/docs/api-reference/tool-use/ [ホーム](/ja/) / [ドキュメント](/ja/docs/) / ツールの使用と関数呼び出し # ツールの使用と関数呼び出し モデルから関数を呼び出す方法:リクエストループ、両形式、トークンを浪費する間違い。 ページをコピー [ Markdownで表示](/ja/docs/api-reference/tool-use.md) [ ChatGPTに質問](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/api-reference/tool-use.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Claudeで質問](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/api-reference/tool-use.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) ツールの使用により、モデルは関数の実行をユーザーに依頼し、その結果を使って処理を続けられます。これは、あらゆるコーディングエージェントの基盤となる仕組みです。 ## 処理ループ - 送信する内容: messages および tools 。これにより、利用可能なものを説明します。 - モデルが応答で返すもの: stop_reason: tool_use および tool_use ブロック。ツール名とその引数が含まれます。 - ユーザーが それを実行します。ゲートウェイがユーザーのコードを実行することはありません。 - 履歴全体に次のものを追加して送り返します: tool_result ブロック。 - モデルは最終的な回答を生成するか、別のツールの使用を依頼します。 ## ツールの定義(Messages形式) ``` Copy{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "tools": [{ "name": "get_weather", "description": "Current weather for a city. Use when the user asks about weather.", "input_schema": { "type": "object", "properties": {"city": {"type": "string", "description": "City name"}}, "required": ["city"] } }], "messages": [{"role": "user", "content": "Weather in Paris?"}] } ``` ## 結果の返却 ``` Copy{ "role": "user", "content": [{ "type": "tool_result", "tool_use_id": "toolu_01ABC...", "content": "18C, light rain" }] } ``` tool_result は、次のロールのメッセージに含めます: user、および tool_use_id は、モデルのリクエストに含まれるIDと完全に一致する必要があります。IDが一致しない場合、無効なリクエストとして拒否されます。 ## OpenAI形式 この /v1/chat/completions エンドポイントでは、OpenAIの tools / tool_calls 形式を代わりに使用し、結果は次のロールのメッセージとして返されます: tool. ## ツール使用にかかる費用 - 定義はターンごとに再送されます。 詳細なツールスキーマが20個あると、会話が始まる前から入力トークンの大部分を占めることがあります。 - 結果はコンテキストに追加されます。 ツールがJSONを200行返すと、そのすべてが次のリクエストと、それ以降のすべてのリクエストに含まれます。 - 往復の呼び出しごとに課金されます。 ツールを5回使うタスクには、少なくとも6回のリクエストが必要です。 - ツール出力の長さに上限を設け、返す前に要約してください。結果をモデルが実際に必要とする内容に絞ることは、ほとんどのエージェントループで最も効果の大きい改善です。 ツールスキーマはターン間で変わらないため、システムプロンプトとともに [プロンプトキャッシュ](/ja/docs/guides/prompt-caching/) の有力な候補になります。 [Messages API基本リファレンス](/ja/docs/api-reference/messages/)[コスト管理エージェントのトークン消費の内訳](/ja/docs/guides/cost-control/)[MCPサーバーClaude Code向けのすぐに使えるツール](/ja/docs/guides/mcp-servers/) [前へレート制限](/ja/docs/api-reference/rate-limits/)[次へ画像認識と画像入力](/ja/docs/api-reference/vision/)