AI News HubLIVE
站内改写2 分鐘閱讀

深度代理的上下文管理

Deep Agents SDK通過卸載、摘要和文件系統抽象來管理長時間運行AI任務的上下文,防止上下文腐敗。本文介紹了三種壓縮技術:卸載大型工具結果、卸載大型工具輸入和摘要,並提供了實踐指導和評估方法。

Deep Agents SDK是LangChain推出的開源、功能完備的代理工具包,專為構建能夠規劃、生成子代理並使用文件系統執行復雜長期任務的AI代理而設計。隨着AI代理可處理的任務長度不斷增長,有效的上下文管理變得至關重要,以防止上下文腐敗並應對LLM有限的內存限制。

上下文壓縮是指減少代理工作記憶中信息量,同時保留完成任務所需細節的技術。這可能涉及總結之前的交互、過濾過時信息,或策略性地決定保留和丟棄的內容。Deep Agents實現了一個文件系統抽象,允許代理執行列出、讀取、寫入文件,以及搜索、模式匹配和文件執行等操作。代理可以根據需要通過文件系統搜索和檢索已卸載的內容。

Deep Agents實現了三種主要的壓縮技術,在不同頻率下觸發:

  • 卸載大型工具結果:當工具響應超過20,000個令牌時,將響應卸載到文件系統,並替換為文件路徑引用和前10行的預覽。代理之後可以根據需要重新讀取或搜索內容。
  • 卸載大型工具輸入:當會話上下文達到模型可用窗口的85%時,截斷早期的工具調用(如文件寫入/編輯參數),將其替換為指向磁盤上文件的指針,從而減少活動上下文的大小。
  • 摘要:當卸載不再能騰出足夠空間時,進行摘要步驟。LLM生成會話的結構化摘要(包括會話意圖、創建的工件和後續步驟),替換工作記憶中的完整對話歷史。同時,原始完整消息寫入文件系統作為規範記錄。

在實踐中,可以通過在基準數據集上更積極地觸發壓縮來增加單個特徵的信號。例如,在可用上下文窗口的10-20%處觸發摘要可能性能欠佳,但會產生更多摘要事件,從而比較不同配置(如摘要提示的變體)。

Deep Agents SDK維護了一套針對性評估,旨在隔離和驗證單個上下文管理機制。這些評估是刻意設計的小型測試,使特定故障模式顯而易見且可調試。例如:

  • 摘要是否保留了代理的目標? 一些評估故意在任務中間觸發摘要,然後檢查代理是否繼續工作。
  • 代理能否恢復被摘要掉的信息? 在對話早期嵌入一個“大海撈針”的事實,強制摘要事件,然後要求代理稍後回憶該事實以完成任務。

評估上下文壓縮策略時,建議:從現實世界的基準開始,然後對單個特徵進行壓力測試;測試可恢復性;監控目標漂移。所有Deep Agents工具包的功能都是開源的,歡迎嘗試最新版本。