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 與實作之間保持有版本的 mapping。沒有獨立 validation 前,絕不把模型文字當作 module name、command、URL 或 database query。

處理每一個請求的 call

單一 response 可能要求多個 function。逐一驗證、套用授權、在 timeout 內執行,並以原始 call identifier 回傳結果。只有副作用彼此獨立時才平行執行。

回傳精簡且有型別的結果。工具失敗時,提供模型能理解的受控錯誤;不要把 stack trace 或憑證貼回對話。

  • 未知工具:拒絕。
  • 無效參數:回報 schema failure。
  • 重複請求:使用 idempotency record。
  • 逾時:停止並暴露可復原狀態。

限制 continuation loop

提供 tool result 後,模型可能再要求呼叫或產生最終答案。限制總 turn、tool invocation、經過時間與成本。到達上限時,應回傳可用的部分結果並明確說明原因。

dispatcher 應獨立於模型行為測試。單元測試要證明授權、schema rejection、重複處理、timeout 與 redaction。