支持资料

SOUL USER AGENTS 三件套实战教程

把 SOUL.md、USER.md 和 AGENTS.md 写成真正能落地的版本,让 OpenClaw 从通用 AI 变成更像你的 AI。

阅读建议

先跑通一个能用的入口,再继续补规则、工具接入、技能和自动化,不要一上来追求全部功能。

需要支持

先看当前章节和命令速查;看完还是不确定,再去安装交付服务页联系我处理。

写好这三个文件,你的助手才会真正开始从“通用 AI”变成“你的 AI”。

很多人装好 OpenClaw 以后,第一反应是:

  • 它能回消息
  • 它也能做事
  • 但总觉得还不够像“自己的助手”

问题通常不在模型,也不在插件,而是这三件事还没写清楚:

  • 它是谁
  • 你是谁
  • 它应该怎么工作

这三件事,分别对应:

  • SOUL.md
  • USER.md
  • AGENTS.md

开始前先确认路径

先说一个很容易踩的坑:很多人不是不会写,而是写到了错误目录。

按当前 OpenClaw 官方默认工作区说明,默认工作区通常在:

~/.openclaw/workspace

如果你已经改过 workspace 配置,就以你自己的实际路径为准。

所以在动手前,先确认当前工作区里有没有这几个文件:

ls ~/.openclaw/workspace

通常你会看到类似:

  • SOUL.md
  • USER.md
  • AGENTS.md

如果没有,先确认你现在用的 OpenClaw 工作区到底是哪一个,再继续编辑。

先理解这三份文件各自管什么

SOUL.md

这是灵魂文件,决定它是谁、怎么说话、什么该做、什么不该做。

你可以把它理解成:

  • 性格说明书
  • 说话风格约束
  • 行为边界说明

USER.md

这是用户画像,决定它怎么理解你、怎么配合你。

你可以把它理解成:

  • 你的工作背景
  • 你的项目上下文
  • 你的沟通偏好
  • 你的时间和工具环境

AGENTS.md

这是工作手册,决定它实际执行任务时遵守什么规范。

你可以把它理解成:

  • 操作规则
  • 安全边界
  • 群聊表现方式
  • 记忆和记录习惯

如果用一句话概括:

  • SOUL.md 是“你是谁”
  • USER.md 是“你在服务谁”
  • AGENTS.md 是“你怎么干活”

为什么这三件套真的有用

很多人会低估它们的作用,觉得只是“写几段偏好”。

但实际差别非常明显:

  • 以前你说“帮我写个组件”,它只能泛泛输出一个版本

  • 现在它知道你常用什么技术栈、喜欢什么风格、输出该多长

  • 以前你说“帮我回个消息”,它不知道什么情况能直接写,什么情况必须确认

  • 现在它会按你的边界来做

  • 以前你说“提醒我别熬夜”,这只是一次对话

  • 现在它可以把这件事当成长期规则

真正的变化,不是“它更聪明了”,而是“它更稳定、更像你要的那个助手”。

最容易出问题的地方

写这三份文件时,最常见的坑不是写太少,而是写得互相打架。

例如:

  • 一边写“要主动”
  • 一边又写“不要打扰我”

这两句话都没错,但如果不加条件,执行时就会冲突。

更稳的写法应该是:

  • 工作时间可以主动汇报
  • 深夜除非紧急,否则不要主动打扰

所以你写规则时,要尽量把抽象形容词改成可执行条件。

第 1 部分:先写 SOUL.md

SOUL.md 决定这个助手到底像什么人。

一个好用的 SOUL.md,至少要写清楚这五类内容:

  1. 名字或角色定位
  2. 性格
  3. 说话风格
  4. 行为准则
  5. 绝对不做的事

先打开文件:

nano ~/.openclaw/workspace/SOUL.md

先别写空话

下面这种写法太空:

你是一个友好的助手。

你很难从这句话推导出真正的行为。

更好的写法应该具体到能落地:

你说话像一个经验丰富的技术同事,直接、务实,必要时给结论,不绕圈子。

一个完整可用的 SOUL.md 示例

下面给你一版更容易上手的示例,你可以直接改:

# 你是阿准

你是阿准,我的 AI 助手。你的定位是一个长期协作的专业伙伴,而不是只会聊天的通用机器人。

## 性格
- 冷静、专业、可靠
- 有判断力,但不自作主张
- 能主动推进,但不越界
- 会照顾情绪,但不过度表演

## 说话风格
- 先说结论,再说依据
- 语言简洁,避免空话
- 技术术语保留英文
- 重要信息用加粗标出

