代码依然重要:我们仍是工程师Karpathy最近的一条推文引发了我长久以来的思考。很多人把"vibe coding"理解为"关掉大脑,忘记代码存在,只关心功能能不能跑"。这也是我讨厌这个词的原因。但我想说两件事:第一,代码依然重要。第二,操作AI编程代理是工程工作,不是"随便玩玩"。虽然我现在几乎不亲手写代码了,但我依然阅读大量代码,依然极度关注代码质量。对于一次性脚本我可以不在乎,但任何生产系统,质量永远是底线。代码是人写的还是AI写的,根本不重要。重要的是:它能不能跑?能不能维护?能不能在上面继续开发新功能?如果答案是否定的,你就失败了。Karpathy说得好:"有一个新的可编程抽象层需要掌握。"这正是软件工程师应该兴奋的地方。有更多的工程要做,有更多的工具和系统要学。这个范式和以前不同,但范式转移从来都是这样。从汇编到Fortran,从Perl到PHP,从Rails到React,从微服务到云架构,再到NextJS这样的全栈开发,现在我们迎来了新范式:AI编程代理。每一次范式转移都有人觉得旧方式更好,但无论他们对语言设计或性能的看法对不对,行业都在向前走。值得兴奋的事情很多:你能构建的东西比以前多得多。你能学到的东西比以前快得多。你能清掉那些一直没时间做的backlog。你不再被自己的短板拖累——比如我以前因为前端设计太差,一直不敢发布side project。操作AI编程代理本身就有大量工程工作。你可以用AI加速工作流,而不是被它取代。如果你真正在乎代码质量,你反而有优势——因为那些说"代码不重要了"的人,迟早会被bug和安全漏洞绊倒。评论区的讨论也很有意思。有人说代码只对能读懂和维护它的人重要,而大多数vibe coder做不到这点。有人说no-code方式正在变得越来越可行,一年前还做不到的事,现在已经是日常。还有人指出,资深工程师vibe coding能得到接近企业级的结果,而非程序员vibe coding只能得到"能跑、好看"的东西——这是巨大的进步,但竞争场并没有被拉平。工程师也在获得同样的10倍提升,他们并没有站在原地。一位评论者说得精辟:你需要理解关键代码,而如果你理解它,自己写反而比vibe coding更快——因为vibe coding要写prompt、等模型思考、搞清楚模型改了什么、再读一遍。也有人提出不同看法:AI擅长生产原型级代码,但在内聚、解耦、错误处理、代码复用这些基本概念上表现不佳,还会产生幻觉。我的回应是:我用计划模式、子代理审查计划和代码、让代理自我迭代、在AGENTS.md文件里详细记录代码质量准则——这些都是工程工作。"输入prompt得到代码"是有效的,但只是冰山一角。有人问:什么是高质量代码?我的标准很简单:1. 能跑吗?(无bug,功能符合预期)2. 有安全漏洞吗?3. 能方便地开发新功能吗?三个问题有一个答案是"否",就是烂代码。超出这三点的,都是个人偏好。软件工程的角色正在转变——从手写代码转向更高层次:架构设计、需求定义、可扩展方案、与利益相关者沟通。但这不意味着代码不重要,而是意味着我们需要掌握新的抽象层,在更高的维度上做工程。代码依然是基础。只是写代码的方式变了。reddit.com/r/vibecoding/comments/1pxugt1/its_still_about_the_code/
