OpenClaw 跑通之后:prompt 调优、插件开发、监控告警三件事
凌晨三点。 Bot 又给我发了一条不知所云的消息。
“根据您的要求,我已经完成了相关操作。”——什么操作?我明明问的是”明天北京天气怎么样”。
这是 OpenClaw 跑通之后的第二个星期。桥确实通车了,但开上去才发现,路比我想象的颠。模型回复经常跑偏、插件时不时抽风、服务挂了半天我才发现。
上一篇结尾我埋了个伏笔:”剩下的——prompt 调优、插件开发、监控告警——是下一篇的事。” 今天来填这个坑。
三件事,每一件都是”能用”和”好用”之间的分水岭。
Prompt 调优:你的 Agent 为什么总是”已读乱回”
先说最烦人的问题——模型回复质量不稳定。有时候聪明得像你肚子里的蛔虫,有时候蠢得让人怀疑人生。
原因 90% 出在 prompt 上。不是模型不行,是你的 system prompt 没写好。
OpenClaw 里,每个 Agent 都有一个 systemPrompt 字段。这个字段决定了 Agent 的”人格”和”行为边界”。我一开始写的是:
systemPrompt:"你是一个helpful的AI助手。"
现在回头看,这相当于告诉一个新人”你去把工作做了”——说了等于没说。
后来改了好几版,发现有效的 prompt 有这几个规律:
第一,角色要具体,不要抽象。 “你是一个技术客服”比”你是一个 helpful 助手”好一百倍。角色越具体,模型的行为越收敛。
第二,给输出格式下指令。 如果你希望回复是三段式(总结+细节+下一步),就直接写:”你的回复必须包含三个部分:①一句话总结 ②详细说明 ③下一步建议。” 不要让它猜。
第三,设边界比设目标更重要。 告诉它”不要做什么”往往比”要做什么”有效。比如:”不要编造数据”、”不要推荐你没验证过的工具”、”如果用户问题不清楚,先反问确认。”
我现在的客服 Agent prompt 大概长这样(节选):
systemPrompt:|你是「青城源码」技术团队的值班助手。你的职责是:1. 回答用户关于 OpenClaw / AI Agent 的技术问题2. 如果问题超出你的知识范围,诚实说"我不确定",不要瞎编3. 涉及代码的问题,优先给出可运行的示例,不要只给思路4. 语气友好但专业,不要用"亲""宝贝"等客服用语5. 每次回复控制在 200 字以内,除非用户明确要求详细说明
改完之后,回复的”信噪比”明显高了。之前经常有那种说了三百字但核心信息就一句的废话,现在基本没有了。
图 1 :左边是”你帮我看看这段代码”后的胡言乱语,右边是加了角色限定和格式指令后的精准回复——同一个模型,不同的 prompt ,天差地别
请在微信客户端打开
插件开发:让 Agent 长出你的手
Prompt 调好了,回复质量上来了。但 Agent 还是只能”说”,不能”做”。
OpenClaw 的插件系统叫 ClawHub ,社区已经有一些现成插件。但说实话,真正解决你业务问题的插件,大概率得自己写。
写插件没有想象中难。 OpenClaw 的插件本质上就是一个 JavaScript/TypeScript 模块,暴露一个标准的接口:
exportdefault{name:'my-plugin',version:'1.0.0',// 插件能力声明:告诉 Agent 这个插件能干什么tools:[{name:'queryDatabase',description:'查询用户订单数据库,返回订单详情',parameters:{type:'object',properties:{orderId:{type:'string',description:'订单号'}},required:['orderId']}}],// 实际执行逻辑asynchandler({tool,parameters}){if(tool==='queryDatabase'){const{orderId}=parameters;// 你的业务逻辑:查数据库、调 API、读文件……constresult=awaitdb.query(`SELECT * FROM orders WHERE id = ?`,[orderId]);returnresult[0];}}};
核心就两步:声明能力(让 Agent 知道什么时候该调用你)和执行逻辑(实际干活)。
我自己写了一个查内部数据看板的插件, Agent 现在可以直接回答”上周转化率多少”这种问题,不用我手动去后台截图。还有一个对接公司 Slack 的插件,遇到需要人工介入的问题, Agent 会自动把上下文发到指定频道并 @ 相关同事。
写插件有几个坑提前提醒你:
图 2 :插件的本质——给 Agent 装上”手”和”脚”,让它能从”说话”变成”做事”
请在微信客户端打开
监控告警:别等用户来告诉你服务挂了
这是三件事里最不起眼、但生产环境最重要的一件。
OpenClaw 默认没有监控面板。你如果不自己配,服务挂了只能靠用户私信骂你才知道。
我现在的监控方案是三层的:
第一层:容器健康检查。 Docker 自带的 healthcheck ,在 docker-compose.yml 里加几行:
healthcheck:test:["CMD","curl","-f","http://localhost:3000/health"]interval:30stimeout:10sretries:3
容器崩了会自动重启,至少保证服务在。
第二层:应用层指标。 OpenClaw 本身暴露了几个有用的 Prometheus 指标(前提是你在配置里启用):
openclaw_messages_total:消息总量openclaw_message_duration_seconds:单条消息处理耗时openclaw_errors_total:错误总数我用 Grafana 搭了一个简单的面板,盯着两个核心指标:平均响应时间和错误率。响应时间超过 5 秒或者错误率超过 1%,我就认为出问题了。
第三层:业务层告警。 这才是真正有用的。比如:
这些业务指标需要你在插件代码里自己埋点,然后走 Prometheus + Alertmanager 发通知。我配的是 Telegram 告警频道 + 邮件双通道,确保不会漏。
图 3 :监控不是”锦上添花”,是生产环境的底线——这张图是我现在每天扫一眼的习惯
三件事的优先级:先调 prompt ,再写插件,最后补监控
如果你时间有限,按这个顺序来:
Prompt 调优是 ROI 最高的。 改几行字就能显著提升体验,零成本。
插件开发是价值最大的。 它决定了 Agent 到底能不能融入你的工作流,而不是停留在”高级聊天机器人”的层面。
监控告警是底线保障。 没有它,前面两件事做得再好,服务挂了也白搭。但只要跑通了,维护成本不高。
我大概的时间线是:第一周跑通部署,第二周调 prompt ,第三周写第一个插件,第四周搭监控。现在回头看,这个顺序是对的。
图 4 :三件事的优先级排序——prompt 调优是”立竿见影”,插件开发是”深度定制”,监控告警是”兜底保障”
写到这,三篇文章的闭环算是完成了
第一篇讲选框架( OpenClaw vs Hermes ),第二篇讲搭起来(部署+多账号),第三篇讲用好它( prompt+插件+监控)。
三篇看完,应该够你从零搭一个能跑、能用、能放心的 Agent 网关。
但说实话, OpenClaw 只是个起点。真正有趣的事情——多 Agent 协作、自主规划、长期记忆——还在后面。这些话题,等我有更多实战经验了再写。
先把这三件事做好吧。
桥通车了,路修平了,监控装好了。
可以安心开夜车了。
💡 温馨说明: 本文内容由「青城源码」团队结合 AI 辅助创作与人工校对整理而成,所有核心观点与实操步骤均经过人工验证。
如果你也对 AI 自动化内容生成、 AI Agent 框架搭建、技术落地实操感兴趣,或是有相关项目开发、学习交流的需求,欢迎在后台私信咨询,我们会为你提供专属的技术交流与学习建议。
摘要: OpenClaw 部署完成后, prompt 调优、插件开发、监控告警是让 Agent 从”能跑”到”好用”的三道分水岭。附真实配置和踩坑记录。
标签: #OpenClaw #AI Agent #Prompt 工程 #插件开发 #监控告警
关键词: OpenClaw 进阶、 AI Agent prompt 调优、 OpenClaw 插件开发、 Agent 监控告警、 Docker 健康检查
夜雨聆风