AI Agent 的記憶不是塞滿就好,而是需要一套可持續的基礎設施
AI Agent 處理複雜專案時,總是像金魚一樣健忘?與其盲目擴充模型記憶體,不如將記憶視為一套可持續的外部基礎設施。本文將深入探討如何透過規範、技能與記錄的「編碼化」,為 AI Agent 打造跨工作階段延續的持久記憶,讓它真正成為資深同事。
許多人對 AI Agent 的期待,是它能像一位資深同事,無縫接手複雜、長期的專案。然而,現實是多數 Agent 都像記憶只有幾秒鐘的金魚,只要對話(session)一中斷,先前的規範、脈絡、甚至專案目標都忘得一乾二淨。
我認為,解決這個問題的關鍵,並非無止盡地擴充模型的 context window,而是要重新思考「記憶」的本質。AI Agent 的長期能力,不該被設計成模型自己記住一切,而應是一套可跨 session 延續的基礎設施,由規範、技能、記錄與環境約束,共同構成一個真正可持續的記憶系統。
最近一篇名為 Codified Context: Infrastructure for AI Agents in a Complex Codebase 的研究,就為這個方向提供了極具說服力的實踐路徑。它展示了如何將專案的隱性知識與開發規範「編碼化」,變成 Agent 可以穩定遵循的外部結構,而非一次性的提示詞。
為什麼 AI Agent 總是像金魚一樣健忘?
當前 AI Agent 在長期記憶上面臨的挑戰,主要源於其底層架構的限制。大型語言模型本身是無狀態的(stateless),它們不會在兩次獨立的 API 呼叫之間「記住」任何事情。我們目前依賴的方法,是將所有相關歷史與脈絡塞進每一次的提示(prompt)中,但這會遇到幾個根本性的瓶頸:
Context Window 的極限與成本
首先是 **Context Window 的限制**。即使是百萬級 token 的 context window,對於一個動輒數十萬行程式碼、橫跨數月的軟體專案來說,依然是杯水車薪。試圖將所有資訊塞進去,不僅成本高昂,效率也極其低下。
脈絡失真與重要資訊的遺忘
其次是 **脈絡的失真與遺忘**。在長對話中,模型容易忽略或誤解早期指令,這種現象被稱為「迷失在中間」(lost in the middle)。重要的規範或約束,很容易在大量的對話紀錄中被稀釋,導致 Agent 無法保持專案的整體一致性。
難以維持專案規範的一致性
最後,**一致性難以維持**。如果專案規範(例如:程式碼風格、API 設計原則)只存在於初始提示中,Agent 在後續的自主操作中很難保證時時遵循。這就像告訴一位新進工程師一次性的工作手冊,然後期望他在未來半年都完美遵守一樣不切實際。
過去像 ReAct 這類框架專注於推理與行動的循環,而 MemGPT 等研究則試圖用更聰明的方式管理記憶體階層。但它們仍未完全解決如何將「專案級的、不變的規範」與「任務級的、動態的資訊」有效分離的問題。
將記憶「外部化」為一套系統化的基礎設施
「Codified Context」這篇論文的核心洞見,是將 Agent 的記憶從單一的、線性的對話紀錄,轉變為一個多層次、結構化的外部系統。他們在一個超過 10 萬行 C# 程式碼的真實專案中,建構了這樣一套基礎設施,其組成可以被理解為 Agent 的「認知鷹架」:
熱記憶憲章(Hot Memory Charter):Agent 的行為準則
首先是 **熱記憶憲章(Hot Memory Charter)**。這是一份簡潔、明確的指導原則文件,定義了 Agent 的核心任務、行為準則、專案的技術棧與架構約束。它就像 Agent 的「憲法」,在每個工作週期開始時被強制載入,確保核心目標不偏移,為 Agent 的自主行為設定了清晰的邊界。
專家代理團隊(Specialist Agents):專精分工的協作模式
接著是 **專家代理團隊(Specialist Agents)**。研究團隊設計了 19 個各司其職的專家 Agent,分別負責程式碼生成、檔案系統操作、API 設計、測試案例撰寫等特定任務。這種分工模式,讓每個 Agent 的技能集更專注,也更容易管理與更新,大幅提升了處理複雜任務的效率與可靠性。
冷記憶知識庫(Cold Memory Knowledge Base):專案的長期記憶庫
最後是 **冷記憶知識庫(Cold Memory Knowledge Base)**。這是一個向量資料庫,儲存了整個專案的程式碼、文件與歷史決策。當 Agent 需要特定資訊時(例如查詢某個函式的實作),它會從這個知識庫中進行檢索,而不是依賴自己有限的短期記憶。這確保了 Agent 能夠隨時存取專案的完整歷史與脈絡。
這套系統的優雅之處在於,它不再強迫單一模型記住所有事。相反地,它建立了一套流程,讓 Agent 學會「如何查找」與「應該遵循什麼」,這遠比「記住一切」來得更可靠、也更具擴展性。
這套「編碼化脈絡」如何解決實際問題?
將專案脈絡編碼化的直接好處,是大幅提升了 Agent 在複雜任務中的一致性與可靠性。當專案的規範被寫成 Agent 必須遵守的「憲章」,而不是一次性的提示詞時,它就能有效避免許多常見的錯誤。
我們應該停止將 Agent 視為一個萬能的黑盒子,而是開始將其設計為一個更大系統中的、可被預測與約束的組件。真正的自主性,來自於清晰的邊界與可靠的流程,而非無限的自由。
避免「幻覺程式碼」與設計模式破壞
在這項研究的實證中,這套系統成功地防止了 Agent 產生不符合專案架構的「幻覺程式碼」,或是在修改程式時引入破壞既有設計模式的變更。因為所有操作都必須經過「憲章」的檢驗,並由對應的「專家 Agent」執行,確保了程式碼品質與架構的一致性。
解決跨工作階段的記憶與工作交接問題
這套機制也解決了工作交接(handoff)的問題。當一個任務需要跨越多個 session 才能完成時,由於核心的規範與知識都儲存在外部設施中,Agent 可以在任何時間點中斷與重啟,而不會遺失關鍵脈絡,大幅提升了長期專案的可行性。
我認為,這個方向為建構真正能投入生產環境的 AI Agent 提供了藍圖。正如 Anthropic 的工程師所強調的,打造有效的 Agent 系統,重點在於工具、回饋循環與清晰的目標設定。將這些元素從 ephemeral 的提示轉化為 persistent 的基礎設施,是讓 Agent 從有趣的玩具進化為可靠生產力工具的必經之路。未來的挑戰,將是如何讓這套基礎設施的建構與維護過程更加自動化,讓 AI Agent 不僅能使用這套系統,更能參與其演進與完善。
延伸閱讀
- Codified Context: Infrastructure for AI Agents in a Complex Codebase
- Language Agents with Long-Term Memory
- Anthropic: Building effective agents
我是江中喬,一位具有 TPM 與產品管理背景的 AI 系統建構者,目前專注於 AI 認知增強系統與多 Agent 協作架構的設計與實踐。