Vibe Coding已死,Agentic Coding当立
去年,一个设计师朋友兴冲冲找我:”我做了个App!”他没写过一行代码,用Bolt加Cursor,三天搞出了一个本地生活类小工具——能定位、能搜索、能下单,UI还挺好看。他把它上架了App Store,第一个月居然有两千多下载。
三个月后,App下架了。原因?用户数据泄露。他的”App”把用户手机号明文存在了一个没有任何鉴权的API后面。他不知道什么叫鉴权,也不知道什么叫明文存储——他甚至不知道自己不知道。
这不是个例,这是Vibe Coding的系统性结局。
“能写”和”写得好”,中间隔着一整个工程学
Andrej Karpathy去年提出Vibe Coding这个词的时候,描述得很浪漫:”完全放弃自己写代码,拥抱LLM,只需描述需求然后接受AI给出的一切。”听起来像编程界的自动驾驶——你只管指路,车自己开。
问题是,自动驾驶出事故的时候,你得知道怎么接管方向盘。
Vibe Coding解决了一个真实的问题:它让”能不能写代码”这件事变得不再是门槛。设计师能写App,产品经理能搭后台,运营能做数据看板。这是了不起的民主化。但它同时制造了一个巨大的幻觉——以为”能跑起来”等于”能用”。
Google工程师Addy Osmani管这叫”70%问题”:AI能帮你秒杀70%的功能,但剩下30%可能让你加班到怀疑人生。这30%是什么?错误处理、边界条件、安全防护、性能优化、并发控制——全是那种”不出事你都不知道它存在”的东西。
而没有工程经验的人,根本不知道这30%藏在哪里。就像一个不会游泳的人在浅水区玩得很开心,他不知道脚下三米处有个暗流。
AI越强,你得越懂工程
这是整件事最反直觉的地方。
很多人觉得AI编程工具越来越强,人就可以越来越不懂技术。恰恰相反。你拿到的是一把越来越锋利的刀——刀越锋利,对用刀人的要求越高,不是越低。
2025年的AI编程工具已经从”补全一行代码”进化到了”自主执行整个工程任务”。Claude Code能读你的整个代码库,理解上下文,自己规划任务、写代码、跑测试、修bug。Cursor Agent能在多个文件间穿梭修改。Codex能自主完成完整的feature开发。
但这些agent越强大,越需要人类给它们画线。你得写CLAUDE.md告诉它项目的架构约束。你得设计测试用例让它知道什么算”对”。你得定义代码规范让它不会写出一坨能跑但没人维护得了的东西。
你的角色从”写代码的人”变成了”定义规则的人”。 这不是降级,这是升级——但前提是你得有足够的工程判断力去定义这些规则。一个不懂架构的人写不出好的CLAUDE.md,就像一个不懂交通规则的人画不出好的道路标线。
三层AI编程能力:你在哪一层?
我把目前AI编程的人群分成三层,不是按工具熟练度分,而是按工程判断力分。
第一层:Prompt工程师。 会在ChatGPT里问”帮我写一个排序算法”,能把回答复制粘贴到项目里。本质上是把AI当高级搜索引擎用。遇到问题就再问一遍,AI说什么就信什么。这一层的天花板很低——你只能解决你能描述清楚的问题,而大多数工程问题的难点恰恰在于”描述清楚问题本身”。
第二层:Vibe Coder。 能用Cursor、Bolt、v0这类工具快速搭建完整应用。Demo做得飞快,原型惊艳,非技术背景的人也能到这一层。但代价是你不理解AI写的代码在干什么。它能跑,你不知道为什么能跑;它崩了,你也不知道为什么崩了。你活在一个”一切正常直到不正常”的状态里。绝大多数Vibe Coder的项目,寿命不超过三个月。
第三层:Agentic Engineer。 这是真正的分水岭。Agentic Engineer不只是”用AI写代码”,而是”设计AI的工作方式”。他们理解软件工程的基本规律——模块化、可测试、关注点分离、最小权限原则——然后把这些规律翻译成AI agent能理解的约束。他们写CLAUDE.md定义项目架构,写测试用例定义验收标准,写代码规范定义质量底线。AI在这些约束内自主运行,像一支训练有素的团队而不是一群野马。
这三层的关键区别不在于你用了多少AI,而在于你对AI产出的控制力。Prompt工程师复制粘贴,Vibe Coder接受一切,Agentic Engineer定义边界。

五个升级动作
如果你现在还在第一层或第二层,别焦虑,但得动起来。五个具体的事你现在就可以做:
1. 学会读AI写的代码,而不只是跑它。 每次AI给你生成代码,花5分钟读一遍。不是每一行都要看懂,但至少搞清楚它的结构:数据从哪来、到哪去、中间经过了什么处理。如果你读不懂,问AI”解释一下这段代码的架构”——但不要只听它说,跟你的常识核对一下。
2. 给AI加约束,别让它自由发挥。 “帮我写一个用户注册功能”是Vibe Coding。”帮我写一个用户注册功能,要求:密码用bcrypt加密、邮箱做唯一性校验、失败时返回具体错误码而不是500、写单元测试覆盖正常注册和重复注册两个场景”——这是Agentic Coding。约束越精确,产出质量越高。
3. 建立你的CLAUDE.md(或等价物)。 不管你用什么AI编程工具,都应该有一份”项目规则书”告诉AI:技术栈是什么、代码风格怎样、哪些文件不能动、测试怎么跑。Claude Code的CLAUDE.md是个好模板,但这个思路适用于所有AI工具。这份文件的质量,直接决定了AI产出的质量上限。
4. 先写测试,再让AI写代码。 这是TDD在AI时代的回归。你不需要自己实现功能,但你必须定义”什么算对”。写好测试用例,然后让AI去实现——如果测试通过,代码至少在功能层面是对的。这比”跑一下看看”靠谱一百倍。
5. 做一次完整的AI项目,从需求到上线。 不是demo,不是原型,而是一个真的要给真人用的东西。你会在这个过程中撞上所有Vibe Coding掩盖的问题:环境配置、数据库迁移、错误监控、日志、部署、回滚。这些问题会倒逼你从Vibe Coder进化为Agentic Engineer。

分水岭就在脚下
回到我那个设计师朋友。App下架之后,他没有放弃。他花了两个月,学了基本的Web安全知识,搞懂了什么是HTTPS、什么是Token鉴权、什么是输入校验。然后他重新用AI做了一版——这次他不再”接受AI给出的一切”,而是带着清单去检查每一个关键环节。
新版本上线半年了,目前没出过安全事故。
他还是不会手写代码。但他学会了一件更重要的事:知道该担心什么。
这就是Vibe Coding和Agentic Coding的分水岭。不是你会不会写代码,而是你有没有工程判断力——你能不能判断AI写的代码哪里可能出事,你能不能在AI跑起来之前就画好边界。
驾驭AI的关键,从来不是Prompt技巧,而是工程判断力。 Prompt技巧有天花板,工程判断力没有。
这个分水岭已经到了。你站在哪一边?