Workspace 文件
MEMORY/AGENTS/SOUL.md。
Workspace 文件
这一课你将能做到
- 说出 workspace 里每个核心 Markdown 文件的职责
- 用 SOUL.md 给 agent 定义人设,用 AGENTS.md 写行为规则
- 为「代码评审 bot」写出一份合格的 workspace 配置
为什么要学
同一个模型,裸用是一个泛泛的聊天机器人;配上 workspace 文件,它就是「我们团队的评审 bot,只评 Java,语气直接,引用团队规范」。Workspace 文件就是 agent 的劳动合同 + 员工手册——不写它,agent 每次都从零开始猜你想要什么;写好它,行为稳定、可版本管理、可评审。
人话:system prompt 散落在对话里会漂移,写成文件放进 workspace 才算「制度」。
先建立图像
每个 agent 有一个工作区目录(默认在 ~/.openclaw/workspace/ 或按 agent 配置),启动时被注入上下文:
workspace/
├── SOUL.md ← 人设:你是谁、什么语气、什么价值观
├── AGENTS.md ← 规则:能做什么、不能做什么、怎么做事
├── USER.md ← 用户画像:服务对象是谁、偏好是什么
├── MEMORY.md ← 长期记忆摘要(由 memory 系统维护,也可手写)
├── BOOTSTRAP.md ← 首次启动时执行的引导指令(用完即弃)
└── IDENTITY.md ← 对外身份信息:名字、头像描述等
模型每轮对话前都会读到这些文件,所以它们的每一行都在消耗 token——写得越精炼,行为越稳定。
跟着做
步骤 1:定位 workspace
openclaw config get agents.defaults.workspace
# 或直接查看默认目录
ls ~/.openclaw/workspace/
onboard 时会生成模板文件,你在其基础上改。
步骤 2:写 SOUL.md(人设)
以「团队值班问答 bot」为例:
# SOUL.md
你是 FireDrill,SRE 团队的值班助手。
## 性格
- 直接、简洁,不绕弯子
- 不确定就说不确定,并给出排查命令
- 凌晨告警场景下优先给可执行步骤,少讲原理
## 边界
- 只回答基础设施、部署、告警相关问题
- 人事、薪资类问题礼貌拒绝并指向 HR 渠道
步骤 3:写 AGENTS.md(行为规则)
# AGENTS.md
## 工作方式
- 回答告警问题前先查最近 24h 的 deploy 记录
- 给出命令时用代码块,注明执行环境(k8s 集群名)
- 超过 3 步的排查流程,先给 TL;DR
## 红线
- 禁止执行 restart / delete 类命令,只能建议
- 不在群消息里贴任何密钥、内部域名 IP
- 无法确认的信息必须标注「待人工核实」
步骤 4:写 USER.md(服务对象)
# USER.md
服务对象是 8 人后端团队,Java 技术栈。
- 值班轮值每周一换,当前值班人见 PagerDuty
- 团队成员偏好中文交流,命令输出可英文
- 实习生提问时多给学习资源链接
步骤 5:验证生效
改完文件不需要重启——新会话开始时自动加载。在 Control UI 或渠道里开一个新会话问:「你是谁?你能做什么?」回答应与你的 SOUL.md / AGENTS.md 一致。
步骤 6:版本管理 workspace
cd ~/.openclaw/workspace
git init
git add .
git commit -m "feat: initial workspace for FireDrill"
把 workspace 目录推到团队私有仓库,任何规则变更走 PR 评审——和代码同等待遇。这样 bot 的行为漂移可以回溯到具体某次提交。
讲清楚要点
- SOUL.md 管「是谁」,AGENTS.md 管「怎么做事」:前者是人格和语气,后者是流程和红线,分开写才能在改规则时不碰人设。