---
title: 260307-AI 写代码更快，你的工作是证明它能用
description: AI 并没有杀死代码审查，而是让举证责任变得明确。通过手动验证和自动化测试等证据来交付变更，然后使用审查来评估风险、意图和责任。独立开发者依靠自动化来跟上
  AI 的速度，而团队则使用审查来建立共享上下文和所有权。
author: Addy Osmani
source: https://addyosmani.com/blog/code-review-ai/
date: '2026-03-07'
category: 04-engineering-practices
tags:
- AI辅助开发
- 代码审查
- 工程实践
- 测试驱动
- 软件质量
---

# AI 写代码更快，你的工作是证明它能用


**作者：Addy Osmani**

**原文：[查看原文](https://addyosmani.com/blog/code-review-ai/)**



> ## 摘要
>
> AI 并没有杀死代码审查，而是让举证责任变得明确。通过手动验证和自动化测试等证据来交付变更，然后使用审查来评估风险、意图和责任。独立开发者依靠自动化来跟上 AI 的速度，而团队则使用审查来建立共享上下文和所有权。

**AI 并没有杀死代码审查，而是让举证责任变得明确。通过手动验证和自动化测试等证据来交付变更，然后使用审查来评估风险、意图和责任。独立开发者依靠自动化来跟上 AI 的速度，而团队则使用审查来建立共享上下文和所有权**。

如果你的 pull request 不包含它能正常工作的证据，你并不是在更快地交付——你只是把工作推到了下游。

到 2026 年初，[超过 30% 的高级开发者](https://www.infoworld.com/article/4049949/senior-developers-let-ai-do-more-of-the-coding-survey.html)表示自己主要在交付 AI 生成的代码。真正的挑战不在“能不能生成”，而在于如何把这些产出验证到可交付的程度。[有研究](https://www.coderabbit.ai/blog/state-of-ai-vs-human-code-generation-report)指出，如果缺少足够的约束与验证，逻辑层面的错误会明显增加。这也解释了为什么工作流会分化：独立开发者常用测试套件托底，以“推理速度”推进；团队则还要依赖人工审查来补足上下文、责任和合规要求。无论是哪一种，AI 都只是加速器，真正定义质量差异的仍然是验证机制——由谁做、验证什么、在什么时候做。

正如我之前所说：如果你没有亲眼看到代码正确运行，它就还不能算“可用”。AI 让这条规则变得更重要，而不是更宽松。

## **开发者如何使用 AI 进行审查**

- **临时 LLM 检查**：在提交前将差异粘贴到 Claude、Gemini 或 GPT 中进行快速的 bug/风格扫描。
- **IDE 集成**：使用 Cursor、Claude Code 或 Gemini CLI 等工具在编码期间获得内联建议和重构。
- **PR 机器人和扫描器**：GitHub Copilot 或自定义代理在 PR 中标记问题；与 Snyk 等静态/动态分析配合使用以确保安全。
- **自动化测试循环**：使用 AI 生成并运行测试，强制执行 >70% 的覆盖率作为门槛。
- **多模型审查**：通过不同的 LLM 运行代码（例如，Claude 用于生成，专注于安全的模型用于审计）以捕获偏差。

工作流程和思维方式因你是独立开发还是在团队中工作（其他人维护你的代码）而大不相同。

## **独立开发 vs. 团队：快速比较**

![独立开发 vs 团队代码审查](/images/articles/localized/04-engineering-practices/ai-writes-code-faster-your-job-is-to-prove-it-works/01.jpg)

## **独立开发者：以"推理速度"交付**

**越来越多的独立开发者选择把审查重点放在关键路径上，再用测试体系兜底，以更快速度交付功能。**

这种工作流程把 Coding Agents 视为高效的执行者：它们可以在很大程度上独立处理大规模重构，而你把注意力放在关键节点的审查上。正如 [Peter Steinberger 承认的](https://blog.kilo.ai/p/senior-engineers-use-ai-now)：_"我不再读太多代码了。我看着流并有时查看关键部分，但大多数代码我不读。"_ 真正的瓶颈开始从“打字速度”转向[推理时间](https://steipete.me/posts/2025/shipping-at-inference-speed)——也就是等待 AI 生成结果。

**但这里有个前提：如果没有强测试体系，所谓的速度提升很快就会蒸发。** 先把安全网搭起来。如果你跳过审查，你并没有消灭工作量，只是把问题延后了。那些能高速使用 AI 的人，并不是盲目信它的人，而是那些先建立了验证系统、能在问题进生产前把它拦住的人。

这并不意味着独立开发者就会鲁莽行事。负责任的人会把**广泛的自动化测试**当作安全网——目标通常是较高覆盖率（比如 >70%），再配合 AI 生成那些能实时抓 bug 的测试。现代 Coding Agents 在设计复杂的端到端测试方面，往往出奇地好用。

**对于独立开发者来说，改变游戏规则的是与语言无关的、数据驱动的测试**。 如果全面，它们让代理可以用任何语言构建（或修复）实现，并在过程中进行验证。我用 AI 起草的 spec.md 开始项目，批准它，然后循环：编写 → 测试 → 修复。

至关重要的是，独立编码者仍然对最终产品进行**手动测试和批判性推理**。运行应用，点击 UI，自己使用功能。当涉及更高风险时，阅读更多代码并添加额外检查。尽管行动迅速，但当你看到丑陋的代码时就修复它，而不是让混乱积累。

即使在种种前沿范式中：[_你的工作是交付你已证明能工作的代码_](https://simonwillison.net/2025/Dec/18/code-proven-to-work/)_。_

## **团队：AI 转移审查瓶颈**

**在团队环境中，AI 是代码审查的强大助手，但*不能取代*质量、安全和可维护性所需的人类判断。**

当多个工程师协作时，错误的成本和代码寿命都会被放大。团队已经开始使用基于 AI 的审查机器人对 PR 做第一轮筛查，但最后仍需要人工签字。正如 [Graphite 的 Greg Foster](https://devclass.com/2025/03/19/graphite-debuts-diamond-ai-code-reviewer-insists-ai-will-never-replace-human-code-review/) 所说：_"我从来没有见过 AI 系统能替代真实工程师来签署 pull request。"_

**最大的实际问题不是 AI 审查者遗漏了风格问题——而是 AI 增加了数量并将负担转移到人类身上**。 [PR 变得更大](https://jellyfish.co/blog/ai-assisted-pull-requests-are-18-larger/)（随着 AI 采用的增加，增加了约 18%），[每个 PR 的事件增加了约 24%，变更失败率增加了约 30%](https://www.cortex.io/post/ai-is-making-engineering-faster-but-not-better-state-of-ai-benchmark-2026)。当输出增长速度快于验证能力时，审查就成为速率限制器。正如 Foster 所指出的：_"如果我们交付的代码从未被其他人类实际阅读或理解，我们就在冒巨大的风险。"_

在团队中，AI 会产生大量输出，因此要强制执行渐进主义：将代理输出分解为可消化的提交。人工签字不会消失——它正在演变为专注于 AI 遗漏的内容，比如路线图对齐和 AI 无法掌握的机构上下文。

### **安全：AI 的可预测弱点**

**人工监督绝对不可协商的一个领域是安全**。 [大约 45% 的 AI 生成代码包含安全缺陷](https://www.veracode.com/blog/ai-generated-code-security-risks/)。[逻辑错误出现的频率是人工编写代码的 1.75 倍，XSS 漏洞出现的频率高 2.74 倍](https://dl.acm.org/doi/10.1145/3716848)。

除了代码问题，[代理工具和 AI 集成的 IDE 创造了新的攻击路径](https://www.tomshardware.com/tech-industry/cyber-security/researchers-uncover-critical-ai-ide-flaws-exposing-developers-to-data-theft-and-rce)——提示注入、数据泄露，甚至 RCE 漏洞。AI 扩大了攻击面，因此混合方法获胜：AI 标记，人类验证。

**规则：如果代码涉及身份验证、支付、密钥或不受信任输入，就必须在合并前增加人工威胁建模审查和安全工具检查。**

### **审查作为知识转移**

**代码审查也是团队共享系统上下文的方式。如果 AI 编写代码而没有人能解释它，值班就会变得昂贵**。

当开发者提交他们不完全理解的 AI 生成代码时，他们正在破坏使团队具有弹性的知识转移机制。如果原作者无法解释代码为什么有效，值班工程师如何在凌晨 2 点调试它？

[OCaml 维护者拒绝 13,000 行 AI 生成的 PR](https://devclass.com/2025/11/27/ocaml-maintainers-reject-massive-ai-generated-pull-request/) 凸显了这个问题。代码不一定差，但没有人有足够带宽去审查如此巨大的变更；审查 AI 生成的大体量代码，往往反而更费力。教训是：**AI 可以用代码把你淹没，但团队必须主动控制变更规模，避免把瓶颈转移到审查环节。**

### **让 AI 审查工具发挥作用**

用户对 AI 审查工具的体验明显不一。积极的一面是，团队报告在某些情况下捕获了 95% 以上的 bug——空指针异常、缺少测试覆盖率、反模式。消极的一面是，一些开发者将 AI 审查评论视为"文本噪音"——没有增加价值的通用观察。

**教训：AI 审查工具需要周到的配置**。 调整敏感度级别，禁用无用的评论类型，并建立明确的选择加入/退出政策。正确配置后，[AI 审查者可以捕获 70-80% 的低垂果实](https://graphite.dev/guides/what-is-ai-code-review)，让人类专注于架构和业务逻辑。

许多团队鼓励**更小的、可堆叠的 pull request**，即使 AI 可以一次完成巨大的变更。[尽早并经常提交](https://medium.com/@addyosmani/my-llm-coding-workflow-going-into-2026-52fe1681325e)——将每个独立的变更视为单独的提交/PR，并附有清晰的消息。

重要的是，**团队必须守住人类责任的硬边界。** 无论 AI 贡献了多少，最终责任仍然在人。正如一句老话所说：_“计算机不能承担责任，承担责任的是处在回路中的人。”_

**无论是独立开发还是在团队中，新兴的最佳实践是[将 AI 生成的代码视为有用的草稿](https://addyo.substack.com/p/treat-ai-generated-code-as-a-draft)，*必须*进行验证。**

最成功的团队已经在一个简单的框架上达成一致：

### **PR 契约**

1.  **什么/为什么**：用 1-2 句话说明意图。
2.  **它能工作的证明**：测试通过，手动步骤（截图/日志）。
3.  **风险 + AI 角色**：层级以及哪些部分是 AI 生成的（例如，高=支付）。
4.  **审查重点**：1-2 个需要人工输入的领域（例如，架构）。

这不是官僚主义，而是对审查者时间的尊重，也是对作者责任的硬约束。如果你连这几项都说不清，就说明你还没有把这次变更理解到足以请求别人批准的程度。

### **核心原则**

**坚持“先证明，再声称”**。把“能工作的代码”作为最低标准。要求 AI 在生成后执行代码或运行单元测试，并附上日志、截图或结果。**没有新的测试或可验证演示的 PR，不应提交。**

**将 AI 用作第一轮审查者，而不是最终仲裁者**。 将 AI 审查输出视为建议——一个对话，其中一个 AI 编写代码，另一个审查它，人类协调修复。将 AI 审查视为拼写检查，而不是编辑器。

**将人工审查集中在 AI 遗漏的内容上**。 变更是否引入了安全漏洞？它是否复制了现有代码（AI 的常见缺陷）？方法是否可维护？**AI 分类简单的东西；人类处理困难的东西**。

**强制执行增量开发**。 将工作分解为小块——AI 更容易生产，人类更容易审查。带有清晰消息的小提交作为检查点。**永远不要提交你无法解释的代码**。

**保持高测试标准**。 [那些从 Coding Agents 中获得最多收益的人](https://medium.com/@addyosmani/my-llm-coding-workflow-going-into-2026-52fe1681325e)有强大的测试实践。要求 AI 起草测试——它擅长生成你可能想不到的边缘情况测试。

## **展望未来：瓶颈已经转移**

**AI 正在将代码审查从逐行把关转变为更高级别的质量控制——但人类判断仍然是安全关键组件**。

我们看到的是工作流程的演变，而不是消除。代码审查现在涉及审查 AI 和作者之间的*对话*或*计划*，就像审查代码差异本身一样。人类审查者的角色变得更像编辑或架构师：专注于重要的事情，并信任自动化进行平凡的检查。

对于独立开发者来说，前方的道路令人兴奋——新工具将进一步简化开发。即便如此，明智的开发者也会"信任但验证"。

在大型团队中，预计对 AI 治理的重视会越来越多。公司将正式制定关于 AI 贡献的政策，要求签字确认代码已由员工审查。"AI 代码审计员"等角色将出现。企业平台将演变为提供更好的多存储库上下文和自定义策略执行。

**无论工具如何演进，核心原则都不变**：代码审查的职责仍然是确保软件满足要求，并且安全、健壮、可维护。AI 不会改变这些基本原则，只是改变了我们抵达这些目标的路径。

瓶颈已经从“写出代码”转向“证明代码有效”。AI 时代最好的审查者会接受这种变化：让 AI 加速机械工作，同时牢牢守住责任边界。正如越来越多工程师总结的那样，现代编码的关键词不是“感觉差不多”，而是[_“证明它能用”_](https://blog.kilo.ai/p/senior-engineers-use-ai-now)。

代码审查没有死，但它正在变得更加**战略性**。无论你是在凌晨 2 点部署的独立黑客，还是签署关键系统变更的团队负责人，一个真理都成立：*人类*最终对 AI 交付的内容负责。

拥抱 AI，但永远不要忘记**仔细检查工作**。

---

_我很高兴地分享，我与 O'Reilly 发布了一本新的 [AI 辅助工程书籍](https://beyond.addy.ie/)。如果感兴趣，书籍网站上有一些免费提示。_




