模型每次调用都从空白开始。智能体要跨轮、跨会话保留信息,难点不是向量库能塞多少条,而是什么写在哪一层、何时读、何时删。最终所有东西都要塞进有限窗口,所以核心接口不是按键取值,而是按预算把该看的话组装进去。
四层别混用一张表。对话缓冲记「刚说了什么」,工作记忆记「这个任务做到哪」,情景记忆记可迁移的经验,语义记忆才是相对稳定的文档和制度。十步任务的中间结果塞进对话会撑爆窗口;用户某次问了某张订单,不该当成长期经验。写情景记忆要高门槛:只沉淀方法论和失败教训,写入前做语义去重。没有遗忘的库会被噪声淹没——条数先升后降,信噪比掉得比召回升得快。过期、低重要、很少被访问的记录要软删除,才能保住检索质量。
语义记忆的工程形态是检索增强。质量问题大约八成在检索侧:模型没拿到的答不出,拿到错的会编得更像那么回事。切块切不好,后面全废。更稳的做法是小块负责命中、命中后再把父块送给模型,重叠一到两成防止边界信息丢失。生产默认混合检索:关键词擅长编号和专有名词,向量擅长同义,排名融合只看名次不必对齐分数。初检索求高召回,再用交叉编码器把几十条精排到五条。装进提示词时注意中间位置最容易被忽略:最相关的放两端,宁可少放完整块,也不要截断一块塞进去。
百万级窗口不会让检索过时。全塞的成本随长度涨,企业文档里近似但不等于答案的句子会把注意力打散,权限隔离和增量更新也做不到「每次重塞整库」。长窗口适合少量文档深读,海量、可过滤、按角色裁剪的知识仍走检索。知识库不要靠人主动上传:文档更新、合并请求、工单关闭这些事件触发重建,才跟得上业务。
落地清单
- 检索结果当系统事实注入,不要伪装成用户说的话。
- 任务状态翻译成短句,不要把整份 JSON 倒进窗口。
- 换嵌入模型必须全量重建索引,旧向量和新查询不在同一空间。
- 删了的文档要在向量库、缓存和搜索里一起消失,否则合规上仍「能搜到」。
记忆是结构问题。层分对了,检索链调准了,再谈换更大的生成模型。
本文侧重智能体生命周期与技能边界。若你要动手验证,优先用 Playground 做小任务压测;权限与托管再单独规划,避免「先装一堆再治理」。 相关:Playground · 创建智能体 · 学习中心
常见问题 FAQ
智能体的四层记忆具体指什么?
智能体的记忆分为四层:对话缓冲记录最近对话内容,工作记忆跟踪当前任务进度,情景记忆保存可迁移的方法论和教训,语义记忆存储稳定的文档和制度信息。这四层不能混用一张表,否则会导致信息混乱或窗口撑爆。
为什么说智能体记不住问题不是窗口太小?
文章指出,智能体记忆难点不在窗口容量,而在检索机制没做好。模型每次调用从空白开始,需要按预算组装相关信息,核心是检索增强而非扩大窗口。如果检索质量差,即使窗口大也拿不到正确信息,导致模型编造内容。
如何避免智能体记忆中的噪声污染?
避免噪声需要设置遗忘机制:软删除过期、低重要或少访问的记录,保持信噪比。情景记忆写入要高门槛,只沉淀方法论和失败教训,并做语义去重。条数应先升后降,否则噪声会淹没有效信息。
检索增强中切块和检索有哪些最佳实践?
切块要小块负责命中,命中后把父块送给模型,重叠一到两成防止边界信息丢失。生产默认混合检索,结合关键词和向量优势;初检索求高召回,再用交叉编码器精排到五条左右。检索结果应作为系统事实注入提示词。
长窗口技术和检索增强如何比较使用?
长窗口适合少量文档深读,但海量知识仍需检索,因为全塞成本高、注意力易分散。企业文档中近似句子会干扰,且权限隔离和增量更新难实现。检索更灵活,能按角色裁剪,适合动态业务场景。
落地智能体记忆系统有哪些关键清单项?
关键点包括:检索结果当系统事实注入,不要伪装成用户对话;任务状态用短句描述,避免塞整份JSON;换嵌入模型需全量重建索引;删除的文档要在所有存储层消失以确保合规。这些步骤确保记忆结构正确。