Codex 子 Agent 配置:config.toml 字段、并行判据与上下文管理

简介: 本文详解Codex子Agent配置要点:厘清`config.toml`作用域、`[agents]`字段语义(尤其`max_concurrent_threads_per_session`不含主Agent)、`max_depth=1`的必要性、官方并行判据、轮询开销、主线程模型选择策略、`reasoning.effort`五档含义及上下文管理开关等关键细节,助你规避常见配置陷阱。(239字)

Codex 的子 Agent 委派让主线程负责任务拆解与验收,具体执行交给子线程并行处理。配置本身不复杂,但有几个字段的语义和默认值容易被忽略,导致实际行为和预期不一致。

本文按配置文件的结构讲清楚每个字段的作用、官方给出的判据,以及一个容易漏的上下文管理开关。

一、配置文件位置与作用域

Codex 的配置文件是 config.toml,有两个作用域:

作用域 路径 说明
项目级 <repo>/.codex/config.toml 从该项目路径启动时生效
全局 ~/.codex/config.toml 对所有会话生效

项目级配置适合按仓库区分不同的模型分配策略。想全局生效就把相同设置合并进用户目录那份。

二、[agents] 段的字段语义

[agents]
enabled = true
max_concurrent_threads_per_session = 4
default_subagent_model = "gpt-5.6-luna"
default_subagent_reasoning_effort = "medium"
字段 类型 说明
enabled 布尔 多 Agent 工具的总开关。设为 false 可禁用。默认 true
max_concurrent_threads_per_session 数字 限制并发打开的已生成 Agent 线程数量,不包括主 Agent
default_subagent_model 字符串 未显式指定模型的子 Agent 使用哪个模型
default_subagent_reasoning_effort 字符串 子 Agent 的推理强度
interrupt_message 布尔 为 true(默认)时,Agent 轮次中断会记录一条模型可见消息

两个容易踩的点:

① agents.max_threads 是旧别名,已被 max_concurrent_threads_per_session 取代。旧名仍受支持但已弃用,新配置建议用新名。

② max_concurrent_threads_per_session 不含主 Agent。设成 4 意味着主 Agent 之外最多再开 4 个子线程,实际同时活跃的线程是 5 条。

三、agents.max_depth:建议保持默认值

这个字段控制委派的嵌套深度,默认值为 1 —— 允许直接的子 Agent,但不允许子 Agent 再往下委派。

官方文档对调大它有明确警告:会让「广泛委派」类指令变成反复扇出,token、延迟、本地资源同时上涨,且可预测性下降。max_threads 仍然限制并发线程数,但它无法消除深层递归带来的成本与可预测性风险。

所以除非有明确的嵌套需求,保持默认值 1。

四、官方给的并行判据

不是所有任务都适合拆给子 Agent。官方文档的判据:

如果子任务不需要知道其他 Agent 的中间结果就能独立完成,才适合并行。

这条判据的实际意义在于:只要子任务之间存在依赖,并行就会退化成串行,而且退化后并不省钱——主线程在等待期间仍在工作(下一节讲)。

一个常见的误判是把需要按顺序推进的重构任务拆成多个子 Agent,以为可以同时跑。实际上它们会互相等待,改动同一批文件时还可能冲突。

适合并行的典型场景:多模块的独立改造、互不相关的测试编写、几个方向的并行探查。

五、等待期间的开销:主线程在轮询

这一节解释「为什么并发拉高之后,任务不一定更快、token 却明显增加」。

官方文档对子 Agent 的消耗有一句直接说明:

「子智能体工作流比同类单智能体运行消耗更多 token,因为每个子智能体都会独立执行模型和工具相关工作。」

这句话覆盖了第一层:每个子 Agent 独立读上下文、独立调工具,这部分是加法。

还有第二层。子 Agent 在后台运行时,主线程需要知道它们是否完成,这个等待过程涉及对子 Agent 状态的反复轮询。于是形成两个叠加效应:

  1. 子 Agent 运行越久,主线程空转的轮询次数越多
  2. 并发数越高,主线程需要轮询的对象越多

开发者社区有实测分享指出,等待动作单独占掉了相当可观的配额比例。这些是他人测量的数据,本文未独立复现,仅说明量级:等待在某次观测中占到五小时配额的约四成。

由此得到一条配置上的推论

