当前位置: 首页 > news >正文

《AI 渐进编程》之十二:海狮做对了喂小鱼,Agent 做对了喂什么?

前一篇讲的是open_issues.md

把暂时不能解决、但又不能忘掉的问题留下来。

这一篇讨论另一个问题:

当 Agent 做对了一轮任务,系统怎样确认“这次已经通过”?

海狮做对动作以后,训练员会喂它一条小鱼。

那么,Agent 做对以后,应该“喂”什么?

不是一句“做得不错”,也不是让模型因为受到表扬而变聪明。

Agent 真正需要的是一个明确的通过信号

  • 验收条件已经满足;
  • 当前结果可以保留;
  • 修改不需要继续扩大;
  • 项目可以进入下一状态;
  • 已验证的结果可以成为后续工作的依据。

1. 为什么需要通过信号?

AI 编程中经常出现两种问题。

改对了还继续改

问题已经解决,但因为没有明确的结束条件,Agent 继续重构附近代码、增加无关功能,甚至把已经正确的部分重新改坏。

只改对一部分就宣布完成

页面不报错了,不代表后端没有错误副作用;一个测试通过了,也不代表正常路径没有被破坏。

所以,一轮任务不能靠“看起来差不多”结束。

系统需要明确判断:

当前结果能不能保留,这轮任务能不能结束。


2. Agent 得到的“鱼”是什么?

Agent 得到的不是情绪鼓励,而是一组工程信号:

  • 测试通过;
  • 编译成功;
  • 关键路径验证完成;
  • 没有产生错误副作用;
  • 修改范围没有越界;
  • 剩余风险已经记录;
  • 当前任务被标记为完成。

这里说的 reward,并不会直接重新训练模型或修改模型参数。

它主要完成三件事:

  1. 判断结果是否可以接受;
  2. 决定修改循环是否结束;
  3. 把已验证结果写回项目。

因此,更准确地说,验收提供的是:

工作流中的通过信号和状态转移条件。


3. 购物车程序怎样验收?

假设任务是:

修复空购物车结算时的异常行为。

验收不能只看页面是否报错,还要检查:

  • 空购物车是否返回安全错误;
  • 是否阻止支付和下单;
  • 正常购物车是否仍然可以结算;
  • 是否没有创建错误订单;
  • 是否只修改了允许修改的文件;
  • 剩余问题是否写入open_issues.md

只有这些条件都满足,系统才能确认:

当前结果可以保留,这轮任务可以结束。

这就是 Agent 得到的“鱼”。


4. 验收条件要提前写

验收不能等任务结束以后再临时决定。

它应该在任务开始时写进current_task.md

## Task Fix the empty-cart checkout path. ## Allowed - `checkout/service.py` - `tests/test_checkout.py` - `revision_log.md` - `open_issues.md` ## Acceptance 1. Empty-cart checkout returns a safe error. 2. Normal checkout still passes. 3. No payment request is sent. 4. No order is created. 5. Only allowed files are changed. 6. Remaining risks are recorded.

这份文件提前规定了:

  • 什么叫正确;
  • 什么叫越界;
  • 什么必须验证;
  • 什么情况才算完成。

因此,验收既是终点,也是方向。


5. 测试通过不等于任务通过

测试只能检查已经写入测试的条件。

Agent 可能让测试通过,却同时:

  • 写死返回结果;
  • 破坏正常业务路径;
  • 产生未被测试覆盖的副作用;
  • 修改范围外文件;
  • 忘记更新项目状态。

所以,完整验收通常包括:

代码测试 + 业务语义 + 副作用检查 + 修改边界 + 状态回写 = 本轮任务通过

All tests passed只能证明已有测试通过,不能自动证明整个任务完成。


6. 通过以后还要回写状态

验收完成后,需要把结果写回项目:

  • revision_log.md:记录修改原因、验证方法和结果;
  • open_issues.md:关闭已解决问题,保留剩余风险;
  • state.md:更新当前状态和下一步;
  • current_task.md:结束当前任务。

