Function Calling
定義
Function Calling 是指 LLM 在推理過程中決定是否呼叫、要呼叫哪一個外部函式(tool),並以結構化格式輸出函式名稱與參數。執行函式本身由呼叫端程式負責,而非模型內部完成。
Function Calling 運作流程如下:
結構化指令輸出
LLM 透過自然語言與程式碼混合的 prompt,生成符合預先宣告 schema(通常為 JSON)的「函式名稱 + 參數」結構,本身並不執行函式。
模型內部決策
模型根據使用者意圖在多個可用函式(tools)間做選擇,判斷何時需要呼叫、傳入哪些參數。
迴圈式交互
後端程式收到 JSON、執行對應操作後,將結果附加回對話,模型再接續生成最終回答或進一步呼叫下一個函式。
Function Calling 讓 「語言模型決定要做什麼」 與 「程式實際去做」 形成閉環,把自然語言請求轉譯為可執行動作,再把回傳結果翻譯回人類語言。
Function Calling 的用途
1. 即時資料擷取
模型可在回答問題前自動呼叫天氣、股票或新聞 API,以最新數據作答,避免知識過時。
2. 業務流程自動化
在客服、電商情境,LLM 能根據對話情境呼叫訂單系統、CRM 或工單 API,完成查詢、退貨或工單建立。
3. 複合任務代理
多步驟任務(如「訂機票→訂飯店→排程」)可由代理調度多個函式,LLM 擔任決策與流程控制核心。
常見應用
資訊檢索
AI 助理回答最新法規
保證內容時效性
自動化工作流程
電商客服自助查單、開工單
一問一答即可觸發後端流程
數據分析、視覺化
呼叫計算機、繪圖、統計 API
精準運算、視覺化
總結
Function Calling 把 LLM 從「純文本生成器」升級為「可行動代理」,透過標準化 JSON 介面把語言理解與具體執行連成一條龍;開發者只需聲明函式與參數,模型便能在對話中自動選函式、組裝參數並整合結果。隨著工具庫與安全機制日益成熟,Function Calling 正逐步滲透到客服、商務智能、軟體開發與 IoT 等領域,成為打造 AI Agent 不可或缺的關鍵拼圖。
Last updated
Was this helpful?