# 基于使用情况的计费预算

在按使用量计费模式下，用户、组织、成本中心和企业层级的预算控制决定如何对 Copilot 使用量提供服务、进行计量计费或加以阻止。

预算控制管理个人 AI credit 消费和按流量计费的支出。 他们允许你为组织、成本中心或企业设置每用户限制和支出限制。

Copilot Business 和 Copilot Enterprise 共享一个额度池。 按流量计费在配额池耗尽后开始。
Copilot访问计划（通过GitHub Enterprise Cloud或Copilot Standalone方式）不包含套餐额度，因此从首次使用起开始按流量计费。

## 了解预算控制

你可以在用户、组织、成本中心和企业层级设置预算控制，它们各自服务于不同的目的。 他们一起工作，而不是作为替代方案。

### 用户级预算

用户级预算（ULB）限制单个用户在计费周期中可以使用多少个 AI credits，无论使用情况是按流量计费还是从包含的配额池中使用。 ULB 始终执行硬停止。 0 美元 ULB 立即阻止消耗 AI credits 的功能。

有三种类型，从最广泛的范围到最具体的范围列出：

* **通用用户级预算：** 应用于企业中每个 Copilot许可用户的默认预算。 这是设置基线消耗限制的主要工具。
* **成本中心用户级预算：** 应用于单个成本中心中的每个用户的默认预算，有时称为组范围内的用户级预算。 在成本中心上设置一个每个用户金额，它适用于每个当前和未来的成员，因此你可以为不同的部门提供不同的每个用户限制（例如，每个用户 20 美元用于工程和每用户 5 美元进行营销），而无需创建数千个个人预算。 它将替代该成本中心成员的统一预算。
* **单个用户级预算：** 为特定用户设置预算，该预算会覆盖通用默认值和任何成本中心用户级预算。 将此项用于需要更高限额的高级用户，或将特定用户限制为较低的限额。

当多个类型适用于用户时，最具体的预算将获胜：单个用户级预算优先于成本中心用户级预算，该预算优先于通用用户级预算。

#### 单个用户级预算的到期日期

您可以为单个用户级预算设置可选的过期日期，这样临时覆盖设置会在到期后自动失效，而无需您记得手动将其移除。 当你为了单个冲刺周期、一次事件或短期项目而提高某个用户的限额时，这会很有用。

可以选择以下选项之一：

* **无过期**时间，即默认值，表示预算在编辑或删除预算之前适用。
* **当前计费周期结束时过期。**
* **特定日期的过期时间。**

在到期期限结束时， GitHub 删除单个预算。 然后，如果该用户有成本中心用户级预算，则退回到其成本中心用户级预算；否则，退回到通用用户级预算。 如果没有更广泛的预算适用，则用户没有剩余的用户级预算。

可以随时更改或清除到期日期。 过期仅适用于单个用户级预算，不适用于通用或成本中心用户级预算。

