Agent 最全 Playbook:場景、記憶和交互創新
隨著人工智能技術的不斷進步,AI Agent 正在成為推動人機協作的新范式。本文通過對 Langchain 團隊的研究報告和行業案例的分析,揭示了 AI Agent 在規劃能力、UI/UX 交互創新和記憶機制方面的關鍵突破點,展望了 2025 年 AI Agent 應用的廣闊前景,供大家參考。
AI Agent 是我們緊密追蹤的范式變化,Langchain 的一系列文章對理解 Agent 的發展趨勢很有幫助。在本篇編譯中,第一部分是 Langchain 團隊發布的 State of AI Agent 報告。他們采訪了 1,300 多位從業者,包含開發者、產品經理、公司高管,揭示了 Agent 在今年的現狀和落地瓶頸:九成公司都對 AI Agent 有計劃和需求,但 Agent 能力的局限讓用戶只能在少數流程和場景中落地。比起成本和 latency,大家更在乎 Agent 能力的提升,和對其行為的可觀測和可控性。
第二部分我們編譯了 LangChain 官網的 In the Loop 系列文章中對 AI Agent 關鍵要素的分析:規劃能力、UI/UX 交互創新和記憶機制。文中分析了 5 種 LLM-native 產品的交互方式,類比了 3 種人類的復雜記憶機制,對理解 AI Agent,對理解這些關鍵要素有所啟發。在這一部分我們還加入了一些有代表性的 Agent 公司 case study,如 Reflection AI 創始人的訪談,來展望接下來 2025 年 AI Agent 的關鍵突破口。
在這個分析框架下,我們期待 2025 年 AI Agent 應用開始涌現,步入人機協作的新范式。對于 AI Agent 的規劃能力,以 o3 為首的模型正在展現出很強的反思和推理能力,模型公司的進展正在從 reasoner 逼近到 Agent 階段。隨著推理能力持續提升,Agent 的“最后一公里”會是產品交互和記憶機制,這更可能是創業公司突破的機會。關于交互,我們一直期待 AI 時代的“GUI時刻“;關于記憶,我們相信 Context 會成為 Agent 落地的關鍵詞,個人層面的 context 個性化、企業層面的 context 統一都會讓 Agent 的產品體驗得到大幅提升。
01.State of AI Agent
Agent 使用趨勢:每個公司都在計劃部署 Agent
Agent 領域的競爭正在變激烈。在過去一年中,許多 Agent 框架變得普及:例如使用 ReAct 結合 LLM 進行推理和行動、使用 multi-agent 框架進行編排,或者是使用類似 LangGraph 這樣更可控的框架。
關于 Agent 的討論并不全是 Twitter 上的炒作。大約 51%的受訪者目前正在生產中使用 Agent。根據 Langchain 按公司規模的數據,100-2000 員工的中型公司在 Agent 投入生產方面最為積極,比例達到63%。
此外,78%的受訪者有在近期內將采用將 Agent 投入生產的計劃。很明顯,大家對 AI Agent 有很強烈的興趣,但實際要做好一個 production-ready 的 Agent 對許多人來說仍然是一個難題。
盡管技術行業通常被認為是早期的 Agent 使用者,但所有行業對 Agent 的興趣都在與日俱增。在非技術公司工作的受訪者中,有90%已經或計劃將Agent投入生產(與技術公司的比例幾乎相同,為89%)。
Agent 的常用 use case
Agent 最常用的 use case 包括進行研究和總結(58%),其次是通過定制化的 Agent 簡化工作流程 (53.5%)。
這些反映了人們希望有產品來處理那些過于消耗時間的任務。用戶可以依賴 AI Agent 從大量信息中提取關鍵信息和見解,而不是自己從海量的數據中篩選,再進行資料回顧或研究分析。同樣,AI Agent 可以通過協助日常任務來提升個人生產力,使用戶能夠專注于重要事項。
不僅個人需要這種效率的提升,公司和團隊也同樣需要。客服(45.8%)是 Agent的另一個主要應用領域,Agent 幫助公司處理咨詢、故障排除,并加快跨團隊的客戶響應時間;排在第四、第五位的是更底層的 code 和 data 應用。
監控:Agent 應用需要可觀測和可控性
隨著 Agent 實現功能變得更加強大,就需要管理和監控 Agent 的方法。追蹤和可觀測性工具位列必備清單之首,幫助開發人員了解 Agent 的行為和性能。很多公司還使用 guardrail(防護控制)以防止 Agent 偏離軌道。
在測試 LLM 應用程序時,離線評估(39.8%)比在線評估(32.5%)被更常被使用,這反映了實時監控 LLM 的困難。在 LangChain 提供的開放式回答中,許多公司還讓人類專家手動檢查或評估響應,作為額外的預防層。
盡管人們對 Agent 的熱情很高,但在 Agent 權限上普遍還是比較保守。很少有受訪者允許他們的 Agent自由地讀取、寫入和刪除。相反,大多數團隊只允許讀取權限的工具權限,或需要人類批準 Agent 才可以做更有風險的行動,如寫入或刪除。
不同規模的公司在 Agent 控制方面也有不同的優先級。不出所料,大型企業(2000名以上員工)更加謹慎,嚴重依賴 “read-only” 權限以避免不必要的風險。他們也傾向于將 guardrail 防護與離線評估相結合,不希望客戶看到任何問題。
與此同時,小型公司和初創公司(少于100名員工)更專注于追蹤以了解其 Agent 應用程序中發生了什么(而不是其他控制)。根據 LangChain 的調查數據,較小的公司傾向于專注于通過查看數據來理解結果;而大型企業則在全面范圍內設置了更多的控制措施。
將 Agent 投入生產的障礙和挑戰
保證 LLM 的高質量 performance 很難,回答需要有高準確性,還要符合正確的風格。這是 Agent 開發使用者們最關心的問題——比成本、安全等其他因素的重要性高出兩倍多。
LLM Agent 是概率式的內容輸出,意味著較強的不可預測性。這引入了更多的錯誤可能性,使得團隊難以確保其 Agent 始終如一地提供準確、符合上下文的回應。
對于小型公司尤其如此,性能質量遠遠超過了其他考慮因素,有 45.8 %的人將其作為主要關注點,而成本(第二大關注點)僅為22.4%。這一差距強調了可靠、高質量的性能對于組織將 Agent 從開發轉移到生產的重要性。
安全問題對于需要嚴格合規,并敏感處理客戶數據的大型公司也普遍存在。
挑戰不止于質量。從 LangChain 提供的開放式回答中,許多人對公司是否要持續投入開發和測試 Agent 仍保持懷疑。大家提到兩個突出的阻礙:開發 Agent 需要的知識很多,且需要一直跟進技術前沿;開發部署 Agent 需要的時間成本很大,是否能可靠運行的收益又不太確定。
其他新興主題
在開放性問題中,大家對 AI Agent 展示出的這些能力有很多稱贊:
- 管理多步驟任務:AI Agent 能夠進行更深入的推理和上下文管理,使它們能夠處理更復雜的任務;
- 自動化重復性任務:AI Agent 繼續被視為處理自動化任務的關鍵,這可以為用戶解放時間,讓他們去解決更有創造性的問題;
- 任務規劃和協作:更好的任務規劃確保正確的 Agent 在正確的時間處理正確的問題,特別是在 Multi-agent 系統中;
- 類似人類的推理:與傳統LLM不同,AI Agent可以追溯其決策,包括根據新信息回顧并修改過去的決策。
此外大家還有兩個最期待的進展:
- 對開源 AI Agent 的期待:人們對開源 AI Agent 的興趣明顯,許多人提到集體智慧可以加速 Agent 的創新;
- 對更強大的模型的期待:許多人正在期待由更大、更強大的模型驅動的 AI Agent 的下一次飛躍—在那時,Agent 能夠以更高的效率和自主性處理更復雜的任務。
問答中很多人也提到了 Agent 開發時最大的挑戰:如何理解 Agent 的行為。一些工程師提到他們在向公司 stakeholder 解釋 AI Agent 的能力和行為時會遇到困難。部分時候可視化插件可以幫助解釋 Agent 的行為,但在更多情況下 LLM 仍然是一個黑箱。額外的可解釋性負擔留給了工程團隊。
02.AI Agent 中的核心要素
什么是 Agentic 系統
在 State of AI Agent 報告發布之前,Langchain 團隊已經在 Agent 領域寫了自己的 Langraph 框架,并通過 In the Loop 博客討論了很多 AI Agent 中的關鍵組件,接下來就是我們對其中關鍵內容的編譯。
首先每個人對 AI Agent 的定義都略有不同,LangChain 創始人 Harrison Chase 給出的定義如下:
AI Agent 是一個用 LLM 來做程序的控制流決策的系統。
An AI agent is a system that uses an LLM to decide the control flow of an application.
對其實現方式,文章中引入了 Cognitive architecture(認知架構) 的概念,認知架構是指 Agent 如何進行思考、系統如何去編排代碼/ prompt LLM:
- Cognitive:Agent 使用 LLM 來語義推理該如何編排代碼/ Prompt LLM;
- Architecture: 這些 Agent 系統仍然涉及大量類似于傳統系統架構的工程。
下面這張圖展示了不同層次 Cognitive architecture 的例子:
- 標準化的軟件代碼(code) :一切都是 Hard Code ,輸出或輸入的相關參數都直接固定在源代碼中,這不構成一個認知架構,因為沒有 cognitive 的部分;
- LLM Call ,除了一些數據預處理外,單個 LLM 的調用構成了應用程序的大部分,簡單的 Chatbot 屬于這一類;
- Chain:一系列 LLM 調用,Chain 嘗試將問題的解決分成若干步,調用不同的 LLM 解決問題。復雜的 RAG 屬于這一種:調用第一個 LLM 用來搜索、查詢,調用第二個 LLM 用于生成答案;
- Router:在前面的三種系統中,用戶可以提前知道程序會采取的所有步驟,但在 Router 中,LLM 自行決定調用哪些 LLM ,采取怎樣的步驟,這增加了更多的隨機性和不可預測性;
- State Machine ,將 LLM 與 Router 結合使用,這將更加不可預測,因為這樣結合放入循環中,系統可以(理論上)做無限次的 LLM 調用;
- Agentic 的系統:大家也會稱為“ Autonomous Agent ”,使用 State Machine 時,對于可以采取哪些操作以及在執行該操作后執行哪些流程仍然存在限制;但當使用 Autonomous Agent 時,這些限制將被刪除。LLM 來決定采取哪些步驟、怎樣去編排不同的 LLM ,這可以通過使用不同的 Prompt 、工具或代碼來完成。
簡單來說,一個系統越是“ Agentic ”,LLM 就越大程度地決定系統的行為方式。
Agent 的關鍵要素
規劃
Agent 可靠性是一個很大的痛點。常常會有公司使用 LLM 構建了 Agent,卻提到 Agent 無法很好地規劃和推理。這里的規劃和推理是什么意思呢?
Agent的計劃和推理指的是 LLM 思考要采取什么行動的能力。這涉及短期和長期 reasoning ,LLM 評估所有可用信息,然后決定:我需要采取哪些一系列步驟,哪些是我現在應該采取的第一個步驟?
很多時候開發者使用 Function calling(函數調用)來讓 LLM 選擇要執行的操作。Function calling 是 OpenAI 于 2023 年 6 月首次添加到 LLM api 的能力,通過 Function calling ,用戶可以為不同的函數提供 JSON 結構,并讓 LLM 匹配其中一個(或多個)結構。
要成功完成一項復雜的任務,系統需要按順序采取一系列行動。這種長期規劃和推理對于 LLM 非常復雜:首先 LLM 必須考慮一個長期的行動規劃,再回到要采取的短期行動中;其次,隨著 Agent 執行越來越多的操作,操作的結果將反饋給 LLM ,導致上下文窗口增長,這可能會導致 LLM “分心”并表現不佳。
改進規劃的最容易解決的辦法是確保 LLM 擁有適當推理/計劃所需的所有信息。盡管這聽起來很簡單,但通常傳遞給 LLM 的信息根本不足以讓 LLM 做出合理的決定,添加檢索步驟或闡明 Prompt 可能是一種簡單的改進。
之后,可以考慮更改應用程序的認知架構。這里有兩類認知架構來改進推理,通用認知架構和特定領域的認知架構:
1)通用認知架構
通用認知架構可以應用于任何任務。這里有兩篇論文提出了兩種通用的架構,一個是 “plan and solve” 架構,在 Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models 一文中提出,在該架構中,Agent 首先提出一個計劃,然后執行該計劃中的每個步驟。另一種通用架構是 Reflexion 架構,這一架構在 Reflexion: Language Agents with Verbal Reinforcement Learning 中提出,在該架構中,Agent 執行任務后有一個明確的 “反射” 步驟,以反映它是否正確執行了該任務。這里不贅述,詳細可看上兩篇論文。
盡管這些想法顯示出改進,但它們通常過于籠統,無法被 Agent 在生產中實際使用。(譯者注:這篇文章發布時還沒有 o1 系列模型)
2)特定領域的認知架構
相反,我們看到 Agent 是使用特定領域的認知架構構建的。這通常表現在特定領域的分類/規劃步驟、特定領域的驗證步驟中。規劃和反思的一些思想可以在這里應用,但它們通常以特定領域的方式應用。
AlphaCodium 的一篇論文中舉了一個特定的例子:通過使用他們所謂的 “流工程”(另一種談論認知架構的方式)實現了最先進的性能。
可以看到 Agent 的流程對于他們試圖解決的問題非常具體。他們告訴 Agent 分步驟做什么:提出測試,然后提出解決方案,然后迭代更多測試等。這種認知架構是高度專注特定領域的,不能泛化到其他領域。
Case Study:
Reflection AI 創始人 Laskin 對 Agent 未來的愿景
在紅杉資本對 Reflection AI 創始人 Misha Laskin 的訪談中,Misha 提到他正在開始實現他的愿景:即通過將 RL 的 Search Capability 與 LLM 相結合,在他的新公司 Reflection AI 中構建最佳的 Agent 模型。他和聯合創始人 Ioannis Antonoglou(AlphaGo、AlphaZero 、Gemini RLHF 負責人)正在訓練為 Agentic Workflows 設計的模型,訪談中的主要觀點如下:
? 深度是 AI Agent 中缺失的部分。 雖然當前的語言模型在廣度方面表現出色,但它們缺乏可靠完成任務所需的深度。Laskin 認為,解決“深度問題”對于創建真正有能力的 AI Agent 至關重要,這里的能力是指:Agent 可以通過多個步驟規劃和執行復雜的任務;
? 將 Learn 和 Search 相結合是實現超人性能的關鍵。 借鑒 AlphaGo 的成功,Laskin 強調 AI 中最深刻的理念是 Learn(依靠 LLM)和 Search(找到最優路徑)的結合。這種方法對于創建在復雜任務中可以勝過人類的 Agent 至關重要;
? Post-training 和 Reward modeling 帶來了重大挑戰。 與具有明確獎勵的游戲不同,現實世界的任務通常缺乏真實獎勵。開發可靠的 reward model,是創建可靠的 AI Agent 的關鍵挑戰
? Universal Agents 可能比我們想象的更接近。 Laskin 估計,我們可能只用三年時間就可以實現“digital AGI”,即同時具有廣度和深度的 AI 系統。這一加速的時間表凸顯了在能力發展的同時解決安全性和可靠性問題的緊迫性
? 通往 Universal Agents 的道路需要一種的方法。 Reflection AI 專注于擴展 Agent 功能,從一些特定的環境開始,如瀏覽器、coding 和計算機操作系統。他們的目標是開發 Universal Agents ,使其不局限于特定任務。
UI/UX 交互
在未來幾年,人機交互會成為 research 的一個關鍵領域:Agent 系統與過去的傳統計算機系統不同,因為延遲、不可靠性和自然語言界面帶來了新的挑戰。因此,與這些 Agent 應用程序交互的新 UI/UX 范式將出現。Agent 系統仍處于早期階段,但已經出現多種新興的 UX 范式。下面分別進行討論:
1)對話式交互 (Chat UI)
聊天一般分為兩種:流式聊天(streaming chat)、非流式聊天(non-streaming Chat)。
流式聊天是目前最常見的 UX。它是一個 Chatbot,以聊天格式將其思想和行為流回——ChatGPT 是最受歡迎的例子。這種交互模式看起來很簡單,但也有不錯的效果,因為:其一,可以使用自然語言與 LLM 進行對話,這意味著客戶和 LLM 沒有任何障礙;其二,LLM 可能需要一段時間才能工作,流式處理使用戶能夠準確了解后臺發生的事情;其三,LLM 常常會出錯,Chat 提供了一個很好的界面來自然地糾正和指導它,大家已經非常習慣于在聊天中進行后續對話和迭代討論事情。
但流式聊天也有其缺點。首先,流式聊天是一種相對較新的用戶體驗,因此我們現有的聊天平臺(iMessage、Facebook Messenger、Slack 等)沒有這種方式;其次,對于運行時間較長的任務來說,這有點尷尬—用戶只是要坐在那里看著 Agent 工作嗎;第三,流式聊天通常需要由人類觸發,這意味著還需要大量 human in the loop。
非流式聊天的最大區別在于響應是分批返回的, LLM 在后臺工作,用戶并不急于讓 LLM 立刻回答,這意味著它可能更容易集成到現有的工作流程中。人們已經習慣了給人類發短信——為什么他們不能適應用 AI 發短信呢?非流式聊天將使得與更復雜的 Agent 系統交互變得更加容易—這些系統通常需要一段時間,如果期望即時響應,這可能會令人沮喪。非流式聊天通常會消除這種期望,從而更輕松地執行更復雜的事情。
這兩種聊天方式有以下優缺點:
2)后臺環境 (Ambient UX)
用戶會考慮向 AI 發送消息,這是上面談到的 Chat,但如果 Agent 只是在后臺工作,那我們該如何與 Agent 交互呢?
為了讓 Agent 系統真正發揮其潛力,就需要有這種允許 AI 在后臺工作的轉變。當任務在后臺處理時,用戶通常更能容忍更長的完成時間(因為他們放寬了對低延遲的期望)。這使 Agent 可以騰出時間做更多的工作,通常比在聊天 UX 中更仔細、勤奮做更多推理。
此外,在后臺運行 Agent 能擴展我們人類用戶的能力。聊天界面通常限制我們一次只能執行一項任務。但是,如果 Agent 在后臺環境運行,則可能會有許多 Agent 同時處理多個任務。
讓 Agent 在后臺運行,是需要用戶信任的,該如何建立這種信任?一個簡單的想法是:向用戶準確展示 Agent 在做什么。顯示它正在執行的所有步驟,并讓用戶觀察正在發生的事情。雖然這些步驟可能不會立即可見(就像在流式傳輸響應時一樣),但它應該可供用戶點擊并觀察。下一步是不僅讓用戶看到發生了什么,還讓他們糾正 Agent 。如果他們發現 Agent 在第 4 步(共 10 步)中做出了錯誤的選擇,客戶可以選擇返回第 4 步并以某種方式更正 Agent 。
這種方法將用戶從 “In-the-loop” 轉變為 “On-the-loop”?!癘n-the-loop”要求能夠向用戶顯示 Agent 執行的所有中間步驟,允許用戶中途暫停工作流,提供反饋,然后讓 Agent 繼續。
AI 軟件工程師 Devin 是實現類似 UX 的一個應用程序。Devin 運行時間較長,但客戶可以看到所采取的所有步驟,倒回特定時間點的開發狀態,并從那里發布更正。盡管 Agent 可能在后臺運行,但這并不意味著它需要完全自主地執行任務。有時 Agent 不知道該做什么或如何回答,這時,它需要引起人類的注意并尋求幫助。
一個具體的例子是 Harrison 正在構建的電子郵件助理 Agent 。雖然電子郵件助理可以回復基本電子郵件,但它通常需要 Harrison 輸入某些不想自動化的任務,包括:審查復雜的 LangChain 錯誤報告、決定是否要參加會議等。在這種情況下,電子郵件助理需要一種方法來向 Harrison 傳達它需要信息來響應。請注意,它不是要求其直接回答;相反,它會征求 Harrison 對某些任務的意見,然后它可以使用這些任務來制作和發送一封漂亮的電子郵件或安排日歷邀請。
目前,Harrison 在 Slack 中設置了這個助手。它向 Harrison 發送一個問題,Harrison 在 Dashboard 中回答它,與其工作流程原生集成。這種類型的 UX類似于客戶支持 Dashboard 的 UX。此界面將顯示助手需要人工幫助的所有區域、請求的優先級以及任何其他數據。
3)電子表格 (Spreadsheet UX)
電子表格 UX 是一種支持批量處理工作的超級直觀且用戶友好的方式。每個表格、甚至每一列都成為自己的 Agent,去研究特定的東西。這種批量處理允許用戶擴展與多個 Agent 交互。
這種 UX 還有其他好處。電子表格格式是大多數用戶都熟悉的 UX,因此它非常適合現有的工作流程。這種類型的 UX 非常適合數據擴充,這是一種常見的 LLM 用例,其中每列可以表示要擴充的不同屬性。
Exa AI、Clay AI、Manaflow 等公司的產品都在使用這種 UX,下以 Manaflow舉例展示這種電子表格 UX 如何處理工作流程。
Case Study:
Manaflow 如何使用電子表格進行 Agent 交互
Manaflow 的靈感來源于創始人 Lawrence 曾任職的公司 Minion AI,Minion AI 構建的產品是 Web Agent 。Web Agent 可以控制本地的 Geogle Chrome,允許其與應用程序交互,例如訂機票、發送電子郵件、安排洗車等?;贛inion AI 的靈感,Manaflow 選擇讓 Agent 去操作電子表格類的工具,這是因為 Agent 不擅長處理人類的 UI 界面,Agent 真正擅長的是 Coding。因此 Manaflow 讓 Agent 去調用 UI 界面的的 Python 腳本,數據庫接口,鏈接API,然后直接對數據庫進行操作:包括閱讀時間、預定、發郵件等等。
其工作流如下:Manaflow 的主要界面是一個電子表格(Manasheet),其中每列代表工作流程中的一個步驟,每行對應于執行任務的 AI Agent。每個電子表格的 workflow 都可以使用自然語言進行編程(允許非技術用戶用自然語言描述任務和步驟)。每個電子表格都有一個內部依賴關系圖,用于確定每列的執行順序。這些順序會分配給每一行的 Agent 并行執行任務,處理數據轉換、API 調用、內容檢索和發送消息等流程:
生成 Manasheet 可以的方法為:輸入類似上面紅色框里的自然語言,如上圖中想向客戶可以發送定價的郵件,就可以通過 Chat 輸入 Prompt,來生成 Manasheet。通過 Manasheet 可以看到有客戶的姓名,客戶的郵箱,客戶所屬的行業,是否已經發送郵件等信息;點擊 Execute Manasheet 即可執行任務。
4)生成式 UI (Generative UI)
“生成式 UI”有兩種不同的實現方式。
一種方式是由模型自行生成需要的的原始組件。這類似于 Websim 等產品。在后臺,Agent 主要編寫原始 HTML,使其能夠完全控制顯示的內容。但是這種方法允許生成的 web app 質量有很高的不確定性,因此最終結果可能看起來波動較大。
另一種更受約束的方法為:預定義一些 UI 組件,這通常是通過工具調用來完成的。例如,如果 LLM 調用天氣 API,則它會觸發天氣地圖 UI 組件的渲染。由于渲染的組件不是真正生成的(但是有更多選擇),因此生成的 UI 將更加精致,盡管它可以生成的內容不完全靈活。
Case Study:
Personal AI 產品 dot
舉例來說,在 2024 年曾被稱為最好的 Personal AI 產品的 Dot,就是一個很好的生成式 UI 產品。
Dot 是 New Computer 公司的產品:其目標是成為用戶的長期伴侶,而并不是更好的任務管理工具,據聯合創始人Jason Yuan講,Dot 的感覺是,當你不知道該去哪里、該做什么或該說什么時,你就會求助于 Dot。這里舉兩個例子介紹產品是做什么的:
? 創始人 Jason Yuan 常常在深夜讓 Dot 推薦酒吧,說自己想要一醉方休,斷斷續續幾個月,某天下班之后,Yuan 再次問了相似的問題,Dot 竟然開始勸解 Jason,不能再這樣下去了;
? Fast Company 記者 Mark Wilson,也和 Dot 相處了幾個月的時間。有一次,他向 Dot 分享了書法課上他手寫的一個「O」,Dot 竟然調出了幾周前他手寫「O」的照片,夸他的書法水平提高了。
? 隨著使用Dot的時間越來越多,Dot 更加理解了用戶喜歡打卡咖啡館,主動推送給主人附近的好咖啡館,附上了為何這個咖啡館好,最后還貼心的詢問是否要導航.
可以看到在這個咖啡館推薦的例子中,Dot 通過預定義 UI 組件,來達到 LLM-native 的交互效果。
5)協作式 UX(Collaborative UX)
當 Agent 和人類一起工作時會發生什么?想想 Google Docs,客戶可以在其中與團隊成員協作編寫或編輯文檔,但倘如協作者之一是 Agent 呢?
Geoffrey Litt 和 Ink & Switch 合作的 Patchwork項目是人類- Agent 合作的一個很好的例子。(譯者注:這可能是最近 OpenAI Canvas 產品更新的靈感來源)。
協作式 UX 與前面討論的 Ambient UX 相比如何?LangChain創始工程師 Nuno 強調了兩者之間的主要區別,在于是否有并發性:
- 在協作式 UX 中,客戶和LLM 經常同時工作,以彼此的工作為輸入;
- 在環境 UX 中,LLM 在后臺持續工作,而用戶則完全專注于其他事情。
記憶
記憶對于好的 Agent 體驗至關重要。想象一下如果你有一個同事從來不記得你告訴他們什么,強迫你不斷重復這些信息,這個協作體驗會非常差。人們通常期望 LLM 系統天生就有記憶,這可能是因為 LLM 感覺已經很像人類了。但是,LLM 本身并不能記住任何事物。
Agent 的記憶是基于產品本身需要的,而且不同的 UX 提供了不同的方法來收集信息和更新反饋。我們能從 Agent 產品的記憶機制中看到不同的高級記憶類型——它們在模仿人類的記憶類型。
論文 CoALA: Cognitive Architectures for Language Agents 將人類的記憶類型映射到了 Agent 記憶上,分類方式如下圖的所示:
1)程序記憶(Procedural Memory):有關如何執行任務的長期記憶,類似于大腦的核心指令集
? 人類的程序記憶:記住如何騎自行車。
? Agent 的程序記憶:CoALA 論文將程序記憶描述為 LLM 權重和 Agent 代碼的組合,它們從根本上決定了 Agent 的工作方式。
在實踐中,Langchain 團隊還沒有看到任何 Agent 系統會自動更新其 LLM 或重寫其代碼,但是確實存在一些 Agent 更新其 system prompt 的例子。
2)語義記憶(Semantic Memory): 長期知識儲備
? 人類的語義記憶:它由信息片段組成,例如在學校學到的事實、概念以及它們之間的關系。
? Agent 的語義記憶:CoALA 論文將語義記憶描述為事實存儲庫。
在實踐中上,常常是通過使用 LLM 從 Agent 的對話或交互中提取信息來實現的。此信息的確切存儲方式通常是特定于應用程序的。然后這些信息在將來的對話中檢索并插入到 System Prompt 中 以影響 Agent 的響應。
3)情景記憶(Episodic Memory):回憶特定的過去事件
? 人類的情景記憶:當一個人回憶起過去經歷的特定事件(或“情節”)時。
? Agent 中的情景記憶:CoALA 論文將情景記憶定義為存儲 Agent 過去動作的序列。
這主要用于讓 Agent 按預期執行動作。在實踐中,情景記憶的更新通過 Few-Shots Prompt 的方法實現。如果相關更新的 Few-Shots Prompt 足夠多,那么接下來的更新就通過 Dynamic Few-Shots Prompt 來完成。
如果一開始就有指導 Agent 正確完成操作的辦法,后面面對同樣的問題就可以直接使用這種辦法;相反,如果不存在正確的操作方式,或者如果 Agent 不斷做新的事情,那么語義記憶就會更重要,反而在前面的例子中,語義記憶不會有太大幫助。
除了考慮要在 Agent 中更新的記憶類型外,開發人員還要考慮如何更新 Agent 的記憶:
更新 Agent 記憶的第一種方法是 “in the hot path”。在這種情況下, Agent 系統會在響應之前記住事實(通常通過工具調用), ChatGPT 采取這種方法更新其記憶;
更新 Agent 記憶的另一種方法是 “in the background” 。在這種情況下,后臺進程會在會話之后運行以更新記憶。
比較這兩種方法,“in the hot path” 方法的缺點是在傳遞任何響應之前會有一些延遲,它還需要將 memory logic 與 agent logic 相結合。
但是, “in the background ”可以避免這些問題 – 不會增加延遲,并且 memory logic 保持獨立。但是“in the background ”也有其自身的缺點:記憶不會立即更新,并且需要額外的 logic 來確定何時啟動后臺進程。
更新記憶的另一種方法涉及用戶反饋,這與情景記憶特別相關。例如,如果用戶對某次交互標評分較高(Postive Feedback),Agent 可以保存該反饋以備將來調用。
基于以上編譯內容,我們期待規劃、交互、記憶三個組件的同時進步,會讓我們在 2025 年看到更多可用的 AI Agent,進入人機協同工作的新時代。
Reference
https://www.langchain.com/stateofaiagents
https://blog.langchain.dev/tag/in-the-loop/
https://www.sequoiacap.com/podcast/training-data-misha-laskin/
https://www.youtube.com/watch?v=pBBe1pk8hf4
https://www.qodo.ai/products/alpha-codium/?ref=blog.langchain.dev
https://news.ycombinator.com/item?id=41259754
https://arxiv.org/pdf/2309.02427
https://github.com/mem0ai/mem0
編譯:Jiayu, Cage
本文由人人都是產品經理作者【海外獨角獸】,微信公眾號:【海外獨角獸】,原創/授權 發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash,基于 CC0 協議。
- 目前還沒評論,等你發揮!