Vibe Coding 实战 系列三:AI 工具怎么工作 + 代码审查怎么做
Vibe Coding 实战教程 · ③ / ⑧
引擎盖下:AI 编程工具的工作原理
你不需要理解 Transformer 架构才能用 Vibe Coding。就像你不需要理解发动机原理才能开车。
但你需要知道一些关键概念。因为理解了这些,你就知道什么时候该信任 AI,什么时候该自己上手。
三个关键组件
一个 AI 编程工具的内部,有三个关键部分在协作:
发动机:LLM
1. 大语言模型(LLM)— 发动机。
这是核心。Claude、GPT-4、Gemini 都是 LLM。它们通过阅读海量代码学会了”给定上下文,预测接下来应该写什么代码”。
关键特性:它不是在”搜索”代码,是在”生成”代码。每次输出都是根据你的 Prompt 和上下文即时生成的。这意味着同一个 Prompt 可能得到不同结果。
传感器:上下文
2. 上下文系统 — 传感器。
AI 怎么知道你的项目长什么样?靠上下文系统。不同的工具收集上下文的方式不同:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
上下文越多,AI 的输出越准确。但上下文也有上限(叫”上下文窗口”),塞太多反而会分散注意力。
手和脚:工具调用
3. 工具调用系统 — 手和脚。
光能生成代码不够,AI 还得能把代码写进文件、运行命令、查看结果。这就是工具调用。
Cursor 的 Agent 模式可以:读取文件、创建文件、运行终端命令、搜索代码。
Claude Code 可以:读写文件、运行 bash 命令、搜索代码库、调用外部工具(通过 MCP(Model Context Protocol,一种让 AI 调用外部工具的开放协议))。
这些能力让 AI 从”只能建议”变成了”能执行”。
!AI 编程工具三大组件
为什么 AI 会犯错
AI 编程工具犯错的根本原因有三个:
上下文不够
1. 上下文不够。
它没看到你项目里的某个关键文件,所以不知道你已经在 utils.py 里写了一个类似的函数,又造了一个轮子。
知识截止
2. 知识截止。
训练数据有时间限制。如果你用的是 2024 年训练的模型,它可能不知道某个库在 2025 年做了重大 API 变更。
统计偏差
3. 统计特性。
LLM 本质上是在预测”下一个 Token 最可能是什么”。有时候”最可能”不等于”正确”。特别是处理边界情况和特殊逻辑的时候。
理解了这三个原因,你就知道怎么应对了:
-
上下文不够 →主动提供相关文件和信息 -
知识过时 →告诉 AI 你用的版本号 -
统计偏差 →对关键逻辑手动验证
对话上下文管理
和 AI 的对话会越来越长。AI 在对话中看到的每一条消息都会影响它的输出。这意味着:
前几轮对话的质量,决定了后面的质量。
如果你一开始给了清晰的项目结构和需求描述,后面的每轮对话 AI 都能保持一致的上下文。如果你一开始就模糊,后面会越来越偏。
核心建议
把 AI 当成一个能力很强但对你项目一无所知的新同事。你不会让新同事直接改代码,你会先给他介绍项目结构、技术栈、代码规范。对 AI 也一样。项目介绍越清楚,协作越高效。
下一节讲最重要的主题:怎么审查 AI 生成的代码,确保质量。
别盲信导航:代码审查与质量把控
2025 年的一项研究数据:AI 生成的代码中,约 45% 包含安全漏洞。
这个数字可能让你紧张。应该紧张。但紧张不等于不用,而是要建立一套审查流程。
回想 GPS 隐喻:导航说右转,你扫一眼路况再转。不是为了不相信导航,是为了安全。
AI 生成代码的五大类问题
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最后一类”幻觉代码”特别值得注意。AI 有时候会非常自信地调用一个根本不存在的函数或库。代码看起来完全合理,但你一跑就报错。
三遍审查法
我用的审查流程,简单但有效:
先跑起来
第一遍:跑起来看效果。
不要先读代码。先运行,看结果是不是你想要的。如果运行结果就不对,读代码也没意义——直接让 AI 重写。
扫关键路径
第二遍:扫关键路径。
不用逐行读。只看三个地方:
-
输入处理 — 参数验证、类型检查做了没有 -
核心逻辑 — 主流程的思路对不对 -
输出处理 — 返回值、错误处理、边界情况
查安全依赖
第三遍:查安全和依赖。
-
有没有硬编码的密钥、Token、密码 -
有没有 SQL 拼接、eval(一个危险的 Python 函数,能执行任意字符串代码)、未转义的用户输入 -
引入的新依赖是否必要、是否可信
三遍做完,大概 5-10 分钟。比你从零写快得多,但足以挡住大部分问题。
!三遍审查法
让 AI 帮你审查 AI
一个有用的技巧:让 AI 审查自己(或其他 AI)生成的代码。
在 Cursor 或 Claude Code 里:
TEXT
请审查以下代码,重点关注:
1. 安全漏洞
2. 逻辑错误
3. 性能问题
4. 是否有更好的实现方式
[粘贴代码]
AI 审查 AI 不是完美的,但它能帮你发现很多你一眼看不到的问题。两个不完美的审查者加在一起,比一个强。
自动化质量门禁
除了人工审查,用工具设几道自动门禁:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在项目一开始就让 AI 帮你配好这些工具。之后每次 AI 生成代码,门禁自动帮你挡住一部分问题。
核心建议
审查 AI 代码不是不信任 AI,是对用户负责。AI 不在乎代码跑在生产环境还是本地测试环境。你在乎。所以审查是你的责任,不是可选项。花 5 分钟审查,省 5 小时排故障。
下一节讲迭代——当 AI 的输出不完美时,怎么高效地让它改。
下期预告
走偏了就调头:迭代与重构
夜雨聆风