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 走。
六、预算上限与控制清单
- 按人、按项目、按环境分别创建 Key,避免一把 Key 全团队共用。
- 在网关控制台设置额度上限和余额告警,先设低一点,跑一周再调。
- 限制并发数和自动重试次数,防止失败请求反复计费。
- 在项目配置里排除构建目录、依赖目录、日志和密钥文件。
- 做模型分层:难任务用强模型,改名、补注释、写样板代码用便宜模型。
- 每周看一次用量报表,按项目和模型拆分,发现异常立即停 Key。
- 给自动化任务单独设预算,不与人用额度混在一起。
这些措施比“到处找更便宜的单价”更有效。多数超支不是因为单价高,而是因为上下文失控、重试失控或 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 网关,模型范围和计费方式见模型价格。
相关阅读:
