自 copilot 起 AI coding 速度远超人类 coding,人类负责复杂任务。

自 Claude 3.7 Sonnet 起 AI coding 完成明确需求任务准确率远超多数人类,人类负责 review。

在 Astra/Fable 时代,人力 review 速度远跟不上 AI 产出速度,AI code AI review 成为常态,人类。。。

N 个月后,xxx 模型出世,端到端项目开发测试通过率超过 99%,软件行业进入历史?

算是吧。原来的软件编码工程死了,新的软件交付工程诞生了。

短期来看,AI 能做到很多,但远不是全部。

日常 vibe coding 能体会到,AI 确实比强了很多,完整需求 prompt + 一轮对话就可以得到近乎 demo 状态,再修修补补基本功能完善,而距离上线,还远远不够,因为:

  1. 软件能正常运行,不代表软件是正确的。 测试场景和测试用例永远无法穷举。AI 即便没有完全理解需求,也可能开发出一套看似正常运行、测试全部通过的软件。那些没有被正确理解的意图,可能直到生产环境遇到特定场景才会暴露。
  2. 幻觉。 LLM 存在幻觉问题,本质是插值引擎,会虚构不存在的东西。
  3. AI 不会拥有全部的上下文,有些特定的坑 AI 不会躲。

AI Coding 的准确率越来越高,但最后几个百分点的错误,可能恰恰是代价最大的。所以对错了代价很大的地方,值得人工看一遍。

长期来看,即便超级 coding model + harness 出现,软件工程也不会消失,而是将核心从编写代码转向定义正确性、验证正确性。

很多时候,用户自己也说不清真实意图,需要有人理解业务、拆解需求、定义边界、分发任务、验收结果。

AI 可以一秒生成一万行代码,但在这一万行代码跑到生产服务器之前,需要有人站出来说:这是对的,可以上线。

这个人不一定需要逐行阅读代码,但必须有能力判断结果是否正确,并在出问题时知道如何定位和解决。

所以,我们应该: