Grok WorldGrok Build CLI field station
信号ロック
NAV

XAI API / 16

Function-calling ループを安全に閉じる

Function calling は、確率的な選択と決定的なアプリコードをつなぐプロトコルです。

CHANNELツールシステム / 上級 / 12 MIN
情報確認日2026-07-26
ORIGINOFFICIAL DOCS / PRIMARY

装飾ではなく判断のための schema

各 function に具体的な名前、判断に役立つ説明、曖昧な入力を拒否する JSON Schema を与えます。説明には呼ぶべき条件と、呼ばない条件の両方を書きます。

公開 tool name と実装の対応を version 管理します。モデルの文字列を、独立した validation なしに module name、command、URL、database query として使いません。

要求された call をすべて dispatch

一つの response が複数の function を要求する場合があります。各要求を検証し、認可を適用し、timeout 内で実行し、元の call identifier に結び付けて返します。副作用が独立した場合だけ並列化します。

結果は短く型付きで返します。失敗時はモデルが扱える制限されたエラーを返し、stack trace や認証情報を会話へ戻しません。

  • 未知の tool:拒否。
  • 不正引数:schema failure を通知。
  • 重複要求:idempotency record を使用。
  • Timeout:停止し回復可能な状態を示す。

継続ループを制限する

tool result の後、モデルは別の call または最終回答を返します。総 turn、tool invocation、経過時間、費用を制限します。上限時は理由を明示した有用な部分結果を返します。

dispatcher はモデル動作と独立してテストします。認可、schema rejection、重複処理、timeout、redaction を unit test で証明します。