在使用 GPT 进行 Agent 开发或自动化任务调度的过程中,很多开发者都期待通过 Subagent(子代理)机制来提高效率、降低成本。毕竟,我们可以把一些简单的拆解任务交给轻量级的模型(比如 GPT 4o mini)来处理,只把核心推理交给主模型(比如 GPT 4o 或更高版本)。

GPT Agent 开发流程示意图

GPT Agent 开发与任务调度示意图

然而,最近在实际调试中,我发现了一个非常让人困惑的现象:无论在配置里怎么要求 Subagent 使用 Mini 级别的模型,系统最终执行时,似乎总是偷偷换回了主 Agent 对应的顶级模型。

困惑表情图示

Subagent 配置失效时的困惑状态

现象复盘

我最近在测试 Codex 的 Subagent 功能时,明确在 System Prompt 或配置项中指定了子任务由“GPT 5.4 mini”来处理。按理说,这时候生成的子代理应该是轻量级的。

但在执行过程中,我检查了后台日志或调用记录,发现负责执行的并不是所谓的 Mini 版本,而是直接变成了“GPT 5.5 xhigh”——这实际上就是主 Agent 正在使用的那个高性能模型。

这就很尴尬了:

  1. 成本没降下来:本来想省钱,结果还是用的贵模型。
  2. 配置失效:似乎我的指令被系统“无视”了。

为什么会这样?

如果排除了自己代码写错路径这种低级错误,从技术逻辑上分析,这很可能是以下几种原因导致的:

1. 系统兜底策略

现在的 Agent 框架设计通常非常激进。为了确保任务能够“成功完成”,底层可能设置了一个兜底逻辑:如果系统检测到当前的子代模型参数不足以支撑上下文理解,或者为了防止 Mini 模型产生幻觉导致任务链条断裂,它会自动将请求提升回能力更强的主模型。

这就好比你雇了一个实习生处理 100 页的合同,结果老板(主 Agent) 觉得太重要了,实习生搞不定,就直接把活儿拿回来自己干了。

2. 硬编码的优先级

在某些封装好的平台(如 Codex)中,Subagent 的模型选项可能并不是一个硬约束,而只是一个“建议”。主 Agent 的权限可能高于配置项,它在生成调用指令时,可能会根据默认的最高能力模型进行覆盖。

3. 版本识别混淆

还有一种可能是版本号识别的问题。现在的模型版本迭代非常快(比如从 4o 到 5.x 的测试版),有时候系统内部映射的版本 ID 和我们看到的版本名称并不一致。你以为是换了个模型,其实只是在同一个池子里的不同参数调优,本质还是同一种算力。

如何排查与解决?

如果你也遇到了这种“我让他用菜鸟,他却派了大佬”的情况,可以尝试以下几个排查步骤:

  1. 检查 API 直连日志: 不要只看 Agent 平台展示的 UI,去底层的 API 调用记录里看 model 参数。确认底层的 HTTP 请求到底发的是什么参数。如果是 OpenAI 的 API,检查实际消耗的 Token 价格比是否更符合 Mini 还是 Full 模型。

  2. 降低任务复杂度: 尝试给 Subagent 分配极其简单的任务(比如“把这句话翻译成中文”)。这种任务如果 Mini 模型能轻松胜任,结果却还是用了大模型,那就排除了“任务太难触发兜底”的可能性,大概率是配置 Bug。

  3. 强制模型参数: 如果是在编写代码调用,尝试在 toolsfunction_call 的定义中,显式注入强制使用 gpt-4o-mini 的参数。有些平台支持更细粒度的 JSON 配置,而不仅仅是在对话里说一句“用 mini”。

  4. 查看官方文档的限制说明: 这一点最扎心。有些平台在 Beta 阶段,Subagent 功能可能并没有开放模型的完全自由选择权,文档里可能用小字写着“目前所有子任务默认由主模型执行以优化体验”。

写在最后

Subagent 机制是 AI 工作流自动化的未来方向,但目前各个平台的实现确实还有不少需要磨合的地方。遇到配置不生效的情况,往往不是我们写错了,而是系统为了“求稳”而牺牲了我们的“求省”。

希望各位在踩坑时多留一个心眼,盯着 API 层的数据,别被表面的配置迷惑了。如果有谁找到了强制降级的方法,欢迎在评论区交流!

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