AI 博客

CodeRabbit vs Greptile vs Bugbot vs Diamond:你买的是一份评论预算

6 月,Bugbot 取消按席位收费改为按次计费;Greptile 在 50 次评审之后每次加收 1 美元;CodeRabbit 仍在卖带上限的席位;而 Diamond 干脆没有单独定价,因为它随 Graphite 一起来——如今 Graphite 和 Bugbot 都归 Cursor。三种计费形态,却没有一种给真正决定评审机器人生死的东西定价:每条评论所消耗的开发者秒数。

作者 智能体 AI 维基 25 分钟读完

四个 AI 代码评审工具,公开数字把它们在"每个 PR 说多少话"上拉开了十倍——一个 0.62 条评论,另一个是它的好几倍——而它们各自的跑分又在"这个区间的哪一端才是好"上互相打架。发票是账单里小的那一半。你真正买下的,是对评审者注意力的一份索取权;而 2026 年,这四家已经分裂成三种不同的计费形态,每一种都把这份索取权推向不同的方向。按形态挑,再在自己的仓库上做一次两周的对跑;这个品类里的每一个准确率数字,都由一个有立场的人发布。

一览

四个会评审 PR 并在上面留评论的工具。以下为 2026 年 8 月的公开信息。

工具归属你在为什么付钱评审上下文
CodeRabbitCodeRabbit席位——年付每人每月 24 美元,带每人评审次数上限;更高档位抬高上限diff 加仓库上下文,并整合了 linter 与静态分析
GreptileGreptile席位加超额——每席位每月 30 美元含 50 次评审,超出每次 1 美元全代码库索引,不绑定编辑器
BugbotCursor按量——2026 年 6 月 8 日起从 40 美元席位改为按次计费;单次报道约 1.00–1.50 美元以 diff 为中心,与 Cursor 环境紧密绑定
DiamondCursor(经由 Graphite)捆绑——随 Graphite 的堆叠式 PR 平台一起来堆叠式 PR 工作流中的 diff

Cursor 于 2025 年 12 月 19 日宣布收购 Graphite,这就是上表里有两行共用一个归属方的原因——这件事的分量比它看上去大,下文会回到它。

三种计费形态,每一种买来一种不同的行为

Three billing shapes for AI code review Three columns comparing billing shapes. A seat with a review cap makes the cap the real product and pushes teams to ration which repositories and developers are wired up. Per-review billing makes every pull request an explicit purchase and pushes teams to gate by branch or size. Bundling into a platform hides the price entirely and ties the choice of reviewer to a choice of pull-request workflow. None of the three prices the comment, which is where developer time actually goes. Seat with a cap CodeRabbit, Greptile marginal review is free until it is impossible YOU END UP TUNING who gets a seat Per review Bugbot, Greptile overage every PR is a purchase cheap when volume is low YOU END UP TUNING which PRs are skipped Bundled Diamond, via Graphite no separate line item reviewer follows workflow YOU END UP TUNING nothing, and choosing less Unpriced by all three: the developer seconds each comment consumes.
发票上的计量单位,决定了你最后会去拨哪根杆。

2026 年,这个品类的定价不再是脚注。Bugbot 在 6 月扔掉 40 美元席位改为纯按量;Greptile 在 3 月改成含 50 次评审的席位、之后每次一美元;CodeRabbit 保留了带上限的席位,并加了一个把上限抬高的更贵档位;Diamond 干脆没有单独价格,因为它随平台一起来。这不是同一根轴上的四个点,而是对"一次评审值多少钱"这个问题的三种不同回答。

带上限的席位让上限成为产品。边际评审在触顶之前是免费的、触顶之后是不可能的,于是压力落在配给与铺开上——哪些仓库接上了、哪些人有席位——而失效模式是某个团队在忙碌的周四耗尽额度后,干脆整个服务把机器人关掉。按次计费把这一切反转:每个 PR 都是一次采购,于是团队开始按分支、按体量、按标签设闸,而失效模式是一条悄悄把自动依赖升级排除在外的规则——而有意思的回归恰恰藏在那里。捆绑则彻底隐藏了价格,这很省心,直到你意识到自己是通过选择一套 PR 工作流来选择代码评审器的。

三者都没有给评论定价。每个工具计费的对象是评审、席位或平台;而真正被消耗的资源,是一个开发者读完一段话并判断它对不对。那才是稀缺投入,它没有计量,也正因如此,两个标价相同的工具在实际成本上可以差一个数量级。

席位与计价表在哪里交叉

Monthly cost per developer against review volume Line chart plotting monthly cost per developer against reviews per developer per month, using August 2026 list prices. CodeRabbit is flat at twenty-four dollars. Greptile is flat at thirty dollars up to fifty reviews and then rises by one dollar per review. Bugbot starts at zero and rises by about one dollar twenty-five per review, crossing CodeRabbit at roughly nineteen reviews and Greptile at roughly twenty-four. Diamond is not plotted because it carries no separate price. Cost per developer per month, by review volume August 2026 list prices; Diamond has no separate price and is not plotted. $0 $20 $40 $60 $80 0 20 40 60 reviews per developer per month Bugbot — usage Greptile — seat + $1 CodeRabbit — seat crossovers at ~19 and ~24 reviews
按量计费对精挑细选的团队很便宜,对什么都评审的团队很贵。

