本文分享自華為雲社群《AI Agent框架(LLM Agent):LLM驅動的智慧體如何引領行業變革,應用探索與未來展望》,作者: 汀丶。
1. AI Agent(LLM Agent)介紹
1.1. 術語
- Agent:“代理” 通常是指有意行動的表現。在哲學領域,Agent 可以是人、動物,甚至是具有自主性的概念或實體。
- AI Agent:AI Agent(人工智慧代理)是一種能夠感知環境、進行決策和執行動作的智慧實體。
- RPA:RPA(Robotic Process Automation) 即機器人流程自動化,是一種軟體自動化技術。RPA 透過模仿人類在電腦上的手動操作,如開啟網站、點選滑鼠、鍵盤輸入等,實現業務流程的自動化。RPA 系統可以自動處理大量重複的、基於規則的工作流程任務,例如在銀行中,紙質檔案輸入、檔案票據驗證、從電子郵件和檔案中提取資料、跨系統資料遷移、自動化 IT 應用操作等。RPA 的主要優勢包括減少勞動成本、提高生產力、出錯率低、可監控的操作和開發週期短。它可以在金融、辦公自動化、IT 流程自動化等多個領域發揮重要作用。
- Copilot:即飛機的 “副駕駛”,這裡 Copilot 指依託於底層大語言模型(LLM),使用者只需說幾句話,做出指示,它就可以建立類似人類撰寫的文字和其他內容。
- LangChain:LangChain 是一個強大的框架,旨在幫助開發人員使用語言模型構建端到端的應用程式,它提供了一套工具、元件和介面,可簡化建立由大型語言模型 (LLM) 和聊天模型提供支援的應用程式的過程。LangChain 是一個語言模型整合框架,其使用案例與語言模型的使用案例大致重疊,包括文件分析和摘要、聊天機器人和程式碼分析。
- LLM:大型語言模型(LLM)是一種人工智慧(AI)演算法,它使用深度學習技術和大量大型資料集來理解、總結、生成和預測新內容。
- 感知記憶(Sensory Memory):感知記憶是資訊處理的第一個階段,它涉及對透過感官接收的資訊進行短暫的儲存。感知記憶通常只持續幾百毫秒到幾秒。就像你看到一張美麗的風景照片,感知記憶是大腦對剛剛透過感官接收到的資訊的短暫儲存。比如,你閉上眼睛後,還能在腦海中短暫地 “看到” 那張照片的顏色和形狀,這就是感知記憶在起作用。
- 短期記憶(Short-term memory):短期記憶就像是你的心智工作臺,它能夠暫時儲存和處理少量資訊。比如,當你試圖記住一個電話號碼時,你可能會重複唸叨這個號碼,直到你撥打它,這就是短期記憶在工作。所有的上下文學習(In-context Learning)都是利用模型的短期記憶來學習。
- 長期記憶(Long-term memory):長期記憶就像是一個大倉庫,能夠儲存我們的經驗、知識和技能,而且這個儲存時間可以非常長,甚至是一生。比如,你學會騎腳踏車的技能,即使多年不騎,你仍然記得怎麼騎,這就是長期記憶。Agent 一般透過外部向量儲存和快速檢索實現。
- Memory Stream:“記憶” 儲存了 Agent 過去的觀察、思考和行動序列。正如人腦依靠記憶系統來回溯利用先前的經驗制定策略和做出決策一樣,Agent 也需要特定的記憶機制來確保其熟練處理一系列連續任務。+ MRKL(Modular Reasoning, Knowledge and Language):MRKL 可以理解為是一種構建 AI 的方式,用於自主代理的神經符號結構,它將推理、知識理解和語言能力作為不同的模組來處理。就像搭積木,每個積木代表 AI 的一個能力,組合在一起就能讓 AI 進行復雜的思考和交流。
- TALM(Tool Augmented Language Models):TOOL 增強的語言模型,是指透過工具或技術來增強的語言處理模型,通常透過微調來實現。例如,一個 AI 聊天機器人,透過接入搜尋引擎或其他資料庫,能夠更準確地回答問題或提供資訊。
- 子目標與分解(Subgoal and decomposition):在解決問題時,Agent 經常會把一個大目標分解成幾個小目標(子目標),從而實現對複雜任務的高效處理。比如,準備一頓晚餐,你可能需要先去購物(子目標 1),然後準備食材(子目標 2),最後烹飪(子目標 3)。
- 反思與完善(Reflection and refinement):Agent 可以對歷史的動作進行自我批評和自我反思,從錯誤中吸取教訓,併為未來的步驟進行改進,從而提高最終結果的質量。就像寫完一篇文章後,你回顧並修改語法錯誤或不清晰的表達,使文章更加完善。
- 思維鏈(Chain-of-thought, CoT):已成為一種標準的提示技術,用於提高模型在複雜任務中的表現。模型被要求 “一步一步地思考”,將艱鉅的任務分解為更小更簡單的步驟。思維鏈將大任務轉化為多個可管理的任務,並幫助人們理解模型的思維過程。思維鏈是解決問題時的邏輯推理過程。比如,你想找出為什麼天空是藍色的,你可能會想:“光是由不同顏色組成的... 藍色光波短,容易被大氣散射... 所以天空看起來是藍色的。+ 思維樹(Tree of Thoughts, ToT):透過在任務的每一步探索多種推理可能性來擴充套件思維鏈。它首先將問題分解為多個思考步驟,並在每個步驟中生成多個想法,從而建立一個樹狀結構。搜尋過程可以是 BFS(廣度優先搜尋)或 DFS(深度優先搜尋)。思維村是一種圖形化的思維鏈,它像一棵大樹,每個分支代表一個思考的方向或想法,可以幫助我們組織和視覺化複雜的思考過程。
- 自我反思(Self Reflection): 自我反思是指對自己的行為、想法或情感進行深入的思考和分析。就像在一天結束時,回想自己的所作所為,評估自己做得好的地方和需要改進的地方。
- ReAct:將任務中單獨的行為和語言空間組合在一起,從而使大模型的推理和行動融為一體。該模式幫助大模型與環境互動(例如使用維基百科搜尋 API),並以自然語言留下推理的痕跡。主要包括:Thought:Action\Observation。
- Reflexion:一個讓 AI Agent 具備動態記憶和自我反思能力以提高推理能力的框架。沿用了 ReAct 中的設定,並提供簡單的二進位制獎勵。每次行動後,AI Agent 都會計算一個啟發式函式,並根據自我反思的結果決定是否重置環境以開始新的試驗。這個啟發式的函式可以判斷是否當下的路徑效率低下(耗時過長卻沒有成功)或包含幻覺(在環境中遇到一連串導致相同觀察結果的相同行動),並在出現這兩種情況下終止函式。
- Self-ask:Self-ask 可能是指 AI 系統在處理問題時,自主提出問題以引導其思考過程。這類似於人類在面對問題時,會自問:“我接下來應該做什麼?” 來推動解決問題的程序。+ 後見鏈(Chain of Hindsight):透過向模型明確展示一系列過去的輸出結果,鼓勵模型改進自身的輸出結果,使得下一次預測的行動比之前的試驗取得更好的成績。演算法蒸餾(Algorithm Distillation)將同樣的理念應用於強化學習任務中的跨集軌跡。
1.2. Agent 這個詞意義、什麼是Agent
1.2.1 Agent由來
有很多人或許會疑惑,Agent 這個東西看起來跟 LLM 也沒差得那麼遠,那為啥最近突然 Agent 那麼火,而不稱之為 LLM-Application 或者其他的詞呢?這就得從 Agent 的來歷上說起了,因為 Agent 是個很古老的術語,甚至可以追溯至亞里士多德和休謨等人的言論。從哲學意義上講,“代理人”是指具有行動能力的實體,而 “代理” 一詞則表示這種能力的行使或體現。而從狹義上講,“代理”通常是指有意行動的表現; 相應地,“代理人” 一詞表示擁有慾望、信念、意圖和行動能力的實體。需要注意的是,代理人不僅包括人類個體,還包括物理世界和虛擬世界中的其他實體。重要的是,“代理” 的概念涉及個人的自主性,賦予他們行使意志、做出選擇和採取行動的能力,而不是被動地對外部刺激做出反應。
在 20 世紀 80 年代中後期之前,主流人工智慧界的研究人員對 Agent 相關概念的關注相對較少,這可能會讓人感到驚訝。然而,從那時起,電腦科學和人工智慧界對這一話題的興趣就大大增加了。正如 Wooldridge 等人所言,我們可以這樣定義人工智慧:“它是電腦科學的一個子領域,旨在設計和構建基於計算機的、表現出智慧行為各個方面的 Agent。” 因此,我們可以把 Agent 作為人工智慧的核心概念。當 Agent 這一概念被引入人工智慧領域時,其含義發生了一些變化。在哲學領域,Agent 可以是人、動物,甚至是具有自主性的概念或實體。然而,在人工智慧領域,Agent 是一個計算實體。由於意識和慾望等概念對於計算實體來說似乎具有形而上學的性質,而且我們只能觀察機器的行為,包括艾倫 - 圖靈在內的許多人工智慧研究者建議暫時擱置 Agent 是否 “真正” 在思考或是否真的擁有 “思想” 的問題。相反,研究人員採用其他屬性來幫助描述 Agent,如自主性、反應性、主動性和社交能力等屬性。也有研究者認為,智慧是“看人的眼睛”;它不是與生俱來的、孤立的屬性。從本質上講,AI Agent 並不等同於 Philosophy Agent;相反,它是 Agent 這一哲學概念在人工智慧領域的具體化。
現在 AI Agent 也沒有完全統一的名稱,比如 “AI 代理”、“智慧代理”、“智慧體” 等等叫法,我們可以透過下面的文章還了解一下什麼是 AI Agent,以及下了的技術原理及應用場景等。
1.2.2 什麼是 AI Agent
AI Agent(人工智慧代理)是一種能夠感知環境、進行決策和執行動作的智慧實體。 不同於傳統的人工智慧, AI Agent 具備透過獨立思考、呼叫工具去逐步完成給定目標的能力。比如,告訴 AI Agent 幫忙下單一份外賣,它就可以直接呼叫 APP 選擇外賣,再呼叫支付程式下單支付,無需人類去指定每一步的操作。 Agent 的概念由 Minsky 在其 1986 年出版的《思維的社會》一書中提出,Minsky 認為社會中的某些個體經過協商之後可求得問題的解,這些個體就是 Agent。他還認為 Agent 應具有社會互動性和智慧性。 Agent 的概念由此被引入人工智慧和計算機領域,並迅速成為研究熱點。但苦於資料和算力限制, 想要實現真正智慧的 AI Agents 缺乏必要的現實條件。
大語言模型和 AI Agent 的區別在於 AI Agent 可以獨立思考並做出行動,和 RPA 的區別在於它能夠處理未知環境資訊。 ChatGPT 誕生後, AI 從真正意義上具備了和人類進行多輪對話的能力,並且能針對相應問題給出具體回答與建議。 隨後各個領域的 “Copilot” 推出,如 Microsoft 365 Copilot、 Microsoft Security Copilot、GitHub Copilot、 Adobe Firefly 等,讓 AI 成為了辦公、程式碼、設計等場景的“智慧副駕駛”。 AI Agent 和大模型的區別在於:
- 大模型與人類之間的互動是基於 prompt 實現的,使用者 prompt 是否清晰明確會影響大模型回答的效果,例如 ChatGPT 和這些 Copilot 都需要明確任務才能得到有用的回答。
- AI Agent 的工作僅需給定一個目標,它就能夠針對目標獨立思考並做出行動,它會根據給定任務詳細拆解出每一步的計劃步驟,依靠來自外界的反饋和自主思考,自己給自己建立 prompt,來實現目標。如果說 Copilot 是 “副駕駛”,那麼 Agent 則可以算得上一個初級的 “主駕駛”。
和傳統的 RPA 相比, RPA 只能在給定的情況條件下,根據程式內預設好的流程來進行工作的處理,在出現大量未知資訊、難以預測的環境中時, RPA 是無法進行工作的, AI Agent 則可以透過和環境進行互動,感知資訊並做出對應的思考和行動。
我們看見的 AI Agent 往往以問答機器人作為互動入口,透過自然語言觸發全自動的工作流,中間沒有人工介入。由於人只負責傳送指令,並不參與對 AI 結果的反饋。
1.2.3 為什麼需要 AI Agent
LLM 的一些缺點:- 會產生幻覺
- 結果並不總是真實的
- 對時事的瞭解有限或一無所知
- 很難應對複雜的計算
- 沒有行動能力
- 沒有長期記憶能力
比如讓 ChatGPT 買一杯咖啡,ChatGPT 給出的反饋一般類似 “無法購買咖啡,它只是一個文字 AI 助手” 之類的回答。但你要告知基於 ChatGPT 的 AI Agent 工具讓它買一杯咖啡,它會首先拆解如何才能為你購買一杯咖啡並擬定代用某 APP 下單以及支付等若干步驟,然後按照這些步驟呼叫 APP 選擇外賣,再呼叫支付程式下單支付,過程無需人類去指定每一步操作。這就是 AI Agent 的用武之地,它可以利用外部工具來克服這些限制。這裡的工具是什麼呢?工具就是代理用它來完成特定任務的一個外掛、一個整合 API、一個程式碼庫等等,例如:
- Google 搜尋:獲取最新資訊
- Python REPL:執行程式碼
- Wolfram:進行復雜的計算
- 外部 API:獲取特定資訊
而 LangChain 則是提供一種通用的框架透過大語言模型的指令來輕鬆地實現這些工具的呼叫。我們都知道在執行一個複雜的任務時,我們需要考慮多方面的影響因素,將複雜任務拆分為細小的子任務去執行。AI Agent 的誕生就是為了處理各種複雜任務的,就複雜任務的處理流程而言 AI Agent 主要分為兩大類:行動類、規劃執行類。總而言之,AI Agent 就是結合大模型能去自動思考、規劃、效驗和執行的一個計算體,以完成特定的任務目標,如果把大模型比作大腦,那 AI Agent 可以理解為小腦 + 手腳。
1.2.4 AI Agent 對比人類與其它 AI 協同的區別
AI Agent 較日前廣泛使用的 Copilot 模式更加獨立。對比 AI 與人類的互動模式,目前己從過去的嵌入式工具型 AI (例如 siri)向助理型 AI 發展。目前的各類 AI Copilot 不再是機械地完成人類指令,而是可以參與人類工作流,為諸如編寫程式碼、策劃活動、最佳化流程等事項提供建議,與人類協同完成。而AI Agent 的工作僅需給定一個目標,它就能夠針對目標獨立思考並做出行動,它會根據給定任務詳細拆解出每一步的計劃步驟,依靠來自外界的反饋和自主思考,自己給自己建立 prompt,來實現目標。如果說 Copilot 是 “副駕駛”,那麼 Agent 則可以算得上一個初級的 “主駕駛”。
1.3 AI Agent 案例
1.3.1. AI 虛擬小鎮
- 論文連結:https://arxiv.org/pdf/2304.03442v1.pdf
- Demo 地址:https://reverie.herokuapp.com/arXiv_Demo/
臨近情人節,生活在名為 “Smallville” 小鎮上的咖啡店長伊莎貝拉試圖舉辦一場情人節派對,她邀請了自己的閨蜜瑪利亞一起佈置派對,而瑪利亞得知有這麼一場派對後,偷偷邀請了暗戀物件克勞斯一同前往…… 在小鎮的同一時間線上,年近六旬的湯姆對小鎮即將舉辦的市長選舉有著強烈的興趣,作為一名對政治格外關心的已婚中年男人,他拒絕了伊莎貝拉的情人節派對邀請。以上情節並未發生在現實世界,但也不是人類編造的虛構劇情,它來自一個由 25 名 AI 角色組成的虛擬小鎮。而這個小鎮上發生的任何事件,都是 AI 之間透過互動隨機生成的結果,目前這個小鎮已經井井有條地運轉了兩天。
1.3.2. AutoGPT 做市場調查
假裝自己經營一家鞋公司,給 AutoGPT 下達的命令是對防水鞋進行市場調查,然後讓其給出 top5 公司,並報告競爭對手的優缺點 :
- 首先,AutoGPT 直接去谷歌搜尋,然後找防水鞋綜合評估 top 5 的公司。一旦找到相關連結,AutoGPT 就會為自己提出一些問題,例如「每雙鞋的優缺點是什麼、每款排名前 5 的防水鞋的優缺點是什麼、男士排名前 5 的防水鞋」等。
- 之後,AutoGPT 繼續分析其他各類網站,並結合谷歌搜尋,更新查詢,直到對結果滿意為止。期間,AutoGPT 能夠判斷哪些評論可能偏向於偽造,因此它必須驗證評論者。
執行過程中,AutoGPT 甚至衍生出自己的子智慧體來執行分析網站的任務,找出解決問題的方法,所有工作完全靠自己。結果是,AutoGPT 給出了 top 5 防水鞋公司的一份非常詳細的報告,報告包含各個公司的優缺點,此外還給出了一個簡明扼要的結論。全程只用了 8 分鐘,費用為 10 美分。期間也完全沒有最佳化。
AutoGPT 官方公開 Demo 演示:https://www.bilibili.com/video/BV1HP411B7cG/?vd_source=6a57ee58a99488dc38bda2374baa1c10
2. AI Agent 的框架
上面介紹了 AI Agent 是什麼以及一些案例演示,下面的內容將對 AI Agent 背後的技術進行分析。一個基於大模型的 AI Agent 系統可以拆分為大模型、規劃、記憶與工具使用四個元件部分。6 月,OpenAI 的應用研究主管 Lilian Weng 撰寫了一篇部落格,認為 AI Agent 可能會成為新時代的開端。她提出了 Agent=LLM + 規劃技能 + 記憶 + 工具使用的基礎架構,其中 LLM 扮演了 Agent 的 “大腦”,在這個系統中提供推理、規劃等能力。
2.1. 大模型 + 規劃: Agent 的 “大腦”, 透過思維鏈能力實現任務分解
LLM 具備邏輯推理能力,Agent 可以將 LLM 的邏輯推理能力激發出來。當模型規模足夠大的時候,LLM 本身是具備推理能力的。在簡單推理問題上,LLM 已經達到了很好的能力;但在複雜推理問題上,LLM 有時還是會出現錯誤。事實上,很多時候使用者無法透過 LLM 獲得理想的回答,原因在於 prompt 不夠合適,無法激發 LLM 本身的推理能力,透過追加輔助推理的 prompt,可以大幅提升 LLM 的推理效果。在《Large language models are zero-shot reasoners》這篇論文的測試中,在向 LLM 提問的時候追加 “Let’s think step by step” 後,在數學推理測試集 GSM8K 上的推理準確率從 10.4% 提升到了 40.7%。而 Agent 作為智慧體代理,能夠根據給定的目標自己建立合適的 prompt,可以更好地激發大模型的推理能力。
通常情況下,一項複雜的任務往往涉及許多步驟。AI Agent 需要首先拆解這些步驟,並提前做好計劃。任務的分解的環節可以由三種方式完成:1)在大模型輸入簡單的提示,比如 “XYZ 的步驟”,或者 “實現 XYZ 的子目標是什麼?”;2)使用特定任務的指令,比如在需要寫小說的時候要求大模型 “寫一個故事大綱”;3)透過人工提供資訊。當下普遍的技術模式包括思維鏈和思維樹:
思維鏈(Chain of Thoughts)
思維鏈(Chain of Thoughts)已成為一種標準的提示技術,用於提高模型在複雜任務中的表現。模型被要求 “一步一步地思考”,將艱鉅的任務分解為更小更簡單的步驟。思維鏈將大任務轉化為多個可管理的任務,並幫助人們理解模型的思維過程。
以一個數學題為例,標準 Prompting,模型輸入:
問:羅傑有5個網球,他又買了兩盒網球,每盒有3個網球。他現在有多少網球?
答:答案是11
問:食堂有23個蘋果,如果他們用掉20個後又買了6個。他們現在有多少個蘋果?
模型輸出:
答:答案是27
可以看到模型無法做出正確的回答。但如果說,我們給模型一些關於解題的思路,就像我們數學考試,都會把解題過程寫出來再最終得出答案,不然無法得分。CoT 做的就是這件事,示例如下:CoT Prompting,模型輸入:
問:羅傑有5個網球,他又買了兩盒網球,每盒有3個網球。他現在有多少網球? 答:羅傑一開始有5個網球,2盒3個網球,一共就是2*3=6個網球,5+6=11。答案是11. 問:食堂有23個蘋果,如果他們用掉20個後又買了6個。他們現在有多少個蘋果? 模型輸出: 答:食堂原來有23個蘋果,他們用掉20個,所以還有23-20=3個。他們又買了6個,所以現在有6+3=9。答案是9
可以看到,類似的算術題,思維鏈提示會在給出答案之前,還會自動給出推理步驟。思維鏈提示,就是把一個多步驟推理問題,分解成很多箇中間步驟,分配給更多的計算量,生成更多的 token,再把這些答案拼接在一起進行求解。
思維樹(Tree of Thoughts)
思維樹(Tree of Thoughts)透過在任務的每一步探索多種推理可能性來擴充套件思維鏈。它首先將問題分解為多個思考步驟,並在每個步驟中生成多個想法,從而建立一個樹狀結構。搜尋過程可以是 BFS(廣度優先搜尋)或 DFS(深度優先搜尋)。ToT 做 4 件事:思想分解、思想生成器、狀態評估器和搜尋演算法。
ToT Prompt 的例子如下:
假設三位不同的專家來回答這個問題。所有專家都寫下他們思考這個問題的第一個步驟,然後與大家分享。然後,所有專家都寫下他們思考的下一個步驟並分享。以此類推,直到所有專家寫完他們思考的所有步驟。只要大家發現有專家的步驟出錯了,就讓這位專家離開。請問...
另一方面,試錯和糾錯在現實世界的任務決策中是不可避免且至關重要的步驟。自我反思幫助 AI Agent 完善過去的行動決策、糾正以前的錯誤、從而不斷改進。當下的技術包括 ReAct、Reflexion、後見鏈(Chain of Hindsight)等
ReAct(!)
ReAct:將任務中單獨的行為和語言空間組合在一起,從而使大模型的推理和行動融為一體。該模式幫助大模型與環境互動(例如使用維基百科搜尋 API),並以自然語言留下推理的痕跡。
React 論文《ReAct: Synergizing Reasoning and Acting in Language Models》:https://react-lm.github.io/
問題:除了Apple遙控器,還有什麼其他裝置可以控制相關軟體?相關軟體指的是Apple遙控器最早可以控制的軟體。 說明: 1.Apple遙控器最早只能控制Front Row軟體。 2.Front Row軟體可以被兩種裝置控制,Apple遙控器和鍵盤的功能鍵。 3.所以,正確答案是鍵盤的功能鍵。 傳統方式1,直接問LLM。得到結果: iPod。 答案錯誤,顯然是在胡言亂語。因為LLM的內容生成,是根據之前所有的字預測後續內容,所以,我推測,出現這個結果很可能因為,LLM其實並不知道相關答案,只是Apple遙控器和iPod的語義很接近,所以才得出iPod這個結論。 傳統方法2,思維鏈。得到結果: 想法:讓我們一步一步思考這個問題。Apple遙控器可以控制Apple電視。Apple電視可以被iPhone、iPad和iPod Touch控制。 答案:iPhone、iPad和iPod Touch控制。 答案錯誤,思維鏈正規化,其實也是在胡編,因為它不知道答案。 傳統方法3,動作正規化。得到結果: 動作1:搜尋【Apple 遙控器】 結果1:Apple遙控器是一種遙控器……最早可以控制“Front Row”…… 動作2:搜尋【Front Row】 結果2:無結果 動作3:搜尋【Front Row軟體】 結果3:FrontRow是一種過時軟體…… 動作4:完成【是的】 答案錯誤,動作正規化,即隱式推理,也沒有得到正確答案。不難理解,隱式推理對LLM的推理能力要求很高,因為他會隱去思考過程。我覺得當LLM推理能力達到一定程度時,應該也能得出正確答案。 ReAct方法,即推理+動作。得到結果: 想法1:我需要搜尋Apple遙控器,並找到Apple遙控器最早可以控制的軟體。 動作1:搜尋【Apple 遙控器】 結果1:Apple遙控器是一種遙控器……最早可以控制“Front Row”…… 想法2:Apple遙控器最早可以控制Front Row。我需要搜尋Front Row下一步,找出還有什麼其他裝置可以控制他 動作2:搜尋【Front Row】 結果2:無結果,可以試試“Front Row Seat to Earth”和“Front Row軟體” 想法3:Front Row沒有找到,我可以搜尋“Front Row軟體” 動作3:搜尋【Front Row軟體】 結果3:FrontRow是一種過時軟體……可以被Apple遙控器和鍵盤功能鍵控制。 想法4:現在我知道答案了。 動作4:完成【鍵盤功能鍵】 答案正確。透過顯式推理,加上動作,LLM Agent自主找到了答案。整個過程感覺就像是個不是特別聰明的孩子,要把想法寫出來,然後去綜合所有想法和觀察,接著再做出相應的動作。但顯然這個方法很有效,它最終找到了答案。
Reflexion
Reflexion:一個讓 AI Agent 具備動態記憶和自我反思能力以提高推理能力的框架。沿用了 ReAct 中的設定,並提供簡單的二進位制獎勵。每次行動後,AI Agent 都會計算一個啟發式函式,並根據自我反思的結果決定是否重置環境以開始新的試驗。這個啟發式的函式可以判斷是否當下的路徑效率低下(耗時過長卻沒有成功)或包含幻覺(在環境中遇到一連串導致相同觀察結果的相同行動),並在出現這兩種情況下終止函式。
2.2. 記憶:用有限的上下文長度實現更多的記憶
記憶模組負責儲存資訊,包括過去的互動、學習到的知識,甚至是臨時的任務資訊。對於一個智慧體來說,有效的記憶機制能夠保障它在面對新的或複雜的情況時,呼叫以往的經驗和知識。例如,一個具備記憶功能的聊天機器人可以記住使用者的偏好或先前的對話內容,從而提供更個性化和連貫的交流體驗。
對 AI 智慧體系統的輸入會成為系統的記憶,與人類的記憶模式可實現一一對映。記憶可以定義為用於獲取、儲存、保留以及隨後檢索資訊的過程。人腦中有多種記憶型別,如感覺記憶、短期記憶和長期記憶。而對於 AI Agent 系統而言,使用者在與其互動過程中產生的內容都可以認為是 Agent 的記憶,和人類記憶的模式能夠產生對應關係。感覺記憶就是作為學習嵌入表示的原始輸入,包括文字、影像或其他模態;短期記憶就是上下文,受到有限的上下文視窗長度的限制;長期記憶則可以認為是 Agent 在工作時需要查詢的外部向量資料庫,可透過快速檢索進行訪問。目前 Agent 主要是利用外部的長期記憶,來完成很多的複雜任務,比如閱讀 PDF、聯網搜尋實時新聞等。任務與結果會儲存在記憶模組中,當資訊被呼叫時,儲存在記憶中的資訊會回到與使用者的對話中,由此創造出更加緊密的上下文環境。
為了解決有限記憶時間的限制,通常會用到外部儲存器。常見的做法是將資訊的嵌入表示儲存到可支援快速的最大內積搜尋(MIPS)的向量儲存資料庫中。向量資料庫透過將資料轉化為向量儲存,解決大模型海量知識的儲存、檢索、匹配問題。向量是 AI 理解世界的通用資料形式,大模型需要大量的資料進行訓練,以獲取豐富的語義和上下文資訊,導致了資料量的指數級增長。向量資料庫利用人工智慧中的 Embedding 方法,將影像、音影片等非結構化資料抽象、轉換為多維向量,由此可以結構化地在向量資料庫中進行管理,從而實現快速、高效的資料儲存和檢索過程,賦予了 Agent“長期記憶”。同時,將高維空間中的多模態資料對映到低維空間的向量,也能大幅降低儲存和計算的成本,向量資料庫的儲存成本比存到神經網路的成本要低 2 到 4 個數量級。
Embedding 技術和向量相似度計算是向量資料庫的核心。Embedding 技術是一種將影像、音影片等非結構化資料轉化為計算機能夠識別的語言的方法,例如常見的地圖就是對於現實地理的 Embedding,現實的地理地形的資訊其實遠遠超過三維,但是地圖透過顏色和等高線等來最大化表現現實的地理資訊。在透過 Embedding 技術將非結構化資料例如文字資料轉化為向量後,就可以透過數學方法來計算兩個向量之間的相似度,即可實現對文字的比較。向量資料庫強大的檢索功能就是基於向量相似度計算而達成的,透過相似性檢索特性,針對相似的問題找出近似匹配的結果,是一種模糊匹配的檢索,沒有標準的準確答案,進而更高效地支撐更廣泛的應用場景。
2.3. 工具:懂得使用工具才會更像人類
AI Agent 與大模型的一大區別在於能夠使用外部工具擴充模型能力。懂得使用工具是人類最顯著和最獨特的地方,同樣地,也可以為大模型配備外部工具來讓模型完成原本無法完成的工作。ChatGPT 的一大缺點在於,其訓練資料只截止到了 2021 年底,對於更新一些的知識內容它無法直接做出回答。雖然後續 OpenAI 為 ChatGPT 更新了外掛功能,能夠呼叫瀏覽器外掛來訪問最新的資訊,但是需要使用者來針對問題指定是否需要使用外掛,無法做到完全自然的回答。AI Agent 則具備了自主呼叫工具的能力,在獲取到每一步子任務的工作後,Agent 都會判斷是否需要透過呼叫外部工具來完成該子任務,並在完成後獲取該外部工具返回的資訊提供給 LLM,進行下一步子任務的工作。OpenAI 也在 6 月為 GPT-4 和 GPT-3.5 更新了函式呼叫的功能,開發者現在可以向這兩個大模型描述函式,並讓模型智慧地選擇輸出包含呼叫這些函式的引數的 JSON 物件。這是一種更可靠地將 GPT 的功能與外部工具和 API 相連的新方法,允許開發者更可靠地從模型中獲得結構化的資料,為 AI 開發者提供了方便。實現呼叫工具的方法就是編寫大量的工具呼叫資料集來進行模型的微調。
總結一下 AI Agent 的原理主要包括感知、分析、決策和執行四大能力。這些能力相互協同,構成了 AI Agent 的基本工作原理。首先是感知能力,透過感測器獲取外部環境的資訊,使 AI Agent 能夠對周圍的情況有所瞭解。其次是分析能力,透過對感知到的資訊進行分析和處理,提取有用的特徵和模式。然後是決策能力,AI Agent 基於分析結果進行決策,制定相應的行動計劃。最後是執行能力,將決策轉化為具體的行動,實現任務的完成。這四大能力相互配合,使得 AI Agent 能夠在複雜的環境中高效地執行和執行任務。
3. AI Agent 的應用進展
3.1. AutoGPT:推動 AI Agent 研究熱潮
AutoGPT 將 AI Agent 概念帶 “出圈” 。 2023 年 3 月, 開發人員 Significant Ggravitas 在 GitHub 上釋出了開源專案 AutoGPT,它以 GPT-4 為驅動基礎, 允許 AI 自主行動,完全無需使用者提示每個操作。給 AutoGPT 提出目標,它就能夠自主去分解任務、執行操作、完成任務。 AutoGPT 仍存在成本高、響應慢、出現死迴圈 bug 等缺點。 Auto-GPT 採用的是 GPT-3.5 和 GPT-4 的 API, 而 GPT-4 的單個 token 價格為 GPT-3.5 的 15 倍。 假設每次任務需要 20 個 step(理想狀況下),每個 step 會花費 4K tokens 的 GPT-4 使用量, prompt 和回覆的平均每一千 tokens 花費是 0.05 美元(因為實際使用中回覆使用的 token 遠遠多於 prompt),假設匯率為 1 美元 = 7 人民幣,那麼花費就是 2040.05*7=28 元人民幣。而這僅是理想狀況下,正常使用中經常出現需要拆分出幾十上百個 step 的任務,這時單個任務的處理成本就會難以接受。而且 GPT-4 的響應速度遠遠慢於 GPT-3.5,導致 step 一多的時候任務處理會變得很慢。並且 AutoGPT 在遇到 GPT-4 無法解決的 step 問題時,就會陷入死迴圈中,不斷重複沒有意義的 prompt 和輸出,造成大量的資源浪費和損失。
3.2. 遊戲領域應用:西部世界小鎮
史丹佛西部世界小鎮首次創造了多個智慧體生活的虛擬環境。 2023 年 4 月, 史丹佛大學的研究者們發表了名為《 Generative Agents: Interactive Simulacra of Human Behavior》 的論文,展示了一個由生成代理( Generative Agents)組成的虛擬西部小鎮。 這是一個互動式的沙盒環境,在小鎮上,生活著 25 個可以模擬人類行為的生成式 AI Agent。它們會在公園裡散步,在咖啡館喝咖啡,和同事分享當天的新聞。 甚至一個智慧體想舉辦情人節排隊,這些智慧體在接下來的兩天裡,會自動傳播派對邀請的訊息,結識新朋友,互相約對方一起去派對,還會彼此協調時間,在正確的時間一起出現在派對上。 這種 Agent 具有類似人的特質、獨立決策和長期記憶等功能,它們更接近於 “原生 AI Agent”。在這種合作模式下, Agent 不僅僅是為人類服務的工具,它們也能夠在數字世界中與其他 Agent 建立社交關係。
西部世界小鎮中 Agents 的架構 記憶流包含大量的觀察、檢索過程記憶流是西部世界小鎮中 AI Agents 的架構核心。 小鎮中的 Agents 包含三大重要的基本要素:記憶、反思和規劃,相比前面提到的幾個核心元件略有調整。這三大基本要素都基於一個核心:記憶流( Memory Stream),記憶流儲存了 Agent 的所有經歷記錄,是一個包含了多個觀察的列表,每個觀察都包含了事件描述、建立時間以及最近一次訪問的時間戳, 觀察可以是 Agent 自己的行為或從其他人那裡感知到的行為。為了檢索最重要的記憶以傳遞給語言模型,研究者確定了檢索過程中需要考慮的三個因素:最近性、重要性和相關性。透過確定每條記憶基於這三個因素的分數,最後加總起來得到權重最高的記憶,作為 prompt 的一部分傳遞給大模型,以此來決定 Agent 的下一步動作。反思和規劃都是基於記憶流中的觀察來進行更新與建立的。
3.3. HyperWrite:推出首個個人 AI 助理 Agent
HyperWrite 推出首個個人 AI 助理 Agent。 2023 年 8 月 3 日, 人工智慧初創公司 HyperWrite 正式推出了 AI Agent 的應用 Personal Assistant,希望可以成為人類的 “數字助手”。 作為 HyperWrite 的投資者,生成式 AI 初創企業 Cohere 聯合創始人 Aidan Gomez 表示:“我們將開始第一次看到真正的個人 AI 助理” 。作為個人助理 Agent,它可以幫助使用者整理郵箱並起草回覆、幫助使用者訂機票、訂外賣、整理領英上適合的簡歷等,將 AI 能力無縫接入到使用者的日常生活和工作流中。目前該工具還處於試用階段,主要適用於網頁瀏覽器場景。
Personal Assistant 可以自主在瀏覽器中完成指定任務。 Personal Assistant 現在是以瀏覽器擴充外掛的形式來提供服務的,使用者在安裝完外掛並註冊賬戶後即可開始試用。其初始頁面類似於 New Bing 這樣的搜尋引擎,僅提供一個自然語言互動的聊天框。使用者輸入其想要完成的目標後,該外掛就會新建一個瀏覽器頁面,並在頁面以側邊欄形式展示其進行的每一步操作與思路。以 “給我一些美國現在關於 AI Agent 的新觀點” 這一目標為例,該個人助理會先去進行相關的搜尋,然後開啟相關的文章頁面進行閱讀並總結觀點,在完成閱讀和總結後,它會將結果彙總並返回到聊天框中,整體用時約為 2 分鐘。目前個人 AI 助理能力仍舊有限,但潛力可期。
目前 HyperWrite Personal Assistant 僅為 0.01 版本,其功能仍相對有限,也存在一些出錯的問題,並且響應過程也較為緩慢。但我們認為, AI Agent 自此邁出了走向個人消費者領域的第一步,隨著未來大模型能力的進一步提升,以及算力基礎設施的不斷普惠,個人 AI 助理的發展潛力值得期待。
3.4. Inflection AI: 高情商個人 AI --- Pi
Inflection AI 推出主打情感陪伴的個人 AI——Pi。 Inflection AI 是一家成立於 2022 年的人工智慧初創公司,目前公司的估值已經突破 40 億美元,在人工智慧領域僅次於 OpenAI。在 2023 年 5 月,公司推出了旗下的個人 AI 產品 Pi。 與 ChatGPT 不同, Pi 從未以專業性與替代人工作為宣傳。它不能寫程式碼,也不能幫我們生產原創內容,與時下流行的通用聊天機器人相反, Pi 只能進行友好的對話,提供簡潔的建議,甚至只是傾聽。它的主要特徵是富有同情心、 謙虛好奇、幽默創新,具有良好的情商,可以根據使用者的獨特興趣和需求提供無限的知識與陪伴。 Inflection 自開發 Pi 開始,就確定了 Pi 將作為個人智慧( Personal Intelligence) ,而不僅僅是輔助人工作的工具。
Pi 的核心是公司研發的 Inflection-1 大模型,效能媲美 GPT-3.5。 Inflection-1 是 Inflection AI 推出的大模型,根據公司的評估測試, Inflection-1 在多工語言理解、常識問題等多項測試中的效能都略勝於 GPT-3.5、 LLaMA 等常用的大模型,但在程式碼能力上要落後於 GPT-3.5。不過這是公司的差異化競爭所在, Pi 作為一個以情感陪伴為主的 Agent 並不需要擁有很強的程式碼和輔助工作能力。
和輔助工作的 Agent 不同, Pi 能夠滿足更多的情感陪伴需求。作為一個具有高情商的 AI Agent,Pi 能夠以更加日常和生活化的語言和使用者進行交流,而不是以一個冰冷的工作 AI 的口吻。 Pi 的回覆非常貼近生活, 語氣十分得體,而它對你當下狀態和事態發展的關心就像心理醫生或者你最好的朋友。當 Pi 在回覆可能帶有負面情緒的問題時,它也會避免使用任何俏皮的表情或者輕快的口吻去冒犯使用者。 它甚至會在回覆中使用 emoji,讓使用者覺得更像是和真正的人類在進行對話一樣。Pi 還能夠記住與使用者的對話內容,並隨著時間的推移而更加了解使用者。 Pi 的出現,彌補了傳統型人工智慧對人類情緒慾望的忽視。我們認為,類似於 Pi 這樣能夠提供情緒價值的個人 AI Agent 存在著較大的市場空間。
3.5. AgentBench: LLM 的 Agent 能力評估標準
AgentBench 評價 LLM 作為 Agent 的能力 常用的 LLM 的 Agent 能力排名 清華大學聯合團隊提出世界首個大模型 AI Agent 能力的評估標準。 儘管當前 AI 智慧體研究異常火熱,但 AI 行業缺乏一個系統化和標準化的基準來評估 LLM 作為 Agent 的智慧水平。 2023 年 8 月, 清華大學、俄亥俄州立大學、加州大學伯克利分校的研究團隊便提出了首個系統性的基準測試——AgentBench,用來評估 LLM 作為 Agent 在各種真實世界挑戰和 8 個不同環境中的能力表現(如推理和決策能力)。 這 8 個環境分別是:作業系統、資料庫、知識圖譜、卡牌對戰遊戲、家務事、橫向思維謎題、 網路購物、網頁瀏覽。基於這 8 個環境,研究團隊設計了不同的真實世界挑戰,涵蓋了程式碼場景和生活場景,比如用 SQL 語言從一些表格裡提取需要的數、 玩卡牌遊戲取得勝利、從網頁預訂機票等。
GPT-4 效能遙遙領先,開源模型能力顯著弱於閉源模型。 研究者選擇了 25 種主流的大模型 API 來進行 Agent 能力評估,涵蓋了閉源模型(如 OpenAI 的 GPT-4、 GPT-3.5 等)和開源模型( LLaMA 2 和 Baichuan 等)。 根據測試結果來看, GPT-4 基本上在所有環境中都佔據領先地位,是名副其實的當前大模型能力邊界。 閉源模型 Anthropic 的 Claude 以及 OpenAI 的 GPT-3.5 水平相差不大,而常見的一些開源模型 Vicuna、 Dolly 等由於尺寸和閉源模型相差了至少一個數量級,效能評估顯著較弱。 我們認為,雖然 LLM 能夠在自然語言交流等 NLP 上達到基本的類人水平,但在關注行動有效性、上下文長度記憶、多輪對話一致性和程式碼生成執行等 Agent 重要能力上的表現仍舊相對落後,基於 LLM 的 AI Agent 的發展空間仍具潛力。
3.6 AI Agent 在安全業務裡應用場景
目前在網路安全垂直領域中,還是以 Microsoft Security Copilot 為主要產品形態的形勢出現,還是以 “副駕” 來作為定位,還沒有出現安全業務中的 AI Agent,但相信不久一定會有病毒分析的 AI Agent、紅軍 AI Agent、藍軍 AI Agent 等等。
4. AI Agent 未來發展趨勢判斷
結合目前學術界和產業界基於 LLM 開發的 AI Agent 應用情況,我們將目前 AI Agent 劃分為兩大類:
- 自主智慧體,力圖實現複雜流程自動化。當給定自主智慧體一個目標時,它們能自行建立任務、完任務、建立新任務、重新確定任務列表的優先順序、完成新的首要任務,並不斷重複這個過程,直到完成目標。準確度要求高,因而更需要外部工具輔助減少大模型不確定性的負面影響。
- 智慧體模擬,力圖更加擬人可信。 分為強調情感情商的智慧體以及強調互動的智慧體,後者往往是在多智慧體環境中,可能湧現出超越設計者規劃的場景和能力,大模型生成的不確定性反而成為優勢,多樣性使其有望成為 AIGC 重要組成部分。
《AIGC 應用層十大趨勢》報告中調研表明,所有企業都認為 AI Agent 是 AIGC 發展的確定性方向,50% 的企業已經在某項工作中進行了 AI Agent 的試點,另有 34% 的企業正在制定 AI Agent 的應用計劃。這個報告,也對 AI Agent 發展趨勢做了兩點預測:AI Agent 讓 “人機協同” 成為新常態,個人與企業步入 AI 助理時代。AI Agent 能夠幫助未來企業構建以 “人機協同” 為核心的智慧化運營新常態。AI Agent 變革未來生產力的組織形式,對抗組織熵增。未來企業工作任務將在 AIGC 的助推作用下變得日益原子化和碎片化,複雜的流程將被無限拆解,再進行靈活的編排和組合,每個環節的效能和潛力都將被 AI 持續挖掘。從供給端看,“人 + AI 數字員工”的高效協同模式將為大型企業對抗組織熵增提供理想的解法。
4.1. 自主智慧體:自動化,新一輪生產力革命
自主智慧體,力圖實現複雜流程自動化。真格基金管理合夥人戴雨森將 AI 和人類協作的程度類比為自動駕駛的不同階段, AI Agent 約為自動駕駛的 L4 階段, Agent 完成任務,人進行外部輔助和監督。自主智慧體有望帶來軟體行業互動方式和商業模式變革:
- 互動方式變革: 相比過去的 APP / 軟體,從人適應應用變成應用適應人, Agent 的決策 / 規劃 / 執行等環節需要更深的使用者需求理解以及更強的工程細節打磨。如目前 Agent 執行中常常遇見無休止的擴充套件、誤解輸出格式等問題,這類問題不單單依靠大模型能力提升,對 Agent 架構的設計和垂類資料的學習也有要求。
- 商業模式變革: 按服務內容收費轉換成按 token 收費,對 Agent 功能實用性要求更高。基座大模型能力固然重要,但其只能解決下限問題,在實際企業應用場景中自主智慧體的架構設計、工程能力、垂類資料質量等也至關重要,垂類 / 中介軟體玩家亦有機會。 準確度和效率是自主智慧體重要指標(決策式 AI 更擅長做的事,也意味著更低的容錯度),企業對於低門檻定製 AGENT 也存在需求,專注具體領域 / 提供 AGENT 框架的玩家仍有可為。
典型代表:
- AutoGPT
- 程式碼開發類 GPT Engineer
- 科研類 GPT Researcher
- 創作類 ShortGPT+ 多智慧體: AGENT 團隊完成複雜開發任務,如 MetaGPT、AutoGEN
4.2. 智慧體模擬:擬人化,新的精神消費品
陪伴類智慧體強調情感情商等人類特徵,具有 “人格”,且能夠記住與使用者的歷史交流。
LLM 在自然語言理解能力上的重要突破使陪伴類智慧體在技術上成為可能,
GPT4 在情商上顯著高於以往其他大模型,隨著大模型情商迭代、多模態技術發展,有望出現更加立體擬人可信、能夠提供較高情緒價值的陪伴智慧體。
研究機構認為國內情緒消費市場仍有較大想象空間(社會婚姻觀念轉變、現代工作生活節奏緊張下,國民孤獨感增加),陪伴類智慧體或受益於情緒消費趨勢紅利,成為 LLM 時代重要的 AI 原生應用。從使用者陪伴性需求的第一性原理出發, 我們預計陪伴類智慧體大部分商業價值集中在 IP 上, 基於此我們更加看好當前具備豐富 IP 儲備或者能讓使用者定製智慧體的玩家:
- 參考人的陪伴: 陌生人社交和秀場直播屬於線上陪伴代表性應用,前者核心問題在於使用者間建立一定情感聯絡後會轉到最常用的社交平臺,後者使用者價值會逐漸集中到頭部主播,而非平臺。
- 參考物的陪伴: 潮玩等消費品有一定的陪伴屬性,受眾大部分支出花在自己喜歡的 IP。典型代表:
- 陪伴類:高情商、具備人格特徵,如 Pi
- 平臺化娛樂化,如 Character.AI、 Glow 等
- 遊戲世界 AI 玩家,如 Voyager+ Smallville 小鎮,類西部世界的模擬社會+ 網易《逆水寒》 手遊, AI NPC 提高玩家體驗
- 崑崙萬維《Club Koala》 虛擬世界更可信
5. 總結
至此,本文的探討已圓滿落幕,我們深入剖析了AI Agent這一前沿科技領域的全貌。從基礎概念的澄清,到技術原理的細緻解構,再跨越至豐富多樣的應用場景探索,直至展望其激動人心的未來發展趨勢,每一步都凝聚著對AI Agent技術潛力的無限憧憬。誠然,文中提及的諸多專案尚處於學術研究與實踐探索的初期階段,以論文形式呈現的實驗性成果,恰似璀璨星辰,預示著大模型技術未來航向的無限可能。這些星星之火,或將點燃AI應用的燎原之勢,催生出前所未見的新領域、新機遇,為社會的每一個角落注入智慧的活力。
展望未來,AI Agent技術有望在未來五年內實現跨越式發展,其普及程度將遠超預期,深刻滲透並重塑千行百業的運作模式。我們期待,這一技術不僅能夠在效率上實現質的飛躍,為傳統行業帶來顛覆性的改變,更能作為創新驅動的核心力量,開啟一個智慧互聯、高效協同的新時代。讓我們共同見證,AI Agent技術如何攜手各行各業,繪製出一幅幅生動絢麗的智慧未來圖景。
點選關注,第一時間瞭解華為雲新鮮技術~