---
title: "Greptile Base、Plus、Apex：如何分配 PR 审查预算"
canonical: https://wavect.io/zh/blog/greptile-base-plus-apex-review-budget/
language: zh
description: "按变更风险选择 Greptile 审查深度，比较 credits、单体仓库配置、已确认缺陷和人工复核时间，建立可验证的升级规则。"
image: "https://wavect.io/img/blog/headers/header_greptile-base-plus-apex-review-budget.png"
---

[**返回**](/zh/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/zh/team/kevin-riedl/)

[Kevin Riedl](/zh/team/kevin-riedl/) https://linkedin.com/in/wsdt

3 分钟 阅读 · 2026年10月8日 最近审核 2026年10月8日

[**下一篇**](/zh/blog/graphify-review-codebase-knowledge-graph/)

# Greptile Base、Plus、Apex：如何分配 PR 审查预算

要点速览

范围明确的变更可从 Base 开始，跨模块行为可试点 Plus，影响重大的变更可考虑 Apex。预算要包含已完成的重复审查。价格本身不能证明哪个等级能在你的代码中发现足够多的额外缺陷。

**证据范围：**文档核对日期为2026年10月8日。本文是基于研究的实施指南。下文试点是建议方案，我们没有实际运行这些供应商评测，也没有测量其性能。

## 团队应该选择哪个 Greptile 等级？

先判断漏掉缺陷的后果。一处很小的授权改动，可能比大规模机械重构更需要深入检查。我们建议：范围明确的改动使用 Base，正确性涉及多个模块时试点 Plus，访问权限、资金、迁移或恢复受到影响时考虑 Apex。先用自己的 PR 验证这条规则，再自动执行。

