2026年Veri-ReActAgent:让 AI 写代码前先学会写测试

Veri-ReActAgent:让 AI 写代码前先学会写测试最近在尝试实现一版简洁版本的 OpenClaw 实践了很多用 OpenClaw 直接实现代码生成的工程任务 发现不符合预期 最后经过多轮调试和思考方法论 总结了这篇文章的方法 代码生成类 Agent 最大的问题从来不是 写不出来 而是写出来的东西很难稳定地跑通 尤其在多步任务里 早期一个小错误没被及时发现 后面步骤就会在错误前提上越走越远 最后只能靠人工兜底

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



最近在尝试实现一版简洁版本的 OpenClaw,实践了很多用 OpenClaw 直接实现代码生成的工程任务,发现不符合预期,最后经过多轮调试和思考方法论,总结了这篇文章的方法。

代码生成类 Agent 最大的问题从来不是”写不出来”,而是写出来的东西很难稳定地跑通
尤其在多步任务里:早期一个小错误没被及时发现,后面步骤就会在错误前提上越走越远,最后只能靠人工兜底。



这篇文章整理一种偏工程化的执行方法:Veri-ReActAgent,它并不追求更“聪明”的自省,而是把测试驱动开发(TDD)的约束,** ReAct(Reasoning + Acting)的闭环里,让每一步都有可执行的验收。


  • 观察不等于验证:很多 Agent 的“观察”只是“文件写入成功”“命令执行了”,并不等于功能正确。
  • 错误传播:例如  没有正确更新数据结构,后面的 、淘汰策略、并发控制都会在错误假设上继续推进。
  • 环境噪声:缺依赖、运行态污染、状态残留,会让 Agent 把环境问题误判成逻辑问题,反复重试。

用一句话概括:Agent 缺的是客观、可执行、可重复的最小验证


Veri-ReActAgent 的做法很直接:把“写测试”变成每一步的硬门槛。

它把一个任务拆成原子步骤,并为每个步骤绑定一个最小测试脚本()。执行产物必须通过该测试,才允许进入下一步。

  • 规划智能体(Architect) :把大任务拆解成“步骤 + 验收”。
  • 执行智能体(Coder) :只负责实现当前步骤。
  • 验证智能体(Verifier) :在隔离环境中运行最小测试,只依据结果给出通过/失败与错误日志。
  • 循环控制器(Controller) :驱动流程、做失败分流与计划修剪。

传统计划往往是“先实现 A,再实现 B”,但缺少“怎么证明 A 已经做对了”。

Veri-ReActAgent 要求规划阶段输出结构化条目,每条都包含:

  • :要实现什么
  • :验收点是什么
  • :能独立运行的最小测试

示例(以 LRU 缓存为例):

 
     

这里的关键不是“测试写得多完整”,而是:每步至少有一个可执行的客观门槛


把验证交给独立 Verifier,有两个工程价值:

  • 避免自我欺骗:同一个模型既写代码又判对错,容易被“自洽”的幻觉说服。
  • 把失败变成可诊断信号:测试失败是明确的日志与堆栈,不是泛泛的“反思”。

验证环境建议隔离(例如 Docker/沙箱/一次性工作目录),以减少:

  • 依赖污染
  • 缓存/临时文件导致的假通过
  • 隐式全局状态导致的偶现问题

Veri-ReActAgent 的失败处理不是简单让 Coder 再写一遍,而是先回答一个问题:失败属于哪一类?

  • 语法/运行错误:如 、、
  • 逻辑错误:如 (测试期望不满足)
  • 环境错误:如 、系统依赖缺失、权限问题
  • 逻辑错误:只修当前步骤,直到最小测试通过。
  • 环境错误:在当前步骤之前插入“环境准备步骤”(装依赖、写 stub、修 import 路径等),再回到原步骤。
  • 计划错误:如果验收点本身不合理(例如验证依赖外部服务但未明确),需要回退到规划侧重写后续条目。

动态修剪的目标是:把修复发生在错误源头,而不是把错误带到下一步


图片


Veri-ReActAgent 更像工程流水线,适用于:

  • 任务可拆解:能拆成若干可验收步骤(编码、数据处理、运维脚本等)。
  • 每一步能写最小验证:哪怕只是“能 import”,“能跑通一条 happy path”。
  • 对可靠性敏感:例如交付型任务、需要持续集成的项目。

反过来,如果任务本身无法明确验收(纯创意写作、开放式探索),强行 TDD 化会降低效率。


  • 优先写冒烟测试(smoke test) :先保证能跑通,再逐步增加断言。
  • 测试脚本要独立:避免依赖外部服务;如果必须依赖,写清楚 mock 或启动方式。
  • 一条测试只验证一个点:否则失败原因不清晰,反而增加修复成本。
  • 把环境准备显式化:依赖安装、路径配置、数据下载,尽量变成可重复执行的步骤。

  • 测试生成质量:如果  太弱,可能放过错误;太强则会拖慢迭代。
  • 隔离环境成本:Docker/沙箱启动有开销,需要做缓存与复用策略。
  • 计划颗粒度:步骤太粗,定位困难;太细,管理成本变高。

可预期的演进方向包括:

  • 更智能的最小测试生成(覆盖边界条件、随机化、属性测试)
  • 经验库(常见失败类型 → 修复策略模板)
  • 多验证者交叉评审(同一实现用不同测试角度验证)

ReAct Loop 和 VeriReAct Loop 运行对比:

==ReAct Loop ==

图片

==VeriReAct Loop ==

图片

Veri-ReActAgent 的价值不在于“更会反思”,而在于把编码任务从“靠自洽推理”拉回到工程世界:

  • 每一步都有可执行的验收
  • 验证与生成分离
  • 失败后按类型修复,并动态调整计划
  • API 使用硅基流动的,平台地址:cloud.siliconflow.cn/i/RKNWP9gN

 
            

小讯
上一篇 2026-03-30 12:53
下一篇 2026-03-30 12:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/230544.html