安全工程师怒怼反AI偏见:用AI写代码就等于“ vibe coding”?

社区将AI辅助开发一概嘲讽为vibe coding,混淆了定义,真正该批评的是未经审查的烂代码。
一位有十多年软件与安全经验的工程师在 Reddit 上指出,社区对 AI 辅助开发的敌意已到荒谬程度:只要项目沾了 AI,评论区就刷“vibe coded”,无人再读内容。他澄清该词由 Andrej Karpathy 提出,指完全凭感觉、放弃理解代码;Simon Willison 也划界,经审查测试并理解的代码不叫 vibe coding。他自己的流程是用 Claude Code 构建、第二个 agent 评审、本人审查测试后才发布,仍被贴标签。文章还引用 DHH 宣布 37signals 已对手写代码 pencils down,以及 Linux 内核接受经人类审查并负责的 AI 辅助代码,说明行业标杆早已转向。核心争议在于责任归属:应批评烂代码与未经审查的代码,而非因 AI 参与就否定一切。

一位有十多年软件与安全经验的工程师在Reddit上发帖,直言社区对AI辅助开发的敌意已经到了“荒谬”的地步。他的观察很具体:只要有人分享用AI构建的项目,评论区最高赞往往是同一句话——“vibe coded”。无论项目背后投入了多少工作,AI一出现,人们就不再读内容,而是直接开嘲。
“Vibe coding”被滥用了
这位工程师指出,这个词有明确定义。Andrej Karpathy提出“vibe coding”时,描述的是“完全交给感觉……甚至忘记代码的存在”。Simon Willison则划了界线:如果你已经“审查、测试并理解了全部代码,那就不叫vibe coding”。
换句话说,用AI生成初稿、再经人工评审与测试的流程,和“闭眼交给AI”是两回事。但现实中,两者被混为一谈。发帖者自己的流程是:用Claude Code构建,第二个agent做评审,最后由他本人审查并测试后才发布——即便如此,仍被贴上“vibe coded”的标签。
Andrej Karpathy 是 OpenAI 创始团队成员、前特斯拉 AI 总监,也是“vibe coding”一词的提出者。他最初在社交媒体上用这个词描述一种极端的 AI 编程体验:完全沉浸在与大模型的对话中,凭感觉不断接受建议、运行、报错、再让模型修改,甚至不再逐行阅读生成的代码。
Simon Willison 是 Django Web 框架的联合创始人、长期活跃的开源开发者与 AI 工具评论者。他对“vibe coding”的界定强调可追责性:只有当开发者放弃对代码的理解与审查时,才属于 vibe coding;若代码经过人工阅读、测试并能够解释其行为,则更准确的称呼是“AI 辅助编程”。这一区分把讨论焦点从“是否用了 AI”转移到“人是否仍然掌握并承担责任”,也是理解全文争议的关键概念。
行业标杆早已转向
帖子里还引用了一个颇具冲击力的事实:在Rails World大会上,亲手打造Rails的DHH表示,37signals已经对手写代码“pencils down”(放下笔),agent编写的代码成为常态。另一边,Linux内核也开始接受AI辅助代码,前提是人类审查并承担责任。
当Rails的创造者都不再手写代码,问题或许从来不在工具本身。发帖者的结论是:烂代码该批评,懒惰、未经审查的代码更该批评,但仅仅因为“沾了AI”就否定一切,那不是代码审查,只是偏见。
DHH(David Heinemeier Hansson) 是 Ruby on Rails 框架的创造者、Basecamp 与 37signals 的联合创始人,长期以对工程实践和团队工作方式的直言不讳著称。Rails 是影响深远的 Web 开发框架,其“约定优于配置”和快速构建理念被大量创业公司与产品团队采用。因此,DHH 在 Rails World 大会上宣布团队“pencils down”、让 agent 编写代码成为常态,具有强烈的示范效应:它并非来自外围观察者,而是来自一个以工程品味和生产力著称的框架缔造者。
Linux 内核 是全球最关键的开源项目之一,其贡献流程以严格的代码评审和维护者责任制闻名。内核社区接受 AI 辅助代码的前提,是人类贡献者必须审查并承担相应责任,这与随意粘贴模型输出有本质区别,也为“AI 参与开发”划出了可操作的治理边界。
争议背后的真问题
这场争论的核心其实是责任归属。Linux内核的接受条件说得很清楚:人类审查、人类负责。37signals的转变也不意味着放弃质量,而是把人的精力从敲键盘转移到设计与把关。反对者担忧的“AI生成不可维护的代码”确实存在,但解决方式应是更严格的评审流程,而非一棍子打死。
发帖者最后抛出的问题值得每个开发者思考:你的界线画在哪里?从什么时候开始,“用AI构建”成了一句骂人的话?
相关推荐

Claude国内使用与充值全攻略:三种方式对比及防封控指南
整理Claude国内使用与会员充值的三种方式:海外信用卡直充、苹果美区ID与安卓Google Play内购、网站自助充值,对比各自门槛、成本与封控风险,并给出固定设备、稳定IP、不共享账号等五条降低封号概率的使用习惯。

从ChatGPT内容限制到Eval、可观测性与Guardrail实战
通过电子商店订单Agent实战,讲解ChatGPT内容限制背后的工程逻辑,以及Eval评估、Observability可观测性和Guardrail护栏如何协作,避免同名用户数据泄露与提示注入风险。

LangChain4j决策模型:本地校验Java工具调用
LangChain4j社区提出决策模型方案,在本地对Java工具调用进行校验,将控制逻辑从LLM拉回应用侧,提升工具调用的可靠性与可调试性。