John Carmack 关于编程与人工智能演进的观点

从务实编码到「Code-do」的转变

John Carmack 认为,手动逐行编写代码正经历一场类似于武术演变的变革。他以武藏的《五轮书》为类比,指出剑术从战场必需演变为一种体育运动或历史奇观。他推测,编程技能正沿着类似的轨迹发展:过去至关重要的任务,比如手动将操作码汇编为十六进制,早已成为小众领域。

Carmack 认为,人工智能正在加速这一趋势,将手工编写代码从「-jitsu」(一种实用技艺)转变为「-do」(一种道路或方式),他开玩笑地称之为「Code-do」。在这一视角下,尽管对复古计算和手工编码的热爱依然令人愉悦,但那些为了坚持传统方法而牺牲现代 AI 驱动生产力的开发者,可能会像一位「脱离现实的功夫大师」一样,被更务实、由 AI 赋能的「业余综合格斗选手」击败。

对软件工程工作流的影响

将人工智能融入开发流程,正在改变软件工程师的关注重点,从语法和实现细节转向更高层次的系统设计。

向架构设计的转变

一些开发者认为,人工智能消除了输入和与 IDE 交互带来的「偶然复杂性」,使工程师能够专注于数据结构、软件架构和算法。通过减少在语法和库特性上的时间消耗,人工智能使开发者能更快地将程序的思维模型付诸实现。

技能退化的风险

相反,人们普遍担忧基础知识的流失。批评者指出,如果一代开发者跳过「艰难地学习基础知识」的过程——比如并发、网络和语言设计——那么当 AI 生成的代码失效时,他们可能缺乏必要的深度来排查或优化复杂系统。

批判性观点与反驳意见

Carmack 的类比在技术社区中引发了广泛讨论,焦点集中在编程的本质以及人工智能的实用性上。

竞争 vs. 协作

多位批评者指出,软件开发是一项协作性工作,而非竞争性的格斗运动。他们认为,编程的目的不仅仅是最大化产出或「取胜」,而是创造可持续的高质量软件。

工具 vs. 根本性变革

一些人认为,人工智能并非取代编码本身,而只是更强大的工具——就像挖掘机取代了铁锹。虽然挖掘机在大规模作业中更高效,但铁锹在精细任务中依然有用。另一些人则认为,AI 的转变并非取代媒介(如枪支取代剑),而是谁或什么在编写代码发生了变化。

依赖性与控制权

人们对依赖专有 AI 模型存在战略担忧。开发者表达了对「工具自由」的渴望,指出依赖专有代理生成代码会带来风险,因为供应商随时可能「切断供应」,影响关键工作流。

质量与经济可行性

一些怀疑者仍不相信 AI 生成的代码在质量上始终优于人工编写,也不认为「大量消耗 token」在长期来看比雇佣熟练的人类工程师更具经济可行性。

Sources

相关