AI 生成代码的能力很强,但它有一个特点:它倾向于给你一个“看起来差不多”的答案,而不是一个“确定正确”的答案。如果你给 AI 一个很模糊的指令,比如“写一个电商网站”,它会在海量的可能性中随机组合,结果往往漏洞百出。这就相当于你把前面说的“剪枝”工作也交给了 AI——而它根本不了解你的业务场景。正确的用法是:你来完成高层次的确定性分解,把边界清晰的小任务交给 AI。比如,你不要让它写“整个购物车模块”,而是让它写“一个 Python 函数,输入商品 ID 列表,从 MySQL 的 products 表中查询名称、价格和库存,返回字典列表。”这样做的结果是:AI 生成的代码大概率是可用的,你只需要做少量的检查和微调。换句话说,AI 时代,开发者的核心能力不再是写每一行代码,而是把一个复杂问题拆解成一系列边界清晰、确定性高的子任务。谁能把这个拆解得更好,谁就能更高效地用好 AI。
五、一个完整的确定性叠加模型
最后,我把前面的内容串起来,形成一个完整的框架:
宏观层面(产品):通过树形分解和价值判断,把模糊的产品愿景拆成一组有依赖关系的功能点。
中观层面(功能点之间):识别依赖关系类型,强依赖串行、弱依赖并行但对齐、无依赖随意并行。
微观层面(功能点内部):通过设计、编码、测试三个环节,让一个功能点的行为变得可预测。
AI 赋能层面:人类更多负责前三层的确定性分解(当然,也可以利用AI加速沉淀前三层的确定性),把边界清晰的任务交给 AI,再通过验证(保持传统的CI 和 CD,也包括当前的 Harness 等技术)将其输出整合到系统中。