在本文中,通過60多張定制可視化圖,你將探索LLM Agents領域、其主要組件以及多Agent框架。

什么是LLM Agents?

要理解LLM Agents,讓我們首先探索LLM的基本能力。傳統(tǒng)上,LLM所做的僅僅是下一個token的預測。

image

通過連續(xù)采樣多個token,我們可以模擬對話,并使用LLM為我們的查詢提供更全面的答案。

image

然而,當我們繼續(xù)對話時,任何LLM都會展示其主要缺點之一:它不記得對話內(nèi)容!

image

LLM在執(zhí)行許多其他任務時也常常失敗,包括基本的數(shù)學運算,如乘法和除法:

image

這是否意味著LLM很垃圾?當然不是!LLM無需具備所有能力,因為我們可以通過外部工具、記憶和檢索系統(tǒng)來彌補其缺點。通過外部系統(tǒng),LLM的能力可以得到增強。Anthropic稱之為增強型LLM。

image

例如,面對數(shù)學問題時,LLM可能會決定使用合適的工具(如計算器)。

image

那么這種 增強型LLM 是否就是Agent?不完全是,但也有一些相似之處…

讓我們從Agents的定義開始:

Agent是任何可以被視為通過傳感器感知其環(huán)境并通過執(zhí)行器作用于該環(huán)境的事物?!?Russell & Norvig,《人工智能:現(xiàn)代方法》(2016)

Agents與環(huán)境交互,通常由幾個重要組件組成:

image

這個框架適用于與各種環(huán)境交互的各類Agents,比如與物理環(huán)境交互的機器人或與軟件交互的AI Agents。我們可以稍微概括這個框架,使其更適合 增強型LLM。

image

使用 增強型LLM,Agent可以通過文本輸入觀察環(huán)境(因為LLM通常是文本模型),并通過使用工具(如網(wǎng)絡搜索)執(zhí)行特定操作。為了選擇要采取的行動,LLM Agent有一個重要組件:規(guī)劃能力。為此,LLM需要能夠通過思維鏈等方法進行"推理"和"思考"。

image

利用這種推理行為,LLM Agents將規(guī)劃出需要采取的必要行動。

image

這種規(guī)劃行為使Agent能夠理解背景(LLM)、規(guī)劃下一步(規(guī)劃)、采取行動(工具)并跟蹤已采取的行動(記憶)。

image

根據(jù)系統(tǒng)的不同,你可以使用具有不同自主程度的LLM Agents。

image

根據(jù)不同人的觀點,一個系統(tǒng)越是由LLM決定其行為方式,就越具有"自主性"。

在接下來的部分,我們將通過LLM Agent的三個主要組成部分——記憶、工具和規(guī)劃——探討各種自主行為方法。

記憶

LLM是健忘的系統(tǒng),或更準確地說,在與它們交互時根本不執(zhí)行任何記憶行為。例如,當你向LLM提出一個問題,然后跟進另一個問題時,它不會記得前一個問題。

image

我們通常將此稱為短期記憶,也稱為工作記憶,它作為(接近)即時上下文的緩沖區(qū)。這包括LLM Agent最近采取的行動。然而,LLM Agent還需要跟蹤可能數(shù)十個步驟,而不僅僅是最近的行動。

image

這被稱為長期記憶,因為LLM Agent理論上可能需要記住數(shù)十甚至數(shù)百個步驟。

image

讓我們探索幾種為這些模型提供記憶的技巧。

短期記憶

使短期記憶成為可能的最直接方法是使用模型的上下文窗口,這本質上是LLM可以處理的token數(shù)量。

image

上下文窗口通常至少有8192個token,有時可以擴展到數(shù)十萬個token!大的上下文窗口可用于將完整的對話歷史作為輸入提示的一部分進行跟蹤。

image

只要對話歷史適合LLM的上下文窗口,這種方法就可行,是模擬記憶的好方法。然而,與其真正記憶對話,我們實際上是在告訴LLM這個對話是什么。

對于上下文窗口較小的模型,或當對話歷史較大時,我們可以使用另一個LLM來總結迄今為止發(fā)生的對話。

image

通過持續(xù)總結對話,我們可以保持會話體積小。這將減少token數(shù)量,同時只跟蹤最重要的信息。

長期記憶

LLM Agents的長期記憶包括需要長期保留的Agent過去的行動空間。實現(xiàn)長期記憶的常見技術是將所有先前的交互、行動和對話存儲在外部向量數(shù)據(jù)庫中。要構建這樣的數(shù)據(jù)庫,首先需要將對話嵌入到捕捉其含義的數(shù)值表示中。

image

建立數(shù)據(jù)庫后,我們可以嵌入任何給定的提示,并通過比較提示嵌入與數(shù)據(jù)庫嵌入來找到向量數(shù)據(jù)庫中最相關的信息。

image

這種方法通常被稱為檢索增強生成(RAG)。長期記憶還可以涉及保留不同會話的信息。例如,你可能希望LLM Agent記住它在以前會話中所做的任何研究。不同類型的信息也可以與不同類型的記憶相關聯(lián)。在心理學中,有許多類型的記憶需要區(qū)分,但《語言Agents認知架構》論文將其中四種與LLM Agents聯(lián)系起來。

image

這種區(qū)分有助于構建主體框架。語義記憶(關于世界的事實)可能存儲在與工作記憶(當前和最近情況)不同的數(shù)據(jù)庫中。

工具

工具允許LLM與外部環(huán)境(如數(shù)據(jù)庫)交互或使用外部應用程序(如自定義代碼運行)。

image

工具通常有兩種用途:獲取數(shù)據(jù)以檢索最新信息和采取行動,如安排會議或訂購食物。要實際使用工具,LLM必須生成與該工具API匹配的文本。我們傾向于期望可以格式化為JSON的字符串,以便輕松提供給代碼解釋器。

image

請注意,這不限于JSON,我們也可以在代碼本身中調用工具!你還可以生成LLM可以使用的自定義函數(shù),如基本乘法函數(shù)。這通常被稱為函數(shù)調用。

image

如果提示正確且全面,某些LLM可以使用任何工具。工具使用是大多數(shù)當前LLM都具備的能力。

image

