Vibe Coding 有哪些坑?需求不清、代码失控和不会调试怎么解决?

Vibe Coding 有哪些坑?需求不清、代码失控和不会调试怎么解决?
这道题考的是你对 Vibe Coding 边界的认知。不是什么高大上的架构设计,就是问你:这东西什么时候灵、什么时候坑、坑了怎么办。
核心就三件事:上下文会膨胀、代码会失控、调试会抓瞎。下面一个个拆开说。
Vibe Coding 是什么?
Vibe Coding 是 Andrej Karpathy 提出的概念,本质就是用自然语言让 AI 生成代码。你描述想要的效果,AI 帮你实现,不用自己手写。
听上去很爽对吧?但这玩意儿有甜蜜期。

为什么前 1000 行最香?
写代码这件事,本质是把你脑子里的想法翻译成机器能懂的指令。AI 帮你翻译的时候,需要同时记住你说的内容和已有的代码。
前 1000 行代码内,AI 能准确理解你的意图。 上下文还没膨胀,你说什么它基本能跟上。
但超过这个量级,问题就来了。
想象一下跟一个记忆力有限的助手沟通——他只记得最近 10 句话你说的内容。你说得越多,他越容易忘之前说的。写原型阶段还好,反正方向随时在变;但如果你试图一开始就把 spec 写得很详细,反而是负收益,因为还没开始写可能就要改方向了。

上下文窗口——Vibe Coding 的硬约束
很多人觉得 1M token 够大了吧?够用一辈子了吧?
错。1M token 版本也会 context 满。
context 一满,AI 就开始"忘":
- 刚改过的函数签名,下一轮又用旧的
- 同一个 bug 改两次没好
- 你明明说了用 TypeScript,它给你生成 JavaScript
为什么会这样?因为每个动作 AI 都要重新理解整个项目。一个文件被读 20 次、来回 30 轮才改完一个 bug,这不是夸张,是真实发生的事。
更关键的是,CLAUDE.md 超过 300 行,模型读完就快用掉一轮注意力。这东西本来是用来统一项目规范的,结果放太多反而拖累了上下文效率。
有个数据你得记住:5000 行是临界点。超过这个规模,AI 生成代码的质量和稳定性都会明显下降。

三大坑——需求不清、代码失控、调试困难
坑一:需求不清
AI 默认会帮你补全错误处理、配置、日志这些"标准做法"。问题是,你的项目可能根本不需要这些。
一个简单的内部脚本,你跟 AI 说"帮我写个爬虫",它可能给你整出一套完整的异常处理、分层架构、单元测试。代码是挺规范,但你花的时间可能是手写的三倍。
更烦的是,AI 补着补着就开始"自作主张"。你以为在写一个功能,AI 觉得应该加个缓存层、加个配置中心、加个监控——然后你的简单需求变成了一个微服务。
坑二:代码失控
vibe 写到 5000 行左右,必然会遇到某模块写得不对要重构。这时候 AI 问你:"小修还是大改?"
你答不上来。
为什么?因为你从来没显式定义过模块边界。今天觉得这个函数放这里合理,明天需求变了,又塞到别处。AI 帮你写的时候也是跟着感觉走,时间长了代码就变成一坨意大利面条。
坑三:调试困难
这是最让人崩溃的。
每个改动,AI 都要重新理解整个文件。你改一行代码,AI 可能读完全部上下文才给出建议。更要命的是,3 周后改代码需要原始开发时间的 1.5-2 倍。因为你需要重新建立上下文,AI 也需要重新理解代码逻辑。
把 AI 生成代码比作外卖——看起来完整美味,但可能放了你不爱吃的香菜(过时库版本),或者分量刚好但味道不对(业务逻辑不符)。你不知道里面放了什么,改起来就很麻烦。
解决方案——上下文管理与质量保障
方案一:上下文管理四种策略
第一种:精炼对话。 每次对话只解决一个问题,说完就停。优点是上下文干净,缺点是你需要自己记住之前的决策。
第二种:沉淀到 CLAUDE.md。 把项目的核心规范、模块划分、技术栈要求写成文档,让 AI 每次都先读一遍。把它类比为项目的"宪法"——所有成员都要遵守。但记住,CLAUDE.md 不要超过 300 行,放太多等于没放。
第三种:用 plan 模式先规划。 在正式写代码之前,先让 AI 给你一个整体方案,确认后再动手。这适合大功能或者架构调整。
第四种:重启会话 + 喂关键摘要。 定期清空对话,给 AI 喂一份关键代码和决策的摘要,重新开始。适合长项目的中期调整。
方案二:提示词工程
黄金级提示词:明确告诉 AI 要什么——语言、框架、约束。不要说"帮我写个登录功能",而要说"用 Next.js + Prisma 写一个邮箱密码登录,不要用第三方 auth,返回 JWT token"。
钻石级提示词:提供示例输入输出,让 AI 按你的风格生成。比如你给它看一个写好的函数,告诉它"这个风格的代码,其他的都按这个来"。
方案三:分步验证原则
每个功能单独一次提问,限定修改范围。
这个原则听起来简单,但大多数人都做不到。常见错误是问"请帮我修复 bug",然后 AI 给出一堆建议,你不知道该用哪个。
正确做法是:明确告诉 AI 改哪个文件的哪个函数,预期结果是什么。分步验证就像做菜时每步都尝味道,而不是最后才发现咸了。

面试怎么答
基础版(能说到这三点就够了):
Vibe Coding 的核心理念是用自然语言让 AI 生成代码,前 1000 行体验最佳,因为上下文还没膨胀。这里面有三大坑:需求不清导致 AI 补了一堆不需要的东西、代码失控因为没定义模块边界、调试困难因为每个改动都要重新理解全量代码。解决办法是做好上下文管理——CLAUDE.md 不要超过 300 行、分步验证每个功能、用 plan 模式先规划再动手。
加分版(面试官会多看你两眼):
Vibe Coding 有个关键公式:净收益 = demo 速度 × 理解深度 ÷ 改后成本。原型阶段方向不定,vibe 写很爽;超过 5000 行,维护成本骤增,该切到 spec 了。CLAUDE.md 本质是项目宪法,用来约束 AI 的行为边界,而不是塞满你所有的想法。另外,提示词分黄金级和钻石级——黄金级是明确约束,钻石级是给示例让 AI 按你的风格走。选对工具和阶段,比埋头干活更重要。
一句话总结
Vibe Coding 的本质是用上下文换速度,在 1000 行甜蜜期内用它来快速验证想法,超过临界点就切换到规范开发,同时用 CLAUDE.md 和分步验证来控制上下文膨胀。
