531 字
3 分钟
Agent 长上下文管理:压缩、检索与分层记忆
核心结论长上下文不是只靠截断解决的问题。有效方案通常围绕三个动作:压缩、检索、记忆。
为什么需要上下文管理
随着对话、工具输出和项目资料不断累积,全部内容直接放入上下文会超过模型窗口,也会增加成本和干扰。目标不是保存每个 token,而是让 Agent 在当前任务中拿到最相关的信息。
常见策略
| 策略 | 做法 | 适用场景 |
|---|---|---|
| 滑动窗口 | 只保留最近的 个 token | 近期对话最重要、实现成本低的任务 |
| 摘要压缩 | 用 LLM 将历史对话蒸馏为高密度摘要 | 需要保留历史决策和任务进展 |
| 分块记忆 + 检索 | 将历史内容切块、建立索引,只召回相关片段 | 文档与历史记录较多的任务 |
| 向量检索 + 重排序 | 先按语义相似度召回,再精排 | 需要降低语义漂移、提高命中质量 |
| 分层记忆 | 区分当前会话的短期记忆与跨会话的长期记忆 | 长期运行或多轮协作的 Agent |
每种策略的关键点
滑动窗口最简单,但可能截掉早期约束。摘要压缩会保留重点,却可能损失细节;因此摘要应特别保留用户意图、关键决定和未完成事项。检索增强避免把全部历史塞进上下文,但召回结果仍需要重排序,防止“语义相似但不真正相关”的内容干扰决策。
分层记忆把当前会话作为短期记忆完整保存,把跨会话信息经过摘要或向量化后沉淀为长期记忆。它兼顾即时任务与长期连续性。
面试回答框架
可以按“先压缩、再检索、最后分层记忆”回答:近期内容用滑动窗口控制规模,历史内容用摘要提炼状态和决策,知识性内容按需检索,跨会话信息进入长期记忆。
Agent 长上下文管理:压缩、检索与分层记忆
https://blog.xqcherry.top/posts/interview/ai-engineering/agent-context-management/ 目录