内容提要
Thorsten Ball 提出 16 条判断:代码审查、单元测试和终端将消亡,写代码的手艺贬值,工程师价值转向理解业务与判断取舍;“好代码”共识可能崩塌,Token 成为新计算范式,PM、设计、工程三角瓦解,小团队优势扩大,UI 将实时生成。他强调变革需一代人时间。
延伸解读
质量关卡为何松动:从“人防”到“模型自证”
Thorsten Ball 认为代码审查、单元测试和终端会“死”,并非指这些行为消失,而是执行主体从人转向模型。他举例模型一次生成900行Arduino C代码,编译零错误且直接运行,说明当模型产出可靠性足够高时,为防人犯错而设的人工关卡会失去必要性。审查对象从逐行代码变为系统组合方式,测试从人写用例变为模型自证,交互从敲命令变为对话。
工程师价值迁移:从写代码到定义问题
如果写代码的手艺贬值,工程师的价值将转向“造软件”:理解业务、知道别的软件怎么做及为什么、判断何时上线、如何获取真实反馈。Ball 还判断大多数bug将不再是代码bug,而是需求提错的bug。这意味着把需求写清楚、写好Prompt和Spec,会比代码规范更重要。性能优化等极难人工贡献会保留在边缘案例,因为99%的软件没有真实用户,不需要极致性能。
组织与生态重构:三角瓦解与Token门槛
Ball 认为PM、设计、工程的传统三角协作会瓦解,Agile、Scrum等方法论也会“死”,只把需求丢给AI Agent再汇报的“人肉代理”工程师将失去价值。小团队因约束更少,可能比照搬大厂实践的初创公司跑得更快。同时,开源现有形式不再合理,因为“人工眼睛”已能发现bug;而拿不到足够token的人会被排除在软件生产之外,只能打“次级联赛”。
“好代码”共识崩塌与UI实时生成
Ball 提出没有证据表明“好代码”在未来还会重要,因为该概念建立在人类需要维护代码的前提上;若人类不再修改绝大多数代码,前提就不成立。他认为纠结每行80列或换行位置对Agent毫无意义。此外,模型足够快后UI会被实时生成,菜单、设置页、仪表盘等本质是“因为软件理解不了你想要什么”而存在的面向人类的API,当机器足够聪明,所需UI会大幅减少。
Q&A
Thorsten Ball 认为哪些传统的软件开发实践会消亡?
他认为代码审查、单元测试和终端命令行会消亡。代码审查方面,人类将不再逐行审查模型产出的代码,而是审查系统及其组合方式;单元测试方面,模型产出的代码可靠性足够高,人工测试用例可能不再必要;终端方面,Shell、文本编辑器、CLI 工具会被 token 冲刷掉,未来人类不再直接使用它们。
如果写代码的手艺贬值,工程师的价值会转向哪里?
工程师的价值会从“写代码的手艺”迁移到“造软件”的能力,具体包括:知道如何用软件解决业务问题、知道别的软件是怎么做的以及为什么这么做、知道什么时候该上线、以及如何拿到真实反馈。大多数 bug 将不再是代码 bug,而是需求提错的 bug。
Thorsten Ball 为什么说“好代码”的定义可能崩塌?
因为“好代码”概念建立在“代码要方便、便宜、高效地让人类维护”的前提上。如果人类以后根本不会去修改绝大多数代码,这个前提就不成立了。例如,认为“每行不超过80列”等规则对 Agent 有意义本身就很荒唐,因此对“好代码”的其他属性也应重新审视。
Thorsten Ball 如何描述 Token 作为新计算范式?
他认为 Token 是新的计算范式,一切都会在它之上被重新构建。我们已经用了80年确定性计算机,容易把“计算机过去怎么运作”和“必须怎么运作”搞混,我们正在进入“后二进制时代”。当与计算机交流的方式从确定性指令变成自然语言 token 时,建立在确定性范式上的整套工具体系都需要被重新审视。
Thorsten Ball 对组织协作和团队规模有什么判断?
他认为 PM、设计、工程的传统三角协作会瓦解,Agile、Scrum 等方法论都会“死”,扮演“人肉代理”的工程师将不再有价值。同时,大公司和小公司在软件工程能力上的差距会拉大,初创公司照搬 Google 那套工程实践会显得更荒唐,小团队因约束更少反而可能跑得更快。
Thorsten Ball 对开源生态和资源获取有什么看法?
他认为开源在现有形式下已经不太合理——“足够多的眼睛能让所有 bug 无所遁形”依然成立,但现在我们有了“人工眼睛”。此外,一部分人会被排除在软件生产之外,就像80、90年代不是所有人都买得起个人电脑一样,接下来几年如果拿不到足够的 token,就只能打“次级联赛”。
Thorsten Ball 认为 UI 未来会如何变化?
他认为模型足够快之后,UI 会被实时生成。很多菜单、设置页面、仪表盘、筛选器,本质上是“因为软件理解不了你想要什么”而存在的、面向人类的 API。当机器足够聪明,需要的 UI 会大幅减少。
Thorsten Ball 强调这些变革需要多长时间?
他在文章末尾明确说,这一切需要一代人的时间才能完成。就像今天依然有人开开心心地做着 ASP 开发一样,10年后依然会有人靠写代码为生,但他反问:但你真的想要那份工作吗?