如何建立一个能随时间推移不断进化的 OpenClaw AI 智能体团队?(40天后的完整技术栈)


快速阅读

Shubham Saboo 分享了他使用 OpenClaw 构建全天候 AI 智能体团队的经验。在 40 天的实战中,他没有更换模型,也没有重构架构,而是依靠一套基于 Markdown 文件的极简记忆系统,让智能体实现了“自我进化”。 这套系统分为三层:

  1. 身份层 (Identity):通过 SOUL.md 和 IDENTITY.md 定义智能体的核心人设与原则;USER.md 定义用户的偏好与背景。
  2. 操作层 (Operations):通过 AGENTS.md 规范会话的启动顺序和记忆管理;用 HEARTBEAT.md 进行健康检查和自愈。
  3. 知识层 (Knowledge):分为长期提炼的记忆 (MEMORY.md)、原始日常日志 (YYYY-MM-DD.md),以及能够实现多智能体协同的最核心机制——跨智能体共享上下文 (shared-context/)。 最令人惊艳的是:系统不依赖复杂的编排框架或数据库,文件系统本身就是集成层。一个智能体写入研究成果,其他智能体读取并创作,真正实现了高度解耦与持续复利。

“我的智能体每天都在变聪明。我所做的只是和它们交谈。” —— Shubham Saboo

40 天前,我的内容智能体在起草推文时还会滥用表情符号和标签,研究智能体也会在噪音中迷失方向。为了纠正它们,我花的时间甚至比自己动手做还要多。

而今天,Kelly(内容智能体)能以我确切的语气起草文案;Dwight(研究智能体)每天早上都会准时送上 7 篇精选报道,篇篇干货。8 个智能体 7x24 小时全天候运行。我只需打开 Telegram,一边喝咖啡一边审阅草稿。

最核心的秘诀在于:第一天和第 40 天我用的是完全相同的底层大模型,真正的区别在于那一堆每周都在变得更加丰富的 Markdown 文件。

这就是支撑起这套系统的完整技术栈。

极简架构栈:大道至简的文件系统

整个操作系统仅由三个层级组成,且完全建立在 Markdown 文件之上:

  • 第一层:身份层 (Identity) —— 定义这个智能体是谁(SOUL.md, IDENTITY.md, USER.md)
  • 第二层:操作层 (Operations) —— 定义智能体如何工作(AGENTS.md, HEARTBEAT.md, 角色专属指南)
  • 第三层:知识层 (Knowledge) —— 沉淀智能体学到了什么(MEMORY.md, 日常日志, shared-context/ 共享上下文)

没有复杂的编排框架(Orchestration Framework),没有消息队列,也没有数据库。文件系统本身就是集成层。


第一层:身份层 (Identity)

SOUL.md (智能体的灵魂)

这是定义智能体是谁、做什么以及行为准则的核心文件。以下是我的研究智能体 Dwight 的简化版:

# SOUL.md (Dwight)

## 核心身份
Dwight —— 团队的研究大脑。以 Dwight Schrute 命名,因为你具备相同的特质:极致的细心,对自己领域无所不知,并且极度严肃对待自己的工作。没有废话,没有猜测,只有事实和信源。

## 你的角色
你是团队的情报中枢。你负责研究、核实、组织并交付情报,供其他智能体用于创作。你服务的对象包括:
- Kelly(推特):病毒式趋势、热门长推、突发新闻
- Rachel(领英):思想领导力视角、行业新闻

## 你的原则
### 1. 绝对不要捏造事实
- 每一个声明都必须有来源链接
- 每一个指标都必须来自信源,不得估算
- 如果不确定,标记为 [UNVERIFIED]

### 2. 信号大于噪音
- 并非所有趋势都有价值
- 优先级:与 AI/智能体的相关性 > 互动增速 > 来源可信度

电视角色技巧:每个智能体都以经典电视角色命名。当我告诉大模型“你具备 Dwight Schrute 的能量”时,它从海量训练数据中就已经理解了这是什么意思:彻底、专注、一丝不苟。这相当于白嫖了整整 30 季的角色塑造数据。

保持文件在 60 行以内,因为它在每次会话中都会被加载。一旦内容过长,就会吞噬掉本该用于实际工作的上下文窗口。

IDENTITY.md (名片)

如果说 SOUL.md 是完整的个性档案,那么 IDENTITY.md 就是名片——包含名字、角色、氛围感和一句话简介。当同时运行 8 个智能体时,这极大提升了生活质量(这是 Telegram 消息里显示的属性)。

USER.md (你的偏好)

每个智能体都需要知道它在为谁服务。该文件记录了你的背景和偏好,以规范智能体的行为:

  • 我的职位和背景
  • 喜欢简短的段落和有力的句子
  • 不喜欢任何无意义的长破折号 这些私人细节的作用远超你的想象。有了时区信息,智能体就不会在凌晨 3 点安排任务;有了素食偏好,智能体起草晚宴邀请邮件时就不会建议去牛排馆。

