最佳实践

每天深度使用 OpenClaw,攒了一波使用技巧。前 6 条讲怎么把 Agent 调教好,后 4 条是实战中用出来的技巧。

一、记忆增强:防止 Agent 失忆

Agent 跑久了会丢上下文。尤其是长会话被自动压缩之后,之前聊过的决策、约定好的规则,突然就忘了。轻的需要你重新解释一遍,重的它会把你改好的东西改回去。

三个办法防失忆:

memory/ 目录。 按日期记工作笔记,比如 memory/2026-03-08.md,Agent 启动时会读最近的记录恢复上下文。不用写太细,关键决策和当天进度记一下就行。

SESSION.md 做复杂任务的时候,在项目根目录维护一个 SESSION.md,记四样东西:当前目标、已做的关键决策、明确否掉的方案、当前进度。每隔二三十分钟更新一次。这样即使 compaction 发生了,核心上下文还在。

主动 /compact 感觉上下文快满了,不要等系统自动压缩。自己执行 /compact,带上自定义提示词,告诉它哪些信息必须保留。系统默认压缩只保留"在做什么",不保留"为什么这么做"和"哪些方案被否决了"。

花两分钟写个笔记,比花二十分钟重新解释上下文划算多了。

二、身份定义:给每个 Agent 写一份 SOUL.md

SOUL.md 不只是填个名字和 emoji。它决定了 Agent 怎么理解自己、怎么跟你互动。

没配好身份的 Agent 容易跑偏:你用中文问它,它直接甩你一大段英文,还没有重点。

怎么写?给 Agent 起个名字,定义它的性格(sharp / warm / chaotic / calm),选一个签名 emoji。听起来像在玩,但这些设定真的会影响输出风格。性格设定为 sharp 的 Agent 回复更简洁直接,设定为 warm 的会更耐心。

关键是要具体,角色越清晰,Agent 越不容易跑偏。

三、用户画像:写一份 USER.md

USER.md 里写清楚你是谁、你的偏好、你的时区。Agent 会用这些信息调整行为。

比如在 USER.md 里写"写作风格偏好:实用主义导向、口语化但不夸张、像在跟同行朋友聊天"。Agent 每次写东西都会参考,不用每次都重复提。

时区也别忘了写。 定时任务、提醒、日志时间都跟这个有关。你要是不写,Agent 默认用 UTC,国内用户看到的时间是不对的。

四、自主权限:减少确认,让 Agent 放手干

默认情况下,Agent 做很多操作前会问你"确定吗?"。文件读写、命令执行、网络请求,如果每个都确认一遍,效率砍半。

openclaw.json 里配 allowlist,把常用的安全操作加进去。比如读文件、搜索、写 markdown 这些低风险操作,完全可以让它自主执行。

但删除文件、修改配置、对外发布这些高风险操作,还是要保留确认。

低风险放开,高风险锁死。跟给员工授权一个道理,你不会让他每封邮件都找你审批,但涉及钱和合同的事必须经你手。

五、技能加载:持续给 Agent 升级新能力

Skills 是给 Agent 加新能力最快的方式。本质上就是一个 Markdown 文件,定义一套流程,Agent 按步骤执行。

OpenClaw 的公共注册中心(ClawHub)已经有一万多个社区 Skill 了,常见需求基本都能找到现成的。

安装很简单,把 SKILL.md 放到对应目录,Agent 下次启动就能读到。更新也一样,替换 SKILL.md 文件内容就行。

自己写 Skill 也不难。想清楚要 Agent 做什么、按什么步骤做、输出什么格式,告诉 OpenClaw 就行,描述越具体,执行越准。

别一次灌太多 Skill,先装最常用的两三个用熟了再加。装太多 Agent 反而容易混淆。

六、每日培训:边做边教,越用越聪明

Agent 不是配好就完事了,需要持续培训。就像带新员工,有一个磨合的过程。

三个习惯:

犯了错就记 LEARNING.md Agent 每次出错,立刻追加:什么错 + 为什么 + 以后怎么做。下次启动它会先读这个文件,同样的错不会犯第二次。

