Codex CLI 省钱重构:用一张成本小票选模型
01 / 先定采购规则:小重构不靠旗舰光环
给函数改名、提取重复逻辑、拆分过长方法,我会先把 Gemini 2.5 Flash 列为低预算试用候选,再用 Claude Haiku 4.5 做对照。这里的“先选”只是预算顺序,不是代码能力排名。最终留下哪款,要看它在你的仓库里完成一次可合并修改,究竟花了多少钱。
先划清数字边界:本文采用查询到的厂商标准 API 美元标价计算,不是 CheapRelay 的报价,也不是实测消费记录。所有令牌数量都是明确设定的预算场景;实际使用时,应替换成平台当时的单价和账单用量,不预设折扣。
02 / 买令牌之前,先验收 Codex 的工具链
Codex CLI 的自定义网关需要正确支持 Responses API;只有聊天接口能返回文字,并不能证明它能完成 Codex 的流式响应、工具调用和后续轮次。因此,便宜模型进入候选名单之前,先跑通一次“读取文件、修改文件、执行测试”的完整任务。([learn.chatgpt.com](https://learn.chatgpt.com/docs/enterprise/gateway-compatibility))
CheapRelay 提供按量付费的统一入口,一把密钥可以访问多个模型系列,也可用于 Codex 等工具。具体模型标识和路由应按平台配置填写,不要把展示名称直接当作接口参数。我的验收建议是:使用临时分支,只改一个函数,并检查测试结果和实际差异。
03 / 第一张小票:六万输入、六千输出
先假设一次重构的所有请求累计产生 60,000 个未缓存输入令牌、6,000 个计费输出令牌。这里不是单条提示词的长度,而是整个任务的预算总量;暂不使用缓存,也不加入搜索等额外服务。
Gemini 2.5 Flash 的标准文本输入价格为每百万令牌 0.30 美元,输出为 2.50 美元。按这个参考价,账单如下。([ai.google.dev](https://ai.google.dev/gemini-api/docs/pricing))
- ■ 输入:60,000 ÷ 1,000,000 × 0.30=0.018 美元。
- ■ 输出:6,000 ÷ 1,000,000 × 2.50=0.015 美元。
- ■ 单次合计:0.033 美元,即 3.3 美分。
- ■ 同等用量做 100 次:3.30 美元,不含其他费用。
Claude Haiku 4.5 的标准输入价格为每百万令牌 1 美元,输出为 5 美元。同一用量假设下,输入 0.060 美元,加输出 0.030 美元,合计 0.090 美元;100 次为 9 美元。两者单次差额是 0.057 美元。这是等量令牌算术,不代表它们完成同一任务会消耗相同令牌。([platform.claude.com](https://platform.claude.com/docs/en/about-claude/pricing))
04 / 第二张小票:返工比单价更值得盯
如果上述 100 次任务里,有 50 次各追加一轮与原任务等量的调用,预算就变成 150 份:前者 4.95 美元,后者 13.50 美元。这不是预测返工率,而是提醒你把失败调用一起结账,别只统计最后成功的那轮。
更实用的指标是“总调用费用÷验收通过的任务数”。例如,假设试跑 10 个任务花了 0.33 美元,只有 8 个通过,单个通过任务的 API 成本就是 0.04125 美元,而不是 0.033 美元。再记录人工修补时间:若内部工时按每小时 30 美元估算,多修 5 分钟就是 2.50 美元。这个假设足以说明,省几美分却增加人工返工,不划算。
05 / 第三张小票:缓存和思考也要列账
输出预算必须采用计费口径。Google 的价格表明确将思考令牌计入输出价格,所以“最后只看到几百字说明”不能直接当成输出用量。核账时,应查看供应方返回的用量和平台账单,而不是按屏幕文字估算。([ai.google.dev](https://ai.google.dev/gemini-api/docs/pricing))
缓存也不是免费复制。Claude Haiku 4.5 的五分钟缓存写入参考价为每百万令牌 1.25 美元,缓存读取为 0.10 美元。假设成功写入 20,000 个令牌,随后累计读取 80,000 个,再产生 6,000 个输出,费用分别为 0.025、0.008、0.030 美元,共 0.063 美元;这里假设没有其他输入。([platform.claude.com](https://platform.claude.com/docs/en/about-claude/pricing))
同样的累计输入量若全部按普通输入收费,加上输出是 0.130 美元。但只有实际满足缓存条件、发生有效读取,这个对比才成立。不要提前把整个仓库都算成缓存命中,更不要把厂商缓存规则直接套成中转平台的最终账单。
06 / 把模型选择变成十个任务的采购测试
我建议准备 10 个真实小任务,固定修改范围、验收命令和禁止改变的行为。分别记录总费用、通过数量、追加轮次和人工修补分钟数。默认候选通过就继续用;连续两轮仍未通过,就暂停自动重试,缩小任务或换另一款对照,而不是让低单价无限累积。
CheapRelay 没有月费或订阅,按实际令牌计费,包括缓存读写,适合先小额验证再增加使用量。你可以注册 CheapRelay,从这 10 个任务开始记第一张小票。我的最终选择规则很简单:先确认路由能用,再选每个验收通过任务总成本更低的模型,而不是只选价目表里最便宜的一行。
Registrarse Prueba los precios. Incluye crédito de registro.
Más lecturas
| Fecha | Pasillo | Idioma | Título |
|---|---|---|---|
| 2026-10-25 | Agentes de código baratos | ZH | 给 Codex 会话打一张小票:把单次预算算到美分 用两张明确标注假设的小票,拆解 Codex 的输入、缓存与输出成本,再用任务边界、日志截断和交接摘要控制开销。 |
| 2026-10-25 | Agentes de código baratos | ZH | Claude Code 省 Token 收据:四个斜杠命令怎么省钱 用一张假设账单拆解 /context、/clear、/compact 与 /usage,算清输入、输出和缓存费用,避免把上下文缩短误当成账单同比下降。 |
| 2026-10-25 | Agentes de código baratos | ZH | 把代码审查写成小票:20 个变更的 AI 预算怎么算 用一组明确标注的假设单价,拆解20次代码审查的输入、输出、缓存与复查费用,建立可核对的按量预算。 |
| 2026-10-25 | Agentes de código baratos | ZH | OpenCode 终端账单:把按量调用拆成一张可核对的小票 用一张明确标注假设费率的小票,拆解 OpenCode 的输入、输出、缓存读取与写入费用,算清单次任务、返工和月度预算。 |
| 2026-10-25 | Agentes de código baratos | ZH | Cursor 接入自定义端点:逐步配置,再算清每笔费用 从密钥、Base URL 到模型选择,逐步配置 Cursor 的 OpenAI 兼容端点;用明确标注的假设费率,拆解输入、输出和缓存账单。 |
| 2026-10-25 | Agentes de código baratos | ZH | 编码智能体陷入循环:用一张收据提前发现令牌失控 用一张明确标注假设价格的令牌收据,拆解编码智能体反复重试的成本,并设置重复检测、累计预算与停机条件。 |