By accumulating small steps, one can reach a thousand miles.

Memory: 让正确的过去,在正确的时候,以正确的作用域,正确的方式重新出现。

记忆功能常被产品宣传为“越用越懂你”。更准确地说,它解决的是重复交代背景的问题:用户长期使用某个 AI 产品后,一些背景和历史不希望反复交代。模型本身没有长期记忆,产品要做的是从历史交互中提取少量可信信息,用于理解用户和延续任务。

和记忆相关的内容有三类:

  • 聊天历史(事情发生过,但不一定该影响未来,可作为 RAG 检索源)
  • 当前工作空间的工作记忆(项目进度)
  • 长期记忆 Memory(在用户发当前任务之前,默认就能代入上下文、影响结果走向的内容)

关键在于:Memory 系统要做一次准入判断——哪些历史信息可以继续影响未来要做的任务。

信息类型存的是什么在系统中的作用例子
稳定事实去情境化的稳定事实、长期偏好、已确认的默认假设作为长期推理前提,减少重复获取用户基础信息用户所在城市、常用工作语言
用户知识背景用户的专业背景、知识水平和熟悉领域调节解释深度和术语密度,不改变事实结论用户熟悉 Context Engineering
行为信号从多次真实交互观察到的稳定使用模式作为交互策略的调节信号回答前先查看当前工作空间
表达偏好用户对表达方式的稳定偏好控制"怎么说",不影响"事实是什么"先给结论、减少空话
会话延续信息当前会话中仍有价值的目标、决策、进度、未完成项帮助延续讨论和任务已完成什么、下一步做什么

以上五类记忆都属于陈述性记忆(declarative memory),记录的是“用户是谁、了解什么、发生过什么”,也就是用户特征、知识背景和历史交互。它们提供的是推理前提,不直接规定 Agent 该怎么做事。WorkBuddy 没有把 Procedural Memory(程序性记忆)纳入长期记忆,是因为程序性记忆记录的是“做事方法”,这类内容一旦作为长期记忆注入,会直接影响 Agent 的推理路径和执行顺序。

例如“用户熟悉 Python”是陈述性信息;“遇到所有调试任务,都先重启服务再查日志”是程序性策略。后者注入上下文后会带来几个问题:

  • 局部经验被误升为通用策略:一次任务里有效的步骤,换个项目未必成立;
  • 干扰模型推理:模型可能不再根据当前证据选路径,而是复用历史步骤,陷入局部最优;
  • 隐性改写 Agent 行为:程序性内容实际上接近动态 System Prompt,却可能缺少版本、评测、审批和回滚;
  • 降低泛化与可控性:如果 Agent 从每次任务自动学工作流,又没有稳定的奖励信号和 Eval,系统很难判断它是在改进还是在积累偏见。

Memory 系统按稳定事实、用户知识背景、行为信号、表达偏好和会话延续信息分层存储,仅陈述性记忆进入长期记忆。程序性记忆(做事方法)不纳入长期记忆,以免局部经验被误升为通用策略;验证过的工作方法以 Skill 形式版本化、可评审、可回滚。