跳轉到主要內容
AI 數據

AI代理如何通過工具和函數調用採取行動

簡短回答。AI代理通過工具和函數調用作為語言模型與外部系統之間的結構化橋梁。模型理解用戶的目標,並可以請求特定……

Mumu D. · 2026年7月20日 · 閱讀約 8 分鐘

短答案。 AI代理使用工具和函數調用作為語言模型與外部系統之間的結構化橋梁。模型解讀用戶的目標,並能以結構化的參數請求特定工具。

應用程序或工具運行時會驗證並執行該請求,返回結果,並讓模型繼續工作流程。關鍵邊界在於:模型可以提出工具操作,而周圍系統則控制實際發生的內容。

  • 什麼是工具,它與函數調用有何不同?

  • 工具使用型代理如何從用戶請求過渡到實際操作?

  • 工具描述和模式如何影響可靠性?

  • 工具調用型代理在企業規模下可能在哪些地方失敗?

  • 人工審核和數據質量如何使代理工作流程更安全?

這個想法聽起來很技術,但商業應用場景非常直接。一個普通語言模型可以解釋如何檢查訂單。一個具備工具的代理則可以實際調用訂單系統,獲取狀態,並將該結果用於響應。OpenAI、Google和Anthropic當前的文檔均將工具和函數調用描述為連接模型與外部系統、數據和操作的機制。有用的思維模型:模型決定需要什麼能力;應用程序決定允許發生什麼操作。

1


工具和函數調用到底是什麼?

工具是外部能力,被提供給模型使用。它可以搜索知識庫、讀取CRM記錄、計算數值、查詢庫存、創建支持工單、調用API,或執行其他受控操作。函數調用是模型請求此類能力的一種結構化方式,通過以機器可讀格式生成函數名稱和參數來實現。

這一區別很重要,因為模型通常不會直接執行你的業務功能。OpenAI的文檔將函數調用描述為連接模型與外部工具和系統的手段。Google的文檔將模型的函數調用響應與應用程序負責執行函數的責任分開。Anthropic同樣描述了一種工具使用流程,即模型請求工具,而應用程序負責執行。四個構建模塊 1 · 工具定義 2 · 模型決策 及 3 · 執行層 4 · 工具結果 名稱、目的、參數和約束向模型解釋該能力。

模型判斷工具是否相關,並構建結構化參數。

應用程序驗證授權,並實際執行所請求的操作。

結果返回給模型,以便它能夠繼續流程、調用另一個工具或作出回答。

一個簡單示例:假設客戶問:‘訂單4812在哪裡?如果已發貨,請給我跟蹤鏈接。’ 模型可能首先請求get_order_status(order_id=4812)。應用程序檢查請求並查詢訂單系統。如果返回的狀態顯示訂單已發貨,模型隨後可以請求get_tracking_link(order_id=4812)。最終的回答將基於這些工具結果生成。

這是基本的代理循環:解讀 → 調用 → 執行 → 觀察 → 繼續。OpenAI的代理指導同樣將工具描述為讓代理收集信息、分析信息並執行任務,而非僅僅生成文本的機制。對企業團隊而言,其價值不僅在於模型可以調用API,更在於組織可以暴露一個狹窄、可審計的能力,而無需給模型提供對每個底層系統的無限制訪問。

2


工具調用循環在實際中是如何運作的?

機制簡單到可以在白板上畫出來。可靠性來自於模型周圍的方方面面:清晰的工具定義、驗證、授權、錯誤處理、可觀測性以及一個合理的終止點。

一個實用的七步循環 01 用戶目標 用戶以自然語言描述一個結果。

02 模型路由 模型決定可用的工具是否能提供幫助。

03 函數調用 模型返回工具名稱和結構化的參數。

04 驗證 應用程序檢查模式、權限、身份和業務規則。

05 執行 可信的運行時調用API、數據庫或服務。

06 結果 工具結果以適當上下文返回。

07 繼續 模型回答、提問或請求另一個工具。

