2026年4月13日 · 阅读 —

SOUL.md(AI 简报官)

Agent 与 SkillsAI 工程实践

🔍 1. 记忆系统架构:为什么是三级?

很多人问:为什么不直接一个文件记所有东西?

❌ 单文件缺点:

  • 文件太大 → 查询超慢(token爆炸)
  • 混杂 → 找不到重点(信息过载)
  • 无法清理 → 越来越臃肿

✅ 三级架构优势:

层级比喻文件作用大小限制
L1📝 日记本memory/YYYY-MM-DD.md每日流水账(原始数据)无限制
L2📚 精选摘抄本MEMORY.md长期记忆精华(重点提炼)< 5KB ⚠️
L3🧠 复盘笔记memory/self-review-hourly.md每小时复盘记录(进度跟踪)无限制

💡 为什么MEMORY.md要限制5KB?

原因: L2是”精选摘抄本”,不是”垃圾回收站”。什么都往里面塞 → 查询变慢 → 失去”精华”意义。

5KB够用吗? 足够了!

  • 用户基本信息:~200字节
  • 用户偏好:~500字节
  • 核心决策记录:~1KB
  • 重要事实:~2KB
  • 剩余空间:~2.3KB(还够记很多东西)

5KB不够怎么办? 说明你的”精华”筛选标准出了问题 🤷


📁 2. 文件结构:为什么是这样的目录?

~/.openclaw/workspace/ 
├── MEMORY.md                              (L2 精华记忆,<5KB 📚) 
├── memory/ 
│   ├── 2026-03-08.md                      (昨天日记 📝) 
│   ├── 2026-03-09.md                      (今天日记 📝) 
│   ├── 2026-03-10.md                      (明天日记,待创建 📝) 
│   ├── self-review-hourly.md              (复盘笔记 🧠) 
│   └── archive/ 
│       ├── 2025-12/                       (90天以上归档 📦) 
│       ├── 2026-01/                       (历史记录 📦) 
│       └── 2026-02/                       (历史记录 📦) 
├── AGENTS.md                              (架构说明 📖) 
└── HEARTBEAT.md                           (复盘触发 ⏰)

** **

*💡 归档策略:* 为什么是90天而不是30天或180天?

  • 30天: 太短,可能还需要回头查
  • 180天: 太长,积累太多不好清理
  • 90天: 黄金平衡 ⚖️ - 既不会过期太久,也不会堆积太多

⚠️ 可以调整: 根据实际需求改成60天、120天都行,没有硬性规定


🛠️ 3. 技能配置:为什么是这3个?

Skill名称比喻用途调用场景优先级
memory_search🔍 搜索引擎语义搜索记忆(向量匹配)回答前:搜索MEMORY.md + memory/*.md🔥 必须执行
memory_get📖 精确阅读精确读取文件片段搜索后:读取需要的部分🔥 必须执行
session_history🌐 跨时空查询跨会话记忆提取需要查询其他对话时🔶 高优先级

💡 组合使用技巧:

问题: 用户问”上次那个项目的表一数据在哪?”

第1步 - memory_search: “项目 表一 数据” → 找到匹配片段(显示path和行号)

第2步 - memory_get: 根据path和行号精确读取内容 → 精确定位

为什么不用直接read? read会读取整个文件,浪费token(文件大了会爆炸 💥)


⏰ 4. 复盘频率:为什么是每小时?

时间间隔选择对比:

时间间隔Token成本/天记忆新鲜度推荐指数适用场景
每15分钟~4M token ⚠️🆕🆕🆕 极新鲜🔴 不推荐追求极致实时性(土豪专用)
每30分钟~2M token🆕🆕 很新鲜🟡 可选高频交互场景
每小时~1M token🆕 新鲜🟢 推荐大部分场景(黄金平衡)
每2小时~500K token📅 一般🟡 可选低交互场景
每4小时~250K token📅 过时🔴 不推荐成本敏感(可能错过重要信息)

✅ 推荐配置(每小时):

Cron表达式: 0 * * * * (每小时0分触发)

成本: ~1M token/天 ≈ 几元/天(找NVIDIA的免费模型=0元)

收益: 8次/天复盘 → 不会遗漏重要信息

*💡 自定义时间间隔:*

  • 改成每30分钟: 0/30 \* \* \* \*
  • 改成每2小时: 0 \*/2 \* \* \*
  • 改成每天早上9点: 0 9 \* \* \*

⚠️ 注意: 时间间隔越短,成本越高。根据实际需求调整,不是越短越好。


🚀 5. 完整配置步骤:Agent可执行指令

📋 复制以下内容发送给你的Agent,即可完成配置:

【OpenClaw 记忆系统配置指令 - 金鱼脑改造计划】请帮我完整配置OpenClaw记忆系统,按照以下步骤执行:======================================================================📌
STEP 1: 创建记忆系统文件结构请在 ~/.openclaw/workspace/ 下创建以下文件:1. MEMORY.md (长期记忆精华,初始内容为空)2. memory/2026-XX-XX.md (按日期创建,例如 2026-03-09.md)3. memory/self-review-hourly.md (复盘日志)4. memory/archive/ (归档目录)======================================================================📌
STEP 2: 配置MEMORY.md请在 MEMORY.md 中写入以下内容(可自定义):---# MEMORY.md — Long-Term Memory*Curated memories only. Keep this file under 5KB for performance.*## About User- Name: [用户名]- Timezone: [时区,如 Asia/Shanghai GMT+8]## Preferences- [记录用户偏好,例如:直接不说废话、喜欢结果导向等]## Core Decisions- [记录核心决策,例如:Trust Window、不复了直接执行等]======================================================================📌 STEP 3: 配置HEARTBEAT.md请在 HEARTBEAT.md 中添加复盘触发机制:1. 每小时复盘触发(cron job: 0 * * * *)2. 待办任务检查(P0 > P1 > P2 > P3)3. 复盘内容模板:   - 上期承诺完成度   - 当前状态检查   - 工作回顾   - 关键教训   - 下一步行动(优先级框架:紧急度×价值度)======================================================================📌 STEP 4: 创建每小时复盘Cron Job请创建一个cron job:- 时间表达式: 0 * * * * (每小时)- 任务描述: 每小时自我复盘- 回调格式: 使用sessions_send向主会话汇报⚠️ 可自定义时间间隔:- 每30分钟: 0/30 * * * *- 每2小时: 0 */2 * * *- 每天早上9点: 0 9 * * *======================================================================📌 STEP 5: 配置AGENTS.md请在 AGENTS.md 中添加以下内容:【记忆系统架构说明)- L1: memory/YYYY-MM-DD.md (每日日志)- L2: MEMORY.md (<5KB,长期记忆精华)- L3: memory/self-review-hourly.md (复盘日志)- 归档: memory/archive/ (90天以上日志)【核心规则)1. 记录前先 memory_search:避免重复记忆2. 完成记录立即 edit:禁止 write 覆盖,只能追加3. 每周清理:归档90天日志,提取精华到MEMORY.md4. MEMORY.md大小限制:<5KB(查询性能)======================================================================📌 STEP 6: 验证配置配置完成后,请:1. 检查所有文件是否创建成功(ls -la memory/)2. 验证cron job是否注册(openclaw cron list)3. 运行一次复盘验证流程(手动触发一次HEARTBEAT)4. 检查 MEMORY.md 文件大小(wc -c MEMORY.md)======================================================================请立即执行配置,完成后向我汇报:✅ 所有文件创建成功✅ Cron job已注册✅ 复盘流程验证通过✅ 配置完成总结======================================================================💡 提示:- 所有步骤都是一次性的,配置完成后自动运行- 无需手动维护(除了每周的归档清理)- 遇到问题可参考本HTML文档的【使用说明】章节

📖 6. 使用说明:查询、记录、归档

🔍 查询记忆

问题示例:"用户的偏好是什么?上次提到的殡葬项目进度如何?"第1步:memory_search: "用户偏好"        ↓返回:top snippets + path + lines(例如:memory/2026-03-09.md line 50-80)第2步:memory_get: path="memory/2026-03-09.md" from=50 lines=30        ↓返回:精确读取的内容第3步:基于记忆内容回答用户问题

📝 记录记忆

