AI写得更快,不意味着人不能继续享受编程
AI发展得这么快,很多程序员估计都陷入了深深的自我怀疑当中。尤其是所有人在讨论AI替代人的时候,完全把人和工具放到一个评价标准体系里。一个功能,AI 几分钟就能写出来,你为什么还要自己琢磨半天?一个页面,描述几句话就能生成,你为什么还在调整布局、研究实现?
AI 能更快地完成一件事,和我是否还愿意亲手做这件事,是两个问题。
我喜欢 AI,也不想把编程全部外包
我现在做项目,会同时用好几个 Agent。对一个需要兼顾产品、研发和业务的人来说,AI 确实让我能推进更多事情。所以,这篇文章不是要证明“真正的程序员就应该手写代码”,我是个非常激进的技术人员。使用 AI,不代表你不懂技术;不用 AI,也不自动说明你更专业。
但我发现,产出增加和工作体验变好,并不总是同时发生。一个 Agent 跑完了,要看结果;另一个报错了,要补充上下文;第三个做偏了,要调整指令。一天结束,事情推进了不少,脑子也一直没闲着,却很难回忆起哪一段时间,自己真正沉进一个问题里。以前是沿着一个问题往下挖,现在常常是在多个结果之间切换,而人脑的负荷是有限的,我已经很久没有进入到那种编程的心流状态了,总是不停被打断,这和我最初喜欢的那种编程体验,不完全一样。
编程的乐趣,不只是“代码终于跑起来了”
假设有一个功能,AI 十分钟就能给出可运行版本,自己写可能需要两个小时。如果明天就要交付,需求清楚,代码也能验证,那我很可能会选择 AI。客户没有义务为我的探索欲买单。
但如果这两个小时是在理解一个此前没想明白的问题,情况就不同了。比如,一个看起来很乱的业务流程,终于被拆成几条清楚的规则;一个总觉得别扭的接口,换了一种抽象之后,调用关系突然顺了;一个反复出现的 bug,追到最后,发现自己一直理解错了某个边界。
这里的满足感,不只是“我拿到了正确答案”,而是“我终于知道它为什么是这样”。AI 可以解释,也可以辅助我走到这一步。但读到一段解释,和自己能够推演、质疑、修改它,仍然不是同一件事。
我不需要每一行代码都亲手敲,但是要留一些时间让自己去分析,理解和学习,增强自己的判断力,而不是漠然地一个劲儿的同意,你要有自己的理解和标准。
给自己留一点不赶交付的编程
我不打算回到没有 AI 的工作方式。
但是爱好和工作不能混为一谈。拿着团队预算做项目,就要考虑成本、进度和协作。可工作中的效率要求,不应该自动延伸成对所有私人时间的要求。我可以在交付时选择更快的方法,也可以在属于自己的时间里,选择更有意思的方法,更多地用自己的理解和设计去做一些小的产品和尝试。
在探索的时候,AI 也不用退出。它可以帮我找资料、提供反例、解释我卡住的概念。但我可以不让它直接交出完整实现,也可以先写出自己的版本,再拿来比较。关键不是给手写代码设定一个比例,更不是每天完成一项“保持技术能力”的打卡。只是保留一点空间。
而在真正要交付的时候,标准仍然清楚:无论谁写的,都要经过检查和验证。AI 生成不是免责理由,亲手写成也不是质量保证。
不用比 AI 快
跑步的人不需要证明自己比汽车快。有人愿意做饭,也不是因为外卖不够方便。同样,一个人愿意花一个晚上做个小工具,完全可以只是因为这个过程很有意思。不必立刻上线,不必找到付费用户,也不必变成个人品牌的一部分。
我愿意让 AI 帮我完成更多工作,也愿意承认:有些过程本身,就是我想要的东西。把一个模糊的想法理清楚,让几个零散的部分严丝合缝地配合起来,看着自己理解的逻辑变成真正运行的东西。这些体验,并不会因为有了更快的实现方式,就突然失去意义。
AI 可以让我更快地到达终点,但有些路,我还是想自己走一段。