為什麼模式比看起來更重要 一個模型需要對函數的功能和輸入要求有精確的描述。一個模糊的工具如search_database留下了太多解釋空間。一個更好的定義會明確其目的、參數、必需字段和有意義的約束。Google在函數聲明中圍繞名稱、描述和參數模式進行文檔化;OpenAI為支持的函數調用配置提供了嚴格的模式遵循。但有一個重要限制:模式正確性不等於業務正確性。一個請求可以是完美的JSON格式,但仍可能指向錯誤的客戶、金額、記錄或操作。因此,驗證必須在模型之外進行。

另一個趨勢是多工具編排。Google文檔了並行和組合式的函數調用,而Anthropic推出了針對擁有非常龐大工具庫環境的高級工具使用能力。實際意義是,工具選擇本身成為一個設計問題:代理需要相關工具,但不能讓上下文被每一個可能的定義所淹沒。 3


工具使用型AI代理可能在哪些地方出錯?

第一個原型通常運行得非常完美。但在生產環境中,情況更復雜,因為一個工具調用可能會改變模型之外的內容。只讀查詢是小事;發送郵件、修改客戶記錄、發佈內容或發起付款則是另一回事。

失敗模式 它可能看起來像什麼 錯誤的工具 模型選擇了技術上可用但不適用於任務的功能。

錯誤參數 調用在結構上是有效的,但包含錯誤的ID、金額、目的地、日期或範圍。

不可信輸入 工具返回的內容可能包含試圖影響後續模型行為的指令。

過度訪問 代理獲得了比任務實際需要更多的權限。

級聯錯誤 一個糟糕的結果成為下一個調用的輸入,並在工作流中不斷放大。

重複操作 重試或狀態不明確可能導致外部操作重複執行。

數據暴露 敏感的工具結果可能被暴露給未經授權的用戶或下游流程。

缺少人工審核 高影響操作在沒有批准或升級路徑的情況下發生。

安全教訓:工具訪問即權限 越重要、越具後果的工具,其周圍控制措施就越關鍵。OpenAI的代理指導將工具視為從推理到行動的橋梁,而當前MCP指導則強調圍繞工具調用的用戶控制和授權。NIST在工具使用型代理系統方面的研究也突出了考慮風險、可靠性、訪問模式以及操作是否可逆或具有狀態的重要性。一個對企業有用的規則是‘最小權限原則’:僅暴露完成任務所需的最小功能和權限集合。例如,一個客戶服務代理可能需要讀取訂單並創建工單。它可能不需要刪除客戶賬戶的權限。

相同的原理也適用於工具輸出。谷歌及其他平臺文檔越來越將工具結果視為結構化的上下文,用於驅動下一個模型步驟。這意味著企業應當決定哪些字段被返回、哪些被隱藏、哪些可以影響後續操作。

4


企業如何構建更安全的工具調用代理?

一個可投入生產的代理並非通過在提示中添加更多功能而創建,而是作為一個圍繞模型構建的受控系統。最強的架構結合了窄域工具、獨立驗證、權限管理、監控、評估和人工監督,尤其在後果嚴重時。

一個實用的企業級控制棧 1 · 最小化 僅暴露工作流所需的工具。將只讀和寫入權限分開。

2 · 授權 在模型之外實施身份、角色和資源級別的權限控制。

3 · 驗證 在執行前檢查參數和業務規則,即使參數結構是有效的。

4 · 確認 對不可逆、具有財務影響或對外可見的操作,增加人工審批環節。

5 · 觀察 記錄工具選擇、參數、結果、延遲、錯誤和重試情況。

6 · 恢復 使用超時、有限重試、冪等性和明確的失敗狀態。

7 · 評估 測試工具選擇、參數準確性、政策合規性以及端到端結果。

8 · 改進 將失敗案例和人工評審反饋回工具、提示、測試數據和工作流中。

