进阶技巧与最佳实践
经历了前 12 章的学习,你已经有了完整的 OpenClaw 知识体系。
这一章分享让工作流跑得更久、更稳、更省的实用技巧。
1. Prompt 工程
工作空间文件(AGENTS.md、SOUL.md)就是 Agent 的长期 System Prompt。
写好它,是让 Agent 表现稳定的最关键一步。
写出高质量 AGENTS.md
markdown
# 行为规范## 核心原则- 先理解再执行,模糊需求主动确认,不要自行脑补- 执行完成后给出结构化的结果汇报,说明做了什么、结果如何- 遇到错误提供具体方案,而非"请稍后重试"之类的敷衍回复- 保持输出格式一致,方便后续流程处理## 边界约束- 不主动修改未被要求修改的文件- 不在没有确认的情况下执行不可逆操作(删除、发布、转账)- 每次执行结果必须汇报,不能静默完成## 输出规范- 代码块必须标注语言类型- 长内容必须提供摘要版本- 涉及数字的结论必须给出数据来源
好的 SOUL.md 示例
markdown
# 人格设定你叫小助,是一个务实的技术助理。风格:- 说话简练,不废话,不客套- 遇到不确定的事,直接说"我不确定,需要确认"- 宁可问清楚再做,也不要做完再返工- 用中文回复,技术术语保留英文原文
常见 Prompt 问题排查
| 现象 | 可能原因 | 修复方向 |
|---|---|---|
| 每次回复风格不一致 | SOUL.md 太模糊 | 加具体风格样例 |
| 总是执行不该做的操作 | AGENTS.md 缺少边界约束 | 补充"不能做什么" |
| 长任务中途忘记目标 | 上下文太长、目标未重申 | 用 /new 拆分任务 |
| 输出格式混乱 | 未定义输出规范 | 在 AGENTS.md 加 Output Format 节 |
2. 成本控制
模型分级使用策略
| 场景 | 推荐模型 | 原因 |
|---|---|---|
| 简单问答、格式转换 | openai/gpt-5-mini | 速度快、价格低 |
| 日常任务、内容生成 | anthropic/claude-sonnet-4-5 | 性价比最高 |
| 复杂推理、代码审查 | anthropic/claude-opus-4-6 | 能力最强 |
| 隐私敏感任务 | ollama/qwen2.5 等本地模型 | 数据不出本地 |
对话中随时切换:/model gpt、/model sonnet、/model opus
降级保底配置
json
{"agents": {"defaults": {"model": {"primary": "anthropic/claude-sonnet-4-5","fallbacks": ["minimax/MiniMax-M2.1", "openai/gpt-5-mini"]}}}}
主模型不可用时自动切换到备用,不影响自动化任务运行。
显示模型前缀,方便追踪
json
{ "messages": { "responsePrefix": "[{model}] " } }
3. 稳定性保障
网络超时与重试
API 调用偶发超时是正常现象,配置重试避免任务中断:
json
{"agents": {"defaults": {"requestTimeout": 120000,"maxRetries": 3}}}
自动化任务并发控制
Cron 任务堆积会导致 API 速率限制,控制并发数:
json
{"cron": {"enabled": true,"maxConcurrentRuns": 2}}
任务失败自动通知
在工作空间的 HEARTBEAT.md 里加入失败处理说明,让 Agent 在任务失败后自动发通知:
markdown
## 任务失败处理如果任务执行失败,立即通过 Telegram 汇报:- 失败的任务名称- 错误原因(具体内容,不要只说"出错了")- 是否需要人工介入
4. Agent 隔离与任务拆分
为什么要隔离
一个 Agent 做所有事,会导致:
- 上下文混乱,不同任务相互干扰
- 记忆污染,工作记忆和个人助理记忆混在一起
- 难以排查哪个任务出了问题
按职责隔离 Agent
json
{"agents": {"list": [{"id": "personal","default": true,"workspace": "~/.openclaw/workspace-personal","model": "anthropic/claude-opus-4-6","identity": { "name": "小助", "emoji": "🤖" }},{"id": "content","workspace": "~/.openclaw/workspace-content","model": "anthropic/claude-sonnet-4-5","identity": { "name": "内容助手", "emoji": "✍️" }},{"id": "monitor","workspace": "~/.openclaw/workspace-monitor","model": "openai/gpt-5-mini","identity": { "name": "监控员", "emoji": "📊" }}]}}
- 日常对话用
personal(贵但聪明) - 内容生产用
content(性价比高) - 定时监控用
monitor(便宜跑量) - 每个 Agent 的记忆、工作空间文件完全隔离
5. 日志分析与问题排查
查看实时日志
bash
openclaw logs --followopenclaw logs --follow --level error # 只看错误openclaw logs --follow --agent content # 指定 Agent
常见错误速查
API Key 无效或过期:
bash
Error: 401 Unauthorized
→ 检查 openclaw.json 里的 apiKey,或用 openclaw env set 更新环境变量
速率限制(Rate Limit):
bash
Error: 429 Too Many Requests
→ 降低 Cron 并发数,或切换到其他 Provider 分担请求
网关无响应:
bash
openclaw doctoropenclaw gateway restartopenclaw logs --follow
消息渠道收不到回复:
bash
openclaw gateway statusopenclaw pairing list telegram
→ 检查 Bot Token,确认 Gateway 正在运行
6. 配置备份与迁移
备份
OpenClaw 的所有状态都在 ~/.openclaw/ 目录下:
bash
# 完整备份(macOS/Linux)tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz ~/.openclaw/# 只备份配置和工作空间(不含历史数据)tar -czf openclaw-config-$(date +%Y%m%d).tar.gz ~/.openclaw/openclaw.json ~/.openclaw/workspace*/
迁移到新机器
bash
# 新机器安装 OpenClawcurl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard# 恢复备份tar -xzf openclaw-backup-20250101.tar.gz -C ~/# 重启openclaw gateway restartopenclaw doctor
7. 定期维护清单
每周:
bash
openclaw logs --since 7d --level error # 检查过去7天的错误openclaw status # 确认所有服务正常
每月:
bash
npm update -g openclaw # 更新到最新版本openclaw doctor # 重新诊断配置
- 检查各 Provider 的 API Key 余额
- 回顾 Cron 任务执行情况,清理不再需要的任务
- 整理工作空间文件,更新 USER.md 里的背景信息
必要时:
- 备份
~/.openclaw/目录(迁移机器前必做) - 更新各渠道 Bot Token(定期轮换安全性更高)
总结
恭喜你完成了 13 章的学习!
现在你已经掌握了:
- ✓OpenClaw 的核心概念和架构
- ✓完整的部署和配置流程(三种安装方式,JSON 配置格式)
- ✓主流消息渠道接入(Telegram、Discord、WhatsApp)
- ✓多 Provider 模型配置与别名切换
- ✓工作空间文件驱动 Agent 行为
- ✓Cron + Heartbeat 自动化任务
- ✓浏览器控制(托管浏览器 + Chrome Extension)
- ✓Skills 技能系统与工作流组合
- ✓多 Agent 隔离、成本控制、稳定性保障
工作流跑起来之后,最重要的事是持续观察、小步迭代。好的系统不是一次设计好的,而是在真实运行中逐渐打磨出来的。