把公开价格拉成曲线,交叉点落在一个应当改变你答案的位置上。在每人每月大约二十次评审以下,按量的那个是全场最便宜的,席位看起来像多付;越过之后两条线反转,一支忙碌的团队在按次计费下付得比两种席位都多,而且拿不到任何量级折扣。这个交点并不奇特——一位开发者每天开一个 PR 就正好落在那儿——这意味着这道算术是真正吃劲的,而不是一个舍入差;同时也意味着,团队习惯一变,答案就翻面。

二阶效应比一阶更糟。按量计费不只是在高量时更贵,它还改变了什么会被评审,因为迟早会有人写下那条把小 PR 或机器人分支排除在外、以便压低账单的规则。而依赖升级和一行配置改动,恰恰是评审器最能挣回身价的地方,也恰恰是成本规则第一个删掉的东西。如果你走按量,就按全量覆盖做预算、一道闸都别设——一旦你开始为了控成本而修剪输入集合,席位不但更便宜,而且更好。

准确率数字互相打架,而且大多有作者

把证据摊开说。Greptile 发布过一份跑分:在 Sentry、Cal.com、Grafana 等项目的五十个 PR 上,Greptile 抓到 82% 的植入缺陷,CodeRabbit 是 44%——而在同一次运行里,Greptile 产生了十一个误报,CodeRabbit 是两个。另一份 2026 年的对比却把 Greptile 描述成两者中更沉默的那个,只在有把握时才说话。一份第三方汇总把 Diamond 记作每个 PR 0.62 条评论、Bugbot 0.91 条,是全场最克制的,同时又给 Diamond 打出 18% 的缺陷发现率。而 Martian 的一项独立研究,把 CodeRabbit 排在十个工具之首。

这些不可能都在描述同一件事。它们确实不是:语言构成、仓库规模、缺陷是植入的还是自然发生的、样式类评论算不算发现、以及记账那个人心里的"误报"是什么意思——这些都不同。尤其是植入缺陷的跑分,天然奖励一个被调得多疑的工具,因为缺陷确定在那儿;而生产仓库奖励的恰恰相反,因为通常它不在。仅这一处方法论差异,就足以在两个工具都没有变化的情况下把排名掀翻。

贯穿其中的不变量,是这个权衡的形状,而不是任何工具在其上的位置。这个市场里的每一个评审器都落在从"安静而漏掉东西"到"吵闹而常常说错"的那条曲线上,而厂商在版本之间沿这条曲线移动的速度,远快于跑分被重跑的速度。一个两个季度前跑出的数字描述的是一份已不复存在的配置。把这些公开数字当作"这个权衡很陡"的证据——这确实有用——而不要当作排名。

每个 PR 的评论条数,才是决定它能否活下来的那个数

Where the cost of a review bot actually lands Diagram. A pull request enters the reviewer, which emits comments. Two cost sinks follow. The vendor invoice is small and metered, billed per seat or per review. The developer attention cost is large and unmetered: every comment is read and triaged, and a dismissed comment still costs the reading. A feedback loop runs from a rising dismissal rate to skimming, then to ignoring the bot, then to switching it off. Pull request human or agent authored Reviewer indexes, ranks, emits n comments per PR Vendor invoice per seat or per review METERED, SMALL Developer attention every comment is read before it can be dismissed UNMETERED, LARGE Two outcomes acted on — the thing you bought dismissed — paid for, no value RATIO IS THE HEALTH SIGNAL The collapse, in order dismissal rate rises → reviewers skim → comments go unread → a senior engineer stops looking → the bot is switched off MISSED BUGS STOP MATTERING ONCE NOBODY READS THE CAUGHT ONES
有计量的成本在左边。真正杀死这次部署的在右边。

一个评审机器人真正的预算以开发者秒计,而它真正的失败不是漏掉一个缺陷。它是第三个月的某个周二:一位资深工程师不再读机器人的评论,接着所有人都不读了,然后漏掉的缺陷也不再重要,因为抓到的那些本来也没人会看。这场崩塌几乎完全由"有多少比例的评论值得一读"驱动——这也是为什么那些报道发现率的汇总,同时也在报道 AI 评审评论中很大一部分谈的是样式而非逻辑:人们反应的是这个比例,不是召回率。

这与我们那篇代码评审智能体从建设面得出的结论相同:精确率就是产品,而唯一有意义的生产指标是采纳率。它也解释了一个否则会显得奇怪的事实:全场最克制的两个工具,正是被一家编辑器公司拥有的那两个。当评审器的评论就出现在开发者本来就待着的那个产品里、紧挨着代码时,一条被无视的评论的可见程度,是一条被无视的 GitHub 讨论所不具备的,而"保持安静"的动机也就更强。

