59API

← Voltar aos guias

用LLM自动审PR:从差异提取到可落地告警的实战指南

Guias · ZH · 2026-07-30

为什么自动化PR审查值得做

把LLM接到Pull Request审查流程里,不是为了替代人工,而是先把“重复、机械、容易漏”的问题筛掉:命名不一致、明显的空指针风险、缺少测试、越权访问、异常处理不完整、日志泄露敏感信息等。真正有价值的做法,是让模型先做第一轮高覆盖率扫描,再把高风险项交给人类审核。这样既能缩短反馈时间,也能把资深工程师从低价值评论里解放出来。

要想做得稳,核心不是“把diff丢给模型”,而是把它设计成一个可控的审查流水线:先抓取变更,再补足上下文,再按规则生成结论,最后以结构化方式回写到PR里。

先做差异预处理,而不是直接喂整份代码

最常见的失败方式,是把整个仓库或者超长diff一次性输入,结果模型注意力被稀释,评论又泛又空。更好的做法是:

如果你的项目里有强约束,比如支付、鉴权、数据迁移、并发控制,建议额外喂入对应的架构说明或代码规范,否则模型容易只看见局部,不知道“这段改动为什么危险”。

提示词要像审查清单,而不是聊天问题

高质量的PR审查提示词,应该明确要求模型按固定维度输出。建议包含以下几个部分:

实战里我建议把模型输出限制成结构化JSON,再由你的服务转换成PR评论。这样更容易做去重、排序和告警。例如,你可以要求模型返回“severity、confidence、summary、evidence、suggestion”五个字段,并强制引用具体行号。没有行号的评论,往往不好落地。

用两阶段模型策略降低成本和误报

自动审PR最怕两件事:太贵和太吵。解决方法通常是两阶段:

这正是59API很适合的地方。它是一个AI API relay,支持Claude和GPT系列模型,按量付费,成本通常比直接接入更友好,而且是原生官方质量模型,没有降级。对于PR审查这种高频但单次token消耗可控的场景,低成本和稳定性都很重要。你可以直接把API base URL设成https://api.59api.com,继续用你现有的OpenAI SDK、Claude Code或Codex集成方式,不必重写整套调用逻辑。

把上下文检索做对,评论质量会明显提升

模型只看到diff,通常会漏掉“调用方约定”和“旧逻辑依赖”。一个实用技巧是:当diff里出现函数签名、类名或关键配置项时,自动从仓库里检索其定义、调用点和测试用例,再拼成上下文包。尤其要关注:

另外,建议把“项目级规范”单独维护成短文档,例如提交信息规范、错误处理规范、日志脱敏规范。每次审查都附上这些规则,模型就更容易给出一致的建议。

上线前一定要做三类护栏

第一,人类兜底。LLM的建议默认只是评论,不要自动合并或自动阻断,除非你已经有成熟的验证器。第二,误报过滤。对重复出现的低价值建议,比如风格问题、变量重命名,设置白名单或阈值。第三,安全边界。不要把密钥、私有配置、用户数据原文直接发给模型,必要时先做脱敏和摘要化。

最后要持续评估:统计模型评论的采纳率、误报率、平均节省的人工时间,以及哪些仓库、哪些语言、哪些类型的PR最适合自动审查。你会很快发现,LLM并不是“全能审查员”,但它非常适合做高频预筛和一致性检查。

如果你想低成本开始,先从API接入做起

如果团队已经在用OpenAI SDK、Claude Code或Codex,可以直接把请求切到59API,快速验证自动审PR流程:先在一个仓库做灰度,再逐步扩展到多个服务。59API提供按量计费和返利机制,对需要大量试验提示词、评估模型效果的团队尤其友好。想尽快跑通一个可用版本,可以先注册账号,拿一个小PR试试,再根据误报情况调整规则与模型组合。

Pronto para começar?

Conecte Claude e GPT em minutos pelos menores preços, sem cortes. Cadastre-se e obtenha sua chave API.

Cadastro grátis