一篇大模型Agent最新綜述
嘿,大家好!這里是一個專注于AI智能體的頻道~
最近這2篇綜述有點撞車了,不是純正的Agent綜述,可以了解一下最新的應用測的Agent發展情況!
現實中的Agent系統會面臨很多的挑戰,常見的有以下幾點:
- 感知模塊的探索不足:當前研究中對LLM-based Agent的感知模塊探索不夠,尤其是在處理代碼這類特殊文本輸入時,缺乏對樹/圖結構等高級輸入模式的研究。
- 角色扮演能力的需求:Agent常常需要在不同任務中扮演多種角色,如代碼生成器、測試員等,這對Agent的多角色處理能力提出了挑戰。
- 知識檢索基礎的缺乏:很多場景,缺乏一個權威且公認的、包含豐富相關知識的外部檢索庫
- 幻覺問題:如生成不存在的API或錯誤的代碼,這影響了Agent的整體性能。
- 效率問題:在多Agent協作中,計算資源的需求和通信開銷可能會影響協作的效率和實時性。
一個Agent應用框架主要由三個主要的部分:感知、記憶和行動。
- 感知部分就像是機器人的眼睛和耳朵。它用來接收來自外部世界的各種信息,比如文字、圖片或者聲音,然后把這些信息轉換成機器人能理解的形式。
- 行動部分就像是機器人的手腳和大腦。它根據接收到的信息做出決策,就像是我們根據看到和聽到的東西來決定怎么做一樣。同時,機器人還可以根據和外部世界互動得到的反饋來調整和改進自己的決策。
- 記憶部分則像是機器人的記憶庫,它保存了各種各樣的知識和經驗。這些記憶幫助機器人更好地理解信息和做出決策。記憶部分還可以通過學習來更新,讓機器人在未來能做得更好。
- 最后,多Agent協作。像是一群機器人一起工作,每個機器人都有自己的任務,但它們通過合作來完成更復雜的工作。
感知可以處理多種模態的輸入,包括文本、視覺(如圖像)和聽覺(如聲音)輸入。
其中文本輸入可以進一步細分為基于token的輸入、基于tree/graph的輸入和混合輸入。這些不同的輸入形式分別關注代碼的不同特征,例如語義、結構等。
當然無論是文本、視覺還是聽覺輸入,感知模塊最終都要將接收到的信息轉換成適合LLM處理的嵌入格式,為后續的推理和決策制定奠定基礎。
記憶模塊負責存儲能夠幫助LLM進行有效推理決策的信息。它包括語義記憶、情景記憶和程序記憶三種類型。
- 語義記憶通常存在于外部知識庫中,如文檔、庫、API信息等;
- 情景記憶記錄了與當前任務相關的特定情景或經驗信息。例如,它可以包括歷史消息、代碼庫中檢索到的相關代碼;
- 程序記憶包含了存儲在LLM權重中的隱性知識和在Agent代碼中明確寫出的顯性知識。
記憶模塊是Agent的大腦,它保存了所有重要的信息和經驗,幫助Agent更好地理解問題和做出決策。
重頭戲,Action。行動模塊包括內部行動和外部行動,它們根據LLM的輸入做出推理決策,并根據與外部環境互動獲得的反饋來優化這些決策。
內部行動,涉及Agent的思考過程,包括推理、檢索和學習。
其中推理部分,可以概括為3種形式
- 基于思維鏈推理(Chain-of-Thought, CoT):通過逐步展開思考過程,幫助LLM深入理解問題,分解復雜任務,并生成高質量的答案。
- 結構化推理(Structured CoT):將推理過程以類似偽代碼的形式呈現,涉及循環、分支等結構。這種方式特別適合于代碼生成,因為它可以利用源代碼的豐富結構信息。
- 其他推理形式:包括頭腦風暴和樹形推理等,這些方法通過生成相關關鍵詞或動態探索和更新推理過程來輔助問題解決。
其中檢索部分,為了輔助推理和決策過程,從內部或外部的知識庫中檢索相關信息。這包括查找文檔、代碼片段、API信息等,以支持當前的任務。根據召回內容不同,可以概括為以下幾個類別:
召回分為密集Dense的語義搜索,稀疏Sparse的關鍵詞搜索:
learning Action部分,是LLM-based Agent持續進步和適應新挑戰的關鍵。通過有效的學習機制,系統能夠不斷進化。一般包括從經驗中學習、優化內部模型和調整策略,以更好地完成未來的任務。
- 更新語義記憶:這可能包括新的API知識、編程語言的語法變化或新的算法。
- 更新程序記憶:通常涉及到模型的微調或持續學習。
- 優化Agent代碼:可能會根據學習到的知識來優化其執行代碼,以提高效率和性能。
最后是External Action部分,它使得Agent能夠主動地與外部世界進行交互,完成任務,并根據外部反饋進行自我優化。如:通過與人或其他Agent交互,以獲取任務需求、澄清問題或報告結果;與各種數字工具和平臺(如API服務)進行交互,以執行任務或驗證結果。
本文轉載自?? 探索AGI??,作者: 獼猴桃
