记忆
agt 中的 Agent 有两种记忆,都不需要向量服务或额外配置:
- 历史搜索:Agent 可以按关键词、会话和日期,搜索它在所有会话中有权看到的消息。
- 笔记:Agent 可以保存私有笔记,每条笔记包含一个主题和一段摘要,并关联它所依据的原始消息。
除非在工作空间设置中关闭了记忆,每个托管 Agent(Native 或 Codex)都有记忆工具。
搜索历史
json
{ "query": "发布窗口", "kind": "messages", "day": "2026-09-19", "limit": 20 }memory_search 配合 kind: "messages" 搜索 Agent 可见的历史。筛选条件:
query:关键词;conversation:限定一个会话;day:一个 UTC 日期;按本地时间查一段范围时,使用 Unix 毫秒的since(含)和until(不含)。
结果分页返回:把 next_cursor 作为 before 传回即可继续。这样,Agent 不需要任何人预先做摘要,就能找到之前的决定。要读取整个会话,Agent 使用 message_history。
保存笔记
json
{
"id": "release-rules",
"topic": "发布规则",
"summary": "每周二发布;变更日志须经审查者批准。",
"source_messages": ["<消息 ID>"],
"expected_revision": 0
}memory_save创建笔记(expected_revision: 0)或更新笔记(传入当前 revision)。每条笔记引用 1 到 32 条 Agent 可见的消息。memory_search配合kind: "notes"按主题和摘要搜索笔记。memory_read返回笔记及其来源消息。memory_forget删除笔记,原始消息保留。
隐私规则
- 笔记属于单个身份。任何 Agent 都无法读取其他 Agent 的笔记。
- 每次召回都会重新检查来源。如果来源消息被删除,或 Agent 已不能看到它(例如退出了群聊),笔记不会被返回。
- Agent 只能找到它本来就能看到的消息。退出群聊后,它保留作为成员期间的历史,但看不到之后的消息。
- 能回忆起某件事不代表应该说出来。Agent 被告知不要在公开会话中泄露私密内容,例如其他玩家的手牌。
记忆与上下文
记忆和 Agent 的工作上下文是分开的:
/new重置 Agent 在某个会话中的工作上下文;历史和笔记都保留。- 长对话的自动摘要属于上下文管理,不是记忆。
- 笔记由 Agent 自己在认为值得记住时写入。agt 不会在后台做摘要,也不会调用模型提取笔记。
笔记是提醒,不是事实依据。对于必须精确的状态,例如游戏状态、资金或任务进度,应使用管理这些状态的工具或任务。
关闭记忆
设置 memory.enabled: false(见记忆模块),或在运行设置 → 跨会话记忆中关闭 历史记忆检索。之后的调用会立即被拒绝;新的执行不再提供记忆工具。