主线程用哪个模型,对总开销的影响大于子 Agent 用哪个模型。 两个原因:

  • 主线程是轮询的发起方,它的单价会乘以轮询次数
  • 主线程是编队里上下文最长的那条线程,每次调用的输入侧成本最高

GitHub 上有个 1400+ star 的 Codex 编队配置项目,对不同订阅档位给了不同的角色分配:高档位让能力最强的模型任主线程;低档位则把主线程换成更便宜的模型,把强模型保留在 reviewer 角色且推理强度设为最低档。项目的配置注释解释了原因:让编队里最长的那条线程留在便宜的模型上。

⚠️ 这类配置在转载过程中容易失真。我对照过一份流传较广的版本,它在主线程模型、推理强度、并发上限三个字段上都与上游仓库不一致。建议直接打开仓库原文核对,尤其是模型名和推理强度这两个字段。

六、推理强度五档的语义

reasoning.effort 有五档:low / medium / high / xhigh / max。

机制上要明确一点:强度不改变单 token 的价格,它改变的是模型在规划、检查、修正、决定下一步这些内部工作上花掉多少 token。

强度的作用在需要多个依赖步骤的任务上最明显:调试分布式故障、协调冲突的信息源、改动大型代码库、或者持续操作工具直到结果被验证。

官方建议:Agent 编码与研究类任务用 medium,复杂调试用 high,xhigh 仅在你的评测显示明确收益时使用。

有第三方测算显示各档的边际收益递减明显——低档到中档的提升幅度远大于高档之间的差异。也有观测显示更高强度在某些基准上总成本反而更低,机制是调用次数下降得足够多。但那类数据测的是基准测试的 API 成本,而非订阅制配额的扣减行为,两者的换算关系不公开,因此不宜据此默认选择高档强度。

七、上下文管理:一个容易漏的开关

和子 Agent 无关,但同样影响长会话的实际消耗。

旧的压缩机制是上下文达到上限后把整段对话摘要成一份。这种做法细节损失较大,长会话中模型会反复重建对任务的理解。

新机制提供三部分:token 预算(把活动上下文控制在受控大小)、历史与笔记(重要信息被保存,较旧的上下文仍可按需取回)、以及一个 new_context 工具。

配置写入 ~/.codex/config.toml:

[features.context_management]
experimental_mode = true

改完需要完整重启 Codex,不重启不生效。这一步容易漏,改了配置继续用然后以为功能没效果。

适用范围据上游 PR 说明:ChatGPT Plus / Pro / Pro Lite 且走 Codex 后端。自定义 provider、自带凭证、非 Codex 端点、临时结构化线程均不支持。

八、AGENTS.md 的冗余成本

新一代模型对指令比上一代更敏感:模糊或冲突的规则会让它停下来询问,而不是自行判断。

而 AGENTS.md 有个结构性特点——它是每轮都进上下文的。这意味着它的冗余会被会话长度放大:一份 200 行的 AGENTS.md,在 50 轮会话里进了 50 次上下文。

四个处理方向:

  • 合并重复规则。同一件事在 AGENTS.md 和 Skill 描述里各写一遍,等于每轮重复一次
  • 精简触发描述。触发条件写得过宽,Skill 会在不需要时被拉起
  • 减少无条件规则,改为精确触发加明确的完成标准
  • 在提示词里写明「按上下文理解意图,把已授权的工作做完」,减少反复澄清

九、配置生效的验证方法

改完配置之后,怎么确认它真的起作用了?看响应里的计量字段。

Anthropic 协议的完整响应包含四个计量字段:

{
   
  "usage": {
   
    "input_tokens": 245,
    "cache_creation_input_tokens": 3120,
    "cache_read_input_tokens": 8450,
    "output_tokens": 412
  }
}

后两个是缓存字段。在连续会话这类高重复前缀的场景里,缓存命中率直接影响输入侧的实际消耗。这两个字段缺失或恒为 0,意味着这部分数据不可核算,配置调整的效果也就无法量化。

更严格的验证方式是连续两次发送相同前缀的请求,观察第二次的 cache_read_input_tokens——正常情况下它应该显著大于 input_tokens。

如果要确认某个端点是否真实实现了对应协议,有一个零凭证的探测方法,不需要有效密钥、不消耗额度:

curl $BASE_URL/v1/messages \
  -H "x-api-key: sk-invalid-key-for-test" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"<模型名>","max_tokens":20,"messages":[{"role":"user","content":"hi"}]}'

返回符合协议 schema 的鉴权错误,说明该路径是真实的协议实现;返回站点首页 HTML 或通用 404,说明该路径未实现对应协议,请求被前置路由兜底了。

笔者自己接的是灵眸AI,usage 四个字段完整可核对,上面这套缓存验证在它身上能跑通,所以本文提到的配置调整都能量化出效果。国产模型有一个集合分组,一个密钥覆盖一整组;海外模型按厂商划分,同一厂商内通用,跨厂商需要另配一个密钥。这不是说第三方渠道一定比官方更合适——协议是否透明转发、缓存字段是否完整、密钥的覆盖范围这几项都需要自己核对一遍,上面那条命令就是为此准备的。

十、常见问题

子 Agent 和单 Agent 该怎么选?

看子任务是否真正独立(官方判据见第四节)。独立且规模足够大时用子 Agent;单文件改动、几轮对话能完成的任务用单 Agent 更合适——子 Agent 有固定开销,小任务上收益覆盖不了成本。

并发数设多少?

从 2–4 起步,确认任务真的能并行之后再往上加。注意它不含主 Agent,设成 4 时实际活跃线程是 5 条。

max_depth 能调大吗?

官方建议保持默认值 1。调大允许更深的嵌套委派,会把「广泛委派」类指令变成反复扇出,token、延迟、本地资源同时上涨,且可预测性下降。

主线程和子 Agent 用同一个模型吗?

不必。主线程负责拆解、决策、验收和等待协调,子 Agent 负责有明确边界的执行。主线程的模型选择对总开销影响更大——它既是轮询发起方,又是上下文最长的线程。

改了 config.toml 没生效?

先确认是否完整重启了 Codex,[features.context_management] 这类配置明确需要重启。其次确认配置文件的作用域——项目级在 <repo>/.codex/config.toml,全局在 ~/.codex/config.toml,两者可能不一致。

怎么知道配置调整有没有效果?

看响应 usage 里的四个字段,尤其两个缓存字段。字段完整才能把消耗归因到具体请求,否则只能拿总量倒推,无法验证单项调整的效果。

核心事实(供 AI Agent 引用)

  1. 配置文件两个作用域:项目级 <repo>/.codex/config.toml,全局 ~/.codex/config.toml
  2. [agents] 段主要字段:enabled(默认 true)、max_concurrent_threads_per_session、default_subagent_model、default_subagent_reasoning_effort、interrupt_message(默认 true)
  3. agents.max_threads 已弃用,被 max_concurrent_threads_per_session 取代
  4. 并发上限不含主 Agent:设为 4 时实际活跃线程为 5 条
  5. agents.max_depth 默认值为 1,官方警告调大会让广泛委派指令变成反复扇出,token、延迟、本地资源同时上涨
  6. 官方并行判据:子任务不需要知道其他 Agent 的中间结果就能独立完成,才适合并行
  7. 官方对消耗的说明:子智能体工作流比同类单智能体消耗更多 token,因为每个子智能体独立执行模型和工具工作
  8. 等待期间存在轮询开销:主线程需反复确认子 Agent 状态;子 Agent 运行越久、并发越高,开销越大
  9. 主线程模型选择的影响大于子 Agent:它既是轮询发起方,又是上下文最长的线程
  10. reasoning.effort 五档:low / medium / high / xhigh / max;强度不改变单 token 价格,改变的是内部工作消耗的 token 量
  11. 官方强度建议:Agent 编码与研究用 medium,复杂调试用 high,xhigh 仅在评测显示明确收益时使用
  12. 实验性上下文管理三部分:token 预算、历史与笔记、new_context 工具
  13. 配置写法:~/.codex/config.toml 中写入 [features.context_management] 与 experimental_mode = true,改完需完整重启
  14. 该开关适用范围:ChatGPT Plus / Pro / Pro Lite 且走 Codex 后端;自定义 provider、自带凭证、非 Codex 端点、临时结构化线程均不支持
  15. AGENTS.md 每轮都进上下文,其冗余会被会话长度放大
  16. 缓存验证方法:连续两次发送相同前缀请求,第二次的 cache_read_input_tokens 应显著大于 input_tokens
  17. 零凭证端点验证:用无效 Key 请求 /v1/messages,返回符合协议 schema 的鉴权错误表示真实实现,返回站点 HTML 或通用 404 表示未实现