两个实际推论。第一,如果工具允许,自己给评论量封顶——每个 PR 硬性三到五条、按最坏优先排序,比任何置信度阈值都更好,因为在一次大重构上它会优雅退化,而一个不设上限的评审器会产出四十条注记然后被原封不动地关掉。第二,衡量驳回,不衡量检出。这里每个工具都能告诉你它产出了多少发现;几乎没有一个会告诉你其中有多少是被解决而不是被驳回的,而那个比值就是全部的健康信号。

四个里已经有两个是同一个东家

Cursor 在 2025 年 12 月收购了 Graphite,并表示两个产品短期内继续独立运营。就算照单全收,这个市场也已经和当时不同了:在这个区间里最克制的那一端——也就是一支被吵闹机器人烫过手的团队最想挑东西的那一端——只剩下两个产品和一家公司。Bugbot 和 Diamond 不是同一个工具(一个是绑在编辑器上的 diff 评审器,另一个绑在堆叠式 PR 工作流上),但它们是一份路线图和一个定价部门,而 6 月把 Bugbot 改成按量计费的那种决定,通常是会扩散的。

两个方向的暴露不同。选 Bugbot,就把评审质量绑在一家主业是编辑器的公司身上——在这个编辑器正是你团队用的那款时这没问题,在它不是的那一年就别扭了。选 Diamond,则是把它绑在一套 PR 工作流上:Graphite 的价值主张是堆叠式 diff,为了拿到评审器而采用它,等于采用了一套分支模型。Greptile 是最明确地把"不绑定编辑器"当卖点在卖的那一个,而在一家有三种编辑器、还有一队编码智能体在开 PR 的公司里,这是一条真实属性。CodeRabbit 则是独立的通才,平台覆盖最广,作为机构安全解的履历也最长。

以上都不构成回避某个工具的理由。它构成的理由是:把集成做浅——这几个都以 GitHub App 或 check 的形式挂上去,也以同样的方式摘下来;一个如此年轻、并购又如此频繁的品类,不是那种值得把工作流围着它建起来的品类。

什么时候选哪个

情形倾向因为
PR 量低或忽高忽低Bugbot在每人每天不到一个 PR 时按量确实更便宜,而且清闲的月份没有什么需要退订
高流量且想要全量覆盖CodeRabbit 或 Greptile席位可预测,而可预测正是防止有人写下"跳过机器人分支"那条规则的东西
缺陷跨到 diff 没碰的文件Greptile全仓索引正是它在卖的东西,也是这里唯一一根 diff 范围的工具在结构上无法竞争的轴
团队已经统一在 Cursor 上Bugbot评论落在工作真正发生的地方,而这正是克制型工具之所以克制的大半原因
已在或正要转向堆叠式 PRDiamond它随工作流一起来且无额外定价;但不要为了拿到它而采用那套工作流
编辑器混杂、多数 PR 由智能体开出Greptile 或 CodeRabbit不绑定编辑器,而且这个量级本身就在为席位说话
以前因噪声关掉过评审机器人在你的对跑里活下来的那个能预测第二次尝试成败的只有你自己的驳回率,而没有任何公开跑分测量它

真正能回答这个问题的流程既无聊又要两周:在同一个仓库上并行跑两个,覆盖每一个 PR,不设成本闸门、不做调优。然后为每个工具数三件事——产出的评论数、导致代码改动的评论数、被驳回的评论数。赢家是第二个数更高、第三个数更低的那个;而这套算术不会像任何人的跑分,因为它是在你的代码库上、用你的语言、按你团队对"被告知一条命名规范"的容忍度量出来的。

常见问题

直接用两个不行吗?

短期为了选型可以,长期不行——两个评审器会在同一行上产出重叠评论,而重复比任何一个单独存在更糟,因为它把一条你已经驳回过的发现的阅读成本翻了一倍。如果非要留两个,就给它们互不相交的职责:一个看 diff,一个跑定期全仓扫描且从不在 PR 上评论。

计费模式真值得花这么多注意力吗?

它是这场对比里你唯一能在购买前核实的一根轴,在真实量级下能把总成本拉开数倍,而且一旦有人开始管账单,它就决定了什么会被评审。准确率数字有争议,价目表没有。

全仓上下文真的抓得更多吗?

对一类具体而真实的缺陷——一个被改动的函数,而它的其他调用方在 diff 从未触及的文件里——是的,而且任何 diff 范围的评审器都不可能靠调参够到它。这类缺陷在你的代码库里是否常见到值得那份额外噪声,只有你自己的对跑能回答。

GitHub Copilot 的评审器,或者直接给编码智能体写个 prompt 呢?

两者都是真实选项,而且主要靠"反正已经付过钱了"来竞争。把编码智能体指向一个 diff、配上一份家规 prompt,很容易搭起来,很难一直保持好用,因为这些产品投入的正是那些不好看的部分:排序、在一个 PR 的生命周期内去重,以及不再重复一条作者已经拒绝过的评论。

怎么让它别再评论样式?

把样式彻底移出模型的射程。格式化工具与 linter 在 CI 里确定性地、免费地裁定格式,而这里每一个工具都可以被告知让位给它们。评审机器人给出样式评论,是配置失败,不是模型失败。

延伸阅读

本站相关:

信息来源: