AI Agent 记忆与上下文管理:生产环境指南
在演示环境中构建一个能工作的 AI Agent 很容易,但要构建一个能在数小时交互、数百次工具调用和不断变化的用户意图中保持稳定性的 Agent 则很难。核心挑战在于上下文管理:决定 Agent 在任意时刻需要哪些信息、保持其可访问性,并防止上下文窗口成为负担。
本指南涵盖将随时间退化的 Agent 与持续改进的 Agent 区分开来的记忆架构、上下文工程实践和生产模式。
为什么在生产环境中上下文管理很重要
AI Agent 的上下文窗口是一种有限资源。每条消息、工具定义和检索到的文档都会消耗令牌。当窗口填满时,Agent 必须选择保留什么、丢弃什么。做出错误选择会导致 Agent 忘记关键约束、重复错误,或生成与之前决策相矛盾的输出。
该问题会随会话长度而加剧。一个十步工作流可能舒适地使用 8,000 令牌;一个运行二十小时、进行数千次工具调用的生产级 Agent 可能消耗数百万令牌。如果没有显式的记忆管理,Agent 要么会触达上下文限制,要么会支付高额的推理成本。
生产级 Agent 面临三种叠加压力:
上下文膨胀。每次工具调用都会在对话历史中追加请求和响应。简单查找会迅速累积。经过五十次调用后,仅转录内容就可能超过 20,000 令牌。
信息衰减。长会话早期的细节会逐渐漂移至窗口边界并被截断或摘要化。Agent 可能记得任务目标,但忘记了在开始时确立的具体参数。
检索成本。按需获取可保持活跃窗口精简,但每次检索都会增加延迟和令牌开销。糟糕的检索策略要么遗漏相关上下文,要么用低信噪比的内容淹没窗口。
能够扩展的 Agent 是将上下文视为一种受管理的资源,而非对话的意外副产品。

生产级 Agent 通常使用分层记忆架构。每一层服务于不同目的,并以不同时间尺度运行。
情景记忆:会话转录管理
情景记忆存储原始对话历史——每条用户消息、助手响应和工具调用结果。这是最简单的记忆形式,但也最脆弱,因为它的规模不受限制地增长。
生产系统通过截断和摘要策略管理情景记忆。当窗口接近容量时,截断会移除最旧的消息。摘要则将较早的交互替换为保留关键事实和决策的压缩表示。
对于简短、线性的任务,截断已足够且成本更低。对于早期约束仍然相关的长多阶段工作流,摘要能以额外推理成本为代价保留更多有用上下文。
语义记忆:持久化知识库
语义记忆存储跨会话持久的信息、偏好和程序知识。与情景记忆不同,语义记忆 survives conversation endings(会话结束)。它是 Agent 的长期知识库。
常见实现包括用于语义搜索的向量数据库、用于结构化信息的键值存储,以及用于文档和笔记的文件系统。关键设计决策是存储什么以及如何检索。
并非所有信息都值得持久化存储。临时工具结果、中间计算和一次性对话填充物不应进入语义记忆。筛选标准很简单:这些信息在未来会话中对 Agent 有用吗?如果没有,丢弃它。
程序记忆:技能与模式库
程序记忆编码 Agent 在特定情况下的行为方式。这些是可重用模式——工作流、决策规则和工具组合——当条件匹配时由 Agent 检索并应用。
生产级 Agent 可能拥有针对常见模式的程序记忆,例如“当用户请求代码审查时,读取文件、运行 linter、总结发现”。这些模式可降低决策延迟,提高跨会话的一致性。
程序记忆回答“如何做”,而语义记忆回答“是什么”。两者都不可或缺,但它们服务于不同的检索路径,需要不同的更新机制。
工作上下文:活跃窗口
工作上下文是 Agent 在任意时刻实际看到的所有记忆层的子集。它由情景近期性、语义检索和程序模式匹配动态组装。
组装策略决定 Agent 质量。朴素的做法是拼接所有可用内容。生产级做法使用相关性评分、近期性加权和去重,以构建在尊重令牌预算的同时最大化信噪比的上下文窗口。
上下文工程策略
记忆架构定义了什么存在。上下文工程定义了如何为每次请求组装它。优秀的上下文工程将上下文窗口视为精心策划的产物,而非意外累积的结果。
分层存储设计
分层存储按生命周和访问模式分离信息:
分层边界并非僵化。一份初始在冷层的文档在一次检索后可移至温层,在被 Agent 显式引用后可移至热层。
按需检索优于预加载
上下文窗口中的每个令牌都意味着金钱成本并消耗模型注意力。为“以防万一”而加载所有内容是最快耗尽预算和导致性能下降的方式。
生产级 Agent 使用按需检索。Agent 仅在拥有相关信息的相关性信号时才加载内容。检索机制应结合用于语义相关性的向量相似搜索和用于精确匹配的关键字搜索。
摘要作为压缩策略
当情景记忆增长到截断不再安全时,摘要可在减少令牌数量的同时保留关键内容。现代模型可以将数小时对话压缩为几百个令牌,同时保留决策点、结果和未解决问题。
有效的摘要需要明确指令。类似“保留所有工具调用结果、用户决策和待处理行动项的摘要”这样的提示可产生可用的上下文。摘要应为事件驱动,在窗口接近阈值或发生重大决策点时触发。
带显式策略的有界上下文窗口
为上下文窗口使用设置硬性限制,并用显式策略强制执行。典型的生产配置可能允许 80,000 令牌,在 70,000 时自动触发摘要,在 90,000 时触发截断。
策略应按工作负载可配置。处理简短查询的客户支持 Agent 可能只需在 16,000 令牌内运行。跨多文件工作的代码生成 Agent 可能需要 120,000 令牌。
常见的上下文管理故障
即使设计良好的记忆系统也会以可预见的方式失败。尽早识别这些故障模式可防止它们演变为生产事故。
上下文漂移
上下文漂移发生在 Agent 的理解偏离原始用户意图时。当早期指令被摘要化、工具结果引入冲突信息,或 Agent 做出的假设在多个步骤中累积时,就会出现此问题。
症状包括 Agent 解决了与请求略有不同的问题,或引用了从未陈述过的约束。预防需要定期验证意图——Agent 应在关键决策点重申其理解。
记忆泄漏
记忆泄漏发生在某个任务的信息污染了另一个任务时。处理多个项目的 Agent 可能从先前任务检索语义记忆,却不恰当地将其应用。
修复方法是作用域限定。记忆应与任务或项目标识符关联,检索应过滤到当前作用域。
摘要丢失
激进的摘要可能丢失关键细节。压缩后的对话可能保留了整体流程,但遗漏了具体参数值或错误代码。缓解措施是在压缩过程中将结构化摘要与自由文本摘要并列保留。
检索缓存过期
从不更新的语义记忆会变得过时。几周前记录的用户偏好可能不再适用。解决方案是为所有存储项添加新鲜度元数据,并定期重新验证高影响力的记忆。
生产实现模式
模式一:无状态主力
某些 Agent 被设计为无状态。每次请求独立处理,所有必要上下文均新鲜检索。此模式适用于高吞吐量、低复杂度的任务,如客户支持分流或文档问答,因为消除记忆管理开销可提高吞吐量。
模式二:有状态协作者
有状态 Agent 在跨交互中维护对话历史和持久记忆。它们记得用户偏好、过往决策和正在进行的项目。这使个性化辅助能力能够随时间提升。
该实现需要仔细关注记忆生命周期。新会话应加载相关的语义记忆。活跃会话应管理情景增长。已完成会话应按适当方式归档或丢弃上下文。
模式三:混合架构
混合 Agent 结合了无状态和有状态方法。常规请求以无状态方式处理以提升速度,而复杂的多步工作流使用有状态连续性。路由逻辑根据任务复杂度决定哪个路径处理每次请求。
混合架构在效率与能力之间取得平衡,是生产中最常见的模式。
评估记忆与上下文性能

上下文效率比。用于相关信息与用于开销的令牌比例。健康 Agent 应有超过 70% 的上下文窗口用于直接有助于响应的信息。
检索准确率。语义记忆检索中证明与当前任务相关的百分比。高检索准确率意味着记忆存储得到了良好维护。
决策一致性。Agent 的行为是否与同一会话内之前的陈述和决策保持一致。不一致表明存在上下文漂移或摘要丢失。
会话长寿性。Agent 在执行性能下降前完成的工具调用次数。管理良好的 Agent 可在数百轮交互中保持稳定的质量。
用户纠错率。用户需要重复 Agent 本应已知的信息的频率。这是最实用的指标——它直接衡量用户体验。
实用的记忆管理检查清单
在部署具备记忆能力的 Agent 之前,验证以下要点:
常见问题
AI Agent 的情景记忆与语义记忆有何区别?
情景记忆存储对话历史——消息、工具调用和响应的序列。语义记忆存储跨会话持久的信息、偏好和知识。
Agent 的上下文中应有多少活跃工具?
5 到 15 个工具通常能产生最佳的选择准确率。超出此范围,模型会花费更多令牌来阅读工具定义而非使用它们。使用动态工具加载来仅为每次请求注入相关子集。
我应该摘要对话还是截断它?
摘要保留更多信息但消耗额外令牌。截断成本更低但会完全丢失早期内容。对于少于二十步的工作流,截断通常已足够。对于更长的工作流,在接近阈值时进行摘要。
我如何防止任务间的记忆泄漏?
按任务或项目标识符限定所有记忆的作用域。将检索过滤到当前作用域。除非明确请求,否则不要跨任务共享语义记忆。
存储用户偏好的最佳方式是什么?
使用具有显式模式的有结构键值存储。将偏好存储为类型化字段而非自由文本笔记。包含时间戳和来源可信度,使 Agent 知道每个偏好的新旧程度和可靠性。
Agent 可以有意遗忘信息吗?
可以。有意遗忘是一项功能。数月前的信息、不再被引用且被新数据取代的信息应被归档或删除。设置显式保留策略并强制执行。
上下文窗口大小在 Agent 设计中扮演什么角色?
较大的窗口减少检索频率但增加单次请求成本。最佳大小取决于你的典型工作流长度。大多数生产 Agent 使用 32,000 至 128,000 令牌的窗口即可表现良好。
开始构建生产就绪的 Agent 记忆
记忆与上下文管理是一项触及系统每一层的架构纪律。在生产中成功的 Agent 是将上下文视为稀缺资源、用显式策略管理记忆,并持续监控指标以判断上下文策略是否奏效的 Agent。
对于构建生产级 AI Agent 的团队,SmaugBrain 提供基础设施来大规模管理 Agent 工作流、工具集成和部署管道。探索平台,了解结构化 Agent 编排如何降低记忆管理和上下文工程的操作复杂性。
访问 smaugbrain.com 了解更多关于构建可靠、生产就绪的 AI Agent 的信息。