主会话用 Sonnet 或 Opus,查文件、提取日志的子 Agent 用 Haiku 5.5,是一种值得评估的分工。配置时要区分两件事:给一个自定义子 Agent 指定模型,和把所有子 Agent 强制切到同一个模型。只设置 CLAUDE_CODE_SUBAGENT_MODEL,不能保证内置 Explore 也随之改变。
下面先完成一个只读子 Agent,再解释全局设置和验证方法。资料核验于 2026 年 10 月 10 日;示例依据官方文档编写,未在付费账户中执行,不代表已取得节省比例或成功调用结果。
先确认版本、接入方式和模型权限
运行 claude --version 查看版本。官方模型配置文档要求使用 v2.1.293 或更新版本调用 Haiku 5.5;需要升级时运行 claude update。不同安装方式的维护规则,以当前安装提示为准。模型配置说明
确认你所在渠道提供 claude-haiku-5-5。官方 API 中的固定模型 ID 与工具里的 haiku 别名不同:别名会随版本、提供商和配置变化。准备复现实验时,用完整 ID 更容易确认型号。
如果还没有接通 Claude Code,先完成渠道的 Anthropic Messages 配置。使用支持多模型的 API 中转服务时,可参考 AICodeWith 的 Claude Code 接入文档。其中 ANTHROPIC_BASE_URL 使用根地址,不能直接把普通 OpenAI /v1 配置搬过来。本文后面的子 Agent 设置仍由 Claude Code 控制。
创建一个明确使用 Haiku 5.5 的只读子 Agent
在项目内创建 .claude/agents/log-triage.md。如果希望多个项目共用,可放在用户目录的 ~/.claude/agents/;Windows 对应用户目录下的 .claude\agents\。项目级定义便于团队共享,文件里不要包含 API Key。
---
name: log-triage
description: 分析测试失败日志,提取失败测试、相关文件和证据;不修改代码。
tools: Read, Grep, Glob
model: claude-haiku-5-5
effort: medium
---
只读取与本次任务有关的日志和文件。
逐项返回失败测试名称、文件位置、错误原文和可能相关的代码。
将直接证据与推测分开;没有证据时明确说明。
不修改文件,不执行修复,不发起其他子任务。
model 固定型号,tools 限定只读文件检索,effort 设置思考投入。这里的 medium 是评估起点,不保证最省钱或最准确。工具权限仍受会话和组织规则约束。子 Agent 定义与工具限制
保存后重启 Claude Code,运行 /agents 检查 log-triage 是否被识别。然后给主会话一个具体请求:
请使用 log-triage 子 Agent 读取 tests-failed.log,列出失败测试、
相关文件和错误原文。只做调查,不修改任何文件,
本次调用保留定义中的 claude-haiku-5-5 模型。
把日志文件名换成项目中的实际文件。这里用提示明确分工,但模型是否真的按定义运行,还要在下一步核验。
检查运行型号,避免只看配置文件
子 Agent 运行时打开 /tasks,查看任务行显示的模型和 effort。官方说明这一显示能力需要 v2.1.242 或更新版本;前面的 Haiku 版本要求已经覆盖它。
再查看提供商的调用记录,核对请求时间、实际型号、输入/输出用量和是否重试。如果平台能显示路由后的模型,应优先核对这一字段;只有客户端请求型号时,它只能证明客户端选择了什么。
最后检查结果是否满足任务:测试名称是否完整、文件位置是否存在、引用是否与日志一致,以及是否产生无关文件改动。任务列表负责确认客户端配置,调用记录负责确认渠道请求,结果检查负责确认这次分工能否使用。
如果 /agents 中找不到定义,检查文件位置、Markdown 前面的 YAML 格式和 name 字段,再重新打开会话。如果任务出现但型号不同,按下面的优先级排查。
为什么设置了 Haiku,子 Agent 仍使用主模型
当前官方文档列出的普通子 Agent 模型选择顺序是:
- 发起该次调用时传入的模型参数。
- 子 Agent 定义中的
model字段。 - 环境变量
CLAUDE_CODE_SUBAGENT_MODEL。 - 主会话的模型。
因此,定义中的完整模型 ID 通常比全局默认值更明确,但一次调用的参数仍可能覆盖它。model: inherit 表示使用主会话模型;省略 model 则继续按优先级查找。
这套顺序还受组织 availableModels 等限制影响。被限制的模型可能触发替代模型选择,交互会话会给出提示。若安装的 mod 在 agent.spawn 钩子中改写模型,也要检查它。更早版本的优先级与当前版本不同,排查时应同时记录版本号。模型优先级与替代规则
全局默认与强制模式分别怎么配
只想给没有单独指定型号的普通子 Agent 提供默认值,可在个人 settings.json 的 env 中合并。macOS/Linux 的路径是 ~/.claude/settings.json,Windows 是 %USERPROFILE%\.claude\settings.json。仅对当前项目生效时可用 .claude/settings.local.json;手动创建时加入忽略规则,避免把个人凭证提交到仓库。
{
"env": {
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-haiku-5-5"
}
}
这是默认值,会被更高优先级设置覆盖。官方还明确说明,单独设置这个变量不会改变内置 Explore 和 Plan 的模型。
如果你已评估任务质量,希望统一覆盖子 Agent、teammate 和 workflow agent 的模型,可使用以下强制配置:
{
"env": {
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-haiku-5-5",
"CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1"
}
}
强制模式需要 v2.1.257 或更新版本。它会忽略子 Agent 定义中的模型选择,并限制调用方另选模型;fork 和以 model: inherit 运行的 skill 子 Agent 仍有例外。不要把它写成“任何子任务都一定使用 Haiku”。强制模式说明
只希望降低 Explore 的模型档位时,还可以定义同名的 Explore 子 Agent 覆盖内置定义,并设置 Haiku。这个做法会接管其定义,需自己维护提示和工具限制;若只需日志分析,前面的 log-triage 更便于控制范围。
修改现有文件时合并 env 字段,保留原来的配置。撤销强制模式时删除 CLAUDE_CODE_SUBAGENT_MODEL_FORCE,需要恢复普通继承时一并删除默认模型变量,再重启并用 /tasks 复核。
用什么任务判断是否值得保留
先选可以直接检查的工作:提取失败日志、定位函数、汇总文件中的配置项。把跨文件修复、复杂根因判断和架构决策留给另一次评估,避免一次把所有子 Agent 都切换。
记录同一批任务的正确项、遗漏、耗时、输入/输出、缓存、重试和人工修正时间。模型单价低只会降低相应请求的费用;主会话读入子 Agent 结果、重新调查和修复的成本仍要计算。每个通过验收任务的费用,可用本轮全部调用费用除以通过的任务数,并另列人工时间。
从一个只读子 Agent 开始。确认实际型号、引用正确且任务范围可控之后,再考虑是否扩大默认设置。
相关资料
如果还在判断哪些步骤适合交给小模型,可先看 Haiku 5.5 的编程用途与迁移变化。需要核算长对话和缓存费用时,使用 Haiku 5.5 API 价格说明中的计费口径。