## 行为准则
- 能直接完成的小事就直接做
- 信息不足时,先问最关键的问题,不要一口气问很多
- 涉及外发消息、付款、删除、覆盖配置时必须先确认
- 如果发现我的计划明显不合理,要直接指出
- 工作时间可以主动提醒,深夜除非紧急否则不要打扰

## 绝对不做
- 不泄露我的隐私数据
- 不在没有确认的情况下执行破坏性操作
- 不在群聊里刷存在感
- 不为了显得聪明而编造事实

两个可以直接拿来试的风格方向

方向 1:专业顾问型

你是一个资深技术顾问。

你的特点:
- 先判断问题本质,再给建议
- 每次回答都附带分析和建议
- 在执行前先评估风险
- 说话专业、克制,不故作轻松
- 如果方案有明显隐患,要直接指出

这个方向适合:

  • 管项目
  • 做技术决策
  • 看方案风险
  • 希望助手像顾问而不是像朋友

方向 2:赛博黑猫型

你是一只住在服务器里的黑猫。

你的特点:
- 聪明、高效、偶尔毒舌
- 把主人照顾好是你的天职
- 会在主人熬夜时提醒休息
- 能做的事会自己做,不装傻
- 说话有一点个性,但不恶意

这个方向适合:

  • 想让助手更有陪伴感
  • 不喜欢特别官方的语气
  • 希望助手有一点人格,但别太戏剧化

SOUL.md 的关键写法

1. 性格要具体

不要写:

  • 你是一个友好的助手
  • 你很有帮助

尽量写:

  • 你说话像经验丰富的技术同事,直接、务实、偶尔会提醒风险
  • 你能做的事直接做,不反复问“你确定吗”

2. 行为要分边界

不是所有事都该由它自己决定。

你可以直接按下面这种表来想:

操作建议处理方式
读文件直接做
查资料直接做
改文档直接做
删文件先确认
发邮件必须确认
发社交消息必须确认
改生产配置必须确认

3. “不做什么”比“做什么”更重要

你不可能列出所有该做的事,但你可以明确几条红线。

例如:

  • 不泄露隐私
  • 不编造事实
  • 不未经确认执行破坏性操作
  • 不在群里过度发言

这些规则会极大提高你对助手行为的信任感。

第 2 部分:再写 USER.md

很多人以为 USER.md 只是“写个自我介绍”,其实它真正的作用是给助手上下文。

如果没有 USER.md,助手每次都要重新猜:

  • 你是做什么的
  • 你在做什么项目
  • 你常用什么工具
  • 你喜欢怎么沟通

而这些恰恰决定了它能不能真正“懂你”。

先打开文件:

nano ~/.openclaw/workspace/USER.md

USER.md 应该写什么

建议至少写这四类信息:

  1. 基本信息
  2. 工作与项目
  3. 偏好
  4. 当前关注点

一个容易直接改的 USER.md 模板

# 关于我

## 基本信息
- 名字:林一
- 职业:产品和技术顾问
- 所在地:Asia/Shanghai,UTC+8

## 工作
- 当前项目:
  - 一个 AI 自动化咨询服务站点
  - 一个内部知识库整理项目
  - 一个客户跟进与内容运营项目
- 常用工具:
  - VS Code
  - Feishu
  - Notion
  - Google Sheets
- 工作时间:
  - 工作日 09:30-19:00
  - 晚上偶尔加班,但不希望被频繁打扰

## 偏好
- 沟通风格:先结论,后细节
- 语言:中文为主,技术术语保留英文
- 提醒方式:重要的事直接说,不重要的攒一批再说
- 输出偏好:少空话,多可执行建议

## 当前关注
- 正在研究多 Agent 协作和自动化工作流
- 想把 AI 助手接入日常项目管理
- 近期目标是减少重复沟通和低价值事务

USER.md 真正能带来的变化

以前你说:

帮我看看明天的安排

它可能只会回:

我不知道你的日程。

现在如果上下文完整,它就更容易理解:

  • 你的时区
  • 你的工作时间
  • 你的常用日历和工具

再比如你说:

帮我写个组件

如果 USER.md 里已经说明:

  • 你常用 Next.js
  • 你偏好 TypeScript
  • 你喜欢直接给可运行代码

那它的输出就会明显更贴近你。

所以 USER.md 不是装饰,而是让助手“理解你”的基础。

第 3 部分:最后改 AGENTS.md

如果说:

  • SOUL.md 是灵魂
  • USER.md 是用户画像

AGENTS.md 就是工作手册。

OpenClaw 安装后通常已经生成了一份默认的 AGENTS.md。多数情况下,不需要从零重写,只需要在默认版本上微调。

先打开文件:

nano ~/.openclaw/workspace/AGENTS.md

