关于 AI 在编码与软件工程中的作用,有两种流行但过于简化的判断:
“代码门槛大幅降低 → 软件工程师需求消失。”
“代码边际成本趋近于零 → AI 让实现免费,人的价值上升。”
这两句话,都局部成立、阶段性正确,但本质上是不完整的,甚至是危险的。
更真实的情况是:
人的价值不会自然上升,只会被重新定价。
而且,这种重定价不是线性的,而是剧烈分化的:
甚至可以更直白一点:
不是“人是否有价值”,而是“你处在价值函数的哪一段”。
我先说一个我自己越来越确定的判断:
AI 不是在替代“写代码的人”,而是在替代“没有建模能力的思考”。
很多人把问题理解成“coding 被干掉了”,但我认为本质不是这个。
更关键的是:
过去很多所谓“工程能力”,其实是借助代码表达思考能力的替代品。
你写一堆类、抽象、架构图,本质是在表达:
你如何理解问题
你如何拆分复杂系统
你如何处理不确定性
但现在——AI 可以直接跳过这个表达层。
于是问题变成一个很残酷的版本:
如果不通过代码,你还能不能清晰地定义问题?
很多人其实是不行的。
换个角度看,这里有个反直觉点:
代码成本下降,并没有让系统变简单,反而让系统失控风险更高。
以前你要花一周写一个服务,现在 10 分钟就能生成 10 个版本。
听起来是效率提升,但我更倾向于这样理解:
我们从“构建问题”,进入了“选择问题”。
问题不是“能不能做”,而是:
哪一个版本才是对的?
哪个约束被隐式违反了?
哪个路径在未来三个月会炸?
而这些,AI目前几乎不承担责任。
所以我越来越觉得,人真正的位置在一个很奇怪的地方:
不是更靠近“创造”,而是更靠近“裁决”。
你不再是 builder,你更像是一个:
在巨大解空间里,不断否定错误路径的人。
甚至可以说——
人的核心能力正在变成一种“负能力”:
但这里有个更深一层的问题,我觉得很多讨论没有触及:
“正确做什么”这件事,本身在变得更难,而不是更清晰。
因为当实现变便宜之后:
结果是:
目标函数开始漂移
以前因为贵,你会认真定义需求;
现在因为便宜,你更容易跳过定义,直接生成。
这会导致一种很典型的现象:
系统在快速进化,但方向是不稳定的。
这其实是一个“隐性失控”。
我再往下压一层,说一个我自己也还没完全想清楚的点:
AI builder 时代,人和 AI 的关系,不是“分工”,而是“纠缠”。
传统说法是:
但现实不是这么干净。
AI 在生成的过程中,会反过来影响你对问题的理解:
你看到一个生成结果,会调整目标
你看到一个 UI,会重新定义需求
你甚至会被 AI 的“可实现性”牵着走
所以更准确的描述是:
目标不是人先定义好的,而是在“人-AI交互过程中被共同塑形”的。
这件事很微妙。
因为这意味着——
人不再完全掌控“为什么做”,而是在和 AI 一起“发现为什么做”。
那人到底还有什么用?
如果一定要压缩成一句我自己的判断:
人的价值,不在于产出,而在于“让系统不偏航”。
注意,不是“让系统变强”,而是“不偏”。
这是一种完全不同的能力模型。
再具体一点,我会把人的角色拆成三种,但其实边界是模糊的:
一种人,会退化成“prompt 操作员”
他们会用工具,但不理解系统。
这类人短期看起来效率很高,但长期是最危险的。
一种人,会成为“系统建模者”
他们能定义:
这类人会越来越稀缺。
还有极少一类人,会成为“系统演化的操盘者”
他们关注的不是单个系统,而是:
多系统之间的耦合
组织如何围绕 AI 重构
决策如何被算法侵蚀
这类人,其实已经不在“软件工程”这个范畴里了。
我最后补一个有点刺耳的结论:
AI 并没有让“不会写代码的人”获得平权,它只是让“不会思考的人”更快暴露。
甚至可以说:
过去代码是一个缓冲层,让很多人看起来在做复杂事情。
现在这个缓冲层消失了。
于是问题变得非常直接:
你到底有没有在做判断?
如果要说协同方式,我不太想用“人负责收敛,AI负责发散”这种说法(虽然它是对的,但有点过于干净)。
我更倾向于一个不那么优雅但更真实的描述:
AI 在不断提出可能性,人不断否决大部分可能性,然后在剩下的路径里,被AI反过来影响判断。
这是一个来回拉扯的过程。
而不是一个分工清晰的流水线。
我自己现在的一个工作习惯变化,可能可以作为一个很小的侧面:
以前我写代码,是在“实现一个我已经想清楚的东西”。
现在我更多是在:
通过和 AI 的反复生成,逼自己看清楚我其实没想清楚什么。
这件事,说实话,有点不舒服。
但也挺真实。