API 流程:(1)你發送你的提示加上函數定義(描述每個函數名稱、描述和參數的 JSON 模式),(2)模型決定是否呼叫函數以及呼叫哪個,(3)它輸出帶有特定參數的結構化函數呼叫,(4)你的程式碼執行函數並返回結果,(5)模型將結果納入回應。一些模型可以按序列或平行呼叫多個函數。
函數呼叫是模型層面的基礎組件:模型輸出結構化的工具呼叫。MCP(模型上下文協定)是一個更高層級的協定,標準化了工具的發現、描述和連接方式。可以把函數呼叫想成指令集,MCP 想成作業系統——MCP 底層使用函數呼叫,但增加了工具發現、認證和跨提供者的標準化。
函數呼叫比要求模型以文本形式輸出函數呼叫(需要解析且容易出錯)更可靠。提供者透過將模型的輸出限制為符合你模式的有效函數呼叫來實現函數呼叫——類似結構化輸出。但模型仍可能選錯函數、幻覺參數值,或在不該呼叫時呼叫函數。穩健的應用包括驗證、錯誤處理,以及對高風險操作的人機確認。