跳转到正文

Memory

从历史工作中检索与当前文件和任务相关的长期知识。

更新于 查看 Markdown

Memory 保存从历史 Session 和长期工作中提炼出的稳定信息。它用于在新任务中恢复相关事实,不用于重放完整对话。

来源

Memory 可以来自:

  • Agent 主动通过 knowledge 工具沉淀。
  • 用户在删除 Session 时明确选择「删除并沉淀个人知识」。
  • 用户在个人设置中明确开启的后台 consolidation。
  • 用户维护的长期条目。

自动知识沉淀默认关闭,只读取个人配置,并且只写个人 scope。启用后,每 30 分钟扫描近 24 小时的活跃 Session,把各自最近 20 条文本和注入上下文发送给该 Session 显式选择的模型,未显式选择时使用其 Workspace 的 chat 角色路由。路由、MRM 限额和 Circuit 始终来自 Session 所属 Workspace,不会因前台切换 Workspace 而改变。删除 Session 默认直接删除;选择沉淀时,界面会显示本次目标 Provider,Provider 处理失败会保留 Session 并显示错误,不会静默删除。自动沉淀不能把失败输出写成事实,也不能静默覆盖项目 Rules。

检索

Memory、Notes 和可发现的 OKF concepts 使用同一个 task-aware retrieval pipeline,但仍按各自 handler 渲染:

  1. 当前 user task 是主 query,涉及文件路径是补充 query。
  2. Notes 与 Memory 使用 description 和正文做 BM25;generic、reference 和 history concepts 还使用 typeconcept_id、title 和 tags。
  3. 配置 embedding 后加入语义召回;向量按 endpoint、provider、model 和内容 hash 增量缓存,检索热路径不等待网络。
  4. 命中的 generic、reference 或 history concept 沿本地 Markdown links 做一跳 graph expansion。
  5. 对项目 scope、较新条目、生命周期状态和冲突版本调整权重并截取结果。

没有 task query 和涉及文件时,Notes 与 Memory 回退到最近日期的 3 条内容,generic concept 返回稳定的层级目录摘要。单条 Note 或 Memory 注入正文最多使用 500 个字符,避免长期知识无限占用上下文。

当前规模按几十到几百个 concept 设计。embedding cache 负责避免重复计算,BM25 和 cosine 在内存完成,因此不需要额外部署向量数据库。未来达到更大规模时可以替换索引后端,但 handler 边界和 OKF 文件仍是语义真源。

冲突处理

内容高度相似但事实不同的条目会被视为潜在冲突,较旧版本降低权重。项目条目优先于个人条目,但 Memory 仍不能覆盖 Safety 和激活的项目 Rules。

Scope

项目 Memory 位于 file:///path/to/workspace/.agents/memory/。个人 Memory 位于 file:///Users/you/.agents/memory/

项目 Memory 应只保存团队长期需要的事实。Agent 通过 knowledge 工具写项目 scope 前必须显示 description 和 content 预览并获得 Approval;没有 Approval channel 时失败关闭。个人偏好、个人工具习惯和跨项目经验保存在个人 scope。

与 Session 的区别

Session 是完整执行历史。Memory 是从历史中选出的稳定知识。直接删除 Session 不会自动生成 Memory;只有明确选择「删除并沉淀个人知识」才执行一次蒸馏,因此重要信息应显式沉淀。

导航

输入关键词以搜索…

↑↓ 移动↵ 打开Esc 关闭