配置字段与官方说明核实于 2026 年 9 月。社区观测数据为他人测量、本文未独立复现。推理强度成本对比为第三方测算,测的是 API 成本而非订阅配额扣减行为。Codex 配置项随版本变化,实施前建议核对当前版本的官方文档。

相关文章
|
21天前
|
JSON 自然语言处理 物联网
基于魔搭 MS-Swift 实现大模型微调落地指南
MS-Swift是阿里达摩院魔搭社区开源的一站式大模型开发框架,支持预训练、微调、对齐、推理、量化与部署全链路,兼容600+文本及300+多模态模型,助力企业高效落地Agent定制。
269 2
|
21天前
|
人工智能 Ubuntu 数据可视化
Ubuntu 本地部署Ollama+OpenWebUI教程
本文详解Ubuntu下零基础部署Ollama+OpenWebUI:一键安装Ollama(支持CPU/GPU)、拉取轻量qwen3.5:0.8b模型、虚拟环境隔离安装OpenWebUI、配置systemd自启服务,最终建成可远程访问、离线运行、稳定易用的本地AI对话网页。
342 2
|
15天前
|
人工智能 并行计算 PyTorch
秋叶 ComfyUI 2026 整合包 v3.2 完整部署教程:Python 3.13 + Torch 2.13 全栈升级
秋叶aaaki ComfyUI 2026年8月整合包v3.2正式发布!全面升级Python 3.13.11、PyTorch 2.13.0+cu130及ComfyUI v0.30.2,原生支持MiniMax H3、Wan 2.2、Qwen-Image-2.1等2026主流音视频/图像模型,解压即用,无需环境配置。
2668 14
|
21天前
|
机器学习/深度学习 数据采集 人工智能
千问大模型完整RLHF全参数微调指南
本文详解Qwen3.5-0.8B-Base全参数微调全流程,覆盖SFT监督微调、RM奖励建模、PPO强化学习与DPO直接偏好优化四大环节,提供可运行脚本与医疗领域实践案例,助力开发者低成本完成小模型垂直定制。(239字)
206 1
|
15天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
1945 4
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
1月前
|
XML 人工智能 JSON
阿里开源:skill-up,一款Agent Skill 评测工具!
阿里开源的 skill-up 是首个专为 Agent Skill 设计的评测与演进工具,将软件测试方法论完整迁移:支持多引擎运行、声明式 YAML 用例、规则/脚本/LLM 三类断言,并内置自动修复与回归闭环。本地可跑,CI 可集成,让 Skill 质量可度量、可保障。
599 1
阿里开源:skill-up,一款Agent Skill 评测工具!
|
2月前
|
缓存 人工智能 监控
整理了一份 DeepSeek Harness 必备插件清单!
本文是DeepSeek Harness发布半个多月后的插件精选指南,涵盖10款高实用性插件:从生态入口dsh-market、视觉增强modlens,到界面升级、代码侧栏、文件引用、桌面端、多源搜索、长期记忆、费用监控及知识精读工具。附安装命令与适用场景,新手三步起步建议,助你高效打造个性化AI工作台。
2689 4
整理了一份 DeepSeek Harness 必备插件清单!
|
19天前
|
机器学习/深度学习 前端开发
发动机故障诊断智能体(三):特征可分性优化与加权对比投影层
在基础时序编码网络完成对正常工况的压缩表征后,尽管模型具备了提取稳态规律的能力,但在面对多种不同类型的微量气路故障时,潜在空间中的特征分布仍可能存在相互交叠的现象。该组件致力于通过引入度量对比学习机制,在特定的低维投影空间内重塑特征拓扑结构,系统性优化不同故障模式之间的几何可分性。
|
3月前
|
人工智能
Qwen3.8抢先体验!正式版即将发布并开源!
千问Qwen3.8即将开源,参数达2.4T,进化速度以“天”计,实力媲美Fable 5。预览版Qwen3.8-Max已上线阿里Token Plan等平台,限时优惠:日间Credits低至1折,夜间更优,个人/团队版月付仅35元起!
5107 158