Codex 常见的付费方式有两种:买带 Codex 用量的 ChatGPT 套餐,或者用自己的 API Key 按 Token 计费。很多人直接问“哪个更便宜”,但这个问题没有统一答案,因为编程 Agent 的消耗结构和普通聊天完全不同。

本文不写死会过期的单价,而是给你一套能自己算的方法:先看两种计费口径,再看 Token 都花在哪里,最后用预算上限把风险关住。

说明:OpenAI、Codex、ChatGPT 是 OpenAI 的商标。本文仅作计费方式的技术说明,与 OpenAI 无隶属或代理关系。套餐额度、模型单价和计费规则会调整,请以官方页面和站内模型价格为准。

一、先分清两种计费口径

订阅制的逻辑是“包月 + 额度”。ChatGPT 的多个套餐都包含 Codex 用量,套餐越高,可用额度、模型范围和并发能力通常越宽;额度用完后,一般需要等待重置、购买 credits 或升级套餐。优点是账单可预测,缺点是额度和限流规则由平台调整,团队很难把成本精确拆到项目。

API 按量计费的逻辑是“用多少付多少”。输入 Token、输出 Token、缓存读写分别计价,模型可以按任务切换,也能通过网关把多个项目拆成不同的 Key。优点是灵活、可审计,缺点是 Agent 一旦进入循环或反复读大文件,账单会比预期高。

维度 订阅(ChatGPT 套餐) API Key 按量计费
计费单位 月费加套餐内额度或 credits 按 Token 计费
账单可预测性 较高 中到低,取决于用量
模型选择 套餐覆盖范围内 取决于 Key 可访问的模型
多项目拆账 较弱 较强,可按 Key 或项目拆分
适合对象 个人、稳定日常使用 团队、自动化、用量波动大

二、编程 Agent 的 Token 为什么烧得快

普通聊天是一问一答,编程 Agent 是“读仓库、调工具、改文件、跑测试、再修正”的循环。同样的任务,Token 结构差别很大:

  • 系统提示、工具定义和项目说明每轮都会重复进入上下文。
  • 读文件、搜索代码、命令输出会作为工具结果反复累积。
  • 多轮工具调用让历史越来越长,后期每轮输入都在为前面的内容付费。
  • 失败重试、上下文压缩和摘要也会产生额外消耗。
  • 输出 Token 数量通常少于输入,但单价往往更高。

所以评估 Codex 价格时,不能只看“一次问答多少钱”,而要看“一个完整任务跑多少轮、每轮带多少上下文”。这也是订阅制和按量计费体验差异大的原因:轻任务用订阅很划算,重任务用 API 可能更贵,也可能因为模型可切换而更省。

三、按量计费怎么估算

按量计费可以用下面的公式做粗算。单价请从当前价格页读取,不要用本文举例之外的旧数字。

单轮成本 ≈
  输入 Token × 输入单价
+ 缓存读取 Token × 缓存单价
+ 输出 Token × 输出单价
+ 缓存写入成本(如供应商单独计价)

月成本 ≈
  单轮成本 × 日均轮次 × 工作日
+ 重试与失败请求
+ 上下文压缩与摘要开销

实操上,最可靠的办法是选一个代表性任务,在网关用量日志里看它实际消耗了多少输入、输出和缓存 Token,再乘以每天类似任务的次数。不要用“聊天一页大概多少字”去猜,Agent 的输入量往往是聊天的几倍到几十倍。

四、三种典型场景怎么选

个人稳定使用。 每天改代码、写测试、读文档,用量平稳,订阅通常更省心。额度不够时再考虑升级,不必一开始就追求最高档。

小团队多项目。 建议 API 加网关:按人、按项目发 Key,账单能拆分,模型能按任务分层。缺点是必须设置预算上限,否则某个 Agent 循环就可能吃掉一个月预算。

自动化与突发任务。 CI 机器人、批量重构、夜间扫描更适合 API 按量计费,因为任务有明确的开始和结束,配合并发限制和重试上限,成本可控。

