你是否遇到过这样的情况:昨天和AI Agent讨论得火热的项目需求,今天它就像完全失忆了一样,需要重新解释一遍上下文?
我们养小龙虾经常遇到的场景,尤其是有多Agent同时协作的时候,比如我同时运行着5个Agent:Content Agent创作内容、Growth Agent做增长分析、Product Agent跟踪产品需求、Coding Agent负责代码实现、Finance Agent整理财务数据。
我发了一条指令:”继续昨天的任务。”
结果: Content Agent忘记已确定的文章选题方向;Growth Agent的SEO报告停留在上周三。
5个Agent,像5个失忆症患者,面面相觑。
每次跨周末或长时间间隔后的对话,Agent都会出现”记忆断层”:忘记用户的名字和偏好、丢失重要的项目上下文、混淆不同任务的边界。
每次对话,把历史对话、用户信息、项目背景全部拼接进系统提示词。短期有效,但很快触及Token上限。想修改某个历史信息时,需要在浩如烟海的Prompt中找到那个点——根本不可能完成。
更致命的问题:所有Agent共享同一个Prompt,导致记忆互相污染。让Content Agent写文章,它却聊起代码优化——因为上一轮对话的代码内容还在Prompt里。
把对话历史向量化存储,用语义搜索召回相关上下文。听起来美好,实际问题丛生:
- 检索质量不稳定:有时召回完全不相关内容
- 存储成本高昂:随数据量线性增长
- 多Agent数据隔离困难
- 向量存储的是”语义切片”,不是”结构记忆”
向量检索是”模糊匹配”,无法保证精确性。对于”上周五否掉的方案是什么”这类精确回忆任务,力不从心。
每个Agent有自己的记忆系统,彼此隔离。问题随之而来:
- Agent之间无法共享关键信息
- 跨Agent任务追踪困难
- 没有地方存放”所有Agent都应该知道”的信息
人类记忆从来不是单一层面。情景记忆记得昨天和老板的会议;语义记忆掌握专业技能;程序记忆让骑车、游泳不经过思考。三种记忆各司其职。
我们打造了四层Memory架构。
- 位置:内存,Session结束即丢失
- 作用:保存当前对话的上下文
- 调用时机:每次新会话开始时
这是”瞬时记忆”,只管当前对话。Agent当前处理的任务、用户即时需求、正在进行的思考——都存储在这一层。
- 位置:memory/agents/*/memory.md
- 作用:每个Agent的角色设定、任务背景、长期目标
- 调用时机:当调用特定Agent时
核心问题:每个Agent需要知道”我是谁”。
- Content Agent:”我主要写公众号文章,风格要专业”
- Growth Agent:”目标是每个平台1万粉丝,当前重点做SEO和外链”
- Coding Agent:”代码规范是TypeScript + React”
为什么不能共享所有记忆?噪音会稀释注意力。让Coding Agent知道今天股市涨跌毫无意义,反而干扰代码决策。
但”隔离”不意味着”封闭”。Agent调用其他Agent时,可以访问对方的Memory摘要——关键信息的高频摘要,如同工作中的”交接清单”。
- 位置:memory/daily/YYYY-MM-DD.md
- 作用:记录当天工作轨迹、决策、问题
- 调用时机:需要回顾历史工作时读取
按天记录每天的工作轨迹。每天自动生成文件,记录:
- 当天完成的关键任务
- 重要决策及理由
- 遇到的问题和解决方案
- 待跟进事项
每日早上,Agent读取昨日的Daily Memory,快速恢复工作上下文。不需要用户重新解释项目背景,Agent自己就能”想起来”上周进行到哪一步。
还解决了”责任追溯”问题:任务出问题可定位——哪一天做了什么决定、是谁做的、依据是什么。
- 位置:memory/global/MEMORY.md
- 作用:从Daily Memory由LLM自动提取的精华
- 更新频率:每6小时自动提取
“记忆的记忆”——把每天日记提炼成关键要点,形成长期知识库。自动提取:
- 重要技术决策及理由
- 反复出现的模式和建议
- 用户核心偏好和风格
- 关键项目里程碑
- 解决方案**实践
Daily Memory记录”发生了什么”,Global MEMORY记录”学到了什么”。Agent不需要从海量日志中重新学习,直接调用提炼后的经验。
场景 |
调用哪层 |
说明 |
用户开始新对话 |
Session Memory |
加载当前会话上下文 |
召唤Content Agent |
Agents Memory (content) |
加载角色设定和任务背景 |
召唤Growth Agent |
Agents Memory (growth) |
加载增长目标和策略 |
需要回顾上周工作 |
Daily Memory |
按时间索引查找历史 |
需要长期背景知识 |
Global MEMORY.md |
调用提炼后的经验 |
跨时间恢复:上周五讨论的项目周一继续,Agent自动读取Daily Memory和Agents Memory,无缝衔接。
多Agent协作:5个Agent不再像陌生人。Growth Agent优化的关键词策略,Content Agent直接看到并应用;Coding完成的技术方案,Product准确理解技术边界。信息流转不再需要人工”翻译”。
用户感知一致性:用户不需要每次重复自己的偏好。写作风格、对内容的期望。真正的”个性化”。系统记得名字、
四层架构天然实现”分层衰减”:
- Session Memory:秒级,过期即丢
- Agents Memory:任务级,任务结束可清理
- Daily Memory:日级,每日归档
- Global MEMORY:年级,长期累积
严格限制读写权限:
- Chief Agent:可访问全局 + 所有子Agent的Memory
- Sub-Agent:只能读写自己的Memory
清晰职责边界,系统更安全可控。
选择结构化文件存储:
- Markdown文件:人可读
- Git版本控制:修改可追溯
- 明确文件路径:精确访问
需要查找历史决策时,直接grep文件,而不是等待语义检索返回”可能相关”的结果。
除了基础的四层架构,我们还实现了三个进阶能力:
自动加载:Session启动时自动加载当天+昨天的Memory,无需手动触发
自我进化:系统自动识别重要记忆vs噪音,自动过滤无效信息
主动回忆:Agent可主动检索相关Memory,在适当时机自动读取历史上下文
这套架构让AI Agent真正拥有”长期记忆”,从”失忆症患者”变成”记忆大师”。
为什么你的AI Agent总是”失忆”?
也许答案很简单:它不是失忆,而是你从来没有给它真正”记住”的机会。
给它一层记忆,它只能记住一件事。给它四层记忆,它才能像人一样,形成完整的认知体系。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/228847.html