我用 OpenClaw 搭了一套多Agent对抗式开发流水线,一个需求2.5小时出可运行代码
作为工业视觉领域的工程师,白天跑客户、谈方案、做报价,晚上还要写算法、调模型、搭系统。一个完整产品从需求到可运行代码,传统方式少说一周。但一周对于冷启动阶段的一人公司来说,太奢侈了。上下文焦虑(任务一长就急着收工)和自我评价膨胀(写完永远说"完美通过")。解法来自两个地方:Anthropic的一篇工程博客,和我从GAN(生成对抗网络)借来的一个思路。
我用 OpenClaw 搭了一套多Agent对抗式开发流水线,一个需求2.5小时出可运行代码
10年工业视觉老兵,一人创业中。用OpenClaw搭了一套AI公司的操作系统——多Agent协作开发、自动化工作流、智能获客。技术+踩坑+创业,都写。

前言:一人创业的效率困境
作为工业视觉领域的工程师,白天跑客户、谈方案、做报价,晚上还要写算法、调模型、搭系统。一个完整产品从需求到可运行代码,传统方式少说一周。但一周对于冷启动阶段的一人公司来说,太奢侈了。
我试过让单个AI Agent写代码——能跑,但有两个致命问题:上下文焦虑(任务一长就急着收工)和自我评价膨胀(写完永远说"完美通过")。
解法来自两个地方:Anthropic的一篇工程博客,和我从GAN(生成对抗网络)借来的一个思路。
一、两个让AI代码质量打骨折的问题
Anthropic在《Harness design for long-running application development》中系统定义了这两个问题:
问题1:上下文焦虑
Agent执行长时间任务时,随着上下文越来越长,模型会提前收工——跳过细节、写"总结性"代码。Anthropic测试了Claude Sonnet 4.5,发现即使做上下文压缩也解决不了,最终靠"上下文重置"(每个阶段清空上下文,用结构化文档传递状态)才解决。
问题2:自我评价膨胀
“When asked to evaluate work they’ve produced, agents tend to respond by confidently praising the work—even when the quality is obviously mediocre.”
—— Anthropic
让Agent自己审自己写的代码,它几乎永远打高分。Anthropic的解法是角色分离——写代码的人和审代码的人不是同一个Agent。“Separating the agent doing the work from the agent judging it proves to be a strong lever.”
我完全认同。但我在工程落地时发现Anthropic的三角色(Planner/Generator/Evaluator)缺了一个关键层——他们把代码审查和功能评估混在一起了,而这两件事需要的能力完全不同。
二、我的方案:OpenClaw + Harness v3.0
我在OpenClaw上落地了自己的Harness协议,5个角色:
| 角色 | 职责 |
|---|---|
| Planner | 拆需求为Sprint,定义评分标准 |
| Generator | 按Sprint实现功能 |
| Evaluator | 按评分矩阵打分——产品视角(功能全不全、方案对不对) |
| Validator | 独立代码审查——工程视角(有没有Bug、代码规不规范) |
| Integrator | 汇总决策:通过 / R1修改 / R2重做 / R3推翻 |
Validator是我比Anthropic多出的一层。Evaluator看的是"做的东西对不对",Validator看的是"代码能不能跑"。两个视角不同,需要两个独立Agent。
Sprint机制
每个Sprint是独立可验证的功能单元,分三层:
- Core Sprint:核心功能,不通过则全量重做
- Standard Sprint:标准功能,不通过则局部迭代
- Light Sprint:微调优化,不通过则直接修改
每个Sprint流程:
Planner拆解 → Generator编码+自测 → Evaluator评分 → Validator代码审查
↓
Integrator决策(通过/R1/R2/R3)
↓
下一Sprint
评分矩阵(7维度)
| 维度 | 权重 | 阈值 | 评分要点 |
|---|---|---|---|
| 场景定位准确性 | 20% | ≥16 | 是否准确理解应用场景和用户需求 |
| 技术方案合理性 | 20% | ≥16 | 算法选型、架构设计是否恰当 |
| 功能完整性 | 15% | ≥12 | 需求覆盖度 |
| 创新性 | 10% | ≥8 | 是否有差异化价值 |
| 文档/注释质量 | 10% | ≥8 | 可维护性 |
| 风险识别 | 15% | ≥12 | 是否预判了潜在问题 |
| 商业可行性 | 10% | ≥8 | 成本、实施难度是否合理 |
任一维度低于阈值则该项不通过,总分低于80则Sprint失败。
这个矩阵不是拍脑袋定的,是踩过坑之后迭代出来的(后面第四节会详细讲)。
一个Evaluator Prompt示例
调教Evaluator是这篇文章最有价值的干货。Evaluator的Prompt里要明确:
你是一个严格的產品评审,不给面子。
- 先找问题,再找优点
- 每个扣分项必须说明:问题是什么、严重程度(致命/严重/轻微)、改进方向
- 打分标准:满分100,每维度有明确阈值(见附录)
- 低于80分的Sprint,必须给出"具体要修改什么"而非"整体还行"
- 鼓励在关键风险点上给低分,宁可过度严格,不可放过问题
加上这段之后,Evaluator的评分才真正有参考价值。之前它会说"整体不错,只有小问题",现在它会说"这个API设计在并发场景下有崩溃风险,必须修改"。
OpenClaw的局限性
说实话,OpenClaw不是完美的。我在落地过程中遇到过这些问题:
- 上下文传递有损耗:Generator写的文档传到Validator,偶尔会有格式小问题,需要人工核对
- Token消耗大:多Agent协作比单Agent消耗的token多3-5倍,成本是真实考量
- Sprint配置需要人工维护:目前我的Sprint定义和评分矩阵是手写的YAML,还没自动化
但在"多Agent协作"、“SubAgent独立上下文”、"Cron自动化"这几个核心需求上,OpenClaw是目前我找到的最优解。
三、实战案例:智慧养老AI检测系统
项目背景
一个养老场景的AI检测系统,包含跌倒检测、行为分析、异常报警、Web管理后台等功能。从需求到可运行代码,全程由Harness流水线执行。
执行过程
Sprint 1:跌倒检测核心算法(81.4分,R2通过)
Generator实现了基于人体姿态估计的跌倒检测算法。R1评审时发现场景定位有偏差——系统过于关注"跌倒瞬间"而忽略了"跌倒后的持续状态监控"。修改后R2通过。
Sprint 2:边缘服务+报警+API+数据库(82.0分,R2通过)
R1发现部分API设计缺少权限控制,修改后R2通过。
Sprint 3:Web管理后台+AI增值模块(83.5分,R1一次过)
质量最高,直接通过。
Validator发现的4个关键Bug
这是全文最有说服力的部分——独立审查确实能发现Generator自测遗漏的问题:
Bug 1:角度计算逻辑错误(致命)
直立人体被误判为偏离超过60°,三级预筛选机制完全失效。Generator的测试用例里没有覆盖"标准站立姿态"这个边界情况。
Bug 2:计数器归零顺序错误(致命)
连续帧计数器在错误位置被清零,导致弯腰捡东西这类动作被误判为跌倒。
Bug 3:API方法名拼写错误(严重)
一个关键接口的方法名拼错了,运行时会直接抛出异常崩溃。这个Bug连自测都能"通过",是因为测试用例本身写错了——测的是方法存在性,不是方法能不能正常调用。
Bug 4:测试推送永远返回True(中等)
报警推送功能的单元测试,无论输入什么都返回成功。是因为测试用例的断言写反了(assert result == True 而不是 assert send_alert() == True)。
这4个Bug,Generator自测时全部"通过"。如果是自己写+测,估计要调2-3小时。
成果数据
- 代码量:约8500行(16个Python文件 + HTML + 配置)
- 总耗时:约2.5小时自动执行,其中Planner拆需求约15分钟,各Sprint自动执行,我负责关键节点确认
- Sprint通过率:100%(Sprint 1和2需要R2迭代)
- 局限性说明:这个案例是后端+算法密集型,涉及复杂前端UI的话时间估计会翻倍
四、5条用真金白银换来的经验
1. 评分标准写得太泛,等于没写
我最初版的评分标准写的是"代码质量好"、“架构设计合理”——Evaluator看完说"好的",给分全是80+。看起来很美,跑起来全是坑。
后来改成具体指标:“API响应时间<200ms”、“并发连接数≥1000”、“跌倒检测召回率>95%”——这才真正能筛选出问题。
踩坑故事:有一轮Sprint我写了"风险识别≥12分",结果Generator交上来的"风险识别"内容是"暂无已知风险"——5个字,拿了13分。后来加了规则:“风险识别必须有具体风险点列表,每个风险点需标注概率和影响,否则0分”。
2. Sprint粒度太大,是最大的时间杀手
我第一次跑Sprint 2,拆成了一个大Sprint(边缘服务+报警+API+数据库+加密),Generator用了将近1小时,结果交出来一看——功能全有,但每块都只做了60分,API简陋,加密是Dummy实现,数据库连索引都没建。
后来规则改了:每个Sprint不超过1500行代码,不超过3个核心子功能。粒度小,Generator不会因为任务太长而走偏,也方便精确定位问题出在哪一块。
3. Evaluator要调教成"挑刺型",不是"鼓励型"
LLM默认倾向于给正面评价。我在Evaluator的Prompt里明确要求:
- 打分低于70分时,必须写出"哪个具体问题导致了低分"
- 不能用"整体不错"、"基本满意"这类模糊表述
- 发现任何一个致命/严重级别的问题,该维度直接扣50%分
调教之后,Evaluator从"好好先生"变成了"毒舌评审"——有一次给了72分,理由是"并发测试未覆盖边界条件,在高负载下有内存泄漏风险,建议立即修改"。
4. 三级恢复策略省了80%的token浪费
不是每次不通过都要推翻重来:
- L1(小改):局部修改后R1重新提交。适用于命名错误、边界条件遗漏等。占80%情况
- L2(局部重做):某个子模块打回重做。适用于架构设计不合理、功能缺失等。占15%情况
- L3(全量推倒):根本性重做。适用于场景理解完全错误。占5%情况
第一次跑Sprint 1时,Generator交了,我没想清楚应该给L1还是L2,直接让它全改了——结果白白浪费了1小时。后来发现90%的问题其实都是L1就能解决的。
5. 不绑定模型才能活下来
这个流水线里,Planner用推理能力强的模型(需要强规划能力),Generator用代码能力强的模型,Validator用中间档。
我目前用的组合在2026年4月性价比最优,但模型能力更新很快。关键是接口抽象,随时可以换。现在我每个角色的模型配置都是YAML里的一行,改模型只需要改配置,不影响整体流程。
五、这套东西为什么有价值
一人公司最大的瓶颈不是能力,是时间和注意力。
Harness流水线把**“写→测→审→改→再测”**这个原本需要人工串行的循环自动化了。质量不降反升,原因是:Evaluator和Validator不认识Generator,没有面子问题;评分标准比人工Review更一致;每个Sprint独立上下文,Generator不会因为上下文太长而焦虑收工。
在工业视觉这个领域,我需要同时是算法工程师、售前顾问、项目经理和售后支持。代码开发的时间被压缩到极限。Harness让我在"有质量保证"的前提下,把精力花在真正需要人的地方:判断需求是否真实、方案是否可行、客户是否值得跟。
关于本文
- 操作环境:OpenClaw多Agent平台
- 参考来源:Harness design for long-running application development | Anthropic
一人公司的AI开发实践,持续更新。如果对你有启发,点赞收藏是对我最大的支持。如果你也需要这套系统,可以把我的文章复制给自己的 openclaw,也欢迎私信我,我分享自己的 harness 协议给你
更多推荐




所有评论(0)