Vibe Coding(Andrej Karpathy 2025 年初提出)正在重塑开发者的工作方式——从「逐行手写」转向「自然语言驱动 AI 生成 + 人工 review」。当一个 PR 的 80% 代码由 AI 在几秒内产出时,传统双人 Code Review 就会出现盲区:reviewer 面对大段「看起来对但不确定为什么这样写」的代码,要么机械 approve,要么陷入逐行追溯的低效循环。
面试官追问「Vibe Coding 项目里如何建立评审机制」,**真实意图是考察你能否把 AI 当成一个「高速但会犯错的新人」来设计治理框架**。及格线不是背诵流程图,而是讲清三个判断:AI 生成的代码有哪些典型问题、为什么传统 review 流不够用、需要补哪几层机制。
## 一、AI 生成代码常见 5 类典型问题
把过去一年实战样本汇总(Cursor / Claude Code / Aider 等都覆盖),AI 生成代码最容易踩的坑集中在 5 个方向:
| 类别 | 典型表现 |
|------|----------|
| **安全漏洞** | SQL 拼接字符串、XSS 未转义、硬编码 API key |
| **性能陷阱** | N+1 查询、循环里调网络、缺索引 |
| **可维护性差** | 函数超长(>200 行)、零注释 |
| **边界遗漏** | 异常路径返回 `null`、时区处理错 |
| **过度工程** | 抽象层过多、为不存在的需求做配置化 |

5 类中,**安全与性能是「跑起来就炸」的硬伤**,必须被 CI 拦截;其余 3 类是「跑得起来但越维护越烂」的慢病,需要靠人工 review 守住。
## 二、为什么传统 Code Review 流不够用
传统 Code Review 默认「reviewer 能完整理解 PR 里每一行」。但 Vibe Coding 场景下这个前提被打破:
- **代码量大但语义不清**:AI 几分钟产出几百行,reviewer 要花更多时间理解「这段为什么这样写」。
- **同质化错误**:AI 反复生成训练数据里见过的常见错误模式。
- **「看起来对」认知偏差**:人类 reviewer 倾向快速 approve,因为大脑默认信任「读起来流畅」的内容。
- **缺乏 AI 参与度标注**:reviewer 不知道 PR 是「AI 完全生成」还是「辅助」,无法调整 review 深度。
**结论**:传统双人 review 必须升级为「AI 自检 + AI 互评 + 人工聚焦」的三层机制。
## 三、三层评审流:AI 自检、AI 互评、人工聚焦

**第一层:AI 自检**(机械门禁,必须通过)
- Lint(ESLint / Ruff / golangci-lint)
- 类型检查(tsc / mypy)
- 单元测试 + 覆盖率(不能降低)
- 安全扫描(Semgrep / Snyk)
- 依赖漏洞检查(npm audit / pip-audit)
这一层**不依赖 LLM**,是确定性的、可重放的门禁,AI 生成的代码不豁免任何一项。
**第二层:AI 互评**(语义审查)
用 Claude / GPT 等模型 review AI 生成的代码,重点检查:是否符合项目代码风格(CLAUDE.md / AGENTS.md 沉淀的约定)、是否重复造轮子、业务正确性推断、测试覆盖盲区。**关键设置**:输出必须带「风险等级」(高/中/低),高风险项必须人工确认才能合并。
**第三层:人工聚焦**(架构 + 业务 + 治理)
人类 reviewer 不再逐行读所有代码,而是聚焦 AI 看不出来的层面:
- **架构决策**:模块拆分是否合理、是否引入循环依赖、是否破坏既有抽象层
- **业务正确性**:AI 可能误解需求,需要 reviewer 对照 PRD / 用户故事核对
- **AI 治理**:PR 描述里必须写明「AI 参与度」(生成 / 辅助 / 参考)、是否需要更新文档、是否影响监控指标
## 四、Code Review Checklist:把「软规则」变「硬约束」
光说「要认真 review」没用,要把规则写进 PR 模板 + CI。把 checklist 写进 `.github/pull_request_template.md`,CI 加一个「未勾选项即失败」的 lint,reviewer 才能把精力集中在判断而非核对上。
```markdown
## AI Code Review Checklist
### 必须勾选才能合并
- [ ] PR 描述里写明 AI 参与度(生成 / 辅助 / 参考)
- [ ] AI 互评已运行,高风险项已确认
- [ ] CI 全绿(lint / typecheck / test / security)
- [ ] 关键路径单测覆盖 ≥ 80%
- [ ] 无新增硬编码密钥 / TODO
### 人工 Reviewer 必须确认
- [ ] 模块拆分合理,无循环依赖
- [ ] 业务逻辑与 PRD / 用户故事一致
- [ ] 监控 / 告警 / 日志覆盖到位
```
## 五、行业影响:从「写代码」到「治理代码」
Vibe Coding 普及后,开发者核心能力模型正在迁移:**写代码速度**变得不那么稀缺(AI 比人快);**判断代码好坏**变得稀缺(reviewer 角色更重要);**架构设计**与 **AI 治理能力**成为新刚需——后者覆盖 CLAUDE.md 配置、PR 模板设计、AI 产出质量度量等。SWE-bench Verified 等公开 benchmark 让「AI 能独立完成多少真实 GitHub Issue」有了可比口径,但 benchmark 高分不等于生产可用——**生产可用 = AI 产出 × 评审治理深度**,二者缺一不可。
## 结语
面试时答这道题,**避免抽象谈流程**,落点在三层评审 + checklist 硬约束 + 人工聚焦架构与业务。一句话收尾:「Vibe Coding 的核心不是『让 AI 写代码』,而是『让 AI 写完代码后,工程团队还有能力判断它到底对不对』。」
---
## 参考资料
**官方文档**
- Anthropic Claude Code Best Practices [200] - 2026
- Anthropic Claude Code Release Notes Overview [200] - 持续更新
**开源项目**
- anthropics/claude-code API 元数据 [200] - 2026-07
- continuedev/continue README API [200] - 开源 AI 编程助手
- Aider-AI/aider API 元数据 [200] - AI pair programming 工具
**行业报道**
- HN Algolia Vibe Coding 综合搜索 [200] - 行业讨论聚合
**社区讨论**
**对比基准**
- SWE-bench Verified API 元数据 [200] - AI 解决真实 GitHub Issue 评测集
## 面试答题模板(生产工程师视角)
答这道题时建议走 5 步:
1. **澄清前提**:反问面试官「团队目前 Vibe Coding 占比是多少?现有 review 流卡在哪一步?」—— 把抽象题落到具体瓶颈
2. **诊断问题**:列出 AI 生成代码 5 类典型问题(安全 / 性能 / 可维护 / 边界 / 过度工程),用 1 个真实案例佐证
3. **三层评审**:机械门禁(CI)→ AI 互评(语义)→ 人工聚焦(架构/业务)—— 讲清楚为什么需要这三层、每层解决什么问题
4. **Checklist 硬约束**:把软规则变 PR 模板 + CI lint,避免 reviewer 靠「记性」做治理
5. **度量闭环**:怎么知道评审机制真的有效?列出 3 个指标(合并前高风险发现率 / 合并后回归率 / Reviewer 平均 PR 处理时长)
最后一句总结收尾:「Vibe Coding 的工程质量 = AI 生成速度 × 评审治理深度,二者缺一不可。」
---
> **本文由 AI 生成**。内容基于公开资料整理,可能存在事实偏差,引用链接请以原始来源为准。
