一篇大模型 Agent 工具使用全面研究綜述

使用大型語言模型(LLMs)進行工具學習已成爲增強 LLMs 能力以解決高度複雜問題的一個有希望的範式。儘管這一領域受到越來越多的關注和快速發展,但現有的文獻仍然分散,缺乏系統性的組織,爲新來者設置了進入障礙。因此對 LLMs 工具學習方面的現有工作進行全面調查,從兩個主要方面展開:(1)爲什麼工具學習是有益的;(2)如何實現工具學習,以全面理解 LLMs 的工具學習。根據工具學習工作流程中的四個關鍵階段對文獻進行了系統性審查:任務規劃、工具選擇、工具調用響應生成

圖 1:工具學習發展軌跡的示意圖。

展示了按出版年份和會議統計的論文,每個會議由一種獨特的顏色表示。對於每個時間段,選擇了一些對領域有重大貢獻的代表性里程碑研究。(使用第一作者的機構作爲代表機構)

圖 2:總體研究結構框架

爲什麼工具學習是有益的?

一方面,將工具整合到 LLMs 中可以增強多個領域內的能力,即知識獲取、專業技能提升、自動化與效率以及交互增強。另一方面,採用工具學習範式可以增強響應的穩健性和生成過程的透明度,從而提高可解釋性和用戶信任度,以及改善系統的穩健性和適應性

  1. 知識獲取(Knowledge Acquisition):

    a. LLMs 的能力受限於預訓練期間學習的知識範圍,這些知識是固定的,不能動態更新。

    b. 通過集成外部工具,如搜索引擎、數據庫和知識圖譜、天氣或地圖工具,LLMs 能夠動態獲取和整合外部知識,從而提供更準確、與上下文相關的輸出。

  2. 專業知識增強(Expertise Enhancement):

    a. LLMs 在特定領域缺乏專業知識,例如複雜數學計算、編程和科學問題解決。

    b. 通過使用在線計算器、數學工具、Python 解釋器等工具,LLMs 能夠執行復雜計算、解決方程式、分析統計數據,從而增強其在專業領域的能力。

  3. 自動化和效率(Automation and Efficiency):

    a. LLMs 本質上是語言處理器,缺乏獨立執行外部操作的能力,如預訂會議室或機票。

    b. 通過與外部工具集成,LLMs 可以自動化執行任務,如日程安排、設置提醒、過濾電子郵件等,提高實用性和用戶交互的效率。

  4. 交互增強(Interaction Enhancement):

    a. 用戶查詢具有多樣性和多模態性,LLMs 在理解不同類型輸入時面臨挑戰。

    b. 利用多模態工具和機器翻譯工具,LLMs 可以更好地理解和響應更廣泛的用戶輸入,優化對話管理和意圖識別。

  5. 增強的可解釋性和用戶信任(Enhanced Interpretability and User Trust):

    a. 當前 LLMs 的 “黑箱” 特性導致其決策過程對用戶不透明,缺乏可解釋性。

    b. 通過工具學習,LLMs 可以展示決策過程的每一步,增加操作透明度,使用戶能夠快速識別和理解錯誤來源,增強對 LLMs 決策的信任。

  6. 改進的魯棒性和適應性(Improved Robustness and Adaptability):

    a. LLMs 對用戶輸入非常敏感,微小的變化可能導致響應的大幅變化,顯示出缺乏魯棒性。

    b. 集成專用工具可以減少對訓練數據中統計模式的依賴,提高對輸入擾動的抵抗力和對新環境的適應性。

如何實現工具學習?

圖 3: 使用大型語言模型進行工具學習的整體工作流程左側 部分展示了工具學習的 四個階段:任務規劃、工具選擇、工具調用和響應生成。右側 部分展示了兩種工具學習 範式:一步式任務解決的工具學習和迭代式任務解決的工具學習。

任務規劃(Task Planning )

  1. 任務規劃的重要性:

    a. 任務規劃是工具學習過程中的首要階段,它涉及對用戶查詢的全面分析,以理解用戶意圖。

    b. 用戶的問題往往包含複雜的意圖,需要被分解爲多個可執行的子問題。

  2. 任務規劃的步驟:

    a. 任務分解:將用戶的問題分解爲多個子問題,這有助於逐步解決複雜問題。

    b. 依賴關係和執行順序:確定子問題之間的依賴關係以及它們應該被執行的順序。

  3. 任務規劃的方法:

    a. 無需調整的方法(Tuning-free Methods):利用 LLMs 的內在能力,通過少量示例或零示例提示來實現任務規劃。例如,使用 CoT(Chain of Thought)或 ReACT 等框架來引導 LLMs 逐步思考和規劃。

    b. 基於調整的方法(Tuning-based Methods):通過在特定任務上微調 LLMs 來提高任務規劃能力。例如,Toolformer 等方法通過微調來增強 LLMs 對工具使用的意識和能力。

工具選擇(Tool Selection)

工具選擇的重要性:

工具選擇的分類:

工具選擇的方法:

工具調用(Tool Calling)

工具調用的重要性:

工具調用的步驟:

  1. 參數提取:LLMs 必須能夠從用戶查詢中提取出符合工具描述中指定格式的參數。

  2. 調用工具:使用提取的參數向工具服務器發送請求,並接收響應。

工具調用的方法:

響應生成(Response Generation)

響應生成的重要性:

響應生成的方法:

  1. 直接插入方法(Direct Insertion Methods):

    • 在早期工作中,直接將工具的輸出插入到生成的響應中。

    • 這種方法簡單直接,但可能因爲工具輸出的不可預測性而影響用戶體驗。

  2. 信息整合方法(Information Integration Methods):

    • 大多數方法選擇將工具的輸出作爲 LLMs 的輸入上下文,使 LLMs 能夠根據工具提供的信息制定更優質的回答。

    • 由於 LLMs 的上下文長度有限,需要採用不同的策略來處理工具的長輸出。

信息整合的策略:

工具學習範式(Paradigms of Tool Learning)

工具學習範式:

  1. 一步任務解決(Tool Learning with One-step Task Solving):

    • 這種範式涉及到在收到用戶問題後,LLMs 立即分析用戶請求,理解用戶意圖,並規劃出所有需要的子任務來解決問題。

    • 在這個過程中,LLMs 會直接生成一個基於選定工具返回結果的響應,而不會考慮過程中可能出現的錯誤或根據工具的反饋調整計劃。

  2. 迭代任務解決(Tool Learning with Iterative Task Solving):

    • 這種範式允許 LLMs 與工具進行迭代交互,不預先承諾一個完整的任務計劃。

    • 相反,它允許基於工具的反饋逐步調整子任務,使 LLMs 能夠一步步地解決問題,並根據工具返回的結果不斷完善計劃。

    • 這種方法增強了 LLMs 的問題解決能力,因爲它允許模型在響應工具反饋時進行適應和學習。

範式的特點:

工具學習評估基準與指標

評估指標(Evaluation)

任務規劃評估(Task Planning Evaluation):

工具選擇評估(Tool Selection Evaluation):

工具調用評估(Tool Calling Evaluation):

響應生成評估(Response Generation Evaluation):

圖 4:不同基準測試及其具體配置的詳細列表。符號①、②、③和④分別代表工具學習的四個階段——任務規劃、工具選擇、工具調用和響應生成。

Tool Learning with Large Language Models: A Survey
https://arxiv.org/pdf/2405.17935
https://github.com/quchangle1/LLM-Tool-Survey
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/pPkrHHkmVC29e_c2U8YEGg