5.5.2 Vibe Coding 的局限性
经过本节学习,你将了解:
- Vibe Coding 不擅长的五大场景
- "70% 问题"和"80% 墙"是什么
- 为什么知道局限性反而让你更有信心
先看数据:AI 生成的代码并不完美
这些是 2025 年的真实数据,不是为了吓你,而是帮你建立正确预期:
| 数据 | 来源 | 含义 |
|---|---|---|
| 45% 的 AI 生成代码未通过安全测试 | Veracode 2025 | 将近一半的代码有安全隐患 |
| 46% 的开发者不完全信任 AI 生成的代码 | Index.dev 2025 | 专业开发者也保持谨慎 |
| 过度依赖 AI 导致 bug 增加 41% | Index.dev 2025 | 不检查就用会出问题 |
| 使用 AI 工具的开发者实际完成任务慢了 19% | METR 2025 研究 | 但他们感觉快了 20% |
最后一条数据特别有意思:开发者觉得自己变快了,但实际上变慢了。这说明 AI 带来的"流畅感"可能是一种错觉。
这不是说 AI 没用,而是说:AI 是工具,不是魔法。需要你来把关。
"70% 问题":AI 能做 70%,剩下 30% 要你来
Google 工程师 Addy Osmani 在 2025 年提出了一个观察:
AI 可以轻松完成一个项目的 70%——生成样板代码、实现标准功能、处理常规逻辑。但剩下的 30% 才是真正的挑战:复杂的业务逻辑、边界情况处理、系统架构决策、性能优化。
| AI 擅长的 70% | 需要人类的 30% |
|---|---|
| 生成样板代码 | 设计系统架构 |
| 实现标准功能 | 处理复杂业务逻辑 |
| 写基础的增删改查 | 优化性能瓶颈 |
| 套用常见模式 | 处理边界情况 |
| 快速出原型 | 确保代码安全 |
对于基础版学习者来说,好消息是:你做的项目大部分在"70%"的范围内。待办清单、个人工具、简单网站——这些正是 AI 最擅长的。
"80% 墙":项目做到 80% 后,每一步都变难
另一个常见现象是"80% 墙":
用 AI 快速做出一个项目的初版很容易,但当你想添加更多功能时,会发现每增加一个功能都比上一个更难。到了大约 80% 的时候,项目会撞上一堵"墙"。
为什么会这样?
| 阶段 | AI 的表现 | 原因 |
|---|---|---|
| 0-50% | 很顺利 | 需求简单,代码量少,AI 能完整理解 |
| 50-80% | 开始吃力 | 代码变复杂,AI 开始"忘记"之前的上下文 |
| 80%+ | 非常困难 | 新功能会影响旧功能,AI 难以把握全局 |
这不是你的问题。这是 AI 工具本身的限制——它的"记忆"是有限的,无法像人类一样理解整个项目的来龙去脉。
Vibe Coding 不擅长的五大场景
场景一:复杂业务逻辑
为什么困难:AI 不理解你的业务背景。它能写出"看起来正确"的代码,但逻辑可能是错的。
真实例子:
- 你让 AI 写一个"会员积分系统"
- AI 生成了代码,看起来能运行
- 但它不知道你们公司的积分规则有特殊情况:满 100 积分送 10 积分、生日当天双倍积分、积分有效期 1 年...
- 结果:代码能跑,但业务逻辑全错
场景二:大型项目
为什么困难:AI 的"上下文窗口"是有限的。当项目有几十个文件、几千行代码时,AI 无法同时"看到"所有内容。
| 项目规模 | 文件数 | AI 的表现 |
|---|---|---|
| 小型(待办清单) | 1-3 个 | 很好 |
| 中型(个人博客) | 5-10 个 | 还行 |
| 大型(电商网站) | 50+ 个 | 力不从心 |
会发生什么:
- 代码重复(AI 忘记你已经写过类似功能)
- 命名不一致(同一个概念用不同的名字)
- 结构混乱(没有统一的组织方式)
场景三:安全关键功能
为什么困难:安全漏洞往往藏在细节里,AI 倾向于生成"能用"的代码,而不是"安全"的代码。
根据 Veracode 2025 报告:
- 86% 的 AI 生成代码未能防御跨站脚本攻击
- 88% 的 AI 生成代码未能防御日志注入攻击
典型问题:
- 没有验证用户输入
- 没有正确处理敏感数据
- 使用了有已知漏洞的库
这就是为什么 5.3 节专门讲安全——AI 在这方面需要你来把关。
场景四:性能优化
为什么困难:AI 倾向于选择"最简单"的实现方式,而不是"最高效"的。
真实例子:
- 你让 AI 写一个"搜索功能"
- AI 用最简单的方式实现:遍历所有数据,逐个比较
- 数据少的时候没问题
- 数据多了(比如 10 万条)就会变得很慢
会发生什么:
- 小数据量测试时一切正常
- 上线后用户变多,系统变慢
- 你不知道慢在哪里,因为代码"看起来没问题"
场景五:调试复杂 bug
为什么困难:AI 只能看到你给它的信息,无法像人类一样"追根溯源"。
| 简单 bug | AI 能帮忙 |
|---|---|
| 语法错误 | 能 |
| 明显的逻辑错误 | 能 |
| 报错信息清晰的问题 | 能 |
| 复杂 bug | AI 很难帮 |
|---|---|
| 间歇性出现的问题 | 难 |
| 涉及多个文件的问题 | 难 |
| 需要理解业务上下文的问题 | 难 |
| "修了这里,坏了那里"的问题 | 难 |
一个形象的比喻
Vibe Coding 就像有了翻译软件去国外旅游:
| 场景 | 翻译软件表现 | Vibe Coding 对应 |
|---|---|---|
| 点餐、问路 | 完全够用 | 做个人工具、简单网站 |
| 日常聊天 | 基本够用 | 实现标准功能 |
| 深入讨论专业话题 | 力不从心 | 处理复杂业务逻辑 |
| 谈判、演讲 | 几乎不行 | 大型项目、高安全要求 |
翻译软件能让你的旅行更轻松,但如果你想在那个国家长期生活、工作,还是需要学习语言本身。
Vibe Coding 也是如此:它能让你快速做出东西,但如果你想做更复杂的项目,可能需要学习更多编程知识。
本节要点
- AI 生成的代码并不完美:45% 有安全隐患,46% 的专业开发者不完全信任
- "70% 问题":AI 能完成 70%,剩下 30% 需要人类智慧
- "80% 墙":项目做到 80% 后,每增加一个功能都变难
- 五大不擅长场景:复杂业务逻辑、大型项目、安全关键功能、性能优化、复杂 bug 调试
- 知道局限性不是坏事——它帮你建立正确预期,在遇到困难时不自我怀疑
好消息
基础版教程涵盖的内容,大部分在 Vibe Coding 的"舒适区"内。你做的待办清单、个人工具、简单网站,正是 AI 最擅长的领域。
遇到局限性时,不是你不行,是工具有边界。这时候,要么简化需求,要么准备学习更多。
