记忆系统
记忆问题
LLM 没有持久化记忆。每次 API 调用都从零开始。Harness 负责给 Agent 制造连续性的错觉 — 理想情况下,是真正的连续性。
AGENTS.md / MEMORY.md 模式
这种基于文件的模式已成为多个 harness 实现的事实标准:
workspace/
├── AGENTS.md # Agent 身份、规则、配置
├── MEMORY.md # 策划后的长期记忆
├── memory/
│ ├── 2026-04-13.md # 今天的原始会话日志
│ ├── 2026-04-12.md # 昨天的日志
│ └── ...
├── TOOLS.md # 工具特定笔记(API 密钥、设备名)
└── SOUL.md # Agent 人格与价值观(可选)
工作原理
- 每次会话开始: Agent 读取 AGENTS.md + MEMORY.md + 最近的日志
- 会话期间: Agent 追加到今天的
memory/YYYY-MM-DD.md - 定期: Agent 回顾每日日志,将洞察提炼到 MEMORY.md
- 结果: MEMORY.md 变成策划后的智慧;每日日志是原始数据
为什么是纯文本?
- 人类可读 — 用户可以检查和编辑 Agent 的记忆
- 版本可控 — 记忆变更在 git 中可追踪
- 可迁移 — 复制文件即可在不同 harness 之间迁移
- 无厂商锁定 — 没有专有数据库格式
记忆所有权
Agent 记忆设计中最关键的问题:
用户拥有(开放)
- 记忆存储为本地文件(MEMORY.md、每日日志)
- 用户可以读取、编辑、删除和导出
- 跨平台可迁移
- 示例: OpenClaw, Nexu
平台拥有(封闭)
- 记忆存储在厂商服务器上
- 不透明格式,无法导出
- 离开平台即丢失
- 示例: Claude 的"记忆"功能, Codex 加密摘要
下一篇:安全与沙箱 →