蚂蚁二面:Agent 记忆的写入流程要做哪些处理?直接存对话不行吗?
面试官端起茶杯不紧不慢地问了一句「你们 Agent 的记忆写入流程具体怎么做的」♂️你想了想觉得这个问题不难「每轮对话结束后把用户和模型的回复存下来转成向量塞进向量库就行了。LangChain 自带的 Memory 模块就能搞定。」 面试官放下茶杯身体往前倾了倾「直接存整段对话那用户跟你寒暄了半小时的废话、工具调用的报错堆栈、他随口吐槽老板的那些话你也全部存进去等下次检索的时候一半都是这种噪声你还想准确召回用户上周说的那个偏好」♂️你有点慌了「那……存之前先过滤一下」 面试官摇了摇头「过滤只是第一步。粒度怎么拆一个用户说了五件事你存成一条还是五条什么该进长期库、什么聊完就该扔你有没有想过检索侧你换再贵的 Embedding 模型、加再多 Rerank只要写入环节进的是垃圾输出就一定是垃圾 」这个问题确实被大多数人忽略了。之前社区做项目时合作的一些学员记忆系统的所有精力都砸在检索侧 —— 换模型、加 Rerank、调阈值写入侧却还是「对话结束→整段存→转向量」的操作。打个比方你在餐厅吃饭厨师把菜做好了端上来你觉得不好吃然后你去换盘子、换灯光、换背景音乐 —— 但菜本身是坏的换什么都白搭。记忆系统的写入环节就是那个「做菜」的过程源头没处理好后面再怎么优化都是事倍功半。下面我把完整的写入流水线拆开讲从一堆原始对话垃圾到一条合格的长期记忆中间到底要过几道关。◆ 一句话回答原始对话绝对不能直接写进记忆库完整的生产级写入流程是一条四阶流水线降噪清洗 → 语义切分 → 分级筛选 → 元数据标注。核心逻辑就一句话先提纯再存储。不是存得越多越好而是存的每一条都得有价值。写入环节做好了检索准确率能提升 30% 以上存储成本反而能降一半。◆ 深度拆解先说为什么「直接存」是错的很多学员对记忆写入的理解就是「对话结束→存起来→转向量」。这在 Demo 里能跑但到了生产环境三个问题会像地雷一样 噪声过载。 你去翻翻真实的产品对话记录会发现有效信息可能只占 30%-40%。剩下的是什么「好的」「收到」「嗯嗯」这种无意义确认工具返回的完整 JSON 日志几百行用户改口前说的错误答案还有各种「哈哈」「笑死」的情绪垃圾。这些东西全塞进向量库检索的时候分分钟被当成「相关结果」召回直接把模型带偏。粒度过粗。 一轮对话里用户可能同时说了自己的职业、提了一个需求、补了一个偏好、吐槽了一句竞品。你把这整段话压成一条向量语义重心在哪是职业是需求还是吐槽向量表示会被这些杂七杂八的信息「稀释」导致该召回的召回不了不该召回的一大堆。无差别存储。 用户说「我对花生过敏」和用户说「今天天气不错」在你的记忆库里权重一模一样占一样的存储空间都参与全库检索。前者可能决定推荐结果甚至用户安全后者是一次性废话。把它们平等对待就是在浪费算力和存储。所以写入流程的核心目标是把一堆原始对话加工成干净的、结构化的、有层级的记忆单元。就像你去菜市场买了一堆乱七八糟的食材回来 —— 你不能把菜叶子、塑料袋、泥土一起扔锅里得先洗菜、摘菜、分类好的进冰箱烂的扔掉才能做出一顿像样的饭。写入流水线的四道关卡第一关降噪清洗 —— 把垃圾先挑出来这是最基础但性价比最高的一关。干的事情很简单用规则把明显没用的内容过滤掉不进入后续处理。具体过滤什么无意义寒暄「你好」「在吗」「谢谢」「好的收到」—— 这些是礼貌用语不含任何用户信息直接丢。工具冗余Agent 调用工具返回的完整 JSON少则几十行多则上百行。你只需要保留工具执行的核心结论比如「查询成功返回 3 条结果」具体的 JSON 结构、字段名、调试日志全部扔掉。修正前内容用户说「我想用 Python……不对还是用 Go 吧」—— Python 那个就是口误不应该被记住。系统固定话术Agent 每次回复前输出的格式化提示、安全声明、角色设定这些是系统层面的固定输出跟用户无关。这一步用正则和规则就能搞定实现成本极低但能过滤掉 30%-50% 的无效内容。你说值不值举个真实例子我们之前有一个客服 Agent每天处理 2000 轮对话不做清洗直接写入的话每天新增 4000 条记忆用户模型各一条。加了清洗之后日均写入降到 1800 条 —— 砍掉了一半还多检索信噪比直接提升了一个档次。第二关语义切分 —— 把一段话拆成一个个「记忆原子」清洗完的对话不能整段存成一条。要拆成独立的「记忆原子」每个原子只包含一个核心信息。比如用户说了这么一句话「我是做运营的平时主要用 Excel 做数据透视但最近发现 Power BI 更适合做可视化你们产品能对接 Power BI 吗另外我之前用过你们竞品 XX界面太难用了。」这句话里至少有四个信息点用户职业运营核心工具Excel数据透视 Power BI可视化潜在需求产品能否对接 Power BI竞品评价竞品 XX 界面难用如果你把这整段话压成一条向量检索的时候用户问「这个用户用什么工具」向量匹配可能会被「竞品界面难用」这个噪声信息干扰导致召回不准。拆成四条独立记忆每条的语义重心都很清晰检索精度自然就上去了。怎么拆主流方案有两种方案一轻量模型抽取。 用 7B/14B 级别的小模型Qwen3-14B推荐做信息抽取输入是原始对话片段输出是结构化的事实列表。成本只有大模型的几十分之一适合大批量处理。方案二规则 大模型混合。 简单的模式比如「我是做 XX 的」「我用 XX 工具」用正则和模板直接匹配复杂的多轮对话、隐含偏好才调用大模型提取。这样既能控制成本又能保证复杂场景的提取质量。但这个一定要灵活根据场景判断实际生产环境中规则硬门判断往往出问题最多实测数据拆分后的记忆在检索时的 Top-5 召回准确率比不拆分平均高出 22%。这个提升不需要换 Embedding 模型、不需要加 Rerank纯粹靠写入侧的粒度优化就能拿到。第三关分级筛选 —— 不是所有记忆都配进长期库拆好的记忆原子不是全部都要存进长期记忆库。要先打分决定它的命运。打分维度我用三个事实性Factuality这是明确的事实还是随口的情绪「我对花生过敏」是硬事实「今天心情不错」是情绪碎片。前者必须进长期库后者聊完就该扔。持续性Persistence这个信息的有效期有多久「我今天赶时间」只在今天有效明天就是废话「我是做运营的」可能半年内都有效「我对花生过敏」是永久有效的。有效期越长越值得进长期库。影响力Impact这个信息对后续服务的影响有多大过敏信息可能导致推荐事故必须记住「我喜欢喝美式」锦上添花记不记影响不大。三个维度综合打分后分三档处理高分核心记忆进长期库永久留存。比如用户的职业、硬偏好、过敏信息、关键决策。中分短期有效只进短期缓存会话结束后保留 7-30 天到期自动清除。比如用户当次的任务上下文、临时提到的工具名。低分噪声直接丢弃不做任何存储。比如寒暄、情绪碎片、一次性闲聊。这一步的效果有多明显我们有个 aigc 的项目上线分级筛选后长期库的日均新增量从 1800 条降到了 350 条 —— 砍掉了 80%。而检索准确率反而提升了因为库里全是高价值记忆噪声少了信噪比自然就上去了。第四关元数据标注 —— 给记忆贴上「身份证」最后一步给每条合格的记忆打上标准化的元数据标签再写入存储。为什么要打标签因为纯向量检索有一个天然缺陷它只看语义相似度不看场景和类型。用户问编程问题的时候如果你的记忆库里混着客服场景、创作场景、编程场景的各种记忆向量检索可能会把不相关场景的记忆也召回来。元数据就是用来做前置过滤的。必带的标签包括基础属性user_id、创建时间、最后访问时间用于时效性衰减计算类型标签情景记忆发生过什么事/ 语义记忆什么事实/ 程序记忆怎么做场景标签客服场景 / 创作场景 / 编程场景 / 数据分析场景置信度原始对话直接提取的标记为「高置信」从摘要或推理生成的标记为「低置信」检索的时候先用元数据做粗筛比如只搜「编程场景 高置信」的记忆再用向量相似度做精排。这样既快又准还避免了跨场景的记忆干扰。打个生活中的比方你去图书馆找一本 Python 编程书。如果没有分类标签你得把整个图书馆翻一遍如果有「计算机→编程→Python」的分类路径你直接去对应书架就行。元数据就是记忆库的分类标签系统。写入之后异步离线加工除了实时写入流程成熟的记忆系统还会配一套异步的离线加工任务不用占实时响应的时间记忆去重用户每次提相同的偏好都会新增一条记忆。不去重的话库里会有十几条「用户喜欢简洁表格」的重复记忆检索的时候全挤在 Top-K 里挤占了其他有效记忆的位置。解法写入前做相似度比对超过阈值的只更新访问时间不新增条目。反思聚合零散的记忆可以聚合成更高层的洞察。比如从「用户三次都要求先给大纲」「用户每次都跳过细节直接看结论」这两条记忆可以聚合出一条新记忆「用户的认知偏好是先看框架再看细节」。这种高层洞察比原始碎片更有价值。过期清理临时记忆到期后自动清理长期未被访问的冷记忆定期归档。避免记忆库无限膨胀。这三个任务定时跑就行比如每天凌晨跑一轮完全不影响用户对话的延迟。三个真实的生产踩坑讲完标准流程再补三个我实际踩过的坑 —— 面试里说出来直接拉开和「背八股」候选人的差距坑一同步写入把对话拖慢了 300ms。 一开始我们每轮对话结束都同步做提取、转向量、写库整个流程多出 300ms 延迟。用户体感很明显 —— 本来秒回的机器人突然变卡了。后来改成异步写入对话结果正常返回用户写入流程丢到后台消息队列里跑。只有核心偏好比如过敏信息的更新走同步链路确保即时生效。延迟问题直接消失。坑二小模型提取出了「虚假记忆」。 我们用 7B 模型做信息抽取准确率大概 92%。看着挺高但一天处理 2000 轮对话8% 的错误率意味着每天产生 160 条虚假记忆。比如模型把用户说的「我朋友喜欢用 VS Code」错误提取成「用户喜欢用 VS Code」。后面检索出来Agent 就会信以为真给用户推荐 VS Code 插件 —— 用户一脸懵。解法给每条记忆打置信度分数。高置信直接从对话提取的记忆可以参与决策低置信推理或摘要生成的只做辅助参考不能作为核心判断依据。同时加了人工抽检机制每周随机抽 100 条记忆做准确率审计。坑三重复记忆把 Top-K 挤爆了。 用户每提一次偏好就新增一条。一个月下来「用户喜欢简洁表格」这个事在库里有 15 条几乎一样的记忆。检索 Top-5 的时候这 15 条里有 4 条挤进去了真正有价值的其他记忆反而被挤出去了。解法写入前做相似度去重。新记忆和已有记忆的余弦相似度超过 0.92就只更新「最后访问时间」和「访问次数」不新增条目。这样库里永远只有一条「用户喜欢简洁表格」但它的权重会随着访问次数增加而提升 —— 越经常被提到的偏好越容易被召回。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】