AI Code Review 工具实战:从 PR-Agent 到 CodeRabbit,我试了5个工具的真实体验
最近一直在折腾各种 AI 编程工具,Claude Code、Cursor、Codex 这些都写过了。但有个问题一直没解决:代码写完了,PR 提了,谁来 review?
以前团队小的时候,code review 基本靠自觉。后来项目多了,一个人管好几个仓库,review 就变成了最拖后腿的环节。有时候提了个 PR,等两天没人看,自己都忘了写了啥。
上周我花了几天时间,把市面上主流的 AI Code Review 工具都试了一遍。PR-Agent、CodeRabbit、Greptile、Graphite Agent、GitHub Copilot 的 review 功能,五个全搞了。这篇文章记录一下每个工具的上手过程、实际效果、踩的坑,以及最后我选了哪个。
为什么需要 AI Code Review
先说说我为什么突然对这个感兴趣。
之前我的工作流是这样的:用 Claude Code 写代码 → 提 PR → 等自己有空了再自己 review 一遍 → 合并。问题很明显——自己 review 自己的代码,很容易灯下黑。写的时候觉得逻辑没问题,review 的时候也看不出来,因为脑子里还是当时的思路。
另一个问题是效率。我现在同时维护好几个项目,每天提 3-5 个 PR 是常态。每个 PR 认真 review 一遍,至少要 15-20 分钟。一天光 review 就要花一个多小时,这还是自己一个人的情况下。如果有团队协作,review 的时间成本更高。
AI Code Review 工具的核心价值就两点:
- 自动发现低级错误:拼写错误、未使用的变量、潜在的 N+1 查询、SQL 注入风险这些,AI 比人眼靠谱
- 加速 review 流程:先让 AI 过一遍,标注出需要关注的地方,reviewer 只看重点就行
但 AI review 不是万能的。业务逻辑是否合理、架构设计是否正确、性能瓶颈在哪里——这些需要人的判断。AI 更像是一个"初筛器",帮你把明显的 bug 和代码质量问题先挑出来。
PR-Agent:开源免费,自己掌控
PR-Agent 是我第一个试的工具,因为它开源免费,而且功能看起来很全。
基本情况
- GitHub: the-pr-agent/pr-agent(11k+ stars)
- 定价: 开源免费,也有 Qodo 的商业版本
- 支持平台: GitHub、GitLab、Bitbucket、Azure DevOps、Gitea
- 支持模型: OpenAI GPT、Claude、DeepSeek 等
PR-Agent 最早是 Qodo(之前叫 Codium AI)做的开源项目,后来捐赠给了社区。现在是社区维护,商业版变成了 Qodo 2.0。
安装过程
最简单的方式是用 GitHub Action。在仓库里加一个 workflow 文件就行:
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
我第一次配的时候踩了个坑:OPENAI_KEY 必须是有效的 OpenAI API Key,不能用 Azure OpenAI 的 key。如果你用的是 Azure 或者其他兼容 API,需要在配置文件里指定 api_base。
本地 CLI 用法也很简单:
| 1 | |
| 2 | |
| 3 | |
核心功能
PR-Agent 有几个核心命令:
/describe:自动给 PR 生成标题和描述,包括改动总结、类型标签/review:自动 review PR 代码,标注潜在问题/improve:给出具体的代码改进建议/ask:针对 PR 的任意问题提问
我用的最多的是 /review 和 /improve。/describe 也不错,但有时候生成的描述太啰嗦,我还是要手动改。
实际效果
试了几个 PR 之后,我的感受是:PR-Agent 对"显而易见"的问题抓得很准。比如:
- 一个函数里有个变量定义了但没用到
- 某个条件分支里少了 null check
- SQL 查询用了字符串拼接而不是参数化
- 某个 import 引入了但没使用
这些问题确实有用,但说实话,好的 linter 也能发现。PR-Agent 的价值在于它能发现一些 linter 抓不到的"逻辑层面"的问题,比如:
- 某个异步操作没有 await
- 某个错误处理分支里 return 了错误的类型
- 某个 API endpoint 缺少权限检查
不过也有误报。有一次它把一个正常的类型断言标记为"潜在的类型安全问题",看了半天才发现是误报。
优缺点
优点:
- 开源免费,数据完全在自己手里
- 支持所有主流 Git 平台
- 可以自定义 prompt,调整 review 的侧重点
- 每次 review 只用一次 LLM 调用,速度快(30秒左右)
缺点:
- 需要自己部署和维护
- 自定义配置有一定学习曲线
- 对大型 PR 的处理能力有限(虽然有 PR compression 策略)
- 社区维护,更新频率不如商业产品
CodeRabbit:商业产品里的标杆
CodeRabbit 是目前最火的 AI Code Review 工具,GitHub Marketplace 上安装量第一。我试了一下,确实有它的道理。
基本情况
- 官网: coderabbit.ai
- 定价: 免费版支持公共仓库,Pro 版 $12/月/用户
- 支持平台: GitHub、GitLab
- 客户数: 15,000+,6M+ 仓库在用
安装过程
安装超级简单。去 GitHub Marketplace 点两下就行,不需要配 API Key,不需要写配置文件。这是我试过的所有工具里安装最简单的。
装完之后,每个 PR 会自动触发 review。review 结果直接作为 PR comment 出现,体验很流畅。
核心功能
CodeRabbit 的功能比 PR-Agent 多不少:
- 逐文件 review:每个文件单独 review,标注具体行号
- 整体 PR 总结:生成 PR 级别的改动总结和潜在风险
- 增量 review:后续 push 只 review 新改动,不重复分析
- 代码建议:直接给出改进后的代码片段
- AST 分析:不只是文本匹配,会分析代码的抽象语法树
我最喜欢的是"逐文件 review"。每个文件的 review 结果很清晰,直接标注在具体行号上,点开就能看到建议。比 PR-Agent 那种一大段文字的输出好读多了。
实际效果
CodeRabbit 的准确率比 PR-Agent 高一个档次。举个例子:
我有一个 PR 改了一个数据库查询,把 SELECT * 改成了 SELECT id, name。PR-Agent 没说什么,CodeRabbit 指出"这个改动可能导致下游依赖 email 字段的地方报错,建议检查 UserTable 组件"。
这种跨文件的上下文理解能力,PR-Agent 做不到。
还有一次,我改了一个 API endpoint 的返回格式,CodeRabbit 不仅指出了格式变化,还列出了所有调用这个 endpoint 的地方,提醒我同步更新。这个功能真的很实用。
不过也有槽点。有一次它把一个故意的 any 类型标注为"类型安全问题",但那个地方确实只能用 any(因为是第三方库的类型定义不完整)。误报还是有的,但比 PR-Agent 少。
优缺点
优点:
- 安装极简,两步搞定
- 准确率高,误报少
- 增量 review 节省 token
- 支持 CLI 和 IDE 插件
- 有免费版可以试
缺点:
- 免费版只支持公共仓库
- Pro 版 $12/月/人,团队用的话成本不低
- 不支持自定义 prompt(只能在配置文件里调一些参数)
- 对私有仓库的数据安全需要评估
Greptile:深度上下文理解
Greptile 是这几个工具里最"技术范"的。它的核心卖点是"深度代码库理解"——不只是看 PR 的 diff,而是理解整个代码库的结构和逻辑。
基本情况
- 官网: greptile.com
- 定价: 免费版有限额,Pro 版按用量计费
- 支持平台: GitHub
- 特点: 基于 RAG 的代码库索引
安装和使用
Greptile 的安装比 CodeRabbit 复杂一点,需要授权 GitHub App 访问你的仓库。授权之后,它会花一些时间索引你的代码库(取决于代码量,小项目几分钟,大项目可能要半小时)。
索引完成后,每个 PR 会自动触发 review。
实际效果
Greptile 的 review 风格跟其他工具不太一样。它更像一个"熟悉项目的老同事"在 review,因为它理解整个代码库的上下文。
举个例子:我改了一个工具函数,Greptile 指出"这个函数在 src/utils/parser.ts 里有类似的实现,建议复用而不是重写"。这种跨文件的建议,其他工具给不出来。
还有一次,我加了一个新的环境变量,Greptile 提醒我".env.example 文件里没有同步更新,新同事 clone 项目后会跑不起来"。这种细节很到位。
但 Greptile 的问题也明显:索引需要时间,而且对大代码库的索引可能不完整。我有一个 50 万行代码的项目,索引了半小时,review 的时候还是漏掉了一些上下文。
优缺点
优点:
- 深度理解代码库上下文
- 能发现跨文件的重复和不一致
- 建议质量高,像老同事在 review
缺点:
- 索引需要时间
- 大代码库可能索引不完整
- 只支持 GitHub
- 按用量计费,成本不好预估
Graphite Agent:跟 Graphite 工作流深度集成
Graphite 本身是一个 Git 工作流工具(支持 stacked PR),它的 AI review 功能是后来加的。如果你已经在用 Graphite 的工作流,这个工具很自然。
基本情况
- 官网: graphite.dev
- 定价: 免费版有额度,Team 版 $20/月/人
- 支持平台: GitHub
- 特点: 跟 stacked PR 工作流深度集成
实际效果
Graphite Agent 的 review 质量不错,但没有 CodeRabbit 和 Greptile 那么惊艳。它的优势在于跟 Graphite 的 stacked PR 工作流集成得很好——如果你用 stacked PR,每个 PR 的 review 会考虑整个 stack 的上下文。
但我个人不太用 stacked PR(小团队没必要),所以这个优势对我没什么吸引力。
review 的准确率中等偏上。能发现常见的 bug 和代码质量问题,但跨文件理解能力不如 Greptile。
优缺点
优点:
- stacked PR 场景下体验很好
- 跟 Graphite 工作流无缝集成
- UI 设计不错
缺点:
- 不用 Graphite 工作流的话优势不明显
- 价格偏贵($20/月/人)
- 只支持 GitHub
GitHub Copilot Code Review
GitHub Copilot 也加了 code review 功能。作为 Copilot 的一部分,如果你已经在用 Copilot,这个功能是免费的。
基本情况
- 定价: Copilot Pro 包含($10/月 或 $100/年)
- 支持平台: GitHub
- 特点: 原生集成,无需额外安装
实际效果
说实话,Copilot 的 code review 功能比上面几个都弱。它更像是一个"增强版 linter",主要发现的是:
- 代码风格问题
- 简单的逻辑错误
- 潜在的性能问题
- 安全漏洞(基础的)
但跨文件理解能力几乎没有。它只看 PR 的 diff,不会分析整个代码库的上下文。
不过它有一个优势:跟 GitHub 原生集成。review 结果直接出现在 PR 页面上,不需要额外安装任何东西。如果你只是想要一个"轻量级的 AI review",Copilot 的功能够用了。
优缺点
优点:
- 跟 GitHub 原生集成,零配置
- 包含在 Copilot 订阅里,不额外收费
- 对小项目够用
缺点:
- 功能最弱,只能做基础 review
- 跨文件理解能力几乎没有
- 自定义能力差
五个工具对比
说了一堆,直接上结论:
如果你预算有限,想自己掌控:选 PR-Agent。开源免费,功能够用,就是需要自己部署。
如果你想要最好的体验:选 CodeRabbit。准确率高,安装简单,体验流畅。Pro 版 $12/月/人,性价比不错。
如果你的代码库很大,需要深度理解:选 Greptile。它的 RAG 索引能力是其他工具没有的。
如果你已经在用 Graphite 工作流:选 Graphite Agent。无缝集成,不需要切换工具。
如果你只是想试试 AI review:先用 GitHub Copilot 的功能。零成本,零配置,先体验一下 AI review 能做什么。
我个人最后选了 CodeRabbit。原因很简单:安装最简单,准确率最高,体验最流畅。PR-Agent 虽然免费,但自己部署维护太麻烦了(我已经够多东西要维护了)。
实际使用建议
用了几天之后,总结几个实际使用的建议:
不要完全依赖 AI review。AI 能发现低级错误和代码质量问题,但业务逻辑是否正确、架构设计是否合理,这些需要人来判断。AI review 是"初筛",不是"终审"。
配置好规则。不管用哪个工具,都要花时间配置 review 规则。比如哪些文件不需要 review、哪些检查需要关闭、review 的侧重点是什么。不配置的话,噪音会很多。
结合 CI/CD。把 AI review 集成到 CI/CD 流程里,PR 提交后自动触发 review。不要手动触发,那样太麻烦了。
定期校准。AI review 的结果不是完美的,有时候会误报。定期看看误报的情况,调整配置,让工具越来越准。
团队共识。如果团队要用 AI review,先达成共识:哪些 AI 发现的问题必须修、哪些可以忽略。不然每个人对 AI 建议的态度不一样,会很混乱。
AI Code Review 的工作原理
既然在用这些工具,顺便了解一下它们是怎么工作的。知道原理,才能更好地判断哪些场景下 AI review 靠谱,哪些场景下不靠谱。
PR-Agent 的原理:拿到 PR 的 diff 之后,把改动的代码和相关的上下文(比如被调用的函数、import 的模块)打包成一个 prompt,发给 LLM。LLM 返回 review 意见,PR-Agent 解析后作为 PR comment 发出来。整个过程只用一次 LLM 调用,所以速度快、成本低。
CodeRabbit 的原理:比 PR-Agent 复杂一些。它会先做 AST 分析,理解代码的结构(哪个是函数、哪个是类、调用关系是什么)。然后把这些结构化的信息和 diff 一起发给 LLM。所以它的理解能力比 PR-Agent 强,但成本也更高。
Greptile 的原理:最复杂。它会先用 RAG(检索增强生成)索引你的整个代码库,建立语义索引。review 的时候,不只看 diff,还会检索代码库里相关的代码片段,一起发给 LLM。所以它能发现跨文件的问题,但索引需要时间,成本也最高。
知道了这些原理,就明白为什么不同工具的效果差异这么大了。PR-Agent 只看 diff,所以只能发现局部问题。CodeRabbit 有 AST 分析,能理解代码结构。Greptile 有 RAG 索引,能理解整个代码库。
踩坑记录
最后说说我踩的几个坑:
坑1:PR-Agent 的 OpenAI Key 问题。PR-Agent 默认用 OpenAI API,如果你的 key 是 Azure OpenAI 的,会报错。需要在 .pr_agent.toml 里配置 api_base。
坑2:CodeRabbit 的免费版限制。免费版只支持公共仓库。私有仓库必须付费。如果你的项目是私有的,直接上 Pro 版,别浪费时间折腾免费版。
坑3:Greptile 的索引时间。大代码库索引很慢。我有个 50 万行的项目,索引了半小时。如果你急着用,先在小项目上试。
坑4:多个工具同时用会冲突。我试过同时装 PR-Agent 和 CodeRabbit,结果两个工具都往 PR 里加 comment,看起来很乱。建议只用一个。
坑5:AI review 的 token 消耗。如果你用 PR-Agent 自己部署,每次 review 都要调 LLM API。大 PR 的 token 消耗不少,注意控制成本。我有一个 2000 行改动的 PR,review 一次花了 $0.15。
成本分析
既然折腾了这么多工具,顺便算一笔账。
PR-Agent(自部署):软件免费,但要算 LLM API 的费用。用 GPT-4o 的话,每次 review 大概 $0.05-0.15(取决于 PR 大小)。如果一天 review 10 个 PR,一个月大概 $15-45。如果用 DeepSeek 或者更便宜的模型,成本可以压到 $5-10/月。
CodeRabbit Pro:$12/月/人。如果团队有 5 个人,一个月 $60。但实际用下来,不是每个人都会频繁提 PR,可能 2-3 个活跃用户就够了。
Greptile:按用量计费,不好精确估算。我用了一个月,大概花了 $25(每天 5-8 个 PR)。
Graphite Agent Team:$20/月/人,是最贵的。但如果你已经在用 Graphite 的其他功能,这个价格包含了整个工作流工具。
GitHub Copilot:$10/月,但这个价格包含了 Copilot 的所有功能(代码补全、chat、review 等),review 只是其中一个附带功能。
算下来,如果是个人开发者,PR-Agent 自部署最划算。如果是小团队,CodeRabbit 的性价比最高。如果是大团队且预算充足,可以考虑 Greptile 的深度理解能力。
常见误区
聊几个我看到的关于 AI Code Review 的误区。
误区1:AI review 能替代人工 review。不能。AI 能发现低级错误和代码质量问题,但业务逻辑是否正确、架构设计是否合理,这些需要人来判断。AI review 是"初筛",不是"终审"。我见过有人把 AI review 的结果直接 approve PR,这是很危险的。
误区2:AI review 的建议都要采纳。不是。AI 会有误报,也会给出不合适的建议。比如它可能建议你把一个合理的 any 类型改成具体类型,但那个地方确实只能用 any。要根据实际情况判断。
误区3:装了 AI review 就不用写测试了。AI review 和测试是互补的。AI review 能发现代码质量问题,但不能验证代码的行为是否正确。该写的测试还是要写。
误区4:AI review 会泄露代码。这个要看你用的工具。PR-Agent 自部署的话,代码完全在自己手里。CodeRabbit 和 Greptile 这些 SaaS 工具,需要看它们的数据安全政策。一般来说,它们不会用你的代码训练模型,但建议仔细看它们的隐私政策。
误区5:AI review 只适合大项目。小项目也能从 AI review 中受益。我有一个只有 500 行代码的小工具,AI review 还是发现了两个我忽略的问题:一个是边界条件没处理,一个是错误信息不够清晰。
不同场景的选型建议
根据你的具体情况,选型策略不一样:
场景1:个人开发者,预算有限。选 PR-Agent 自部署。用 DeepSeek 或者本地模型,成本几乎为零。功能够用,就是需要花点时间配置。
场景2:小团队(3-10人),想要最好的体验。选 CodeRabbit Pro。安装简单,准确率高,团队成员不需要学任何新东西。$12/月/人的价格对小团队来说可以接受。
场景3:大代码库,需要深度理解。选 Greptile。它的 RAG 索引能力是其他工具没有的。大代码库的上下文理解,Greptile 是目前最好的。
场景4:已经在用 GitHub Copilot。先试试 Copilot 自带的 review 功能。如果觉得不够用,再上 CodeRabbit 或 PR-Agent。
场景5:用 GitLab 或 Bitbucket。选 PR-Agent。它是支持平台最多的工具,GitHub、GitLab、Bitbucket、Azure DevOps、Gitea 都支持。CodeRabbit 目前只支持 GitHub 和 GitLab。
场景6:对数据安全要求高。选 PR-Agent 自部署。代码完全在自己手里,不经过任何第三方服务。或者选 CodeRabbit Enterprise,它有 SOC 2 认证。
我最终的选择
折腾了一圈,我最后选了 CodeRabbit Pro。原因:
- 安装最简单。两步搞定,不需要写配置文件,不需要部署任何东西。
- 准确率最高。试了几个 PR,误报最少,发现的问题最有价值。
- 体验最流畅。review 结果直接作为 PR comment 出现,逐文件标注,很容易读。
- 增量 review 节省成本。后续 push 只 review 新改动,不重复分析。
PR-Agent 虽然免费,但自己部署维护太麻烦了。我现在同时维护好几个项目,服务器上已经够多东西要跑了,不想再多一个服务。
Greptile 的深度理解能力确实强,但索引太慢,而且按用量计费不好预估成本。
Graphite Agent 只有在用 Graphite 工作流的时候才有优势,我不用。
Copilot 的 review 功能太弱了,只能做基础检查。
下一步
后面打算再折腾一下 AI review 的高级用法,比如自定义 prompt、跟 issue tracker 集成、自动生成 changelog 这些。到时候再写。
有啥问题评论区聊。
- 本文写于 2026 年 6 月,基于实际使用体验。工具的定价和功能可能随时间变化,建议以官方文档为准。*