一篇大模型 Agent 工具使用全面研究綜述
使用大型語言模型(LLMs)進行工具學習已成爲增強 LLMs 能力以解決高度複雜問題的一個有希望的範式。儘管這一領域受到越來越多的關注和快速發展,但現有的文獻仍然分散,缺乏系統性的組織,爲新來者設置了進入障礙。因此對 LLMs 工具學習方面的現有工作進行全面調查,從兩個主要方面展開:(1)爲什麼工具學習是有益的;(2)如何實現工具學習,以全面理解 LLMs 的工具學習。根據工具學習工作流程中的四個關鍵階段對文獻進行了系統性審查:任務規劃、工具選擇、工具調用和響應生成。
圖 1:工具學習發展軌跡的示意圖。
展示了按出版年份和會議統計的論文,每個會議由一種獨特的顏色表示。對於每個時間段,選擇了一些對領域有重大貢獻的代表性里程碑研究。(使用第一作者的機構作爲代表機構)
圖 2:總體研究結構框架
爲什麼工具學習是有益的?
一方面,將工具整合到 LLMs 中可以增強多個領域內的能力,即知識獲取、專業技能提升、自動化與效率以及交互增強。另一方面,採用工具學習範式可以增強響應的穩健性和生成過程的透明度,從而提高可解釋性和用戶信任度,以及改善系統的穩健性和適應性
-
知識獲取(Knowledge Acquisition):
a. LLMs 的能力受限於預訓練期間學習的知識範圍,這些知識是固定的,不能動態更新。
b. 通過集成外部工具,如搜索引擎、數據庫和知識圖譜、天氣或地圖工具,LLMs 能夠動態獲取和整合外部知識,從而提供更準確、與上下文相關的輸出。
-
專業知識增強(Expertise Enhancement):
a. LLMs 在特定領域缺乏專業知識,例如複雜數學計算、編程和科學問題解決。
b. 通過使用在線計算器、數學工具、Python 解釋器等工具,LLMs 能夠執行復雜計算、解決方程式、分析統計數據,從而增強其在專業領域的能力。
-
自動化和效率(Automation and Efficiency):
a. LLMs 本質上是語言處理器,缺乏獨立執行外部操作的能力,如預訂會議室或機票。
b. 通過與外部工具集成,LLMs 可以自動化執行任務,如日程安排、設置提醒、過濾電子郵件等,提高實用性和用戶交互的效率。
-
交互增強(Interaction Enhancement):
a. 用戶查詢具有多樣性和多模態性,LLMs 在理解不同類型輸入時面臨挑戰。
b. 利用多模態工具和機器翻譯工具,LLMs 可以更好地理解和響應更廣泛的用戶輸入,優化對話管理和意圖識別。
-
增強的可解釋性和用戶信任(Enhanced Interpretability and User Trust):
a. 當前 LLMs 的 “黑箱” 特性導致其決策過程對用戶不透明,缺乏可解釋性。
b. 通過工具學習,LLMs 可以展示決策過程的每一步,增加操作透明度,使用戶能夠快速識別和理解錯誤來源,增強對 LLMs 決策的信任。
-
改進的魯棒性和適應性(Improved Robustness and Adaptability):
a. LLMs 對用戶輸入非常敏感,微小的變化可能導致響應的大幅變化,顯示出缺乏魯棒性。
b. 集成專用工具可以減少對訓練數據中統計模式的依賴,提高對輸入擾動的抵抗力和對新環境的適應性。
如何實現工具學習?
圖 3: 使用大型語言模型進行工具學習的整體工作流程。左側 部分展示了工具學習的 四個階段:任務規劃、工具選擇、工具調用和響應生成。右側 部分展示了兩種工具學習 範式:一步式任務解決的工具學習和迭代式任務解決的工具學習。
任務規劃(Task Planning )
-
任務規劃的重要性:
a. 任務規劃是工具學習過程中的首要階段,它涉及對用戶查詢的全面分析,以理解用戶意圖。
b. 用戶的問題往往包含複雜的意圖,需要被分解爲多個可執行的子問題。
-
任務規劃的步驟:
a. 任務分解:將用戶的問題分解爲多個子問題,這有助於逐步解決複雜問題。
b. 依賴關係和執行順序:確定子問題之間的依賴關係以及它們應該被執行的順序。
-
任務規劃的方法:
a. 無需調整的方法(Tuning-free Methods):利用 LLMs 的內在能力,通過少量示例或零示例提示來實現任務規劃。例如,使用 CoT(Chain of Thought)或 ReACT 等框架來引導 LLMs 逐步思考和規劃。
b. 基於調整的方法(Tuning-based Methods):通過在特定任務上微調 LLMs 來提高任務規劃能力。例如,Toolformer 等方法通過微調來增強 LLMs 對工具使用的意識和能力。
工具選擇(Tool Selection)
工具選擇的重要性:
-
工具選擇是工具學習過程中的關鍵步驟,它緊接着任務規劃階段。
-
在這個階段,需要從可用的工具集中選擇最合適的工具來解決特定的子問題。
工具選擇的分類:
-
基於檢索器的工具選擇(Retriever-based Tool Selection):
-
當工具庫龐大時,使用檢索器(如 TF-IDF、BM25 等)來從大量工具中檢索出與子問題最相關的前 K 個工具。
-
這種方法側重於通過關鍵詞匹配和語義相似性來快速縮小工具選擇範圍。
-
-
基於 LLM 的工具選擇(LLM-based Tool Selection):
-
當工具數量有限或者在檢索階段已經縮小了工具範圍時,可以直接將工具描述和參數列表與用戶查詢一起提供給 LLM。
-
LLM 需要根據用戶查詢和工具描述來選擇最合適的工具。
-
工具選擇的方法:
-
無需調整的方法(Tuning-free Methods):
-
利用 LLMs 的上下文學習能力,通過策略性提示來增強工具選擇能力。
-
例如,通過鏈式思維(Chain of Thought)或 ReACT 框架來引導 LLMs 進行推理和行動。
-
-
基於調整的方法(Tuning-based Methods):
-
通過在工具學習數據集上微調 LLMs 的參數來提高工具選擇的能力。
-
例如,Toolbench 和 TRICE 等方法通過微調和行爲克隆來增強 LLMs 的工具使用能力。
-
工具調用(Tool Calling)
工具調用的重要性:
-
工具調用是工具學習流程中的第三個階段,它緊跟在工具選擇之後。
-
在這個階段,大型語言模型(LLMs)需要根據所選工具的要求提取用戶查詢中的必要參數,並調用工具服務器獲取數據。
工具調用的步驟:
-
參數提取:LLMs 必須能夠從用戶查詢中提取出符合工具描述中指定格式的參數。
-
調用工具:使用提取的參數向工具服務器發送請求,並接收響應。
工具調用的方法:
-
無需調整的方法(Tuning-free Methods):
-
利用少量示例或規則方法來指導 LLMs 識別和提取參數。
-
例如,Reverse Chain 方法通過逆向思維選擇工具,然後填充所需參數。
-
-
基於調整的方法(Tuning-based Methods):
-
通過微調 LLMs 的參數來增強工具調用能力,使用特定的優化技術如 LoRA。
-
例如,GPT4Tools 通過微調開源 LLMs 來集成工具使用能力。
-
響應生成(Response Generation)
響應生成的重要性:
-
響應生成是工具學習流程中的最後一個階段,它涉及將工具的輸出與 LLMs 的內部知識結合起來,生成對用戶的全面響應。
-
此階段的目標是爲用戶提供準確、相關且有用的回答。
響應生成的方法:
-
直接插入方法(Direct Insertion Methods):
-
在早期工作中,直接將工具的輸出插入到生成的響應中。
-
這種方法簡單直接,但可能因爲工具輸出的不可預測性而影響用戶體驗。
-
-
信息整合方法(Information Integration Methods):
-
大多數方法選擇將工具的輸出作爲 LLMs 的輸入上下文,使 LLMs 能夠根據工具提供的信息制定更優質的回答。
-
由於 LLMs 的上下文長度有限,需要採用不同的策略來處理工具的長輸出。
-
信息整合的策略:
-
簡化輸出:使用預創建的模式或文檔來簡化長輸出。
-
截斷輸出:將輸出截斷以適應長度限制,但可能會丟失解決用戶查詢所需的信息。
-
壓縮信息:開發壓縮器將長信息壓縮成更簡潔的格式,保留最有用的信息。
-
無模式方法:動態生成函數以根據指令提取目標輸出。
工具學習範式(Paradigms of Tool Learning)
工具學習範式:
-
一步任務解決(Tool Learning with One-step Task Solving):
-
這種範式涉及到在收到用戶問題後,LLMs 立即分析用戶請求,理解用戶意圖,並規劃出所有需要的子任務來解決問題。
-
在這個過程中,LLMs 會直接生成一個基於選定工具返回結果的響應,而不會考慮過程中可能出現的錯誤或根據工具的反饋調整計劃。
-
-
迭代任務解決(Tool Learning with Iterative Task Solving):
-
這種範式允許 LLMs 與工具進行迭代交互,不預先承諾一個完整的任務計劃。
-
相反,它允許基於工具的反饋逐步調整子任務,使 LLMs 能夠一步步地解決問題,並根據工具返回的結果不斷完善計劃。
-
這種方法增強了 LLMs 的問題解決能力,因爲它允許模型在響應工具反饋時進行適應和學習。
-
範式的特點:
-
規劃無反饋(Planning without Feedback):在一步任務解決範式中,LLMs 在沒有反饋的情況下進行規劃,這可能導致在面對錯誤或意外情況時缺乏適應性。
-
規劃有反饋(Planning with Feedback):在迭代任務解決範式中,LLMs 的規劃過程包括接收和利用來自工具的反饋,這允許更靈活和動態的問題解決。
工具學習評估基準與指標
評估指標(Evaluation)
任務規劃評估(Task Planning Evaluation):
-
工具使用意識(Tool Usage Awareness):評估 LLMs 是否能夠準確識別何時需要使用外部工具。
-
任務規劃效果(Effectiveness of Task Planning):使用通過率(pass rate)或人類評估來衡量任務規劃解決查詢的有效性。
-
計劃精度(Precision of the Plan):通過與最優解決方案比較,定量分析 LLMs 生成的計劃的準確性。
工具選擇評估(Tool Selection Evaluation):
-
召回率(Recall):衡量模型選擇的前 K 個工具中有多少是正確的。
-
歸一化折扣累積增益(NDCG, Normalized Discounted Cumulative Gain):不僅考慮正面工具的比例,還考慮它們在列表中的位置。
-
完整性(COMP, Completeness):評估前 K 個選擇的工具是否形成了一個相對於真實集合的完整集合。
工具調用評估(Tool Calling Evaluation):
- 評估 LLMs 在執行工具調用功能時的有效性,檢查輸入參數是否符合工具文檔中的規定。
響應生成評估(Response Generation Evaluation):
-
評估工具學習最終目標,即提高 LLMs 解決下游任務的能力。
-
使用諸如 ROUGE-L、精確匹配(Exact Match)、F1 分數等指標來評估最終響應的質量。
圖 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