问题一:无法指定subagent模型
gpt-5.6 的 multi_agent_version 被默认设为了 v2,然后默认开启了 hide_spawn_agent_metadata = true
这个开关会从 JSON Schema 中移除 agent_type、model、reasoning_effort 和 service_tier。导致主模型无法选择 ~/.codex/agents 中的 named agent,也没法设置subagent的模型。gpt-5.6-sol-ultra 开的 subagent 使用的模型也还是 gpt-5.6-sol-ultra
解决方法:
GPT-5.6 Sol cannot specify subagent models, forcing all subagents to also be Sol instances · Issue #31814 · openai/codex · GitHub
[features.multi_agent_v2]
hide_spawn_agent_metadata = false
tool_namespace = "agents"
同时在 AGENTS.md 里约束 fork_turns 禁止设为 all,默认用 none:不传递对话上下文,或3:仅传递最近 3 轮上下文
或者直接使用 v1,让 codex 操作生成 models-v1.json
然后设置
model_catalog_json = "~/.codex/models-v1.json"
[features.multi_agent_v2]
enabled = false
问题二:subagent多次嵌套subagent
这个问题在上面的问题修复后已经好了很多。因为 gpt-5.6-sol 哪怕作为 subagent 也会很积极的调用 subagnt,可能是训练时的问题
但根本原因还是 max_depth 在 v2 失效了,如果用提示词约束了 subagent 还是不断嵌套 subagent,那就直接改为 v1。
v1相比v2缺少了:
send_message 给一个已经存在的子代理继续发消息
followup_task 给一个已经存在的子代理继续派下一个任务
interrupt_agent 打断正在运行的子代理
list_agents 列出当前有哪些 agent
如果用不到这些功能用 v1 更稳,看着也更清晰。而且 v2 的这些接口 openai 根本没写进全局提示词, codex 实际也根本不用,要用的话要在 AGENTS.md 里提醒