训龙虾——打造你的 AI 分身

上一篇聊完养龙虾。

身份录入了,技能装好了。

你的龙虾已经能干活了。

但还有一个问题——

每次对话,它都像第一次见面。

你说过的话,它不记得。

你交代过的偏好,它下次还问。

明明用一个 AI 用了 40 天,它还是那个刚出厂的样子。

智能体不会因为你用得更久而变聪明,但它周围的文件会变得更丰富、更精准。

今天这篇,解决的就是这个问题。


为什么你的 AI 总是”失忆”

先问一个问题:

第1天和第40天,用同一个模型,区别在哪?

答案是:区别在于一堆每周都在变丰富的 Markdown 文件。

模型还是那个模型。

但你给它读的文件,变厚了。

变精准了。

更贴合你的需求了。

这就是 OpenClaw 的核心设计——

文件系统本身就是集成层。

AI 不需要”记住”一切。

它只需要在你开口时,读到正确的文件。


三层文件架构

OpenClaw 的文件架构分三层:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
┌─────────────────────────────────────────┐
│ 第一层:身份层 │
│ SOUL.md | IDENTITY.md | USER.md │
│ → 定义"我是谁"
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│ 第二层:操作层 │
│ AGENTS.md | HEARTBEAT.md | 角色专属指南 │
│ → 定义"怎么干活" │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│ 第三层:知识层 │
│ MEMORY.md | 每日日志 | shared-context/ │
│ → 定义"记住什么"
└─────────────────────────────────────────┘

上一篇,我们填了身份层。

今天,重点聊聊操作层和知识层。


第一层:身份层(回顾)

上一篇已经讲过,简单复习一下:

文件 定义什么
SOUL.md AI 的灵魂——价值观、行为准则
IDENTITY.md AI 的身份证——名字、emoji、头像
USER.md 用户档案——你是谁、偏好什么

这三个文件,决定了 AI 的”人设”。

但光有人设不够。

你还需要告诉它:每天醒来先干什么


第二层:操作层

这是让 AI “会干活”的关键。

AGENTS.md:工作指南

AGENTS.md 是 AI 每次启动时首先读取的文件。

它定义了:

  • 每天要做哪些检查
  • 工作流程是什么
  • 有什么必须遵守的规则

一个简单的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
# AGENTS.md

## 每日启动流程

1. 读取 MEMORY.md,回顾重要事项
2. 检查 HEARTBEAT.md,看看有没有定时任务
3. 检查昨天的日志,处理未完成事项

## 工作规则

- 不主动发消息打扰用户
- 做完事后记录到日志
- 遇到不确定的事,先问

这个文件决定了 AI 的”工作习惯”。

认真写。

HEARTBEAT.md:自愈机制

HEARTBEAT.md 是一个定时检查清单

OpenClaw 会定期读取这个文件,执行里面的检查项。

比如:

1
2
3
4
5
6
7
# HEARTBEAT.md

## 定时检查

- 检查浏览器是否还在运行
- 检查定时任务是否正常
- 检查有没有未处理的消息

这就像给 AI 装了一个”心跳检测”。

出了问题,它能自己发现、自己处理。

角色专属指南:一人一岗

如果你有多个智能体,每个都可以有自己的专属指南。

比如:

  • research-agent.md — 研究智能体的工作流程
  • gzh-agent.md — 公众号智能体的发布规范
  • xhs-agent.md — 小红书智能体的内容风格

这些文件定义了不同角色的”岗位说明书”。

怎么让 Agent 加载专属指南?

OpenClaw 用 Skill 机制来加载角色专属指南。

每个智能体启动时,会自动扫描 skills/ 目录下的 .md 文件。

只要文件的 description 写对了,就会被识别并加载。

一个示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
---
name: gzh-agent
description: 公众号内容发布智能体。负责排版、发布、数据追踪。
触发场景:公众号相关任务。
---

# 公众号 Agent 工作指南

## 发布前检查

- 标题不超过 20 字
- 开头要有钩子
- 结尾要有行动召唤

## 排版规范

- 每 3-4 行换段
- 关键词加粗
- 金句用引用框

加载逻辑

  1. Agent 启动时扫描 skills/ 目录
  2. 读取所有 .md 文件的 YAML 元数据
  3. 根据 description 判断是否相关
  4. 相关则加载正文,不相关则跳过

多 Agent 场景

你有三个 Agent:研究、公众号、小红书。

1
2
3
4
5
workspace/
├── skills/
│ ├── research-agent.md → 研究智能体专属
│ ├── gzh-agent.md → 公众号智能体专属
│ └── xhs-agent.md → 小红书智能体专属

每个 Agent 启动时,只加载和自己相关的 Skill。

怎么判断相关?

方法一:关键词匹配

description 里写清楚触发词:

1
description: 公众号智能体。触发词:公众号、文章、发布、排版。

方法二:工作区隔离

给不同 Agent 配置不同的工作区:

1
2
3
/workspace-research/   → 研究智能体的工作区
/workspace-gzh/ → 公众号智能体的工作区
/workspace-xhs/ → 小红书智能体的工作区