很多团队最后采用混合方案:给人买订阅,给自动化和共享工具走 API。两种口径并不互斥,关键是别让同一个人同时用两套额度却不做记录。

五、缓存与上下文:两个最容易被低估的变量

缓存能省钱,但有前提。它通常要求请求前缀稳定:相同的系统提示、相同的工具定义、相同的文件片段。只要中间插入一段变化内容,后面的缓存就可能失效。把项目说明、代码规范这类稳定内容放在前面,把临时问题放在后面,命中率通常更好。

上下文大小的影响更直接。仓库越大、读的文件越多、保留的对话越长,每一轮的输入 Token 就越高。控制方法包括:排除构建产物和依赖目录、只读相关模块、及时开启新会话、让 Agent 先做检索再读文件。上下文窗口更大的模型不等于更省钱,它只是允许你放更多内容,费用仍然按实际 Token 走。

六、预算上限与控制清单

  1. 按人、按项目、按环境分别创建 Key,避免一把 Key 全团队共用。
  2. 在网关控制台设置额度上限和余额告警,先设低一点,跑一周再调。
  3. 限制并发数和自动重试次数,防止失败请求反复计费。
  4. 在项目配置里排除构建目录、依赖目录、日志和密钥文件。
  5. 做模型分层:难任务用强模型,改名、补注释、写样板代码用便宜模型。
  6. 每周看一次用量报表,按项目和模型拆分,发现异常立即停 Key。
  7. 给自动化任务单独设预算,不与人用额度混在一起。

这些措施比“到处找更便宜的单价”更有效。多数超支不是因为单价高,而是因为上下文失控、重试失控或 Key 失控。

七、用两周数据做决定

先不要一次性迁移。第一周保留现有订阅,同时用 API Key 跑一组代表性任务,记录每类任务的轮次、输入 Token、输出 Token 和缓存命中情况。第二周把同样的任务换一个模型档位再跑一遍,比较完成质量和成本。

两周后你会得到三个数字:单任务平均成本、每人每月任务量、失败重试占比。用前两个相乘,再加上第三个带来的额外开销,就是按量计费的真实基线。拿这个基线去对比订阅套餐的月费和额度,结论通常比任何“统一答案”更可靠。需要统一入口和用量报表,可以从注册中商起航 AI 网关开始,具体模型与计费以模型价格页为准。

常见问题

Codex 订阅和 API Key 可以同时使用吗?

可以。Codex CLI 既支持账号登录,也支持配置自定义 API Key 或兼容网关。团队常见做法是人用订阅、自动化走 API,但要在内部记录清楚,避免重复付费和额度混用。

为什么我的 API 账单比预期高很多?

先查三件事:上下文是否过大、是否频繁重试、是否有多余的并发任务。编程 Agent 的输入 Token 往往占总成本的大头,读入无关文件和不必要的长对话是最常见的原因。

缓存一定能省钱吗?

不一定。缓存需要请求前缀稳定才能命中,而且部分供应商对缓存写入单独计价。如果提示词经常变化、模型频繁切换,缓存收益会明显下降。建议先用用量日志确认命中率。

团队应该给每个人发一把 Key 吗?

不建议共用一把 Key,也不建议一人多把无记录的 Key。按人发 Key、按项目设子额度,既能定位异常,也方便成员离职时单独吊销。Key 应放在环境变量或密钥管理服务里,不要提交到代码仓库。

这些价格以后会变吗?

会。套餐额度、模型单价、缓存规则和 credits 机制都可能调整。本文只讲计算方法,不承诺任何固定价格。做预算时请以官方页面和站内模型价格的当前信息为准,并定期复算。

下一步

判断 Codex 价格是否划算,核心不是记住某个单价,而是掌握自己的任务结构:每任务多少轮、每轮多少上下文、失败重试占多少。把这三点量化后,订阅与 API 的选择会变得很清楚。需要统一 Key 管理、预算上限和按项目拆账,可以注册中商起航 AI 网关,模型范围和计费方式见模型价格。

相关阅读: