AI重新定义了软件开发的未来方向
软件开发的未来
1. 现有开发流程的终结
代码审查正在消亡
作者断言,代码审查如今实际上已经死亡。在他看来,人类无法在合理时间内找出模型生成代码中的错误——生成的体量和速度已经超出了人类仔细检查的能力上限。
代码审查将会升级一个层级:人类将评估系统及其构成,而非逐行检查。拉取请求和逐行浏览差异的格式,作为质量控制工具已经失去意义。
单元测试可能也会消失
这个比喻就像:既然你不会摔倒了,为什么还要给轮子额外装辅轮?作者的个人经历:模型写了900行Arduino C代码,代码一次编译成功,在设备上运行也没有任何错误。在他看来,900行从未来的角度看只是很小的规模——当代码生成器的出错率下降后,作为防范人类错误保障的测试就失去了存在的理由。
终端已死
大部分开发工具都会被token“冲走”:人们再也不会使用shell、文本编辑器和CLI工具了。了解命令行参数或者jq调用已经不再有价值——这会变得和会写Perl单行命令一样古老。作者明确表示,他本人是喜欢终端和开发工具的——这不是幸灾乐祸,而是一个无奈的预测。
产品经理/设计师/工程师三分结构将解体
作者认为,产品经理-设计师-工程师的分工已经“完全没有意义”。他将敏捷开发、SCRUM和类似方法论判定为已经死亡。他尤其鄙视那些作为批量代理中转的“工程师”——这些人只负责把工单转交给代理,再把结果汇报给人类。这一中间层将不再具有价值。
---
2. 什么会成为价值核心
写代码的手艺将会消失
打个和意大利鞋匠类比的比方:这个手艺还会存在,但看看你脚上现在穿的是什么。这门手艺只会作为小众领域留存,不会再是主流。
构建软件的手艺会比以往任何时候都更重要
新的游戏比拼的是其他技能:能用软件解决商业问题,知道其他软件是怎么解决问题的、为什么这么解决(以及为什么不那么解决),知道何时以及如何发布产品,如何获取产品反馈。这是从实现到需求定义、设计和产品判断的转变。
错误的性质会改变
大多数bug不会再是“程序员”的错误,而是“你要求了错误东西”类型的错误。失败的重心从实现阶段转移到了需求规格说明阶段。
围绕“好代码”概念的不确定性
没有证据能证明“好代码”在未来还有任何意义。整个概念都建立在一个前提上:人类能轻松、低成本、高效地处理代码。但未来大多数代码人类都不会再去修改。
举一个很荒谬的例子:假设智能代理在意“代码每行最多不超过80字符”或者空行的排布,这显然很愚蠢。现在把这个检验方式套用在你能想到的所有“好代码”的其他属性上试试。
---
3. Token作为全新计算范式
后二进制时代
Token是全新的计算范式——一切都会在它之上重新构建。我们已经经历了80年的确定性计算机时代,现在……
本文由 AI 翻译自英文原帖,技术名词保留英文。
查看 X 原帖