每个工作区只放自己需要的 Skill 文件。

Agent 只会读到属于它的指南。


第三层:知识层

这是让 AI “有记忆”的核心。

MEMORY.md:精华记忆

MEMORY.md 存的是值得长期记住的事

不是流水账。

经过提炼的重要信息:

  • 关键决策和原因
  • 用户的核心偏好
  • 项目的重要背景
  • 学到的教训

一个示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# MEMORY.md

## 用户偏好

- 沟通风格:简洁直接,不废话
- 工作时间:早8点到晚11点
- 不喜欢:AI 味的词汇、套话

## 重要项目

- OpenClaw 进阶之路系列
- 已发布:系列一(养龙虾)
- 进行中:系列二(训龙虾)

## 关键决策

- 2026-03-01:决定用公众号作为主阵地
- 原因:读者群体匹配,排版友好

写作原则

  • 只写值得记住的事
  • 定期清理过期内容
  • 保持精简,不要变成流水账

每日日志:原始记录

每日日志存在 memory/ 目录下,按日期命名:

1
2
3
4
memory/
├── 2026-03-06.md
├── 2026-03-05.md
├── 2026-03-04.md

它记录的是当天发生了什么

  • 和 AI 讨论了什么
  • 做了哪些决定
  • 有什么临时想法

这些原始记录,供日后回溯。

不需要精雕细琢,记录下来就行。

自动化记忆系统:让 Agent 自己记账

你不需要每天手动写日志。

Agent 可以自动帮你记。

配置方式

AGENTS.md 里加入这段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# AGENTS.md

## 每次对话结束时

1. 将本次对话的关键内容追加到 `memory/YYYY-MM-DD.md`
2. 格式:
- 讨论了什么
- 做了什么决定
- 有什么待办

## 写入规则

- 不要写流水账,提炼要点
- 用简洁的列表格式
- 如果当天文件已存在,追加;不存在,新建

Agent 在每次对话结束时会读取这段指令,自动执行。

定期提炼到 MEMORY.md

HEARTBEAT.md 里配置定时任务:

1
2
3
4
5
6
7
8
9
10
11
12
# HEARTBEAT.md

## 每周日晚 22:00

1. 读取最近 7 天的日志
2. 识别以下内容:
- 重复出现 3 次以上的偏好
- 重要决策及原因
- 学到的教训
- 项目关键进展
3. 提议更新 MEMORY.md
4. 用户确认后写入

触发词方式

也可以在 AGENTS.md 里定义触发词:

1
2
3
4
5
6
7
## 记忆提炼

当用户说"提炼记忆"或"回顾近期"时:

1. 读取最近 7 天日志
2. 提炼精华
3. 提议更新 MEMORY.md

什么值得写进 MEMORY.md

建议定义一个标准:

写入 不写入
用户明确说”记住这个” 临时任务(已完成)
同一事项出现 3 次以上 日常琐事
重大决策及原因 还不确定的想法
用户偏好、项目背景

这样配置后,整个流程是:

1
2
3
4
5
每天对话 → Agent 自动追加日志

每周日(或手动触发)→ 提炼精华

用户确认 → 写入 MEMORY.md

你只负责最后一步:确认要不要记。

shared-context/:跨智能体共享

如果你有多个智能体协同工作,需要一个共享知识库。

shared-context/ 目录就是干这个的。

里面可以放:

  • THESIS.md — 共同的世界观、品牌调性
  • FEEDBACK-LOG.md — 跨智能体的纠正记录
  • DAILY-INTEL.md — 每日情报汇总
  • STYLE-GUIDE.md — 统一的写作风格指南

多 Agent 读取机制

共享知识库的关键问题:多个 Agent 同时读,会不会打架?

答案是:读不会打架,写才会。

读取是并行的——多个 Agent 可以同时读同一个文件,互不影响。

1
2
3
4
5
Agent A ──┐
├──→ DAILY-INTEL.md(同时读取)
Agent B ──┤

Agent C ──┘

防污染设计:单写者原则

写入是串行的——同一时间,只能有一个 Agent 写入。

这就是单写者原则

每个共享文件,只有一个”拥有者”负责写入,其他 Agent 只读。

一个具体设计:

1
2
3
4
5
6
shared-context/
├── DAILY-INTEL.md → 写者:研究智能体
├── GZH-QUEUE.md → 写者:公众号智能体
├── XHS-QUEUE.md → 写者:小红书智能体
├── FEEDBACK-LOG.md → 写者:主 Agent(人工审核后写入)
└── STYLE-GUIDE.md → 写者:人工(不自动写入)

每个文件旁边标注”谁是写者”。

Agent 启动时,知道自己对哪些文件有写权限。

冲突怎么办?

如果两个 Agent 都想写同一个文件?

加锁。

OpenClaw 支持 .lock 文件机制:

1
2
DAILY-INTEL.md
DAILY-INTEL.md.lock ← Agent A 写入时创建

