Codex CLI 的 token 消耗:先看懂,再降下去

Codex 会在事后告诉你花了多少。这里讲的是怎样事先看到,以及什么能让这个数字变动。

Codex CLI 会话的形状和任何代理会话一样:一个小问题裹在大量上下文里。不同之处在于,其中相当一部分上下文是环境性的,在你敲下任何字之前它就已经在那儿了。

环境输入:你没有要求的那部分

每次会话开场都带着指令、工具模式定义,以及环境里注册过的一切。这些本身都没有错,而且不论当前任务是否用到,每一轮都要计费。

这是可以在不消耗配额的情况下量出来的,这一点少见,值得知道:

codex debug prompt-input

打印将要发送的内容。确定性、可重复,而且不花钱。

在你自己的机器上跑一次,看总数。在我们的参照机器上,capsul 移除的环境部分每轮略超四千五百 token:一份插件目录、连接器说明与随附的 skills,再加上 Codex 自行启动的 MCP 服务器的工具模式定义。

会话输入:你能掌控的那部分

环境输入之上,叠着每个代理都会积累的东西:读过的文件、跑过的命令,以及到此为止的对话。可用的杠杆和别处一样。

  • 点名文件,而不是让代理自己去找。
  • 一项任务一个会话,任务做完就关掉。
  • 在吵闹的命令输出进入对话之前先过滤。
  • 给上下文设上限,并且守住它。

在预算下运行 Codex

capsul 驱动你已经登录的 Codex CLI,所以回答的是你现有的 ChatGPT 套餐。续接、用量与推理强度都会回报到你看得见的地方。

npm i -g @penra/capsul
capsul ask '给搜索接口加上分页' --budget 3000

诚实地读这些数字

有两条提醒适用于任何 token 基准,包括我们自己的。第一,加权输入和原始输入是两种不同的度量:缓存输入按新鲜输入的一小部分计费,因此忽略缓存的比较会偏袒缓存效果更好的那一臂。第二,一个任务上的节省不等于下一个任务上的节省。我们自己的表里就有一行,capsul 消耗的加权输入更多,它被照常公布,而不是拿掉。

常见问题

怎样在不消耗配额的情况下查看 Codex 的 token 用量?

codex debug prompt-input 会打印给定输入将要发送的内容,不调用任何模型。它是确定性的,所以跑两遍就能量出一次改动的效果。

capsul 需要 OpenAI API 密钥吗?

不需要。它驱动你已经登录的 Codex CLI,所以回答的是你的 ChatGPT 套餐。API 密钥是任何套餐下按会话选择的可选项。

减少输入会改变推理强度吗?

两者互不相干。强度是单独的设置,会与用量一起回报到 capsul,并且可以逐次请求设定。

MCP 服务器即使用不到也会耗 token 吗?

它们的工具模式定义属于被发送的内容,所以会。当前任务从未触及的已注册服务器,每一轮仍然占着输入。

$ npm i -g @penra/capsul

全部指南