我已经不再亲手写代码了,而且一点也不怀念。
不写函数,不修 Bug,不加功能。从这个博客,到我在 enum 做的那些复杂而激进、绝不能出问题的系统, 我现在几乎都不再亲自敲代码了。
而且,我很享受这种状态。
我曾以为,“写代码”才是最有趣的部分
我写代码已经快二十年了。
小时候,我会折腾 Linux,还试着给自己的 Minecraft 社区写插件。我到现在都还记得,那种调了几个小时、终于跑通时的兴奋感。
后来,我做过很多项目:从青春期时写的小网站,到后来在 enum 和 Wunder Software 搭建高可扩展的分布式系统。我把整个工作流都围绕“编码”优化到了极致——分体键盘、nvim、各种编程语言,怎么高效怎么来。
我一直很喜欢“创造东西”、喜欢折腾——但后来我才发现,我一直搞错了一件事: 我真正喜欢的,其实从来都不是“敲代码”本身。
真正有意思的,是做决定的过程。例如,这个系统到底该做什么?出问题时应该怎么表现?什么才是正确的抽象?复杂性该放在哪里?我们真正要解决的问题是什么?
写了这么多年代码之后,我终于意识到: “写代码”只是把这些决策落地时不得不支付的“过路费”。而且 其中绝大多数,其实只是肌肉记忆:同样的模式、同样的 import、同样的重试逻辑、同样的 null check、同样的模板代码……这些东西,我已经重复输入过上万次。
很多时候,真正有价值的思考,在打开编辑器后的几秒钟就结束了。而接下来的六个小时, 不过是在“翻译”这些想法。
AI 开发者计划已开放申请,免费领 100小时云算力券
支持主流 AI 框架与模型部署
那么,我现在在做什么?
现在的我,会设计架构、做代码评审、反驳错误方案、会仔细读 diff、驳回那些没解决问题的改动;会写规格说明,然后看着多个 AI Agent 把它们实现出来;发现某个 Agent 的代码风格不对劲或者测试覆盖是假的时候,会尽快指出;会思考什么应该成为primitive(基础原语),什么应该通过组合实现……这才是真正的工作。
其实,一直以来,真正的工作都是这些,敲代码只是额外开销。
我要声明一下: 这种转变并没有让我变得更懒、更敷衍——恰恰相反,现在的我,比以前读更多代码。 因为我不再自己写,而是在阅读 Agent 生成的结果。
因此,我会更深入地思考真正的问题:
我们应该如何为 enum 平台实现一个可扩展的 reconciler 模式?
数据应该放在哪里?
我们下一个真正要解决的问题是什么?
我对结果和测试的要求,比以前更苛刻了,因为现在负责发现问题的人,就是我自己。
不仅如此,我现在有更多时间去学习新东西了,思考如何在 enum 扩展我们的系统,思考 enum 的融资……这些事情,远比每天坐在那里敲 10 个小时代码重要得多。
说点不好听的话吧
接下来,我说点不那么舒服的真话:
如果明天 AI 编程突然消失了,如果我不得不回到一行一行手写代码的状态——我想我会彻底放弃编程。
不是因为我不会写。我当然还会,可能比一年前还更敏锐,因为我一直在跟进最新的工具。但 我已经不想再那样做了,那会让我觉得是在浪费时间。
多年的肌肉记忆已经开始消退,我也没兴趣重新建立它。我已经亲手写过够多的软件代码了,知道那是种什么感觉,我真的受够了。
每当想到这里,其实我心里都有点复杂。因为我过去很多年的身份认同,都建立在一句话上:“我是一个写代码的人。”可如今,这个身份依赖于一套才出现三年的工具栈,如果这套东西崩了,这个身份也随之而去——不过,我也能接受。
我觉得,这大概也是最诚实的信号:原来这些年里,我真正热爱的从来不是“写代码”。我喜欢的是做决策,然后看着它们变成现实。
而 AI Agent,只是把这个循环大幅缩短了。如果没有 Agent,这个循环又会重新变长,那我宁愿去做别的事。
当然,这不是一篇“无脑 Vibe Coding”宣言
当然,我并不是说“随便让 AI 写代码就行了”。
如果你不做判断,只是放任 Agent 往一个你根本不理解的系统里疯狂生成代码,那最终一定会出事。而且,是那种凌晨 3 点你根本没法 Debug 的诡异线上事故——我见过这种场面,我也收拾过这种烂摊子。
我现在描述的,其实是另一种工作模式:我会读每一个 diff;会否掉大量 Agent 的方案;对于核心系统,我会把 Agent 管得非常严。
简单来说,我工作的重心,已经从“生产代码”转向“评估代码”。而后者,其实比前者更难:因为你必须在更短时间里、带着更少上下文,正确判断更多事情。
如果你没有“品味”和判断力,AI 编程只会让你更糟糕;但如果你有,它就能帮你省下大量“翻译想法”的时间。
接下来会怎样?
我不知道这种模式最终会如何扩展。我不知道它会如何影响招聘,如何影响初级工程师,也不知道下一代程序员,会不会再像我当年那样,把 for 循环敲上一千遍,直到形成条件反射。
这些问题都很真实,而我暂时没有答案。但我知道,在过去几个月里,我亲身感受到:
那些我真正热爱的工作,变多了;那些我只是“忍着做”的部分,变少了。
我每周做出的关键决策,比过去一个月还多。
我交付得更多、思考得更清晰,也比以前更在乎自己正在构建什么。
其实,这一直都是这份工作的本质,“敲代码”只是过路费——而我,再也不想交了。