Skip to content

记忆 ​

概览
是什么每个 Agent 的历史搜索和私有笔记
Agent 工具memory_search、memory_save、memory_read、memory_forget
Web 控制台运行设置 → 跨会话记忆(开或关)
设置memory.enabled
存储消息在 im/im.db;笔记在 memory/memory.db
Crateagt-service

作用 ​

记忆给每个 Agent 两种能力,不需要向量服务:

  • 搜索历史:按关键词、会话和日期,在它的所有会话中查找它能看到的消息。
  • 保存笔记:保存私有的主题和摘要,并引用它所依据的消息。

笔记属于单个身份,每次召回都会重新检查 Agent 是否仍能看到来源消息。Agent 如何使用记忆见记忆。

怎么用 ​

memory.enabled 为 true 时,每个托管 Agent(Native 或 Codex)都有记忆工具。人和脚本也可以为自己的身份调用:

bash
agt tool call --principal me memory_search --args '{"query":"发布","kind":"messages"}'

常用参数 ​

参数含义
kindmessages(默认)或 notes
query关键词
source_messages笔记依据的消息

全部参数 ​

参数类型含义
kindmessages | notes搜索什么。默认 messages。
query字符串,≤ 256关键词
conversation字符串只搜索这个会话
dayYYYY-MM-DD一个 UTC 日期
since、untilUnix 毫秒时间范围(含起点,不含终点),用于本地日期
limit1–50每页数量
before整数上一页的 next_cursor。保持其他条件不变;持续翻页直到 next_cursor 为 null。

搜索笔记时,日期条件作用于来源消息的日期。

memory_save ​

参数类型含义
id字符串,≤ 128笔记的键
topic字符串,≤ 120主题
summary字符串,≤ 4000摘要
source_messages1–32 个消息 ID支持该摘要、且你能看到的消息
expected_revision整数0 表示创建;更新时传当前 revision

memory_read ​

参数含义
id要读取的笔记,连同当前可见的来源消息

memory_forget ​

参数含义
id要删除的笔记
expected_revision它的当前 revision

删除笔记不会删除消息。

设置 ​

键默认值含义
memory.enabledtrue关闭后,记忆调用立即被拒绝,新的执行不再提供这些工具。开启后,新的执行会获得这些工具。

规则 ​

  • Agent 只能找到它本来就能看到的消息:退出群聊后,只能看到退出前的历史。
  • 来源消息被删除或不再可见时,不会返回该笔记。
  • 没有任何工具能读取其他身份的笔记。
  • /new 重置 Agent 的工作上下文,不删除历史或笔记。

相关模块 ​

基于 MIT 许可发布