《AI 渐进编程》之十三:AI 编程是 Reward 工程

前一篇讲的是验收。

当 Agent 做对一轮任务以后,系统需要一个明确的通过信号,确认当前结果可以保留,项目可以进入下一状态。

但 AI 编程中的反馈,不只发生在最后。

更多时候,Agent 并不是完全做对,也不是完全做错,而是处在一种中间状态:

  • 方向对了,但改过头了;
  • 功能修好了,但影响了别的路径;
  • 测试通过了,但业务语义不对;
  • 页面能打开,但用户体验不对;
  • 代码能运行,但留下了新的技术债。

这时,系统需要的不只是一个“通过”或“不通过”的结论,而是一组更细的反馈信号:

  • 哪里对了;
  • 哪里错了;
  • 哪里不能动;
  • 哪里需要保留;
  • 下一轮应该朝哪个方向改。

从这个角度看,AI 编程的本质,不只是代码生成,而是 Reward 工程。

这里的 Reward,不只是强化学习里的奖励分数,也不是对 Agent 说一句“做得不错”。

它指的是所有能够帮助系统判断方向、发现偏差、限制范围和确认结果的反馈信号。


1. 代码生成不是最难的部分

现在的大模型已经可以快速生成代码、修改文件、补充测试和调用工具。

但软件项目的难点,不只是“代码怎么写出来”。

更难的是:

代码写出来以后,谁来判断它是不是对的?

代码能运行,不代表业务正确。

测试通过,不代表没有遗漏。

页面能打开,也不代表用户能够接受。

所以,AI 编程真正缺少的,往往不是生成能力,而是持续、准确、可执行的反馈。

如果没有反馈,Agent 只能继续猜。

如果反馈太模糊,Agent 会在错误方向上反复修改。

如果反馈不能保存,下一轮又会重新犯同样的错误。


2. Reward 不只是通过信号

验收是一种 Reward。

它告诉系统:

这一轮任务已经通过,可以停止修改。

但在真实开发中,更常见的 Reward 不是终点信号,而是纠偏信号。

例如:

空购物车问题修好了,但正常购物车结算被破坏了。
按钮样式接近 Figma,但间距仍然不对,不要再改字体。
这次修改范围越界了,保留测试,不要修改支付接口。

这些反馈不是简单地说“对”或“错”。

它们在告诉 Agent:

  • 当前结果中哪些部分可以保留;
  • 哪些部分需要继续修改;
  • 哪些地方不能再动;
  • 下一轮应该怎样验证。

这比一句“重新改”有效得多。


3. 人类是 Agent 的现实误差传感器

普通用户可以感觉到结果“不对”,但未必说得清哪里不对。

真正高质量的反馈,需要同时理解:

  • 程序是否正确;
  • Agent 为什么会这样修改;
  • 业务是否成立;
  • 用户是否能够接受;
  • 哪些地方改了以后会产生副作用。

例如,低质量反馈是:

不对,重新改。

这种反馈只表达了不满意,却没有告诉 Agent 应该往哪里收敛。

高质量反馈则是:

空购物车问题已经修复,但正常结算路径被破坏。
保留当前错误处理,不要修改支付接口。
补充正常购物车测试,再验证一次结算流程。

这段反馈同时说明了:

  • 哪部分是正确的;
  • 哪部分是错误的;
  • 哪些内容必须保留;
  • 哪些范围不能再动;
  • 下一轮怎样验证。

这才是真正有效的 Reward。


4. 好的 Reward 会缩小搜索空间

Agent 每一轮修改,本质上都在搜索一个可接受的解。

模型能力决定它一次能生成多少候选方案。

但 Reward 决定这些方案能不能被筛选、修正和保存。

高质量 Reward 通常包含五个部分:

问题位置
+
错误原因
+
正确标准
+
修改边界
+
验证方式

它的作用,是不断缩小 Agent 下一轮的搜索空间。

如果 Reward 太模糊,Agent 会继续乱试。

如果 Reward 太晚出现,错误已经扩散到更多文件。

如果 Reward 不能保存,下一轮还是从头开始。

所以,AI 编程效率不仅取决于模型能力,也取决于反馈是否:

  • 准确;
  • 及时;
  • 具体;
  • 可执行;
  • 可验证;
  • 可积累。

5. Reward 必须沉淀为项目资产

一次人工反馈,如果只停留在聊天窗口里,很快就会消失。

下一次启动 Agent 时,它可能并不知道:

  • 哪条路径已经验证过;
  • 哪个方案已经失败过;
  • 哪些文件不能再改;
  • 哪些结果已经被接受;
  • 哪些问题只是暂时搁置。

所以,反馈需要沉淀。

它可以写进测试,变成自动检查。

可以写进规则,变成修改边界。

可以写进状态文件,变成当前项目事实。

可以写进修改日志,变成下一轮可以复用的经验。

反馈如果只停留在对话里,就只是一次提醒。

只有写入测试、规则、状态和日志,它才会变成项目资产。


本章小结

AI 编程表面上是在让 Agent 写代码。

但真正决定项目能否持续推进的,是系统能否不断回答:

  • 什么是对的;
  • 什么是错的;
  • 错在哪里;
  • 哪些地方不能动;
  • 下一步怎么改;
  • 什么时候可以停止;
  • 哪些经验应该留下。

需求是预先定义的 Reward。

编译器和测试是自动 Reward。

人工体验是现实 Reward。

验收是终点 Reward。

规则、状态和日志,是被保存下来的历史 Reward。

可以把这一章压缩成一句话:

模型决定 Agent 一次能走多远,Reward 决定它最终走向哪里。

前一篇讲验收,是 Agent 做对以后得到的通过信号。

这一篇讲 Reward 工程,是 Agent 没有完全做对时,系统怎样不断给出纠偏信号。

一个决定什么时候停止。

一个决定怎样继续收敛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值