Greptile 的 [2026年9月25日发布公告](https://www.greptile.com/blog/introducing-plus-and-apex) 在 Base 之外推出 Plus 和 Apex。公告通过一项 Celestia 变更展示不同深度的发现。这是供应商对能力的证据，不是你团队缺陷检出率的独立估计。

## Base、Plus 和 Apex 怎么收费？

[Greptile 当前价格页面](https://www.greptile.com/pricing) 列出的 Pro 价格为每席位每月30美元，包含50 credits，额外 credit 为1美元。消耗单位是审查。一个 PR 如果运行多次，预算也需要记录多次。

| 等级 | 每次审查 credits | 建议试点范围 |
| --- | --- | --- |
| Base | 1 | 范围明确且有清晰验收测试的改动 |
| Plus | 3 | 跨模块行为或不明确的调用关系 |
| Apex | 10 | 需要深入独立检查的高影响改动 |

**单席位示例计算：**30次 Base、5次 Plus、2次 Apex，共消耗65 credits。扣除包含的50 credits，模型账单为30美元加15美元，即45美元，未计税费和合同调整。全部37次都使用 Apex，则消耗370 credits，模型账单为350美元。这是预算示例，不是实际收费记录，也不代表两种方案质量相同。

## 单体仓库配置如何影响预算？

[审查等级配置文档](https://www.greptile.com/docs/code-review/review-tiers) 包含 Auto，按实际选中的等级收费，并支持目录级配置。一个 PR 涉及不同等级的目录时，采用最高等级。CLI 没有深度参数时使用 Base，不受已配置等级控制。目前 T-Rex 不兼容 Plus、Apex 和 Auto。

评测记录应包含每次完成审查显示的等级、涉及目录和触发方式。否则所谓 Base 与 Apex 对比，可能实际是在比较不同路由配置。不要默认界面设置也控制 CLI 试点。

[席位计费说明](https://www.greptile.com/docs/code-review-bot/billing-seats) 按 PR 作者分配积分，不是团队共享池。完成的评审和重跑计入作者，即使由别人触发。先分别计算每个席位，再汇总团队账单。

## 如何验证 Apex 是否值得？

准备获准使用的样本，覆盖普通、跨模块及高影响变更。包含无缺陷 PR 和已独立确认缺陷的 PR。固定 commit、仓库上下文和审查指令，让每个等级从相同状态运行。不要在提示中透露已知缺陷答案。

1. 在不知道等级的情况下分类发现，并复现每个报告缺陷。
2. 统计不同的有效缺陷、遗漏的已知缺陷和误报。同一问题的多个评论只算一个发现。
3. 记录审查耗时、实际扣除 credits 和人工复核分钟数。
4. 重复部分样本，观察运行间波动，说明样本量和排除项。
5. 在每个风险组内，比较新增确认缺陷与新增成本、复核时间。

历史样本不能证明对所有缺陷的召回率。你只知道该样本中独立确认的缺陷。描述再有说服力，没有复现的发现仍然属于未确认。

## 团队仍然需要人工检查什么？

业务不变量、迁移恢复和权限边界，应继续通过人工审查和可执行测试验证。更深入的审查可以发现依赖路径，但不能决定你的退款政策或租户契约是否正确。干净的审查结果不应自动成为生产发布授权。

分别记录每个已验收 PR 的成本，以及每个额外确认缺陷的成本。前者衡量运营费用，后者帮助分配升级预算。如果某组使用 Apex 后只是评论增多，没有额外确认缺陷，就应先调查，再扩大使用范围。

## 文件变更多就一定要用 Apex 吗？

不一定。Greptile 建议对大 PR 和面向生产分支的 PR 使用 Apex，但文件数量只是风险代理指标。自动生成的重命名和三行所有权检查，失败后果不同。结合路径与风险规则，再根据试点结果调整。

## 什么时候应该采用更深入的等级？

在新增确认发现足以抵偿 credits 和审查延迟的范围内采用。如果较便宜的路径已经提供足够验收证据，就保留它。带上样本、缺陷标签和升级规则， [讨论代码审查试点](/zh/contact/) ，把未决问题落到自己的代码库上。

[下载建议试点协议（JSON）。其中包含验收用例与空结果字段，不是供应商实测结果。](/downloads/greptile-base-plus-apex-review-budget-pilot.json)

## 相关实施指南

[Graphify 2026 评测：代码库知识图谱值得引入吗？](/zh/blog/graphify-review-codebase-knowledge-graph/). [Canary AI QA：验证缺陷检出，而不是排行榜分数](/zh/blog/canary-ai-qa-defect-detection/).

## 已核对的来源

- [Greptile: Plus & Apex](https://www.greptile.com/blog/introducing-plus-and-apex)
- [Greptile Pro](https://www.greptile.com/pricing)
- [Greptile: Base, Plus, Apex & Auto](https://www.greptile.com/docs/code-review/review-tiers)
- [Greptile: Billing & Seats](https://www.greptile.com/docs/code-review-bot/billing-seats)

**独立性与商标声明:** 本页由 Wavect 发布，Wavect 自身也是服务商，因此我们对本页存在商业利益。我们与本页提及的其他公司没有关联，未获得其背书，也不是其合作伙伴；所有第三方公司名称、品牌与商标均归各自所有者所有。关于其他服务商的陈述来自公开可查的来源，主要是其自己发布的页面，以本页标注的核查日期为准，此后可能已经发生变化。做决定前请自行直接核实。本页依据我们所知的情况撰写，并力求保持客观。如果你认为其中有不准确或不公平之处，请写信告诉我们，我们会更正： [office@wavect.io](mailto:office@wavect.io)

QA 与生产就绪

## 继续浏览此集群

可靠生产软件所需的测试、审计、维护与加固。

[从核心文章开始**AI 生成代码的 QA**](/zh/blog/qa-for-ai-generated-code/)

- [Arga Labs 与 Archal：有状态智能体集成测试](/zh/blog/arga-vs-archal-agent-integration-testing/)
- [Canary AI QA：验证缺陷检出，而不是排行榜分数](/zh/blog/canary-ai-qa-defect-detection/)
- [Cua 桌面 QA：从浏览器到原生应用的测试协议](/zh/blog/cua-desktop-qa-browser-native-workflow/)
- [Browser Use 与 Playwright：超时后如何核验已登录业务动作](/zh/blog/browser-use-vs-playwright-authenticated-workflow/)
- [ChatGPT Dots + GitHub：从缺陷报告到经过审查的 PR](/zh/blog/chatgpt-dots-github-bug-triage/)

[**返回**](/zh/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/zh/team/kevin-riedl/)

[Kevin Riedl](/zh/team/kevin-riedl/) https://linkedin.com/in/wsdt

3 分钟 阅读 · 2026年10月8日 最近审核 2026年10月8日

[**下一篇**](/zh/blog/graphify-review-codebase-knowledge-graph/)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/zh/blog/greptile-base-plus-apex-review-budget/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-10-08",
      "inLanguage": "zh",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-10-08",
      "url": "https://wavect.io/zh/blog/greptile-base-plus-apex-review-budget/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "abstract": "范围明确的变更可从 Base 开始，跨模块行为可试点 Plus，影响重大的变更可考虑 Apex。预算要包含已完成的重复审查。价格本身不能证明哪个等级能在你的代码中发现足够多的额外缺陷。",
  "articleBody": " 博客概览/交付与 QA/QA 与生产就绪 Greptile Base、Plus、Apex：如何分配 PR 审查预算 要点速览 范围明确的变更可从 Base 开始，跨模块行为可试点 Plus，影响重大的变更可考虑 Apex。预算要包含已完成的重复审查。价格本身不能证明哪个等级能在你的代码中发现足够多的额外缺陷。 证据范围：文档核对日期为2026年10月8日。本文是基于研究的实施指南。下文试点是建议方案，我们没有实际运行这些供应商评测，也没有测量其性能。 团队应该选择哪个 Greptile 等级？ 先判断漏掉缺陷的后果。一处很小的授权改动，可能比大规模机械重构更需要深入检查。我们建议：范围明确的改动使用 Base，正确性涉及多个模块时试点 Plus，访问权限、资金、迁移或恢复受到影响时考虑 Apex。先用自己的 PR 验证这条规则，再自动执行。 Greptile 的2026年9月25日发布公告在 Base 之外推出 Plus 和 Apex。公告通过一项 Celestia 变更展示不同深度的发现。这是供应商对能力的证据，不是你团队缺陷检出率的独立估计。 Base、Plus 和 Apex 怎么收费？ Greptile 当前价格页面列出的 Pro 价格为每席位每月30美元，包含50 credits，额外 credit 为1美元。消耗单位是审查。一个 PR 如果运行多次，预算也需要记录多次。 等级每次审查 credits建议试点范围 Base1范围明确且有清晰验收测试的改动Plus3跨模块行为或不明确的调用关系Apex10需要深入独立检查的高影响改动 单席位示例计算：30次 Base、5次 Plus、2次 Apex，共消耗65 credits。扣除包含的50 credits，模型账单为30美元加15美元，即45美元，未计税费和合同调整。全部37次都使用 Apex，则消耗370 credits，模型账单为350美元。这是预算示例，不是实际收费记录，也不代表两种方案质量相同。 单体仓库配置如何影响预算？ 审查等级配置文档包含 Auto，按实际选中的等级收费，并支持目录级配置。一个 PR 涉及不同等级的目录时，采用最高等级。CLI 没有深度参数时使用 Base，不受已配置等级控制。目前 T-Rex 不兼容 Plus、Apex 和 Auto。 评测记录应包含每次完成审查显示的等级、涉及目录和触发方式。否则所谓 Base 与 Apex 对比，可能实际是在比较不同路由配置。不要默认界面设置也控制 CLI 试点。 席位计费说明按 PR 作者分配积分，不是团队共享池。完成的评审和重跑计入作者，即使由别人触发。先分别计算每个席位，再汇总团队账单。 如何验证 Apex 是否值得？ 准备获准使用的样本，覆盖普通、跨模块及高影响变更。包含无缺陷 PR 和已独立确认缺陷的 PR。固定 commit、仓库上下文和审查指令，让每个等级从相同状态运行。不要在提示中透露已知缺陷答案。 在不知道等级的情况下分类发现，并复现每个报告缺陷。统计不同的有效缺陷、遗漏的已知缺陷和误报。同一问题的多个评论只算一个发现。记录审查耗时、实际扣除 credits 和人工复核分钟数。重复部分样本，观察运行间波动，说明样本量和排除项。在每个风险组内，比较新增确认缺陷与新增成本、复核时间。 历史样本不能证明对所有缺陷的召回率。你只知道该样本中独立确认的缺陷。描述再有说服力，没有复现的发现仍然属于未确认。 团队仍然需要人工检查什么？ 业务不变量、迁移恢复和权限边界，应继续通过人工审查和可执行测试验证。更深入的审查可以发现依赖路径，但不能决定你的退款政策或租户契约是否正确。干净的审查结果不应自动成为生产发布授权。 分别记录每个已验收 PR 的成本，以及每个额外确认缺陷的成本。前者衡量运营费用，后者帮助分配升级预算。如果某组使用 Apex 后只是评论增多，没有额外确认缺陷，就应先调查，再扩大使用范围。 文件变更多就一定要用 Apex 吗？ 不一定。Greptile 建议对大 PR 和面向生产分支的 PR 使用 Apex，但文件数量只是风险代理指标。自动生成的重命名和三行所有权检查，失败后果不同。结合路径与风险规则，再根据试点结果调整。 什么时候应该采用更深入的等级？ 在新增确认发现足以抵偿 credits 和审查延迟的范围内采用。如果较便宜的路径已经提供足够验收证据，就保留它。带上样本、缺陷标签和升级规则，讨论代码审查试点，把未决问题落到自己的代码库上。 下载建议试点协议（JSON）。其中包含验收用例与空结果字段，不是供应商实测结果。 相关实施指南 Graphify 2026 评测：代码库知识图谱值得引入吗？. Canary AI QA：验证缺陷检出，而不是排行榜分数. 已核对的来源 Greptile: Plus & ApexGreptile ProGreptile: Base, Plus, Apex & AutoGreptile: Billing & Seats 独立性与商标声明: 本页由 Wavect 发布，Wavect 自身也是服务商，因此我们对本页存在商业利益。我们与本页提及的其他公司没有关联，未获得其背书，也不是其合作伙伴；所有第三方公司名称、品牌与商标均归各自所有者所有。关于其他服务商的陈述来自公开可查的来源，主要是其自己发布的页面，以本页标注的核查日期为准，此后可能已经发生变化。做决定前请自行直接核实。本页依据我们所知的情况撰写，并力求保持客观。如果你认为其中有不准确或不公平之处，请写信告诉我们，我们会更正： office@wavect.io QA 与生产就绪 继续浏览此集群 可靠生产软件所需的测试、审计、维护与加固。 从核心文章开始AI 生成代码的 QA Arga Labs 与 Archal：有状态智能体集成测试 Canary AI QA：验证缺陷检出，而不是排行榜分数 Cua 桌面 QA：从浏览器到原生应用的测试协议 Browser Use 与 Playwright：超时后如何核验已登录业务动作 ChatGPT Dots + GitHub：从缺陷报告到经过审查的 PR 集群中的下一篇Arga Labs 与 Archal：有状态智能体集成测试 可选服务路径： 软件开发 看看生产环境中的应用: 债券分析平台 先做决定: 如何挑选软件开发公司 只收重要内容 关注与你相关的内容 每当我们发布新文章，你会收到一封简短邮件。你可以关注整个博客，也可以只选感兴趣的主题。 Company 电子邮箱 你希望接收哪些内容？ 完整的 Wavect 博客接收六个主题下的每一篇新文章。 仅接收所选主题请在下方选择一个或多个分类。 选择主题 AI 与智能体 产品与 MVP 交付与 QA 领导力与团队 商业与监管 Web3 与隐私 我希望接收所选的 Wavect 博客邮件，并已阅读 隐私信息。我可以随时退订。 获取下一篇笔记→ 免费、双重确认、不使用跟踪像素。 ",
  "articleSection": "工程实践",
  "author": {
    "@id": "https://wavect.io/team/kevin-riedl/#person",
    "@type": "Person",
    "name": "Kevin Riedl",
    "sameAs": [
      "https://www.wikidata.org/wiki/Q139796365",
      "https://www.linkedin.com/in/wsdt",
      "https://github.com/wsdt"
    ],
    "url": "https://wavect.io/team/kevin-riedl/"
  },
  "citation": [
    {
      "@type": "WebPage",
      "name": "2026年9月25日发布公告",
      "url": "https://www.greptile.com/blog/introducing-plus-and-apex"
    },
    {
      "@type": "WebPage",
      "name": "Greptile 当前价格页面",
      "url": "https://www.greptile.com/pricing"
    },
    {
      "@type": "WebPage",
      "name": "审查等级配置文档",
      "url": "https://www.greptile.com/docs/code-review/review-tiers"
    },
    {
      "@type": "WebPage",
      "name": "席位计费说明",
      "url": "https://www.greptile.com/docs/code-review-bot/billing-seats"
    }
  ],
  "dateModified": "2026-10-08",
  "datePublished": "2026-10-08",
  "description": "范围明确的变更可从 Base 开始，跨模块行为可试点 Plus，影响重大的变更可考虑 Apex。预算要包含已完成的重复审查。价格本身不能证明哪个等级能在你的代码中发现足够多的额外缺陷。",
  "headline": "Greptile Base、Plus、Apex：如何分配 PR 审查预算",
  "image": "https://wavect.io/img/blog/headers/header_greptile-base-plus-apex-review-budget.svg",
  "inLanguage": "zh",
  "keywords": "工程实践, AI智能体",
  "mainEntityOfPage": {
    "@id": "https://wavect.io/zh/blog/greptile-base-plus-apex-review-budget/",
    "@type": "WebPage"
  },
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/zh/blog/greptile-base-plus-apex-review-budget/",
  "wordCount": 204
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/",
      "name": "首页",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/overview/",
      "name": "博客概览",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/topics/delivery-qa/",
      "name": "交付与 QA",
      "position": 3
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/clusters/qa-production/",
      "name": "QA 与生产就绪",
      "position": 4
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/greptile-base-plus-apex-review-budget/",
      "name": "Greptile Base、Plus、Apex：如何分配 PR 审查预算",
      "position": 5
    }
  ]
}
```
