Token 知识库

额度什么时候重置、怎么省 token?按目录查阅各个主题,Codex 和 Claude 分开说明,附官方原文和链接。

subagent 太费 token,怎么给它配便宜的模型?

Claude Code 在 subagent 文件头部写 model: haiku;Codex 在 ~/.codex/config.toml 的 [agents] 里设 default_subagent_model。每个 subagent 各跑各的请求,扣的是同一份额度,所以查找、读文件这类简单的活交给小模型最省。

Codex

在 ~/.codex/config.toml 的 [agents] 里设 default_subagent_model,所有 subagent 默认走小模型。

不配置的话,subagent 沿用主会话的模型和推理强度。可以在 config.toml 的 [agents] 里给全部 subagent 设默认值,也可以给某一个 subagent 单独建 .toml 文件、写上 model 和 model_reasoning_effort;文件里写的优先于全局默认。官方的分工是:GPT-5.6 Terra 适合查找、读大文件、处理资料,GPT-5.6 Luna 适合范围明确、重复量大的活。想限制同时开几个,在 [agents] 里设 max_concurrent_threads_per_session。

官方原文

Because each subagent does its own model and tool work, subagent workflows consume more tokens than comparable single-agent runs.
OpenAI docs · Subagents
If you don't configure a subagent model or model_reasoning_effort, the subagent inherits the parent agent's model and reasoning effort.
OpenAI docs · Subagents
To balance intelligence, speed, and price for each task, request a specific model or reasoning effort in your prompt, configure [agents] defaults in config.toml, or set model and model_reasoning_effort directly in the custom agent file.
OpenAI docs · Subagents
Use gpt-5.6-terra when you want a faster, lower-cost option for lighter subagent work.
OpenAI docs · Subagents
If a custom agent file sets model or model_reasoning_effort, the value in the file takes precedence.
OpenAI docs · Subagents

Claude

在 subagent 文件头部写 model: haiku;想一次改全部,就设环境变量 CLAUDE_CODE_SUBAGENT_MODEL。

/usage 面板上的原话是:每个 subagent 各跑各的请求,别随手开,简单的 subagent 考虑配便宜的模型(Each subagent runs its own requests. Be deliberate about spawning them — and consider configuring a cheaper model for simpler subagents.)。subagent 的定义文件在 .claude/agents/(当前项目)或 ~/.claude/agents/(所有项目),头部的 model 可以填 haiku、sonnet、opus、fable、完整型号或 inherit;不写就沿用主会话的模型。CLAUDE_CODE_SUBAGENT_MODEL 能给所有 subagent 一个默认值,但它只是默认值:文件里写了 model 的、Claude 派活时点名了模型的,都排在它前面。subagent 运行时输入 /tasks,能看到它实际用的是哪个模型。

官方原文

For simple subagent tasks, specify model: haiku in your subagent configuration.
Claude Code docs · Manage costs effectively
CLAUDE_CODE_SUBAGENT_MODEL is a default, so a subagent's definition or a model Claude passes still takes precedence over it. To apply one model to every subagent, teammate, and workflow agent, also set CLAUDE_CODE_SUBAGENT_MODEL_FORCE to 1.
Claude Code docs · Create custom subagents
A user or project subagent named Explore overrides the built-in and keeps its own model field, so define one with model: haiku to keep exploration on a lower-cost model.
Claude Code docs · Create custom subagents
Agent teams use approximately 7x more tokens than standard sessions when teammates run in plan mode, because each teammate maintains its own context window and runs as a separate Claude instance.
Claude Code docs · Manage costs effectively
A single burst of heavy activity, such as a large workflow fanout, can exhaust the weekly allowance before the session window resets.
Claude Code docs · Error reference

Codex:具体怎么写

给所有 subagent 设默认:在 ~/.codex/config.toml 的 [agents] 下写两行,default_subagent_model = "gpt-5.6-terra" 和 default_subagent_reasoning_effort = "medium"。

只改某一个:在 .codex/agents/(当前项目)或 ~/.codex/agents/(所有项目)下建一个 .toml 文件,写上 name、description、developer_instructions 三个必填项,再加 model 和 model_reasoning_effort。官方示例 pr-explorer.toml 里写的是 name = "pr_explorer"、model = "gpt-5.6-luna"、model_reasoning_effort = "medium"。

取值顺序:派活时点名的模型,其次是 [agents] 里的默认值,最后是主会话的模型;定义文件里写了的,优先于全局默认。

Claude Code:具体怎么写

只改某一个:在 .claude/agents/ 下建 log-reader.md,文件头部两行 --- 之间写三行,第一行 name: log-reader,第二行 description: 读日志、跑测试,只回报失败项,第三行 model: haiku;头部下面写给它的指示,例如:只回报失败的测试和对应的报错,不要贴完整输出。

给所有 subagent 设默认:在 settings.json 的 env 里加 "CLAUDE_CODE_SUBAGENT_MODEL": "haiku"。要让所有 subagent 一律用它、没有例外,再加 "CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1"(需要 v2.1.257 或更新)。

只想让内置的 Explore 便宜下来:自己建一个同名的 Explore subagent,写 model: haiku,就会盖掉内置的。

取值顺序:派活时指定的模型,其次是定义文件里的 model,再次是 CLAUDE_CODE_SUBAGENT_MODEL,最后是主会话的模型。

常见误解

  • subagent 有自己的额度,并行开多少都不影响主会话

    没有。subagent、agent 团队、云端并行任务扣的都是同一份 5 小时额度和周额度,并行只是把它花得更快。

  • 设了 CLAUDE_CODE_SUBAGENT_MODEL,所有 subagent 就都换成小模型了

    不是。它只是默认值:定义文件里写了 model 的、Claude 派活时点名了模型的,都排在它前面;内置的 Explore 和 Plan 也不受它影响。要全部强制,再加 CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1,然后用 /tasks 确认。

  • 把活交给 subagent 能省 token

    不一定。subagent 省的是主会话的上下文——长输出留在它那边,主会话只收摘要;但它自己要从头读一遍背景,总 token 往往更多。适合交出去的是输出又长又杂的活(跑测试、抓文档、看日志),而且配上小模型才划算。

小提示

  • 先挑最常跑的那个 subagent 改。Claude Code 的 /usage 会列出哪个 subagent 占得最多,改它见效最快。
  • 查找、读文件、跑测试、看日志交给小模型;要拿主意的活(架构、难 bug)留给主会话的模型。
  • 少开。Claude 的 agent 团队大约是普通会话 7 倍的 token,一次大规模并行可能在 5 小时额度重置之前就把周额度用光。
  • 派活时写清范围和要回传什么,例如「只回报失败的测试和报错」;/usage 面板对常跑的 subagent 给的建议就是换小模型或把提示写紧。
  • 用完就关。还没退出的 teammate 会一直消耗 token。
  • Codex 也可以直接在提示里点名:「这个 subagent 用 gpt-5.6-terra、medium」;派活时指定的优先于全局默认。
  • Claude Code 的 subagent 还能单独设 effort(low、medium、high 等),和 model 写在同一个文件头部。

Codex 重置公告与记录 · Claude 重置公告与记录