関数仕様を記述
ツールには、名前、明確な説明、パラメーター用のJSON Schemaを含めます。説明にはツールを選ぶ場面を記し、スキーマで引数を制約します。
モデルが呼び出しを提案しても、それだけでネットワーク、データベース、ファイルへのアクセス権を得ることはありません。
チャットリクエスト内の関数ツール
json
{
"model": "openai/gpt-5.6-sol",
"messages": [{"role": "user", "content": "What is the weather in Tashkent?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Read current weather for a city.",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
"additionalProperties": false
}
}
}],
"tool_choice": "auto"
}自分の環境で実行
- ツール名を許可リストと照合します。
- 内部サービスを呼び出す前に、引数をスキーマに照らして検証します。
- ツール操作には、独自の認可、タイムアウト、べき等性を適用します。
結果を返す
tool_call_idと簡潔にシリアライズした結果を含むtoolメッセージを追加し、同じコンテキストで会話を続けます。
ツール実行の失敗とモデルの失敗を分けて扱います。モデルがユーザーに説明できる構造化された理由を返してください。