Agentic AI系統中的上下文工程與記憶工程
本文探討了上下文工程和記憶工程在Agentic AI系統中的區別與聯繫。上下文工程關注單次推理調用中的信息選擇、壓縮和放置,而記憶工程則涉及跨調用、跨會話的持久化信息管理。兩者在檢索邊界交匯,管理不善會導致檢索信息冗餘或上下文污染。
在Agentic AI系統中,隨着工作流程和多會話用例的複雜化,常見的問題包括約束在任務中途丟失、檢索到的信息在不該出現時重現、以及前一步的上下文污染當前步驟。這些失敗通常難以定位,因為沒有任何單一組件明顯出錯。多數情況下,問題源於兩個常被混淆或忽視的領域:上下文工程(Context Engineering)和記憶工程(Memory Engineering)。它們相互關聯但本質不同,各自以不同方式失敗,需要不同的系統來完善。
上下文工程涉及單次推理調用的設計:包含哪些信息、如何壓縮、如何放置、以及捨棄什麼。所有信息都是臨時的,調用結束後上下文窗口即清空。具體決策包括選擇性包含(並非所有可用信息都應進入上下文,數據庫返回的數百行或完整網頁可能增加噪音)、結構化放置(模型對長上下文開頭和結尾的內容關注更強,中間部分容易被忽略,即“迷失在中間”效應)、以及到達即壓縮(工具輸出應在返回後立即壓縮,而非等待窗口填滿後再截斷)。對話歷史管理也需要定期壓縮策略,如滾動窗口或分層摘要。
記憶工程則關注超越單次交互的持久化。它涵蓋四個關鍵方面:寫入策略設計(明確觸發寫入的事件、符合存儲條件的信息、存儲格式、置信度要求、寫入權限、更新規則和過期策略)、存儲層選擇(不同類型記憶匹配不同後端:工作記憶用內存或短期KV存儲,情景記憶用向量數據庫,語義記憶用向量或混合存儲,程序記憶用結構化存儲或指令注入)、檢索策略(先查工作記憶,再語義搜索,應用元數據過濾,只注入當前步驟所需)、以及記憶維護(置信度衰減、去重、TTL過期、舊情景記錄壓縮)。
上下文工程和記憶工程在檢索邊界交匯。記憶系統產出候選信息,上下文組裝決定是否納入提示、納入多少、以及如何放置。管理好這一邊界能將記憶組件轉化為連貫的Agent行為。兩個常見失敗模式是:檢索信息中混入過時或低相關度內容,以及檢索信息放置不當導致模型未有效利用。理解兩者的差異與協同,是構建可靠Agent系統的關鍵。