Skip to main content

什么是 Memory?

借助 Memory,Devin 可以把与你协作时学到的内容带到之后的会话中,包括你的偏好、你做过的纠正,以及关于你的项目和环境的经验。Devin 会在你工作时自动保存这些内容,你无需停下来手动记录。 在每个组织内,Memory 仅属于你个人,不会与你的团队成员或你的组织共享。

工作原理

你的记忆存储在 memory drive 中:这是一个持久化的 Git 代码仓库,由 Markdown 笔记组成。
  1. 加载。 每个会话都会获得该驱动器的独立检出副本,并将 MEMORY.md 作为上下文载入。只有在任务需要时,Devin 才会搜索并读取其他笔记。
  2. 学习。 当你纠正 Devin、说明某项偏好,或 Devin 自行总结出可复用的经验时,Devin 会编辑相关笔记。每个条目都是一行要点,并附有指向其来源会话的链接:
  3. 保存。 Devin 会提交该编辑,合并你其他会话中的更改,并将结果保存到驱动器。会话中的 Updated memory 卡片会显示具体改动。多个并行会话可以写入同一驱动器:过时的写入会被拒绝并重试,冲突的编辑会被妥善解决,而不会被直接覆盖。
新的记忆仅对之后的会话生效,不会作用于写入这些记忆的当前会话。

Devin 会记住什么

由自动化启动的会话不会读取或写入你的记忆。

Dreaming

Dreaming 是一个后台会话,在你使用 Devin 期间大约每天运行一次。它会对照你现有的记忆回顾你最近的会话,并执行以下操作:
  • 合并内容重叠的笔记
  • 删除临时性细节,以及从未被任何会话使用过的过时笔记
  • 补充原始工作中未记录下来的有用经验
  • 重新整理笔记和 MEMORY.md 索引,以便更轻松地找到所需的上下文
来源链接和明确指定的偏好会被保留。首次 dream 会根据你最近的会话为记忆填充初始内容。

查看和管理Memory

打开 Customize → Memory,即可浏览你的Memory文件,并查看最近的“Dreaming”会话以及每次会话所做的更改。
  • 修改或删除Memory:Memory文件在应用中是只读的。你可以在会话中让 Devin 处理,例如“忘掉我偏好使用 npm”或“记住 staging 部署需要批准”。
  • 关闭Memory:在 Memory 选项卡中,打开 ⋯ 菜单并选择 Turn off personal memory。Devin 将停止读取和写入Memory;现有笔记会被保留,重新开启后仍可使用。

Admin 控制

Memory 默认开启。Admin 可以在两个级别更改此设置: 选择 Always on 或 Always off 时,组织级开关将被锁定。Memory 开启时,每位成员仍可关闭自己的 memory。 某个组织关闭 Memory 后,Devin 不会在该组织的会话中读取或写入 memory,dreaming 也不会运行,并且 Memory 选项卡将被隐藏。已有的笔记不会被删除。

Memory与技能

两者相辅相成:技能提供操作步骤,Memory则提供将这些步骤应用到你的工作中所需的上下文。

开放标准

Devin 的记忆基于 Agent Memory Repo 构建。这是一个开放规范,将 Agent 记忆视为一个 Git 代码仓库:以 MEMORY.md 作为入口文件,每条记录占一行并附带 [source: …; added: …] 元数据,文件之间通过 [[path]] 链接相互引用。你也可以在自己的 Agent 中采用相同的格式。

视频演示

教 Devin 记住一项偏好,在 Customize → Memory 中找到它,然后看新会话如何应用这项偏好