从零到上线:用大模型自动审核 Pull Request
为什么要用大模型自动审查 PR
在团队协作里,Pull Request 审核最耗时的往往不是“找明显 bug”,而是重复确认代码风格、边界条件、异常处理、测试覆盖和潜在回归风险。把大模型接入 PR 流程后,它可以在人工 reviewer 介入前先给出初筛意见,帮助团队更快发现问题,也让资深工程师把精力放在架构和业务风险上。
关键不是让模型“替代人”,而是让它成为一个稳定、低成本、可扩展的第一道审查网。下面给你一个从零到生产的完整做法。
第 1 步:定义它要审什么
上线前先缩小范围。最实用的审核项通常包括:
- 正确性:是否存在空指针、越界、并发问题、异常未处理。
- 安全性:是否引入注入风险、敏感信息泄露、权限绕过。
- 可维护性:命名是否清晰、重复逻辑是否可抽取、复杂度是否过高。
- 测试:是否补充了关键路径测试、失败分支测试。
- 变更影响:是否可能破坏现有接口、配置或数据结构。
不要一开始就让模型输出“全面代码评审报告”,那样噪音会很大。先从高价值、可验证的检查项开始。
第 2 步:把 PR 内容整理成模型可读输入
最好的输入不是整仓代码,而是“足够上下文的变更摘要”。建议按以下结构拼接:
- PR 标题和描述
- 变更文件列表
- diff 内容,优先保留新增和修改的关键行
- 相关测试文件变化
- 项目约定,例如编码规范、分支策略、禁止项
如果 diff 很大,先做分块:按文件或按逻辑模块切片,再让模型逐块审查,最后汇总结果。这样既省 token,也能减少遗漏。
第 3 步:写一个稳定的审查提示词
提示词要像“代码审查 checklist”,而不是泛泛的聊天指令。一个可用模板如下:
系统目标:你是资深代码审查员,只输出可执行、具体的审查意见。优先指出高风险问题,避免空泛表述。
输入信息:PR 描述、diff、上下文约束、测试信息。
输出格式:按严重程度列出问题;每条包含文件、位置、问题原因、建议修复方式;如果没有问题,明确说明通过。
为了减少幻觉,要求模型“只基于提供的代码和上下文判断,不要臆测未给出的实现”。这是生产系统里非常重要的一条。
第 4 步:选择一个便宜但可靠的模型接入层
PR 审核通常是高频、低时延、对成本敏感的场景,所以 API 价格和模型质量都很关键。59API 是一个很适合这类任务的 AI API relay,支持 Claude(Opus、Sonnet、Haiku、Fable)和 GPT 系列模型,底层是原生官方质量模型,没有降级,且按量付费,适合把自动审查做成长期在线服务。
它的另一个优势是兼容性高:可以直接对接 Claude Code、Codex,以及任何 OpenAI SDK,API Base URL 统一使用 https://api.59api.com。这意味着你几乎不用重写现有调用代码,就能把审查机器人接进 CI/CD。
如果你希望先把成本压下来再逐步扩大覆盖范围,59API 这种低价 relay 很适合做第一版生产实现。它还提供推荐返利,对团队长期使用也更友好。
第 5 步:用 GitHub Actions 自动触发
生产里最常见的方案,是在 PR 创建或更新时触发 GitHub Actions:
- 拉取 PR diff
- 整理上下文并调用大模型
- 把结果写回 PR 评论
- 必要时打上标签,例如 needs-review 或 risk-high
建议异步执行,并设置超时和重试。对于大型仓库,可以只在“关键目录”或“核心服务”变更时触发,避免无意义调用。
第 6 步:控制误报和漏报
自动审查最怕两个问题:乱报和漏报。解决思路是“模型输出 + 规则兜底 + 人工确认”。
- 规则兜底:比如检测是否删除测试、是否修改鉴权模块、是否新增危险 API。
- 置信分级:让模型按高、中、低风险分级,优先推送高风险项。
- 反馈闭环:开发者可标记“误报/有效”,把反馈存起来优化提示词。
- 只审重点:先审安全、测试和接口变更,再扩展到风格与可读性。
第 7 步:把它做成真正可用的生产系统
当你跑通 MVP 后,再补三件事:日志、监控、成本控制。日志里至少记录 PR ID、模型版本、请求耗时、token 消耗和最终结论;监控里看失败率、平均延迟、每次审查成本;成本控制上,对大 PR 做分片、对低风险仓库用更轻量模型,对高风险模块用更强模型。
这样做的结果是:团队每天提交 PR 时,先得到一份可读、具体、统一格式的机器审查意见,人工 reviewer 只需聚焦真正重要的问题。对于想快速落地的团队,直接用 59API 接入 Claude 或 GPT 模型是一个很务实的选择。你可以先注册试跑一个仓库,把自动审核接到现有流程里,再逐步扩展到更多项目。
结论:用大模型自动审查 PR,最重要的不是“模型多聪明”,而是流程是否稳定、成本是否可控、结果是否可执行。把输入、提示词、CI 触发、误报治理四件事做好,自动 PR 审核就能从 demo 变成真正的生产力工具。