若要设置到期日期，请参阅 [设置预算以控制按流量计费的产品的支出](/zh/billing/how-tos/set-up-budgets#creating-a-budget)。 还可以在创建或更新预算时使用 `expires_at` 字段设置 REST API 的到期日期。 请参阅“[Budgets](/zh/rest/billing/budgets)”。

#### 当用户出现在通用用户级预算中时

通用用户级预算可以应用于成千上万的许可用户。
GitHub 会在预算创建后用户首次使用 AI credits 时，或在新计费周期开始后首次使用 AI credits 时，为每位用户创建预算记录。 因此，用户会逐渐出现在通用预算列表中，而不是一次性显示在通用预算列表中，并且未在 Copilot 给定计费周期中使用的许可用户不会在该计费周期的列表中显示。

对于所有许可用户的完整视图，无论活动如何，请使用 **AI 使用情况** 或 **许可** 页面。

### 成本中心预算

成本中心预算限制特定的一组用户或组织的按流量计费费用。 它适用于第一次按流量计费的使用，即对于包含套餐内额度的计划，在资源池用尽后。 它不会限制团队从已包含的池中抽签。

成本中心预算 \*\* 不会扩展或覆盖用户级预算 \*\*：如果用户已达到其用户级预算上限，即使其成本中心仍有剩余预算，该用户也将被阻止。

可以通过组织或企业团队直接分配成本中心的成员。 有关当多个分配适用于某个用户时如何分配使用量的信息，请参阅 [不同产品的成本中心分配](/zh/billing/reference/cost-center-allocation)。

当强制成本中心预算用尽时，仅该成本中心中的用户会被阻止。 其他用户和成本中心不受影响。

成本中心预算限制团队**的总按量计费费用**。 成本中心用户级预算上限 **每个成员的个人消费**，包括任何包含的额度。 可以将这两者都应用到同一成本中心。

### 包括成本中心的使用控件

这些控件适用于 Copilot Business 和 Copilot Enterprise，它们都包含一个池。

已含用量控制会将成本中心的已含用量限制在分配给该成本中心的许可证所提供的 AI credits 额度内。
GitHub 自动设置此上限，并在添加或删除许可成员时对其进行调整，不会输入金额。 当成本中心达到上限时，你可以选择是阻止其成员继续使用，还是让其额外用量按超额付费继续使用。

与成本中心预算不同，成本中心预算只会在共享池 AI credits 耗尽后，才对按量计费的费用设定上限；而包含用量控制则会在按量计费阶段 **开始之前**，限制成本中心可从该共享池中使用的额度。

成本中心管理员可以在成本中心主页上查看包含的使用上限和当前消耗量。 当启用了包含的使用池上限时，主页会显示 **AI 额度池已启用**，并显示总上限中该成本中心消耗的 AI credits。

#### 如何计算包含的使用上限

上限值等于分配给成本中心成员的每个许可证所包含的 AI credits 之和，即使混合使用了不同的许可证类型：

* 每个 Copilot Business 许可证都会添加 1,900AI credits。
* 每个 Copilot Enterprise 许可证都会添加 3,900AI credits。

例如，按照当前包含的数量，一个拥有 10 个 Copilot Business 许可证和 5 个 Copilot Enterprise 许可证的成本中心，上限为 38,500 AI credits：其中，19,000 AI credits 来自 1,900 许可证（10 × Copilot Enterprise），另有 19,500 AI credits 来自  许可证（5 × ）。

如果 GitHub 更改许可证类型的包含金额，上限会自动更新。 当成本中心自己的许可证发生变化时，也会重新计算它：增加会立即生效，因此不断扩大的团队不会受阻，而减少则在下一个计费周期开始时生效，因此不会在周期中收回成员已经使用的 AI credits。

| 找零                                                                  | 对上限的影响        | 何时适用       |
| ------------------------------------------------------------------- | ------------- | ---------- |
| 已添加或授予许可的用户，或者将现有许可证升级（例如， Copilot Business 升级到 Copilot Enterprise） | 增加            | 马上         |
| 已获许可的用户被删除、其许可证被移除，或者现有许可证被降级                                       | 减少            | 下一个计费周期的开始 |
| 获得许可的成员会在两个成本中心之间移动，这两个成本中心都使用包含的使用控件                               | 针对这两个成本中心重新计算 | 下一个计费周期的开始 |
| 添加或删除未经许可的用户                                                        | 无更改           | 不適用        |

### 组织预算

组织预算限制其席位费用由该组织支付的用户的 Copilot 按流量计费费用。 与成本中心预算一样，它适用于第一次按用量计费的使用。

组织预算是组织所有者唯一可用的预算选项。 它们只能进一步限制企业管理员设置的任何预算以下的使用，并且不能替代更高级别的预算。

从 GitHub App 安装中直接向组织计费的使用情况将计入组织预算。 不能为单个应用或安装创建预算。 如果未启用**预算限制时停止使用**，则预算只会发送警报，并且应用支出在达到限制后将继续。 有关管理应用访问的信息，请参阅 [管理使用贵组织 Copilot 的 GitHub 应用](/zh/copilot/how-tos/administer-copilot/manage-for-organization/manage-app-copilot-access)。

Copilot Enterprise并且Copilot Business，如果用户从多个组织收到许可证，GitHub则在每个计费周期随机选取一个组织来计费席位。 这意味着，用户的支出每个月都可能计入不同组织的预算，从而使执行情况变得难以预测。 若要避免这种情况，请确保每个用户通过一个组织拥有单个许可证，或者将成本中心预算用于直接用户分配。

### 企业预算

企业预算限制整个企业的总按流量计费的费用。 具有 Copilot 访问权限时，这些都属于会消耗额度的使用情况。 在包含的额度中，这是配额池用尽后的使用情况。

> [!IMPORTANT]
> 企业预算不会对许可证费用设定上限。 例如，400 Copilot Business 个许可证每月花费 7,600 美元。 强制实施的 5,000 美元企业预算允许许可证费用和按量计费费用合计高达 12,600 美元，而不是 5,000 美元，除非成本中心排除允许额外的支出。

### 控件之间的比较

| 控制         | 它的上限是什么                   | 处于活动状态时          | Scope     | 强制停止？              |
| ---------- | ------------------------- | ---------------- | --------- | ------------------ |
| 通用用户级预算    | 每个用户的总消耗量AI credit        | 所有使用情况，包括任何包含的积分 | 每位用户      | 始终                 |
| 成本中心用户级别预算 | 按成本中心设置的每个成员的总消耗量（替代通用项）  | 所有使用情况，包括任何包含的积分 | 按用户、按成本中心 | 始终                 |
| 单个用户级别预算   | 特定用户的总消耗量（替代通用和成本中心用户级预算） | 所有使用情况，包括任何包含的点数 | 每位用户      | 始终                 |
| 成本中心预算     | 团队的按量计费费用                 | 自首次按量计费使用起       | 按成本中心     | 仅当启用“达到预算限制时停止使用”时 |
| 组织预算       | 组织的按流量计费的费用               | 自首次按量计费使用起       | 按组织       | 仅当启用“达到预算限制时停止使用”时 |
| 企业预算       | 企业按流量计费的总费用               | 自首次按流量计费使用起      | 企业范围      | 仅当启用“达到预算限制时停止使用”时 |

在首次使用之前设置预算。 在“支出限制”中启用**达到预算上限时停止使用**，以强制执行这些限制。 请参阅“[设置预算以控制按流量计费的产品的支出](/zh/billing/how-tos/set-up-budgets)”。

## 计费如何通过预算流动

当企业中的用户使用 Copilot 时，系统会按特定顺序检查预算控制规则，以决定是否为该请求提供服务、计入用量，或将其阻止。

每个对消耗 AI credit 的功能的请求都会经过以下检查：

1. **用户级预算校验。** 系统首先检查用户是否已超过其用户级预算。 当用户具有多种类型的用户级预算时，以最具体的预算为准：如果设置了个人预算，则适用个人预算；否则适用该用户所属成本中心的预算；再否则适用通用预算。 如果超出适用的预算，将立即阻止请求。 ULB 始终是硬性限制，任何其他预算都无法覆盖或补充它。 如果未设置用户级预算，请求将继续。
2. **包含的额度和付费使用情况检查。** 在 Copilot Business 和 Copilot Enterprise 上，系统将检查共享池是否剩余信用额度。 如果是，该请求将由资源池处理，且无需额外费用。 池为空后，如果启用了**AI credits付费使用**策略，则按流量计费。 否则，它会被阻止。 使用 Copilot 访问权限时，没有额度池，因此必须从首次使用会消耗额度的功能时启用此策略。
3. **成本中心、组织或企业检查。** 对于按流量计费的使用情况，系统按以下顺序检查预算：

   * **如果用户在成本中心内：** 将检查该成本中心的预算。 如果预算保持不变，成本中心将支付费用。 如果预算已用尽，系统将检查是否启用“达到预算限制时停止使用”。
   * **如果用户不在成本中心内，但其许可证的费用由某个拥有预算的组织支付：** 将检查该组织的预算。 如果预算仍然存在，组织将支付费用。 如果预算已用尽，系统将检查是否启用“达到预算限制时停止使用”。
   * **如果不适用任何成本中心或组织预算：** 则会检查企业支出限额。 如果尚未达到该限制，企业将支付费用。 如果已达到限制，系统会检查是否启用了“达到预算限制时停止使用”。

   在所有情况下，如果“达到预算限制时停止使用”处于打开状态，则会阻止用户。 如果将其关闭，费用将继续累计，且不设上限。

> [!IMPORTANT]
> “达到预算限制时停止使用”适用于企业支出限制、成本中心预算和组织预算，默认情况下处于关闭状态。 如果没有它，费用将继续累积超过限制。 创建预算时始终启用它。 用户级预算始终强制实施硬性停止，并且没有此设置。

## 用户级预算和支出限制如何交互

用户级预算和支出限制是用于不同目的的独立控制。 ULB 控制着每个人可以消耗的额度。 支出上限用于控制贵组织为按量计费的使用量支付的费用。

如果这些内容不一致，用户可能会意外被阻止。 系统采用“剩余余量最低者优先”规则：无论其他预算是否仍有可用容量，哪个预算的剩余容量最少，哪个预算就会最先阻止用户。 例如，如果用户的个人 ULB 还剩 5 美元，但企业预算只剩 1 美元，企业预算会阻止他们，即使个人预算没有用尽。

在包含额度的情况下，如果您的 ULB 集体允许的消耗量超过共享池提供的额度，则差异会溢出到按流量计费的费用中。 如果没有包含的额度，所有额度消耗都会产生按量计费费用。 如果你的支出限制太低，无法涵盖该消费，则用户在达到个人限制之前会被阻止。

提高 ULB 后，请检查您的支出限额是否仍能覆盖由此产生的缺口。

反过来也成立：提高成本中心或企业预算，也无法解除已达到其 ULB 限额的用户限制。 例如，耗尽其 5 美元 ULB 的用户无法使用成本中心预算中剩余的 10 美元。 ULB 将该用户的总消耗量上限设为包含的任何额度在内。 若要解除限制，请增加适用的用户级预算。

## 成本中心排除

默认情况下，成本中心使用情况计入企业预算。 当特定团队需要不受企业范围上限限制的独立支出机构（例如，具有自己的预算审批的研究团队）时，成本中心排除非常有用。 为某个成本中心启用排除时，该团队的计量费用不会计入企业预算，并且当企业预算达到时也不会被阻止。 他们的支出只能由自己的成本中心预算限制。

## 阻止用户时会发生什么情况

当用户达到强制预算限制时，将阻止其访问 Copilot 消耗 AI credits 的功能。 无限内联代码补全和 next edit suggestions 仍可继续使用，因为它们不消耗积分。

预算限制不会删除用户席次。 若要删除通过 Copilot 访问权限提供的座位，请参阅 [为您的企业用户提供 GitHub Copilot](/zh/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/grant-access#removing-member-seats)。

阻止的用户将一直被阻止，直到发生以下情况之一：

* 新的计费周期开始时，每月用量将重置。
* 管理员会增加相关预算。
* 用户请求额外的预算，管理员批准该请求。

## 后续步骤

* 若要为企业设置预算控制，请参阅 [预算控制入门](/zh/copilot/tutorials/budgets/getting-started-with-budget-controls)。
* 若要为组织的结构选择正确的配置，包括常见方案和大小调整建议，请参阅 [优化预算配置](/zh/copilot/tutorials/budgets/optimizing-your-budget-configuration)。