其他 Agent 看到 .lock 文件,就知道有人在写,等待或跳过。

推荐实践

  • 共享文件尽量只读,由人工定期更新
  • 需要自动写入的,明确标注写者
  • 高频写入的场景,用队列文件(每个 Agent 写自己的队列文件)
1
2
3
4
5
6
7
# 不推荐:多个 Agent 写同一个文件
DAILY-INTEL.md ← 研究Agent、新闻Agent 都写 ❌

# 推荐:每个 Agent 写自己的队列
research-queue.md ← 研究Agent 写 ✅
news-queue.md ← 新闻Agent 写 ✅
主Agent 合并读取

记忆系统的设计原则

原则一:分级存储

不同类型的信息,放不同的地方:

信息类型 存放位置 特点
长期精华 MEMORY.md 人工整理,长期有效
原始记录 每日日志 自动记录,供回溯
团队共享 shared-context/ 跨 Agent 协作

原则二:单写者原则

共享文件,一个写者,多个读者

为什么?

避免冲突。

如果两个智能体同时写同一个文件,会出问题。

一个写,多个读,简单清晰。


Heartbeat:让 Agent 自愈

再聊聊 Heartbeat,这是个被低估的功能。

什么是 Heartbeat

Heartbeat 是一个定时触发的机制。

OpenClaw 会定期读取 HEARTBEAT.md,执行里面的检查项。

就像人的心跳——

定期检查,发现问题,及时处理。

怎么配置

HEARTBEAT.md 里写入检查项:

1
2
3
4
5
6
7
8
9
10
11
# HEARTBEAT.md

## 每4小时检查

- 浏览器进程是否正常
- 定时任务是否还在运行

## 每天检查

- 有没有未读的重要邮件
- 日程表有没有即将到来的事项

OpenClaw 会按照配置的频率,自动执行这些检查。

为什么重要

AI Agent 最大的问题之一:它不会主动”想起”事情

你不说,它不做。

Heartbeat 解决的就是这个问题。

让 AI 定期主动检查,而不是等你说。


实战案例:智能体协作

说个真实场景。

你是一个内容创作者,有三个智能体帮你干活:

  • 研究员 — 每天抓取行业资讯,整理情报
  • 公众号运营 — 负责公众号的排版、发布、数据追踪
  • 小红书运营 — 负责小红书的图文内容、话题蹭热点

它们怎么协作?

先看流程图:

1
2
3
4
5
6
7
8
研究员

↓ 写入
DAILY-INTEL.md(每日情报汇总)

├─→ 公众号运营 读取 → 生成公众号文章

└─→ 小红书运营 读取 → 生成小红书图文

研究员每天整理情报,写入 DAILY-INTEL.md

公众号运营和小红书运营各自读取这个文件,生成适合自己平台的内容。

关键设计:单写者原则

DAILY-INTEL.md 的写者只有一个:研究员。

公众号运营和小红书运营只读,不写。

这样就不会出现”两个人同时改一个文件”的冲突。

内容适配

同一个情报源,不同平台要适配不同风格:

平台 内容特点 研究员的输出
公众号 深度、结构化、有观点 研究员提供完整背景、数据、分析框架
小红书 轻快、有图、有话题 研究员提炼金句、关键词、适合做图的要点

研究员在 DAILY-INTEL.md 里同时提供两种格式的素材:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 每日情报 2026-03-06

## 公众号素材

- 完整事件背景
- 数据支撑
- 分析框架
- 延伸阅读链接

## 小红书素材

- 3-5 个金句
- 核心关键词
- 适合做图的要点
- 推荐话题标签

公众号运营和小红书运营各取所需。

实际收益

这单一改变节省的时间,比我做过的任何 prompt 优化都多。

以前:每个平台都要从头写。

现在:研究员产出一次,两个平台各取所需。

进阶:加一个主理人

如果你想更省心,可以加一个”主理人”智能体:

  • 协调研究员和各平台运营
  • 审核内容质量
  • 统一风格把控
1
2
3
4
5
6
7
主理人

├──→ 研究员

├──→ 公众号运营

└──→ 小红书运营

主理人读取 FEEDBACK-LOG.md,了解之前的纠正记录,确保风格一致。


总结:三层架构一览

层级 文件 作用
身份层 SOUL.md / IDENTITY.md / USER.md 定义”我是谁”
操作层 AGENTS.md / HEARTBEAT.md 定义”怎么干活”
知识层 MEMORY.md / 每日日志 / shared-context 定义”记住什么”

三层协同,形成一个完整的”AI 分身”:

  • 身份层让它有个性
  • 操作层让它有习惯
  • 知识层让它有记忆

龙虾训好了,下一步?

你的 AI 已经有了长期记忆。

能记住你说过的话。

能主动检查任务。

能和其他智能体协作。

但还有一个问题——

单打独斗有上限。

想要更强,得建军团

下一篇文章:建军团——从单兵到 Swarm

让你的 AI 从一个,变成一支队伍。


OpenClaw 进阶之路系列第二篇

上一篇:养龙虾——让 AI 真正认识你