验证成本才是真正的 AI 编程成本

以前在为编程选择 AI 模型时,我总会问一个问题。

哪个模型足够强大,能胜任这项任务?

这个问题没问题。但它不再是我的首要问题了。

更好的问题是:我能多快验证输出结果?

这种思维方式改变了你使用低成本模型的方式。不要把它们看作是大模型的“弱化版”,而要将它们视为处理“短验证路径”任务的工人。

有些任务的审查成本很低,因为你可以立即看到结果。

• README 清理 • 使用示例 • 代码注释 • 更新日志说明 • 小型格式化脚本 • Issue 模板

如果模型写了一段糟糕的 README,你能一眼看出来。你只需删掉那部分即可。这个错误虽然烦人,但几乎不消耗你的成本。这就是低成本模型的最佳用途。

下一类是可测试的工作。

如果你可以定义预期行为并运行测试套件,那么可以用更便宜的模型来写初稿。你必须给模型明确的边界。

不要说:为这个 helper 添加测试。

要说:为空输入、null 输入、重复值、无效配置、默认配置和正常输入添加测试。不要修改运行时代码。

这迫使模型在验证框架内工作。

有些任务缺乏自动化测试,但允许进行清晰的手动检查。

• CLI 输出格式化 • 配置示例 • 迁移试运行说明 • 小型数据转换脚本

对于这些任务,要求模型包含:

  • 如何运行代码
  • 使用什么输入
  • 预期输出是什么
  • 需要检查哪些边界情况

如果一个模型无法解释如何验证它自己的工作,那就不要信任它的代码。

小规模重构是危险的。Diff 可能看起来很短且整洁,但行为可能会在隐藏路径、默认值或权限检查中发生变化。

当任务涉及以下内容时,请提高警惕:

  • Fallbacks(回退机制)
  • Defaults(默认值)
  • Routing(路由)
  • Permissions(权限)
  • Billing(计费)
  • Rate limits(速率限制)
  • Migrations(迁移)
  • Backwards compatibility(向后兼容性)

这些错误在标准的代码审查中很难发现,它们需要深层的上下文。

按验证成本分配你的工作:

  • 低验证成本:使用低成本模型起草。
  • 中等验证成本:使用低成本模型,然后由人工编辑。
  • 高验证成本:使用强大的模型,并配合测试和人工审查。

任务规模并不重要。如果一个任务难以验证,那么它就是昂贵的。

AI 编程昂贵的部分不在于生成,而在于信任。

Source: https://dev.to/zephyrelabs369/verification-cost-is-the-real-ai-coding-cost-1354

Optional learning community: https://t.me/GyaanSetuAi