memory/ 日记积累经验。 每天的工作笔记不只是防失忆,也在帮 Agent 积累对你工作方式的理解。时间长了,它会越来越懂你的习惯和偏好。

及时反馈纠正。 Agent 输出不对的时候,别只说"不对",告诉它哪里不对、应该怎么做。反复纠正写作风格,Agent 就从"分析师报告腔"慢慢调整到你想要的风格,而且持续迭代。

前期可能觉得麻烦,调教好了后期就很省心。

七、配图自动化:让 Agent 自己管理图片

聊天过程中经常产生截图,或者一些网站素材,想放到文档里当配图。

可以给 Agent 配一个图床上传能力。它在聊天中收到的截图,自己上传到 CDN 拿到公开链接,再通过 Notion API 直接插入文档。全程不需要人动手。

具体方案是用 Cloudflare R2 做图床(S3 兼容,免费额度够用),写一个 30 行的 Node.js 上传脚本放在 Agent 的 workspace 里。核心逻辑:读文件、算 MD5、按年/月/md5.ext 生成路径、上传到 R2、返回 CDN 链接。

不限于 R2,任何 S3 兼容的图床都行,阿里云 OSS、腾讯 COS、MinIO 都可以。配一次,后面所有图片相关的操作都省了。

八、多 Agent 共享:配置和脚本复用

同一个实例下的多个 Agent,各自有独立的 workspace,默认不共享任何信息。你给一个 Agent 配了新能力(比如 R2 上传、Notion API),其他 Agent 不会自动知道。

解决方案是共享目录加符号链接。在实例目录下建一个 shared/ 文件夹放通用脚本和配置,用符号链接映射到每个 Agent 的 workspace 里。然后在每个 Agent 的 SOUL.md 里写明,需要用共享资源时先读 shared/SHARED.md

这样改一处所有 Agent 同步生效,不用挨个复制。新增 Agent 时也只需要加一个符号链接。

九、配置修改安全:别让 Agent 把自己搞挂了

这条是血的教训。

如果你只有一个实例,让它去修改自己的 openclaw.json,写错了会导致反复重启。然后你连跟它说话的机会都没有了。

真实案例:让 Agent 加一个 AI 模型代理商,它把 providers 写到了配置文件根级别,但正确位置应该是 models.providers 下面。结果配置校验失败,实例疯狂重启了 36 次。

防范措施:

  • 让 Agent 改配置前,先让它读官方文档确认字段层级
  • 只有一个实例的话,改错了只能手动去终端修
  • 有条件就用另一个实例来管理配置,改错了还有备用的

还有个小坑,Agent 有时候回复会带一大段英文的思考过程,看起来像乱码。这是模型的 reasoning 输出被发到了聊天里,在群里发 /thinking off 就行。

十、团队协作:把 Agent 拉进 Telegram 群

让团队成员在 Telegram 群里直接跟 AI 对话,是最简单的团队协作方式。

三步搞定:

第一步,把 Bot 拉进群。 去 BotFather 关掉 Privacy Mode(/setprivacy 选 Disable),不然 Bot 只能收到 @ 它的消息。关掉之后必须把 Bot 移出群再重新拉回来才能生效。或者直接把 Bot 设为管理员,省事。

第二步,拿群 ID。 在群里发一条消息,然后浏览器访问 https://api.telegram.org/bot你的TOKEN/getUpdates,在返回的 JSON 里找到 chat.id 字段,负数就是群 ID。

第三步,改 openclaw.json

{
  "channels": {
    "telegram": {
      "groupPolicy": "open",
      "groups": {
        "-5202339810": {
          "requireMention": false
        }
      }
    }
  }
}

有个坑要注意:只设 groupPolicyopen 不够,必须加 requireMention: false。不然机器人只响应 @ 它的消息,日志里会出现 reason: no-mention,看着一切正常但就是不回你。

改完配置重启才生效。临时方案是在群里发 /activation always,立刻生效但不持久,重启后失效。


这 10 条经验说到底就一句话:把 Agent 当新员工带

前期花点时间把 SOUL.md、USER.md、LEARNING.md 配好,把 memory 机制跑起来,后面你会发现它越来越懂你,越来越省心。