訪問工具的更穩(wěn)定方法是對LLM進行微調(稍后會詳細介紹?。?。如果主體框架是固定的,工具可以按特定順序使用…

image

…或者LLM可以自主選擇使用哪種工具以及何時使用。LLM Agents本質上是修改LLM的生成序列(讓LLM自主選擇行動/工具,將結果在回饋到生成序列中)。

image

換句話說,中間步驟的輸出被反饋到LLM中以繼續(xù)處理。

image

Toolformer

工具使用是增強LLM能力并彌補其缺點的強大技術。因此,近幾年關于工具使用和學習的研究迅速增加。

image

隨著對工具使用的關注增加,LLM預計將變得更加強大。這些研究不僅涉及指令要求LLM使用工具,還包括專門訓練它們使用工具。最早采用這種技術的是Toolformer,一種訓練用于決定調用哪些API以及如何調用的模型。它使用

[

]

標記來指示調用工具的開始和結束。當給定提示,例如"5乘以3等于多少?",它開始生成標記,直到達到

[

標記。

image

之后,它生成標記直到達到

標記,表示LLM停止生成標記。

image

然后,工具被調用,輸出會被添加到迄今為止生成的標記中。

image

]

符號表示LLM現(xiàn)在可以繼續(xù)生成標記(如有必要)。Toolformer通過仔細生成包含許多工具用例的數(shù)據(jù)集來創(chuàng)建這種行為,模型可以在這些數(shù)據(jù)集上進行訓練。對于每個工具,手動創(chuàng)建少樣本提示并用于采樣使用這些工具的輸出。

image

輸出基于工具使用的正確性、輸出和損失減少進行過濾。由此產(chǎn)生的數(shù)據(jù)集用于訓練LLM遵循這種工具使用格式。自Toolformer發(fā)布以來,出現(xiàn)了許多令人興奮的技術,如可以使用數(shù)千種工具的LLM(ToolLLM)或可以輕松檢索最相關工具的LLM(Gorilla)。無論如何,大多數(shù)當前LLM(2025年初)都已經(jīng)過訓練,可以通過JSON生成輕松調用工具(如我們之前所見)。

模型上下文協(xié)議(MCP)

工具是主體框架的重要組成部分,允許LLM與世界交互并擴展其能力。然而,當你有許多不同的API時,啟用工具使用變得麻煩,因為任何工具都需要:

image

為了使工具更容易在任何給定的主體框架中實現(xiàn),Anthropic開發(fā)了模型上下文協(xié)議(MCP)。MCP標準化了對天氣應用和GitHub等服務的API訪問。它由三個組件組成:

image

例如,假設你希望LLM應用程序總結你倉庫的最新5次提交。MCP主機(與客戶端一起)首先調用MCP服務器詢問有哪些工具可用。

image

LLM接收信息并可能選擇使用工具。它通過主機向MCP服務器發(fā)送請求,然后接收結果,包括使用的工具。

image

最后,LLM接收結果并可以解析給用戶的答案。

image

這個框架通過連接到任何LLM應用程序都可以使用的MCP服務器,使創(chuàng)建工具變得更容易。因此,當你創(chuàng)建一個與GitHub交互的MCP服務器時,任何支持MCP的LLM應用程序都可以使用它。

規(guī)劃

工具使用允許LLM增強其能力。它們通常使用類似JSON的請求進行調用。但在主體系統(tǒng)中,LLM如何決定使用哪種工具以及何時使用?這就是規(guī)劃發(fā)揮作用的地方。LLM Agents中的規(guī)劃涉及將給定任務分解為可執(zhí)行的步驟。

image

這個計劃使模型能夠迭代反思過去的行為并在必要時更新當前計劃。

image

要在LLM Agents中啟用規(guī)劃,讓我們首先看看這種技術的基礎,即推理。

推理

規(guī)劃可執(zhí)行步驟需要復雜的推理行為。因此,LLM必須能夠展示這種行為,然后才能規(guī)劃任務的下一步。"推理型"LLM傾向于在回答問題前"思考"。

image

這里使用"推理"和"思考"這些術語有些寬泛,因為我們可以爭論這是否是類似人類的思考,還是僅僅將答案分解為結構化步驟。

這種推理行為大致可以通過兩種選擇啟用:對LLM進行微調或特定的提示工程。

通過提示工程,我們可以創(chuàng)建LLM應遵循的推理過程示例。提供示例(也稱為少樣本提示)是引導LLM行為的絕佳方法。

image

這種提供思維過程示例的方法被稱為思維鏈,它能夠實現(xiàn)更復雜的推理行為。思維鏈也可以在沒有任何示例(零樣本提示)的情況下啟用,只需簡單陳述"讓我們一步一步思考"。

image

在訓練LLM時,我們可以給它提供足夠數(shù)量的包含類似思考例子的數(shù)據(jù)集,或者LLM可以發(fā)現(xiàn)自己的思考過程。一個很好的例子是DeepSeek-R1,它使用獎勵來引導思考過程的使用。

image

推理與行動

在LLM中啟用推理行為很好,但不一定使其能夠規(guī)劃可執(zhí)行步驟。我們迄今為止關注的技術要么展示推理行為,要么通過工具與環(huán)境交互。

image

例如,思維鏈僅專注于推理。結合這兩個過程的首批技術之一被稱為ReAct(推理和行動)。

image

ReAct通過精心設計的提示詞工程來實現(xiàn)這一點。ReAct提示描述了三個步驟:

提示本身相當直接。

image

LLM使用這個提示(可作為系統(tǒng)提示使用)來引導其行為,使其在思考、行動和觀察的循環(huán)中工作。

image

它會繼續(xù)這種行為,直到某個行動指定返回結果。通過對思考和觀察的迭代,LLM可以規(guī)劃行動、觀察其輸出并相應調整。因此,與具有預定義固定步驟的Agents相比,這個框架使LLM能夠展示更多自主的主體行為。

反思

沒有人(甚至使用ReAct的LLM)能完美執(zhí)行每項任務。只要你能對過程進行反思,失敗就是過程的一部分。這個過程在ReAct中缺失,而Reflexion正是解決這一問題的技術。Reflexion是一種使用語言強化幫助agents從先前失敗中學習的技術。該方法假設三種LLM角色:

image

添加記憶模塊來跟蹤行動(短期)和自我反思(長期),幫助Agent從錯誤中學習并確定改進的行動。

一種類似而優(yōu)雅的技術是SELF-REFINE,其中重復進行細化輸出和生成反饋的行動。

image

同一個LLM負責生成初始輸出、細化輸出和反饋。

image

有趣的是,這種自我反思行為(Reflexion和SELF-REFINE)與強化學習非常相似,后者根據(jù)輸出質量給予獎勵。

多Agent協(xié)作

我們探討的單Agent存在幾個問題:工具過多可能使選擇復雜化,上下文變得過于復雜,任務可能需要專業(yè)化。相反,我們可以轉向多Agent框架,其中多個agents(每個都有訪問工具、記憶和規(guī)劃的能力)相互交互并與其環(huán)境交互:

image

這些多Agent系統(tǒng)通常由專業(yè)Agents組成,每個都配備自己的工具集,并由監(jiān)督者監(jiān)督。監(jiān)督者管理Agents之間的通信,并可以將特定任務分配給專門的Agents。

image

每個Agent可能有不同類型的可用工具,但也可能有不同的記憶系統(tǒng)。實際上,有數(shù)十種多Agent架構,其核心包含兩個組件:

image

讓我們探索各種有趣的多Agent框架,并強調這些組件是如何實現(xiàn)的。

人類行為的交互模擬

可以說最有影響力,也是非??岬亩郃gent論文之一是"生成式Agents:人類行為的交互模擬"。在這篇論文中,他們創(chuàng)建了模擬可信人類行為的計算軟件agents,稱為生成式Agents。

image

給每個生成式Agent的檔案使它們以獨特的方式行動,并幫助創(chuàng)建更有趣、更動態(tài)的行為。每個Agent初始化時都有三個模塊(記憶、規(guī)劃和反思),這與我們之前在ReAct和Reflexion中看到的核心組件非常相似。

image

記憶模塊是這個框架中最重要的組件之一。它存儲規(guī)劃和反思行為,以及迄今為止的所有事件。對于任何給定的下一步或問題,系統(tǒng)會檢索記憶并根據(jù)其近期性、重要性和相關性進行評分。得分最高的記憶將與Agent共享。

image

這些組件共同允許Agents自由地進行活動并相互交互。因此,幾乎沒有Agent編排,因為它們沒有要完成的特定目標。

image

交互式演示的注釋圖片。這篇論文中有太多令人驚嘆的信息片段,但我想強調他們的評估指標。他們的評估以Agent行為的可信度為主要指標,由人類評估者進行評分。

image

它展示了觀察、規(guī)劃和反思在這些生成式Agents性能中共同作用的重要性。如前所述,沒有反思行為,規(guī)劃是不完整的。

模塊化框架

無論你選擇什么框架來創(chuàng)建多Agent系統(tǒng),它們通常由幾個組成部分組成,包括其檔案、環(huán)境感知、記憶、規(guī)劃和可用行動。

image

實現(xiàn)這些組件的流行框架有AutoGen、MetaGPT和CAMEL。然而,每個框架處理各Agent之間通信的方式略有不同。例如,使用CAMEL時,用戶首先創(chuàng)建問題并定義AI用戶和AI助手角色。AI用戶角色代表人類用戶并將引導整個過程。

image

之后,AI用戶和AI助手將通過相互交互來協(xié)作解決查詢。

image

這種角色扮演方法實現(xiàn)了agents之間的協(xié)作通信。AutoGen和MetaGPT有不同的通信方法,但都歸結為這種協(xié)作性質的通信。Agents有機會互相交流,更新當前狀態(tài)、目標和下一步。在過去一年,特別是最近幾周,這些框架的發(fā)展呈爆炸式增長。

image

隨著這些框架不斷成熟和發(fā)展,2025年將成為一個真正令人興奮的年份!

結論

以上就是LLM Agents的探索之旅!希望這篇文章能讓你更好地理解LLM Agents的構建方式。好了,這就是我今天想分享的內(nèi)容。如果你對構建AI智能體感興趣,別忘了點贊、關注噢~

原文轉載自:https://mp.weixin.qq.com/s/y-JyvYaI3IQKE1ZM4RhiqA

上一篇:

大模型上下文協(xié)議與Spring開發(fā)集成篇——mcp-spring-webmvc原理

下一篇:

MCP 架構設計演進:從 Local MCP Server 到 Remote MCP Server 開源架構設計實現(xiàn)
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數(shù)據(jù)驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費