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