记忆系统

记忆问题

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 人格与价值观(可选)

工作原理

  1. 每次会话开始: Agent 读取 AGENTS.md + MEMORY.md + 最近的日志
  2. 会话期间: Agent 追加到今天的 memory/YYYY-MM-DD.md
  3. 定期: Agent 回顾每日日志,将洞察提炼到 MEMORY.md
  4. 结果: MEMORY.md 变成策划后的智慧;每日日志是原始数据

为什么是纯文本?

  • 人类可读 — 用户可以检查和编辑 Agent 的记忆
  • 版本可控 — 记忆变更在 git 中可追踪
  • 可迁移 — 复制文件即可在不同 harness 之间迁移
  • 无厂商锁定 — 没有专有数据库格式

记忆所有权

Agent 记忆设计中最关键的问题:

用户拥有(开放)

  • 记忆存储为本地文件(MEMORY.md、每日日志)
  • 用户可以读取、编辑、删除和导出
  • 跨平台可迁移
  • 示例: OpenClaw, Nexu

平台拥有(封闭)

  • 记忆存储在厂商服务器上
  • 不透明格式,无法导出
  • 离开平台即丢失
  • 示例: Claude 的"记忆"功能, Codex 加密摘要

下一篇:安全与沙箱 →