你有没有过这种体验:让AI帮你写一段代码,几秒钟就出来了,跑起来居然还能用。那一刻你甚至有点感动——终于不用自己一行行敲了。 但有个写了半辈子代码的人,最近说了一句让人心里发凉的话: 那些看起来跑得漂亮的代码,内部可能是一团乱麻。 他叫Vikram Chandra,十二年前出过一本书叫《Geek Sublime》,讲的是写小说和写代码这两件事,其实共享同一种东西——优雅。 十二年前的那本书,说了一件反常识的事 《Geek Sublime》出版于十二年前。放在技术史里,十二年几乎是另一个纪元;放在人的记忆里,它又近得像昨天。 Chandra的身份很特别:他既写散文,也写代码。他用自己的双重经验,去追问一个问题——这两件事到底在哪里交汇? 很多人第一反应是:写小说和写代码,能有啥关系?一个是感性,一个是理性,八竿子打不着。 但读完的人,包括一位同样在两个世界都待过的读者,最后被说服了。Chandra的论点核心是: 两个世界都讲究优雅和美 ,而且他给出了具体的例子,说明这种美是怎么实现的。 这本书后来入围了美国国家书评人协会奖的评论类奖项。作家Anne Trubek评价它有着“微妙而具有启示性的广度”。 注意,这不是一本教你写代码的技术书,也不是一本文学理论。它更像是在说:当你把一件事做到极致的时候,你追求的东西其实是同一种。 十二年后的世界,已经换了一副面孔 Chandra当年写的那本书里,文学世界和今天差得不算远。但代码的世界,被彻底改写了。 一种叫“vibe coding”的东西流行开来——用AI为线上项目生成代码。它带来了好处,也带来了麻烦。WIRED的一篇报道标题写得很直接:《Vibe Coding Is the New Open Source—in the Worst Way Possible》。 《纽约时报》的播客节目The Daily甚至专门做了一期,讨论一个问题: 人类程序员还有必要存在吗? 这个问题听起来有点耸动,但它确实被摆到了台面上。 于是有人去问Chandra本人:你怎么看? 在几周的邮件往来里,他给出的回答是——他依然在意代码的美学,哪怕他也承认技术世界正在发生改变。 他的回答,可能和你想象的不太一样 有人问他:你在书里那么有力地论证了优雅代码的价值,现在进入AI优先编程的时代,你当年说的那些原则还成立吗? Chandra的回答是: 那些原则依然关键。 你依然希望自己的代码是优雅的,是长期容易维护的。 问题出在别的地方——怎么让AI代理写出这种代码。 他说自己只用AI写过一些小脚本,而且是在给了严格指令、明确指向那一串原则之后。在小规模上,这似乎行得通。 但大规模AI写的代码库,他没有第一手经验。不过他说,从听到的一切来看——甚至是从有经验的程序员那里听到的—— 如果你不够小心,最后得到的就是大规模意大利面式代码。 他提到一个朋友,正靠审查和修复这类“垃圾代码”稳定赚钱。 这句话值得停一下。当一种新工具被大规模使用,最先稳定变现的,往往不是用它的人,而是替它收拾残局的人。 为什么AI写的代码,看起来能用却不能用 Chandra给了一个解释:这些模型被训练成乐于助人、让人满意。这有时候会导致它们写出 看起来运行得很漂亮、内部却一团糟 的代码。 所以结论是:你仍然需要人类来审查代码。 这不是一句怀旧的话,而是一个很具体的判断。AI能生成,但生成不等于可维护。能跑通,不等于能长期活下去。 他还引用了程序员Victor Taelin的一段话。Taelin说,他现在相信,在生产代码库中使用当前这一代AI代理是有害的,是一个巨大的错误。 但Taelin也没有把话说死——这不意味着完全不用代理。代理最适合的场景,是 不碰关键代码 的时候:调试、研究、提供洞察、写脚本。 这件事真正让人不安的地方 把Chandra和Taelin的话放在一起看,会发现他们说的其实是同一件事的两面。 一面是:AI确实能写代码,而且写得越来越顺手。 另一面是:顺手和可靠,是两回事。 Chandra十二年前在书里强调的优雅,在今天反而变成了一个更稀缺的东西。因为优雅不是“能跑”,优雅是“别人接手的时候不会想骂人”。 当代码由AI批量生成,审查它的人要付出的成本,可能比当初自己写还高。这就是为什么有人能靠修AI代码赚钱——这个需求是真实存在的。 所以那个问题——“人类程序员还有必要存在吗”——Chandra给出的答案,藏在他说的一句话里: 你仍然需要人类来审查代码。 不是人类还要不要写代码,而是人类还要不要看懂代码。这两件事,在AI时代被分开了。 而看懂,恰恰是Chandra十二年前就在说的那件事:代码不只是指令,它也是一种表达。表达得优雅还是混乱,最终还是要有人来判断。 特别