这一步把一次性的通过结果,变成下一轮可以继续使用的项目事实。

否则,下一个 Agent 仍然不知道:

  • 哪条路径已经验证;
  • 哪些问题已经解决;
  • 为什么代码现在这样;
  • 哪些风险仍然存在。

7. 本章小结

海狮做对了,训练员会喂它一条小鱼。

Agent 做对了,得到的是一组明确的通过信号:

  • 目标已经完成;
  • 关键路径已经验证;
  • 正常行为没有被破坏;
  • 修改范围没有越界;
  • 剩余风险已经记录;
  • 当前结果可以保留;
  • 项目可以进入下一状态。

验收不是让 Agent 感到被表扬,而是在决定:

这一轮修改能不能停止,当前结果能不能进入项目历史。

前一篇用open_issues.md保存尚未解决的问题。

这一篇用验收保存已经验证的结果。

一个防止问题被忘记,一个防止正确结果再次被破坏。

两者共同推动项目一轮一轮地收敛。

下一章,我会继续讲:程序项目里的工作台应该怎么搭,才能把代码、状态和人类视图分开。

http://www.jsqmd.com/news/1221123/

相关文章:

  • 2026年7月最新美度南昌万象汇维修保养服务电话 - 亨得利钟表维修中心
  • ABC20260718E题
  • 石家庄业主必看!2026筑宅安本地化防水,告别反复渗漏 - 筑宅安
  • PMSuperButton项目架构解析:理解其设计模式和实现原理
  • Expression库测试策略:如何为函数式Python代码编写测试
  • Ecommerce Price Monitor MCP MCP 服务说明文档
  • 如何在VSCode扩展中使用node-jsonc-parser增强JSON编辑体验:终极指南
  • Unity安卓打包全攻略:从环境配置到自动化构建的实战指南
  • TI F28003x Bootloader配置与安全引导实践指南
  • Slug性能优化技巧:提升URL短链服务响应速度的10个方法
  • 未来已来:Laguna-XS-2.1-6bit如何通过DFlash推测解码技术提升15倍生成速度
  • 沁源县专业除甲醛公司怎么选?工艺、药剂、售后全维度对比,本地靠谱机构详细测评 - 专注室内空气检测治理
  • Apache Commons Collections 与Java Stream API:如何选择最佳数据处理方案
  • 伯爵官方更换原装表带价格查询|热线与地址权威信息公告(2026年7月最新) - 亨得利官方服务中心
  • fluxsort可视化分析:通过动画理解快速排序算法的工作原理
  • rtsp-stream与Nginx集成:实现高效RTSP-HLS反向代理与缓存的完整指南
  • 福州名表上门回收避坑全解|2026 交易新规落地,教你挑选靠谱手表回收店铺 - 大牌深度测评
  • 如何使用node-jsonc-parser实现JSON配置文件的热更新
  • 基于66AK2L06 SoC的SAR信号处理:如何应对SWaP挑战并优化性能
  • LogAI完全指南:开源日志智能分析框架如何革新你的系统监控
  • 英雄联盟Akari助手:免费开源的终极游戏效率工具,快速提升你的操作水平
  • node-jsonc-parser与主流JSON库对比:何时选择JSONC解析器
  • Diplomat用户指南:从安装到高级配置的全面教程
  • 【HarmonyOS Next】鸿蒙中自定义弹框OpenCustomDialog、CustomDialog与DialogHub的区别详解
  • 武乡县室内除异味哪家效果好?甲醛异味一体治理对比,优选长治沐科环保长效不反弹 - 专注室内空气检测治理
  • 2026江苏留学机构推荐 综合实力排行完整名录梳理 - 互联网科技品牌测评
  • xamarin-forms-book-samples样式与主题设计:打造专业UI界面的终极教程
  • MPI-IS Mesh几何处理:三角形网格的几何计算与变换终极指南
  • TMS320F2838x DCSM Zone 2寄存器配置与安全内存管理实战
  • 手把手教你学 Simulink——考虑线路阻抗影响的并网逆变器下垂控制(Droop Control)仿真