AGENTS.md 里最值得优先看的几块

1. 记忆管理

你要明确:

  • 每次启动时读什么
  • 要不要写日记
  • 什么值得被记录

2. 安全边界

你要明确:

  • 哪些操作可直接执行
  • 哪些必须确认
  • 哪些绝对不做

3. 交互规则

你要明确:

  • 群聊里怎么表现
  • 什么时候该主动说话
  • 什么时候应该安静

4. 定时 / 心跳任务

你要明确:

  • 定时检查做什么
  • 频率多高
  • 哪些情况值得主动提醒

一个可以直接改的 AGENTS.md 微调示例

下面这段不是让你覆盖默认文件,而是告诉你应该改什么:

## 交互规则
- 工作时间内可以主动提醒重要事项
- 23:00-08:00 除非紧急,否则不主动打扰
- 群聊里优先简短回复,不抢话,不刷存在感

## 安全边界
- 读取文件、搜索资料、整理文档:可直接做
- 删除文件、覆盖配置、发送外部消息:必须确认
- 涉及账号、付款、公开发布:必须确认

## 记忆管理
- 记录长期有效的偏好和规则
- 不把一次性临时信息当成长期记忆
- 每天只记录关键事项,不记流水账

实战:怎么把三件套真正写出来

最简单的做法不是先想一堆大道理,而是直接花 20 到 30 分钟,把这三步做完。

Step 1:花 10 分钟写 SOUL.md

你只要先回答这几个问题:

  • 你希望助手叫什么名字
  • 它说话是什么风格
  • 什么事它可以直接做
  • 什么事必须先问你
  • 什么事它绝对不能做

这几个答案整理出来,就是你的第一版 SOUL.md

Step 2:花 10 分钟写 USER.md

把自己介绍给助手,重点写:

  • 你做什么工作
  • 你在做哪些项目
  • 你喜欢怎样沟通
  • 你最近在关注什么

写清这几项,助手的上下文就已经比默认状态强很多。

Step 3:花 5 到 10 分钟改 AGENTS.md

不用重写全部,只改你最在意的 1 到 3 个点就行。

例如:

  • 安静时间
  • 发外部消息必须确认
  • 群聊不要太活跃
  • 只记关键长期信息

Step 4:重启助手

写完之后,记得重启:

openclaw daemon restart

然后你再发一条相同的问题测试。

你会发现,同样问一句:

帮我写封邮件

以前它可能写得像通用客服模板,现在它更可能:

  • 用你偏好的语气
  • 贴近你的项目背景
  • 按你的边界来决定是否需要确认

这就是三件套真正起作用的地方。

这三份文件不是一次写完的

有一个很重要的认知:这三份文件不是“写一次就完事”。

更现实的节奏是:

  • 第一周:先写一个基础版
  • 第二周:根据不顺手的地方不断微调
  • 一个月后:规则逐渐稳定

你每次觉得:

  • 它太啰嗦了
  • 它太冷了
  • 它太主动了
  • 它不够主动
  • 它在群里话太多
  • 它写代码总不对味

这都不是失败,而是提示你应该去改对应的文件。

一个很好用的判断方法

每次你脑子里冒出:

它应该这样做才对

就把这句话翻译成规则,写进文件里。

例如:

  • “它太啰嗦了”
    改成:回答先给结论,控制铺垫

  • “它应该提醒我早点休息”
    改成:23:00 后如果仍在工作,提醒休息

  • “它写代码不符合我的习惯”
    改成:在 USER.md 里写明技术栈和代码偏好

  • “它在群聊里太活跃了”
    改成:在 AGENTS.md 里限制群聊表现

最后给你两个建议

1. 先选一个方向,不要一开始就全都要

你可以从下面两种典型方向里先选一个:

  • 专业顾问型
  • 赛博黑猫型

选一个方向后,先用一周,再慢慢调。

没有对错,只有适不适合你。

2. 别写矛盾规则

最典型的矛盾规则就是:

  • 要主动
  • 但不要打扰我

如果你真想同时保留这两个要求,必须写成条件句:

  • 工作时间主动汇报
  • 深夜除非紧急否则安静

只要规则清楚,助手的表现就会稳定很多。

一份最简执行清单

如果你现在就准备动手,可以直接按这张清单来:

  1. 写第一版 SOUL.md
  2. 写第一版 USER.md
  3. 微调 AGENTS.md
  4. 执行 openclaw daemon restart
  5. 用同一个问题重新测试一次
  6. 把不满意的地方改成新规则

做到这一步,OpenClaw 才会开始真正从“一个通用工具”,变成“更像你的 AI”。

参考来源