当代码不再是软件:我们正在告别“编程时代”吗?
DHH写了25年代码,现在说不需要再亲手写了。人正从solution provider变成problem provider,而代码从软件本身,变成Agent临时制造的工具。
如果一个人写了25年代码,然后突然告诉你:“我可能不需要再亲手写了”,你最好听听他为什么这么说。
这个人是DHH,Ruby on Rails的创造者,一个出了名迷恋漂亮代码的人。去年他还对AI编程颇为怀疑。最近再上Lex Fridman的播客,他却几乎换了一个人。
他说,过去九个月发生了“几十年才会发生的进步”。
有些年代什么都不会发生,有些星期里却发生了几十年。过去九个月,我们看到了几十年的进步。如果你没有意识到这一刻的分量,那才是错觉,那才是精神失常。
这种话从AI公司CEO嘴里说出来,我大概会先打个折。但从DHH嘴里出来,有点不一样。因为他描述的不是未来,而是自己的工作已经发生了什么。
从“帮我写”,到“告诉我该写什么”
DHH把过去九个月粗略分成了几个阶段。
最开始,AI只是autocomplete。人想,AI写。
后来Agent出现了。人告诉它要实现什么,它自己查代码、修改、测试、检查结果。再后来有了sub-agent,一个任务可以拆成多个任务,同时跑起来。
而今年夏天,他感受到第三次变化:他甚至不再需要告诉Agent怎么解决问题。
只需要告诉它:“我有这么一个问题。”
Agent开始反过来告诉他,应该去哪里、走哪条路、怎么实现。
这听起来只是又一次效率提升。但其实不是。因为这里悄悄发生了一次权力转移:
人类从solution provider,变成了problem provider。
过去程序员最核心的能力,是把模糊需求翻译成确定的实现。现在,这个翻译层正在被Agent吃掉。

那程序员还剩下什么
Lex问了一个非常好的问题。如果Agent可以实现,那人类是不是至少还负责“好点子”?
DHH的答案也变了。几个月前,他认为当然如此:idea来自人,Agent负责实现。现在他不这么认为了,因为他已经看到Agent提出了一些连他自己都觉得非常好的设计方案。
这就麻烦了。我们原本为AI时代准备好的那个舒服分工,AI负责执行,人类负责创造,可能并不稳定。
如果AI不仅可以写代码,也可以提出方案、比较方案、发现漏洞、自己测试,再根据结果重新设计,那么人类真正保留下来的角色,也许越来越接近另一件事:
判断。
DHH用了一个很好玩的词:Differential Evaluation。
给人22个方案,人会崩溃。但给三个方案,我们常常一眼就知道喜欢哪个。
于是软件开发开始从“我知道答案,我把答案写成代码”,变成“我大概知道想要什么,AI生成几个现实,我挑一个更好的”。
这不是编程速度变快。这是创造软件的方法变了。
真正消失的,可能不是程序员,而是代码的中心地位
今年6月一篇arXiv论文把这个变化说得更彻底。
传统软件有一个隐藏了几十年的基本假设:Code is the carrier of decision logic。
程序员事先想好,如果A就做B,如果C就做D,然后把这些决定冻结在代码里。所以软件,本质上是一块凝固的人类决策。
但Agent不一样。你告诉它目标和环境,它在运行过程中决定下一步做什么,需要的时候写代码、执行代码,然后甚至可以把代码扔掉。
于是,代码不再是软件本身。

代码开始变成Agent为了完成任务临时制造的一种工具。就像我们为了算一道题,在纸上写几个数字。
真正持续存在的东西,不再是那几行代码,而是:目标、Context、Model、Tools,以及一个反馈循环。
论文因此提出一个很激进但很有启发性的判断:未来的软件工程师,可能逐渐变成Intent Architect,意图架构师。
这也解释了DHH为什么突然不那么迷恋代码了
DHH花了25年强调漂亮代码。原因其实非常务实:漂亮代码容易理解,容易维护,容易修改。几年以后另一个程序员打开它,还能知道当初为什么这么写。
所以“代码质量”背后一直隐藏着一个经济前提:
未来修改这套软件的,还是人。
现在这个前提变了。如果未来读代码、修改代码、重构代码的主要消费者是Agent,那么“什么叫好代码”本身都可能发生变化。
当然,DHH并没有说架构已经不重要。相反,他已经看到Agent一层层往mediocre PR上叠代码,同样会造出一团ball of mud。至少现在,清晰架构仍能节省context和token,也让下一次修改更简单更经济。
但问题已经出现了:如果机器越来越擅长理解机器写的复杂性,我们为什么还要求软件首先对人类友好?
这是一个比“AI会不会抢程序员工作”有意思得多的问题。
软件可能正在从“产品”变成“瞬间”
DHH在访谈开头用了一个很夸张、却很准确的比喻。
谁会不失态呢?灯神突然从瓶子里冒出来,对你说:“你想要什么都行。你梦想过的每一个操作系统功能,我都能交付,多数五分钟,少数二十分钟,真要撒开了玩,两个小时。”我想要能突破限速的最快的车。我想要能潜到马里亚纳海沟的潜水表。我想要能在六十秒内装完的操作系统。
如果这种趋势继续,软件还有一个更深的变化。
今天我们之所以“购买软件”,是因为制造软件很贵。一家公司花几年做Photoshop,于是几百万人购买同一个Photoshop。
但如果未来你可以说“给我一个只适合我工作方式的图片编辑器”,二十分钟以后它就出现了呢?
软件就可能从Build once、Distribute millions,变成Describe once、Generate once、Use、Modify、Discard。
我们今天所谓的“应用程序”,也许只是计算资源昂贵时代留下的一种包装方式。就像工业时代必须批量制造一百万双相同的鞋,因为定制太贵。
Agent正在把软件的边际制造成本推向另一个方向:Mass Software走向Personal Software,甚至最终走向Ephemeral Software,一次性软件。
所以,我反而不喜欢“软件工程的终结”
软件当然不会消失,工程也不会。
真正结束的,也许只是过去五十年我们对软件的一种特殊理解:人设计逻辑,人写代码,机器执行代码。
新的结构越来越像:人表达意图,Agent理解,Agent决定,临时生成工具,执行,看结果,再决定。

这里仍然需要工程,甚至可能需要更多工程。只是工程的对象,从code变成了agency。
我们过去研究怎么组织代码。未来可能研究的是:怎么组织智能,怎么给它目标,怎么给它边界,怎么让多个Agent协作,怎么判断它做出来的东西究竟好不好。
这可能就是所谓Agentic Engineering真正有意思的地方。
DHH那句“几十年的进步发生在九个月里”之所以让我觉得重要,并不是因为它预测了AGI。而是因为一个写了40年程序的人,突然发现自己和电脑之间的关系变了。
以前,他操纵计算机。后来,他告诉计算机该做什么。现在,他开始和计算机一起决定:
到底什么值得被做出来。
也许真正结束的不是Software Engineering。而是那个我们一直默认,只有人类知道软件应该是什么样子的时代。
参考来源
- Lex Fridman Podcast #501,DHH: Future of Programming, AI, Agentic Engineering, Vibe Coding & Linux,2026 https://www.youtube.com/watch?v=NYFGCESmikA
- 逐字稿:https://lexfridman.com/dhh-2-transcript
- Zhenfeng Cao,Agentic Software: How AI Agents Are Restructuring the Software Paradigm,arXiv:2606.05608,2026-06