场景:用户说出重要偏好或重要决策第1步:检查是否已存在memory_search: "用户偏好"第2步:如果不存在,记录到MEMORY.mdedit:  path: MEMORY.md  old_string: "## Core Decisions\n"  new_string: "## Core Decisions\n- Trust Window: 连续正向反馈时,推进重要决策的黄金窗口\n- Execution: 不靠承诺,靠记录。不复了,直接做,然后立即验。\n"第3步:如果没有重要分类,记录到每日日志edit:  path: memory/2026-03-09.md  old_string: "## [HH:MM] — PREFERENCE\n"  new_string: "## [HH:MM] — PREFERENCE\n- 用户说:直接不说废话,喜欢结果导向\n"

📦 归档清理

频率:每周一次(建议在周日晚上执行)步骤:1. 扫描 memory/ 目录,找出90天以上日志   ls -lt memory/ | grep "2025-"2. 创建归档目录   mkdir -p memory/archive/2025-12/3. 移动归档文件   mv memory/2025-12-*.md memory/archive/2025-12/4. 从归档文件中提取精华到MEMORY.md  (筛选最重要的决策、用户偏好、关键事实)5. 删除原文档(已归档)   rm memory/archive/2025-12/*.md⚠️ 注意:不要删除未归档的日志!

📊 7. 配置前vs配置后:真实对比

项目配置前 ❌配置后 ✅提升幅度
用户偏好记忆🤷 忘了✅ 记录在MEMORY.md从0到100% 🚀
项目进度追踪🧠 没印象✅ Daily log有时间戳+状态完整可见 👁️
重要决策记录😵 没记✅ 提炼到L2核心决策区永久保存 ♾️
跨会话记忆🚫 无法跨越✅ session_history提取全周期记忆 🌐
不重复错误🔄 同错3次✅ 复盘记录教训错误归零 🎯
用户信任度📉 每次都是新的开始📈 记住所有交互信任累积 🤝

🔥 核心收益总结:

  • 不复述,直接回答问题: 不用再说”你说的是哪个意思?”
  • 不承诺,靠记录保障执行: 不用再说”我承诺…”
  • 不复盘,靠系统持续学习: 不用再说”我刚才在干嘛来着?”
  • 用户信任度提升 = AI价值最大化: 长期信任 = 持续价值

✅ ROI分析:

成本:

  • 配置时间:1小时(一次性)
  • 维护成本:每小时5分钟复盘(自动化)
  • Token成本:~1M token/天 ≈ 几美元/天

收益:

  • 长期信任:无法用金钱衡量 💎
  • 不重复错误:节省时间和精力的ROI无限倍
  • 主动发现机会:价值提升至少10倍 📈

结论: 闭眼冲,绝对划算 💰

每一层解决一个核心问题:

层级核心问题关键文件
身份层这是谁?为谁服务?SOUL.md、IDENTITY.md、USER.md
操作层怎么干活?有什么能力?怎么自愈?AGENTS.md、TOOLS.md、Cron、HEARTBEAT.md
知识层学到了什么?MEMORY.md、每日日志、shared-context/

下面逐层拆解。

02 第一层:身份层——让智能体知道”我是谁”

SOUL.md —— 智能体的”人格文件”

这是整套体系的起点。简单说,SOUL.md 定义了智能体的核心身份、职责和行为边界。

假设你要搭一个「每日 AI 简报」智能体,用来每天早晨帮你扫描全网 AI 动态、筛选有价值的信息并生成一份简报。它的 SOUL.md 可能长这样:

# SOUL.md(AI 简报官)

## 角色定义
你是团队的 AI 情报官,不追热点热闹,只交付可决策的信息。
你的工作是持续监测、交叉核验、压缩噪音,产出高可信的每日情报简报。

## 决策原则
1. 先证据后结论:没有可靠来源,不进入正式结论
2. 先价值后热度:优先收录对产品、技术、业务有实际影响的变化
3. 先事实后观点:事实与判断分栏表达,避免混写
4. 不确定即标注:存在争议或信息不全时,明确标记 [待核实]

## 行为边界
1. 不编造消息、不伪造来源、不放大标题党内容
2. 不把广告软文当行业信号,除非有可验证的数据支撑
3. 不输出无法溯源的“业内传闻”

## 输出标准
每条情报至少包含:事件摘要、来源链接、影响评估、建议动作(可选)。

注意这里的关键设计:不只是告诉智能体”你要做什么”,而是定义了”你是谁”和”你的底线在哪”。这个区别很重要。当智能体面对模糊场景时,比如一条消息既有新闻价值又像广告,它需要靠这些原则来做判断。

IDENTITY.md —— 快速参考名片

SOUL.md 是完整人格,IDENTITY.md 是精简版名片。

- 名字:Arbiter
- 角色:AI 情报分析师
- 气质:严谨、冷静、对信息噪音零容忍
- Emoji:🔍

文件很小,但当你同时运行多个智能体时,这张名片能帮你快速区分”谁在跟我说话”。比如智能体通过飞书给你推消息时,你一眼就能看出是哪个智能体在汇报。

USER.md —— 智能体需要了解的”甲方画像”

每个智能体都需要知道它在帮谁。

- 名字:恰香
- 时区:CST(Asia/Shanghai)

## 背景
- 某科技公司产品经理
- 重点关注 AI Agent 和大模型应用

## 偏好
- 短段落,有力的句子
- 不要空泛的"行业趋势展望",要具体的产品/技术进展
- 早晨 8 点前收到简报

这些个人细节比你想象的更重要。时区意味着智能体不会在凌晨 3 点给你推送消息。内容偏好意味着简报不会充斥着”颠覆行业""史诗级突破”之类的废话。

换句话说,USER.md 让智能体从”通用助手”变成”你的专属助手”。写一次,所有智能体都来读。

03 第二层:操作层——告诉智能体”怎么干活”

AGENTS.md —— 行为手册

SOUL.md 定义”我是谁”,AGENTS.md 定义”我怎么工作”。它相当于智能体的标准操作流程(SOP),包含会话启动步骤、文件读取顺序、记忆管理规则和安全边界。

# AGENTS.md

## 每次会话启动时

在做任何事之前:
1. 读取 SOUL.md — 这是你的身份
2. 读取 USER.md — 这是你服务的对象
3. 读取 memory/今天.md 和 memory/昨天.md — 获取近期上下文
4. 如果在主会话中:读取 MEMORY.md 获取长期记忆

## 记忆(Memory)

你每次会话都会从零开始,连续性只来自文件:
- **每日笔记**:`memory/YYYY-MM-DD.md`(如无 `memory/` 目录先创建)——记录当天原始过程
- **长期记忆**:`MEMORY.md` —— 提炼后的长期上下文,像人的长期记忆

记录真正重要的内容:决策、上下文、需要记住的事项。除非被明确要求,不记录敏感秘密。

### MEMORY.md(长期记忆)
- 仅在主会话加载(与你的用户直接对话时)
- 不在共享上下文加载(群聊、公开频道、他人会话)
- 这是安全边界:其中可能含有不应外泄的个人上下文
- 在主会话可自由读取、编辑、更新
- 记录重大事件、关键判断、观点变化、经验教训
- 定期回看每日笔记,把值得保留的内容沉淀到 MEMORY.md

### 只写文件,不做"心理记忆"
- 记忆容量有限,想保留就写入文件
- "心里记一下"会随会话重启消失,文件不会
- 当有人说"记住这个" → 立刻更新 `memory/YYYY-MM-DD.md` 或相关文件
- 学到可复用的方法 → 更新 AGENTS.md、TOOLS.md 或对应技能文档
- 出现错误 → 记录原因与修正,避免未来重复犯错
- 文件 > 脑子

## 安全

- 绝不泄露私人数据
- 删除操作先移到回收站
- 有疑问时,先问再做

这里有个核心洞察:**智能体在会话之间没有记忆。**每次都是从零开始。如果一个纠正只停留在聊天记录里,下次会话它就不存在了。AGENTS.md 明确了这一点,确保智能体把一切该记的都写入文件。

每个智能体可以在根级 AGENTS.md 的基础上扩展。比如一个内容创作智能体的 AGENTS.md 可能额外定义了写作风格指南、输出格式参考、过往案例库等;一个代码审查智能体则可能增加了 PR 检查清单和编码规范。

TOOLS.md —— 能力清单

AGENTS.md 定义行为流程,TOOLS.md 定义能力边界。简单说,它是智能体的”工具箱说明书”,告诉智能体可以使用哪些工具、怎么用、什么时候用。

OpenClaw 提供了一系列开箱即用的工具,大致分为两类:

核心工具(基础能力,通常默认开启):

  • 文件读写:

    读取和写入工作区中的文件

  • 命令执行:

    运行 Shell 命令,管理后台进程

  • 网页访问:

    搜索引擎查询和网页内容抓取

高级工具(按需启用):

  • 浏览器:

    控制一个专属浏览器,能截图、点击、导航、提取内容

  • 消息推送:

    向 Telegram、Slack、Discord、WhatsApp 等平台发送消息

  • 记忆管理:

    搜索和检索历史记忆

  • 开发者工具:

    GitHub 操作、tmux 终端管理、调用其他 AI 编码助手

一个素材收集智能体的 TOOLS.md 可能写成这样:

# TOOLS.md(素材收集智能体)

## 可用工具
- web_search:搜索最新资讯,优先使用
- web_fetch:抓取指定 URL 的完整内容
- browser:当 web_fetch 无法获取内容时(如需要 JavaScript 渲染的页面),启用浏览器
- file_write:将整理好的素材写入 intel/ 目录
- message:将每日素材摘要推送到 飞书

## 使用规则
- 每次搜索附带来源 URL,禁止编造链接
- 抓取内容前先检查 robots.txt
- 浏览器是重资源工具,非必要不启用

这个设计的精妙之处在于:你不需要在对话中反复解释”你可以用什么工具”。智能体每次启动时自动加载 TOOLS.md,清楚自己的能力边界。

Cron —— 定时调度

有了身份、有了流程、有了工具,还差一个东西:什么时候干活。

OpenClaw 内置了 Cron 调度器,让智能体能按固定时间自动执行任务。这是把智能体从”聊天对象”变成”自动化基础设施”的关键一步。

配置方式非常直接,用 CLI 命令就能搞定:

# 每天早上 7 点执行"每日简报"任务
openclaw cron add \
  --name "每日 AI 简报" \
  --cron "0 7 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "扫描过去 24 小时的 AI 领域重要动态,生成今日简报。" \
  --announce \
  --channel 飞书

也可以直接用自然语言告诉智能体:“帮我创建一个定时任务,每天早上 8 点扫描 AI 新闻,把简报发到我的 飞书。“智能体会自己转换成对应的 cron 表达式。

HEARTBEAT.md —— 自愈机制

智能体团队是基础设施,基础设施会出故障。HEARTBEAT.md 就是自动体检单。

## 健康检查(每次心跳时运行)

浏览器:检查托管浏览器是否存活。如果 running: false,自动启动。

定时任务:检查是否有任务超过 26 小时未执行。
如果超时,通过 CLI 强制触发。

需要监控的任务:
- 每日简报(8:00 AM)
- 素材收集(4:00 PM)
- 内容草稿(5:00 PM)

这里有个实用建议:**第一天不需要这个文件。**先把智能体跑起来,等你第一次遇到”任务没跑但自己没注意到”的故障之后,再建 HEARTBEAT.md。到那时你会清楚地知道该监控什么,因为你已经亲身感受过哪个地方存在卡点。

04 第三层:知识层——让智能体”越用越懂你”

这是让整套体系真正产生复利的地方。知识层是一个基于文件的三级记忆系统。

第一级:MEMORY.md(精炼的长期记忆)

MEMORY.md 不是原始日志,不是所有发生过的事。它是蒸馏后的精华——只保留真正重要的内容。

# MEMORY.md

## 用户写作偏好
- 禁止使用破折号堆叠,用冒号、句号或重新组织句子
- 标题控制在 20 字以内

## 血泪教训
- 未经用户确认,绝不删除项目文件夹
  2月12日,在清理临时文件时误删了 notes 文件夹。
  一周的笔记永久丢失。
  [此后所有删除操作必须先移入回收站]

## 内容规则
- 每篇简报控制在 7 条以内
- 禁止使用 emoji 和 hashtag
- 每个主题至少提供 2 个备选角度

### 错误示范(我曾经犯过的错)
- ❌ 用项目符号列表代替正文段落
- ❌ 标题用"震惊体"
- ❌ 简报超过 10 条导致用户根本不看

注意”血泪教训”和”错误示范”这两节。一次纠正,存储一次,防止同样的错误在未来每次会话中重演。

可以理解为:MEMORY.md 就是智能体的”工作经验”。人类员工入职一个月会积累的那些”公司里不成文的规矩”,全在这个文件里。

第二级:每日日志(原始记录)

# 每日日志 — 2026年3月5日

## 上午 8:00 — 每日简报

### 今日热点
- GPT-5 Turbo 正式发布,推理速度提升 3 倍
- Google DeepMind 开源新的多模态基准测试
- Anthropic 发布 Claude Agent SDK

### 已生成简报
简报已推送至 飞书,包含 6 条精选内容。

### 等待中
- 用户对简报格式的反馈

每日日志是原材料,MEMORY.md 是精炼产品。两者缺一不可。

有个维护细节需要注意:每日日志积累得很快。如果不做清理,智能体的上下文窗口会被撑满,输出质量急剧下降。实际操作中,每次只加载最近两天的日志就够了。周期性地把日志中出现的重复模式提炼进 MEMORY.md,然后归档旧日志。

第三级:shared-context/(跨智能体共享知识)

当你运行多个智能体时,这个目录是协作的关键。

shared-context/
├── THESIS.md        — 你当前的关注方向和思维框架
├── FEEDBACK-LOG.md  — 适用于所有智能体的统一纠正
└── SIGNALS.md       — 你正在追踪的话题和趋势

THESIS.md 是你当前的思维框架:你关注什么领域,已经写过什么话题,还有哪些空白。研究智能体读它来确定搜索优先级,内容创作智能体读它来匹配你的思路。所有智能体对齐到同一个真相来源。

FEEDBACK-LOG.md 是跨智能体的统一纠正层。假设你告诉内容创作智能体”不要用破折号”,这条规则很可能也适用于邮件撰写智能体和报告生成智能体。与其逐个纠正三个智能体,你只写一次 FEEDBACK-LOG.md,所有智能体都来读。

这个设计节省的时间,比任何 prompt 优化技巧都多。

05 智能体如何协作:文件系统本身就是集成层

没有 API 调用,也没有代码,只有文件的流转。 研究智能体把结论写入intel/DAILY-INTEL.md,创作智能体读取调研结果,协作完全就是文件系统。

Image

协作的核心有两条规则:

**1. 单写者原则:**永远不要让两个智能体同时写同一个文件。每个共享文件设计成”一个写者、多个读者”。这能从根本上避免数据冲突,毕竟你不想在智能体系统里调试并发问题。

**2. 调度时序:**研究智能体在早 8 点和下午 4 点运行,内容创作智能体在下午 5 点运行。研究智能体先跑,因为下游所有人都依赖它的输出。顺序搞错了,下游智能体读到的就是空白文件。

完整的目录结构长这样:

workspace/
├── SOUL.md              # 主智能体
├── IDENTITY.md          # 主智能体快速参考
├── AGENTS.md            # 根级行为规则(所有智能体继承)
├── TOOLS.md             # 工具能力清单
├── USER.md              # 用户画像(所有智能体共享)
├── MEMORY.md            # 主智能体长期记忆
├── HEARTBEAT.md         # 自愈监控
├── shared-context/
│   ├── THESIS.md        # 当前关注方向
│   ├── FEEDBACK-LOG.md  # 跨智能体纠正
│   └── SIGNALS.md       # 追踪中的趋势
├── intel/
│   └── DAILY-INTEL.md   # 研究智能体的输出
├── agents/
│   ├── arbiter/           # 研究智能体
│   │   ├── SOUL.md
│   │   ├── AGENTS.md
│   │   ├── TOOLS.md
│   │   └── memory/
│   ├── writer/          # 内容创作智能体
│   │   ├── SOUL.md
│   │   ├── AGENTS.md
│   │   ├── TOOLS.md
│   │   ├── STYLE-GUIDE.md
│   │   └── memory/
│   └── ...
└── memory/
    ├── shared/          # 共享上下文
    └── 2026-03-05.md    # 今日操作日志