Lifewood的人工參與閉環方法適用性 Lifewood發佈的AI評估和人工參與閉環材料強調結構化測試、人工審查、質量保證、多語言評估和反饋。其AIGC框架在模型訓練之後進行人工評估和質量保證,並利用審查發現來改進數據或模型。這自然契合於代理系統。人工參與並不意味著必須對每個低風險搜索進行審批。它可以意味著人類定義評估標準、審查代表性樣本、檢查失敗案例、批准高風險操作,並監控自動化工作流在模型、工具或提示變更後是否仍保持可靠。

Lifewood當前的AI數據產品也描述了多模態數據、LLM訓練數據、多語言採集以及在50多種語言和40多個交付中心進行的人工參與閉環驗證。對於使用工具的代理而言,同樣的基礎同樣重要:多樣化的數據和經過人工驗證的評估有助於暴露語言、文化及邊緣案例中的失敗,而單一英文測試集可能遺漏這些情況。在實踐中,這正是AI數據合作伙伴能夠超越模型本身貢獻的地方:構建真實的評估數據集、創建多語言測試用例、審查輸出、標註失敗模式,並將這些發現轉化為可重複的質量閉環。

5


一個可投入生產的工具調用架構應該是什麼樣子?

直接回答:從小處開始。為代理提供有限的工具集、明確的結構化定義、最小權限、獨立驗證、強大的日誌記錄以及對具有重大影響的操作的明確審批機制。然後測試整個工作流——而不僅僅是模型能否生成一個有效的函數調用。

生產檢查清單

  • 工具描述是否具體到足以使選擇變得明確?

  • 參數是否在模型之外獨立進行驗證?

  • 應用是否能夠拒絕看似有效但未經授權的請求?

  • 是否在適當情況下將只讀工具和寫入工具分開?

  • 高影響操作是否可逆,或是否通過人工審批加以保護?

  • 工具輸出是否被視為潛在不可信的輸入?

  • 重試是否有限制,並且是否防止了重複操作?

  • 團隊是否能夠從日誌中重構出代理的行為?

  • 多語言和邊緣場景是否屬於評估範圍?

  • 當工具、模型或業務規則發生變化時,是否存在反饋循環?

接下來會發生什麼變化?

工具生態系統正超越單次函數調用。OpenAI現在在其代理堆棧中描述了內置工具、自定義函數工具以及與MCP連接的工具。谷歌支持內置工具和自定義工具的組合,包括多步和並行函數調用。Anthropic也在探索在擁有非常龐大工具庫的環境中進行動態工具發現和加載。這表明,下一個挑戰不再僅僅是‘AI代理能否使用工具?’,而是‘組織如何在工具生態不斷增長的同時不失去控制?’答案將取決於更優的工具設計、權限管理、可觀測性、評估以及人工監督。


關鍵要點

    • 函數調用為語言模型提供了一種結構化請求外部能力的方式。
    • 應用程序或工具運行時應控制執行、授權和驗證。
    • 一個有效的函數調用仍可能是錯誤的業務操作。
    • 工具權限應遵循最小權限原則。
    • 高影響操作需要更強的控制措施,並在適當情況下需要人工確認。
    • 多語言、人工審核的評估能夠暴露簡單自動化測試所遺漏的失敗案例。

常見問題

不。函數調用是一種請求結構化工具執行的機制。而代理是一個更廣泛的系統,能夠利用模型、工具和編排來跨多個步驟實現目標。

對於自定義函數,通常不會。模型生成調用請求,應用程序執行該調用並返回結果。

因為最嚴重的失敗往往是情境性的:錯誤的操作在技術上可能是有效的,結果可能是誤導性的,或者工作流在不同語言和用戶之間表現不同。Lifewood的人工參與閉環模型圍繞審核、驗證和持續改進設計。

將每個工具視為一個權限邊界。模型可能會推薦一個操作,但系統必須決定該操作是否有效、被授權且安全可執行。

正在規劃 AI 項目或提升品牌可見度?

從 AI 評估、人工參與審核,到 GEO 與 AEO 策略,我們的團隊幫助你穩妥落地項目,在 AI 搜索時代獲得更多關注。

聯繫我們的團隊