跳到主内容

AI 代码审查工作流怎么搭:AI 先扫、人来判断的 6 步流水线

100%
AI 代码审查工作流怎么搭:AI 先扫、人来判断的 6 步流水线

一句话结论:AI 代码审查的正确姿势,是让智能体先做机械扫描(风格、类型、缺失的错误处理、重复工具函数),人只保留”追溯关键路径 + 盯安全边界”这两件不可自动化的判断工作。按本文的 6 步流水线配置,一个常规 PR 的人工审查能从 10 分钟压到 4~5 分钟,漏检反而更少。

一、为什么”让 AI 看一遍”不够用

很多团队把 AI 审查做成:合并前丢给模型问一句”这段代码有问题吗”。这有三个硬伤:模型拿不到你的业务约束,它不知道哪些是”我们刻意这么写的”;它的反馈没有优先级,几十条评论里混着真 bug 和风格洁癖;最关键的是它不会替你判断”这次改动会不会影响线上那条核心链路”。

GitHub 官方在《 Agent pull requests are everywhere 》里给的判断很直接:代码面积在涨、 PR 数量在涨,应该压缩的是你扫样板代码的时间,而不是你脑子里那套没写下来的系统上下文——那才是审查真正的价值所在。

环节擅长者原因
风格一致性、类型不匹配、明显逻辑错AI 自动审查规则明确、可批量、无需业务上下文
CI 配置是否被削弱人(硬停项)涉及交付体系的可信度,AI 不知道团队红线
新增工具函数是否重复造轮子AI + 人复核AI 负责全库搜索,人判断是否该复用
关键路径端到端追溯人需要边界条件、权限、异常分支的业务认知
一句话分工:AI 当”前置过滤器”,不是”最终裁决者”。它扫完你再看,它没扫出来的靠你兜底。

二、 6 步审查流水线(每步都给了时间预算)


  1. 第 1~2 分钟:扫文件列表和 diff 体积,先分类——是”窄任务”(文档、 CI 、小改动)还是”复杂任务”(多文件、逻辑、性能、测试)。分类决定后面投入多深。

  2. 第 2~3 分钟:先看 CI 改动。任何碰到 .github/workflows 、测试配置、覆盖率阈值、构建脚本的改动都优先看;凡是削弱 CI 的直接打回。

  3. 第 3~5 分钟:让 AI 扫新增工具函数/helper/module,对每一个做一次全仓库重名搜索,标记重复实现。

  4. 第 5~8 分钟:挑最核心的那条逻辑改动,端到端走一遍:输入 → 变换 → 输出,重点看边界条件、权限校验、异常分支。这步不能省。

  5. 第 8~9 分钟:如果 PR 会调用大模型或处理不可信输入,过一遍安全清单——工作流 YAML 用最小权限(read-all 是合理默认)、不可信内容进提示词前先清洗转义、分析步骤和执行步骤分离、绝不 eval 模型输出。

  6. 第 9~10 分钟:要求证据。非平凡的逻辑改动必须附一个”改动前会失败”的测试;高风险改动没有回滚方案就要求补上。

三、怎么把你的清单固化成自动检查

GitHub 工程师分享过一个小技巧:与其每次靠记忆跑同一套检查,不如用 Copilot SDK 把个人清单(管理端接口是否鉴权、测试是否真跑、环境变量处理是否安全)写成工作流,自动跑在 diff 上,发现致命问题直接拦住合并。

落地思路:把团队红线写成一份 REVIEW_RULES.md,让智能体在每次 PR 时对照输出”命中/未命中”,你只复核命中项。配合 Claude Code Hooks 这类机制,还能把规则变成提交前的强制动作。

自定义审查指令示例(可直接抄)
审查这个 diff 时依次检查:1)是否有改动降低测试覆盖率阈值或跳过测试;2)新增的公共函数是否与仓库已有工具重复;3)所有外部输入是否做了校验;4)是否引入了未处理的 Promise 或空指针路径。输出只列你真正有把握的问题,按严重度排序,每条给出文件名与行号。

四、太大的 AI PR 怎么办

智能体最容易产出”一个 PR 改 20 个文件”的巨型 diff,人类根本看不动。 GitHub 的做法是把它拆成可审查的 stack:数据层、 API 层、接线层、 UI 层各一个 PR,每层单独跑 CI,按 CODEOWNERS 分派给对应负责人。

  • 要求智能体严格限定单一职责,一次只做一层;
  • 每层都有独立 CI,审查只针对本层;
  • 触发”该拆了”的信号:diff 超过 5 个不相关文件、一句话说不清 PR 目的、 PR 描述为空、 CI 红了但 diff 里只改了测试文件。

更多关于 AI 编程智能体的协同方式,可参考 GitHub Copilot coding agent 与 Copilot 和 Claude Code 怎么选。

五、三个常见误区

  • 把 AI 审查当审批:它给的是线索,不是结论;最终合并责任永远在人。
  • 不设硬停项:CI 被削弱必须无条件打回,这是唯一不该讨价的红线。
  • 要求 AI 输出越多越好:噪音会淹没真问题,宁可要 3 条高置信度发现。
阅读 GitHub 官方审查指南

AI 代码审查能替代人工 review 吗?
不能。它擅长机械扫描(风格、类型、缺失错误处理、重复实现),不擅长判断业务边界与关键路径风险。正确用法是”AI 先扫、人再判断”,把 AI 当前置过滤器而非裁决者。

一个 PR 花多少时间审查合适?
按 GitHub 给的节奏,常规 PR 约 10 分钟:2 分钟分类、 1 分钟看 CI 、 2 分钟查重复工具函数、 3 分钟追溯关键路径、 1 分钟过安全边界、 1 分钟要证据。超过这个时间通常说明 PR 该拆了。

AI 生成的巨型 PR 怎么处理?
拆成 stack:数据层、 API 层、接线层、 UI 层各一个 PR,每层独立跑 CI 、按 CODEOWNERS 分派。 diff 超过 5 个不相关文件就是明确的拆分信号。

调用大模型的 PR 有什么额外检查项?
四条硬规则:工作流 YAML 用最小权限(read-all 作默认)、不可信内容进提示词前先清洗转义、分析步骤与执行步骤分离并加人工审批门、绝不 eval 模型输出。

这篇有帮助吗?
云上的幻象
云上的幻象查看主页

七彩云博客,分享 WordPress 建站实战与 AI 工具测评,覆盖服务器运维、站长工具、软件资源与电商运营干货,专注原创实用的主题插件、网站加速与安全优化教程。

762文章4评论

相关文章

评论 (0)

欢迎你,新朋友,感谢参与互动!文明发言,理性交流 · 首次评论将在审核后展示