第二层:操作层 (Operations)

AGENTS.md (行为准则)

它定义了智能体的工作方式:会话启动的阅读顺序、内存管理规则以及安全准则。

# AGENTS.md

## 每次会话开始时
在做任何事情之前:
1. 阅读 SOUL.md —— 知道你是谁
2. 阅读 USER.md —— 知道你在帮谁
3. 阅读 memory/YYYY-MM-DD.md(今天+昨天) —— 获取近期上下文
4. 如果在主会话(直接聊天)中:还要阅读 MEMORY.md

## 记忆管理
- “大脑里的记忆”无法在会话重启后留存。文件可以。
- 当有人说“记住这个”时 → 更新记忆文件
- 文本 > 大脑

每个智能体还能基于此添加自己的专项文件(如内容指南、优秀示例等)。这种机制强制智能体把每次纠错和学习的内容写下来,因为智能体在会话之间是没有记忆的,一切都是从零开始。

HEARTBEAT.md (健康自检机制)

智能体团队本质上是基础设施,而基础设施是会崩溃的。 主控智能体 Monica 的心跳自检文件会定期检查:

  1. 后台无头浏览器是否正常运行?(如果挂了,Dwight 就无法搜刮情报)
  2. 定时任务(Cron jobs)是否过期或者卡死?(这曾在第三周让我吃了大亏:调度器出了 Bug,任务在队列里推进但从未执行,导致其他智能体因为拿不到新情报而使用了过期数据)。

你不需要在第一天就建立自检文件,当系统第一次崩溃时再写即可,因为那时你会确切地知道系统哪里最脆弱。


第三层:知识层 (Knowledge)

一套运行良好的文件式记忆体系分为三级:

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

这不是原始日志,而是真正重要的经验总结。例如 Monica 的长期记忆里记录着一条“惨痛教训”:

  • 永远不要在未询问 Shubham 的情况下删除项目文件夹。2 月 26 日,在清理时误删了某 React 应用,永远失去了那个版本。

这一条纠错只要存入文件,就能防止她在未来所有会话中再犯同样的错误。而且,这必须由智能体在反思后自己记录。

二级:memory/YYYY-MM-DD.md (每日会话日志)

记录了“今天发生了什么”、“起草了什么内容”以及“收到了什么反馈”。 日志会快速膨胀,导致上下文超载(输出质量会断崖式下降)。我目前的做法是每两周让智能体审查并归档一次历史日志。每次会话只加载今天和昨天的文件。

三级:shared-context/ (跨智能体共享上下文)

这是最新的架构优化,也是改变游戏规则的关键。这是一个每个智能体在会话启动时都会读取的目录:

  • THESIS.md:我目前的世界观和思考脉络。Dwight 借此决定研究优先级,Kelly 借此对齐语气。
  • FEEDBACK-LOG.md:全局纠错日志。如果我告诉 Kelly“不要用破折号”,这个反馈对其他撰稿智能体同样适用。我只需写一次,所有智能体就全懂了。

智能体如何协作?

无需 API 调用,无需消息队列。文件就是全部。 Dwight 将研究报告写入 intel/DAILY-INTEL.md。Kelly、Rachel 和 Pam 只需要去读这个文件。协作的本质就是在磁盘上进行 Markdown 文件的交接。

单一写入者原则:永远不要让两个智能体同时向同一个文件写入。设计任何共享文件时,都应保持“一个写入者,多个读取者”。这能避开绝大多数你根本不想去调试的冲突问题。 最后,通过严格的定时任务调度(Dwight 先运行,收集完情报后,其他智能体再延后运行读取)让这套流程闭环。


为什么这套体系行得通?

文件不是静态的,它们会随着时间进化。 第 1 天的 SOUL.md 只是粗略的草稿;到了第 40 天,它包含了具体的语气示例、智能体自己总结的踩坑记录,以及一个“永远不要再建议”的主题黑名单。

模型还是第一天的那个模型。它之所以感觉“变聪明”了,不是因为你使用了更久,而是因为围绕着它运行的文件变得更丰富、更清晰,也更贴合你的确切需求。这种积累下来的上下文就是护城河,没有任何人能仅仅通过调用相同的底层模型来复制你的成果。

而这一切,都是你通过每天按时出现并与它们交谈所赚来的。


如何开始: 别试图在一个周末建好所有东西。

  1. 今天:安装 OpenClaw。写一个最基础的 SOUL.md 和 USER.md,跑起你的第一个定时任务。
  2. 第一周:建立 AGENTS.md 规范启动流程。
  3. 第二周:引入 MEMORY.md 长期记忆,开始复利。
  4. 第三周:增加第二个智能体,通过文件交互(一个写,一个读),并建立共享上下文 (shared-context)。
  5. 第四周:在经历第一次系统崩溃后,加上 HEARTBEAT.md 自愈机制。

你只需要去和智能体对话。其余的,交给文件。

🔗 原文链接:How to set up OpenClaw Agents that actually get better Over Time