我在 GitHub 上零代码提交了 4.7 万行,但没人发现——Vibe Coding 这一年
去年这个时候,我对编程的理解还停留在“HTML 是超文本标记语言”这种大学选修课残留的碎片记忆。现在,我在 GitHub 上已经提交了超过 4.7 万行代码,完成了 3 个可以正常上线的 Web 应用,而我的键盘敲击,大部分只用来打“继续”和“Accept all”。
不是我在写代码。是我和 AI 一起在写。
这不是什么天才速成的故事,这只是过去一年在技术圈快速蔓延的一种新范式——Vibe Coding。这个词在 2025 年初被 OpenAI 联合创始人 Andrej Karpathy 创造出来,2025 年底被《柯林斯词典》评为年度词汇。如今,Claude Code 在 GitHub 上生成的提交数已占公开提交的 4%,预计 2026 年底将达到 20% 以上。Cursor 发布的 2026 年春季开发者报告显示,AI 建议的代码在被接受后 60 分钟仍然保留在代码库中的比例,已从约 76% 上升到了 81%。
这不是一个概念,这是一场正在发生的工作流革命。
在 Cursor 里,我第一次不知道自己写了什么
第一次听说 Vibe Coding 是在一条 X 推文里。Karpathy 的原话是:“一种全新的编程,你完全沉浸于‘氛围’之中,拥抱指数级的可能性,甚至忘记了代码的存在。”
翻成大白话:你用自然语言描述你想要什么,AI 替你写代码。你把代码当作一段可以无限重写的草稿,而不是一栋需要一根一根钉钉子的房子。
我下载了 Cursor——目前 AI 编程工具的龙头,基于 VS Code 改造,底层为 AI 协作而设计。然后我做了一件蠢事:打开了 Cursor 的 Composer 模式,打了一句话,“做一个简单的待办事项应用,暗色主题,可以添加、删除、标记完成”。
30 秒后,一个完整的 React 项目骨架出现在文件树里。能跑。
那一刻的感受很奇怪。我确实在“编程”——代码在生成、文件在创建——但不是我在写。我的角色从“打字员”变成了“产品经理兼 QA 测试员兼甲方”。
在那之后的几个小时里,我不断追加修改:“侧边栏的 padding 减少一半”“删除按钮换个颜色”“状态同步用 localStorage 存一下”。从没打开过代码文件,全程用的自然语言。Cursor 读取了整个代码库后,理解了哪些文件需要联动修改,然后把 diff 展示出来。我甚至没怎么读 diff——就点“Accept all”。如同 Karpathy 描述的那样:“我感觉我不是在写代码,我就是在看、在说、在跑、在复制粘贴,然后事情就成了。”
Vibe Coding 的本质,不是“AI 帮写代码”,而是“人和代码的关系变了”
这个词之所以能出圈,从技术黑话变成年度热词,是因为它命中了一个更深层的转变。
传统编程里,代码是终局产物——你写完、调试完、部署完,工作结束。但在 Vibe Coding 中,代码变成了“中间产物”。你描述,AI 生成,你测试,你反馈,AI 修正。循环往复,直到产品符合你的预期。
产品经理永远不会觉得自己在“写” PRD;但他们觉得自己在设计产品。现在,Vibe Coding 让这种“设计感”第一次渗透进了软件开发的全链路。对于技术背景不强的人来说,Vibe Coding 让开发变成了“迭代式的产品设计”——这是它最革命性的意义。
它不是“程序员用 AI 偷懒”,而是“会提需求的人可以跳过学编程这个漫长过程,直接做产品”。
Stack Overflow 2026 年的开发者调研显示,Replit 平台上 76% 的创造者没有编程背景,但能独立完成复杂系统搭建。Vibe Coding 带来的不只是效率的提升,更是“谁会开发”的重新定义。
盲区与代价——你交出的控制权
Vibe Coding 并不是没有代价的。
最直观的问题是:你交出了对代码细节的控制权,但你依然需要对结果负责。
Cursor 生成的代码在你本地运行得很好,但部署到生产环境后,一个用户触发了你从没想过的边界情况——网站崩了,你对着控制台的报错面板发愣。因为你不懂代码,你甚至不知道错误大概在哪个方向。以前能自己修,现在变成“把整个报错贴给 AI,等它给你新的代码”。
这是一种新的依赖关系,也是一种新的技能要求:不是“写代码”的能力,而是“定义问题、验证结果、兜底风险”的能力。它让你能越过技术壁垒,但它不会替你承担技术债务。
6 条给 Vibe Coder 的实战经验
经过这一年的踩坑,我沉淀出几个关键原则:
第一,先定规则,再写需求。 纯自然语言开发的最大风险是 AI 随意发挥。提前用结构化 JSON 或 Markdown 定义好技术栈、数据库字段、命名规范,返工率大幅降低。
第二,把任务拆到“单次对话可完成”的大小。 一次性让 AI 生成全量代码最容易翻车。拆分核心功能逐块实现,让 AI 能在一轮对话里改一个模块,而不是满屏乱改。
第三,Bug 不能“略过”去赌运气。 发现 Bug 时把完整报错信息——错误类型、位置、堆栈——贴给 AI,要求它分析根因,而不是只注释掉报错那一行。
第四,多轮对话中保持上下文连贯。 在 Cursor 或 Windsurf 里每次新开对话时附上之前的上下文摘要,或者在一个会话里持续迭代,避免 AI 忘记你们之前的约定。
第五,主动设计兜底。 让 AI 帮忙生成自动化测试用例,在上线前自动跑一遍核心流程;日志、异常捕获在结构化需求里一并写清楚,AI 会帮你生成对应的兜底逻辑。
第六,也是最重要的一条:不要追求“一次搞定”。 Vibe Coding 是迭代的艺术,每一轮对话都是打磨,不是交付。
它不会取代开发者,但它会重新定义“开发”
从 Karpathy 的随想推文到《柯林斯词典》的年度热词,只过去了短短几个月。但这一年里,Cursor 用数据证实了 AI 编程正在从工具红利走向系统重构,IDE 和 No Code 两大阵营的技术路线竞争进入白热化。谷歌 I/O 大会上公布的数据显示,其内部开发者使用 AI 编程工具后,代码审查通过率提高 40%,开发速度提升 2.5 倍。
AI 并不会完全取代软件工程师,但“软件工程师”的定义正在被快速重写。就像计算机没有让所有数学家失业——但让数学研究的重心从计算转向了证明。类似的,Vibe Coding 正在把开发者的重心从“写代码”转向“设计系统、定义边界、把控质量”。
对非技术背景的人来说,这是让创造力越过程序语法障碍的机会。体验过之后你会发现:做一款产品最难的部分,从来不是写代码。Vibe Coding 不会让你成为工程师,但它会让你离“创造”近得多。
更多推荐

所有评论(0)