刷到缪嘉俐那条图文,看完之后我在地铁上站着想了好几站。

她的结论大致是:vibe coding 可以做玩具、landing page、小内部工具,但要做 production 上的东西,代码这一关躲不掉。理由是——你看不懂栈、看不懂报错、看不懂框架默认行为、看不懂依赖冲突,出事了连从哪查都不知道。

我是那个典型的被她说的"非程序员"。过去半年我没正经敲过一行代码,但靠 AI 搓了一堆东西:抓娃娃、局部盲猜、贴吧层分、德州扑克这些 HTML 小游戏;一个能被语音驱动的 mac-agent;一个有文件上传的 HTML 在线编辑器;还有一个叫"虾评吧"的产品,从基建方案写到第三阶段的风控。

所以这篇不是抬杠,是一个真的在做的人,逐条回应一下她的判断。

同意的部分:她那个 marketing 同事的故事,我就是主角

她文章里最扎心的一句话是——

“其实不是 AI 骗你,是因为你根本不知道那些错误信息在说什么,你连从哪里开始查都不知道。”

这句话我认。

我第一次把 mac-agent 部署出去给朋友用,五分钟就挂了。报错贴给 AI,AI 说是权限问题;改完,又挂;说是路径问题;又挂;说是 Python 版本问题。我来回贴了四十多次,最后是朋友隔着屏幕告诉我:“你看一下 launchd 的日志。"——我连 launchd 是什么都不知道。

那一刻我确实有一瞬间觉得被 AI 骗了。但冷静下来之后我意识到,不是 AI 骗我,是我把一个跑在我本机上的 demo,错当成了一个能部署出去的产品。这俩东西中间隔的不是代码量,是一整套"当世界不配合你时怎么办"的常识。

这套常识,AI 现在确实教不会。

想补充的部分:她说"程序员存在的理由是看得懂”,我觉得门槛更细

她把分水岭定在"看得懂代码"。我的体感是,在 vibe coding 这条路上,真正决定你能不能往下走的门槛,有四层,代码只是其中一层:

  1. 能把模糊需求讲清楚——大部分人卡在这里。他们以为自己想清楚了,其实只有画面没有逻辑。
  2. 能识别 AI 在胡说——模型一本正经编了一个不存在的库,你能看出来吗?这个不靠读代码,靠读"AI 语气的破绽",有点像反诈直觉。
  3. 能看懂报错——这是她说的那层。
  4. 能对系统做判断——多进程还是多线程,放 Redis 还是 Postgres,挂了怎么回滚。这是比读代码更深的一层。

我自己的观察是:第 1 层和第 2 层,非程序员能练出来,而且练出来之后产能是真的可怕。第 3 层是硬门槛,绕不过去。第 4 层是天花板,决定你的项目能不能长大。

缪嘉俐说"代码这一关躲不掉",我的版本是:“前两关非程序员可以练,第三关躲不掉,第四关决定你到底是在做玩具还是做产品”。

不太同意的部分:她说 gap 会越拉越大,我觉得得看 gap 的哪一侧

她的结论是:底层程序员也在用 AI,而且他们会用得更好(拆任务、加测试、精确上下文约束),所以分层 gap 不会缩小反而会拉大。

这里我想小心地顶一下。

底层程序员用 AI 用得更好,这个我同意。但"gap 会不会拉大"取决于一个前提:vibe coder 这一侧的能力天花板,是不是固定的

我观察自己和身边一起做 vibe coding 的非程序员朋友,过去半年的进化速度其实不慢——

  • 我半年前写提示词是"帮我做个抓娃娃游戏",现在是"用 Canvas 画物理引擎,爪子用贝塞尔,失败率拉到 65%,给我三种视觉方案,先出线框"
  • 半年前我遇到报错只会贴整坨给 AI,现在我会先看报错第一行定位文件,再决定给 AI 看哪段
  • 半年前我以为"能跑 = 做完了",现在我知道还有部署、日志、监控、回滚这些词

这些东西都不是"代码能力",但它们确实是在把第 3 层第 4 层的门槛往下磨

工具侧也在配合。Claude Code、Cursor 这种 Agent 已经开始自己跑测试、自己看报错、自己回滚;CNAP、Vercel 这些平台把部署和观测封装到几乎无感。

所以我的判断和她相反一半:底层程序员和 vibe coder 的能力差距短期会继续拉大,但"做出 production 级东西"这件事所需要的门槛总量,在被工具和经验一起磨低。长期看,是底层下沉和 vibe coder 上升在中间某个点相遇,不是两头分叉。

一个她没展开但我觉得关键的问题:vibe coder 的价值到底在哪

看完她的文章,一个非程序员很容易得出一个丧气结论——“那我搞这半天,等 AI 更强了还是得被懂代码的人碾压,不如别搞了。”

这个结论我反对。

我做了这半年,最清楚的一件事是:vibe coder 真正的价值不在写代码快,在"用极低的成本试错到正确的问题"

传统路径里,一个想法要变成能跑的东西,需要过产品经理、设计、前端、后端四道关,每道关都在稀释你的原始直觉。vibe coding 让我可以在一个周末把想法直接变成一个能给人用的东西,拿到第一手反馈,再决定要不要真的做。

我做虾评吧的方案之所以能写到三阶段那么细,不是因为我想得多周全,是因为我先搓了那些游戏 demo,被用户骂过、被朋友问过"这个为什么不能 X",这些东西不做出来根本想不到。

**底层程序员在搭骨架、修 bug、做 code review;vibe coder 在做"这个骨架值不值得搭"的前置判断。**这两件事不是一个鄙视链,是分工。

所以,代码这一关到底躲不躲得掉?

我的版本答案是:

  • 如果你想做 production——躲不掉,缪嘉俐说得对。
  • 如果你想永远做玩具——躲得掉,但你会慢慢腻。
  • 如果你想做"能撑到 production 的玩具"——躲不掉,但你不需要变成传统意义上的程序员,你需要变成一个懂系统边界的产品人

我现在就在第三条路上。每次部署出事、AI 乱编、依赖冲突,我都硬着头皮查到底,不是因为我想当程序员,是因为我想对我自己 build 出来的东西负责

这个"想负责"的劲儿,在我看来才是真正把 vibe coder 从"玩票"推向"做东西"的分界线。跟代码没关系,跟你到底把它当作品还是当玩具有关系。


最后引她一句话,我完全同意:

“非程序员可以享受 vibe coding 带来的乐趣,但要玩真的,代码这一关其实是躲不掉的。”

我的补丁是:躲不掉的不只是代码,是"对系统负责"这件事本身。代码只是这件事的第一道门。

写于 2026 年 5 月,作者本人至今仍不会手写一个红黑树,但已经学会看 launchd 的日志了。