开多个 Agent 后 Claude Code 账单翻了四倍,一个配置解决了
Claude Code 多 Agent 成本陷阱:你以为是一个对话,其实背后开了三个“小号”
当你打开 Claude Code,让它帮你重构一个 Spring Boot 模块时,你以为这只是一次简单的对话、一个 API 调用。但真相往往更复杂:Claude Code 在后台悄悄启动了三个独立的子 Agent——一个负责扫描代码结构,一个分析依赖关系,另一个执行具体修改。每个子 Agent 都是一个独立的 Claude 实例,各自消耗 token,各自单独计费。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
结果就是,你的一次“轻量级任务”,账单金额可能直接乘以三。
好消息是,这个问题有个不需要修改代码的解决方案:将子 Agent 的后端模型单独指向成本更低的 DeepSeek V4-Flash,而主 Agent 继续使用推理能力更强的 V4-Pro。配置完成后,跑同样的多 Agent 任务,账单能从原来的水平大幅下降,效果却基本没有差别。
下面就是具体的配置方法,以及几个容易踩的坑。
Claude Code 开 Agent 的方式和你想的不一样
在进入具体配置之前,有必要先搞清楚一个关键事实:Claude Code 的多 Agent 机制并非由用户手动“启动”,而是系统自动决策的。
当你发出一项指令,Claude Code 会自行判断这个任务是否需要并行处理。如果需要,它会自动拆分子任务,创建多个独立的 Agent 实例同时运行。这些子 Agent 拥有自己的工具权限、独立的上下文窗口,彼此之间不可见,完成任务后只将结果汇报给主 Agent。
Claude Code 内部有一套模型路由逻辑:复杂的推理任务会分配给“Opus 级”模型,标准任务用“Sonnet 级”,而快速查询和子 Agent 任务则使用“Haiku 级”。这三个级别是相对的,具体映射到哪个实际模型,由环境变量决定。
在没有任何额外配置的情况下,所有模型级别默认都映射到 Anthropic 最新的 Claude 系列。子 Agent 使用的 Haiku 系模型虽然比 Sonnet 便宜,但当一个任务开出 3-5 个子 Agent,每个都拥有独立的上下文时,量变引发质变,成本累积起来会非常快。
另一个更容易被忽视的陷阱是:如果你只配置了ANTHROPIC_BASE_URL指向 DeepSeek,但没有明确指定子 Agent 使用哪个模型,Claude Code 在内部路由时,可能会把子 Agent 也路由到 V4-Pro——这意味着它们和主 Agent 一样昂贵,但实际上只是在执行读文件、搜索这类简单任务。

图:Claude Code Agent 三层模型路由架构,主 Agent 与子 Agent 分别绑定不同 DeepSeek 模型
关键配置:子 Agent 单独路由到 DeepSeek V4-Flash
这是整篇文章最核心的操作部分。
DeepSeek 提供了一个与 Anthropic 兼容的 API 端点,Claude Code 只需要修改两处:把 API 基础地址改成 DeepSeek 的,然后指定各个模型级别对应的 DeepSeek 模型名称。
打开你的 shell 配置文件(~/.zshrc或~/.bashrc),添加以下内容:
# DeepSeek API 基础配置
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_API_KEY="sk-你的 DeepSeek API Key"
# 主 Agent:V4-Pro 保证推理质量,附加 [1m] 解锁 1M 上下文
export ANTHROPIC_MODEL="deepseek-v4-pro[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-v4-pro[1m]" # Opus 级 → V4-Pro
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-v4-pro" # Sonnet 级 → V4-Pro
# 子 Agent:V4-Flash,速度快、成本低
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4-flash" # Haiku 级 → V4-Flash
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-v4-flash" # 显式绑定子 Agent 模型
# 避免复杂推理超时(V4-Pro 长任务可能超过默认 2 分钟)
export CLAUDE_CODE_API_TIMEOUT_MS="600000"
保存后执行:
source ~/.zshrc
有几个细节需要特别注意:
[1m]不是一个可选的装饰符——如果不加它,DeepSeek V4-Pro 默认只有 200K 上下文。在多 Agent 任务中,主 Agent 需要跟踪所有子任务的结果,200K 很容易不够用。
ANTHROPIC_DEFAULT_HAIKU_MODEL控制的是 Claude Code 内部所有“Haiku 级别”调用的实际模型,包括内置的 Explore 子 Agent。修改了这个变量,代码探索类任务就会自动走 V4-Flash 了。
CLAUDE_CODE_SUBAGENT_MODEL是额外的保险措施——两个变量同时配置,确保自定义 Agent 和内置 Agent 都使用 V4-Flash。
图:单模型 vs 分层路由,5 个 Agent 场景下的实际成本对比
验证配置正确
配置完成后,首先在命令行里确认环境变量是否生效:
# 检查两个关键变量
echo $ANTHROPIC_BASE_URL # 应该输出 https://api.deepseek.com/anthropic
echo $CLAUDE_CODE_SUBAGENT_MODEL # 应该输出 deepseek-v4-flash
如果输出为空,说明source ~/.zshrc没有生效,或者变量写在了错误的配置文件里(macOS 默认用.zshrc,部分旧系统可能是.bash_profile)。
然后启动 Claude Code,执行一个会触发文件探索的任务:
claude "扫描当前目录的 .ja va 文件,给我一个类名列表,并告诉我你用的是什么模型"
收到正常响应后,前往 DeepSeek 控制台查看 Usage 记录。如果账单里同时出现了deepseek-v4-pro和deepseek-v4-flash两种模型,说明分层路由已经在工作了——文件扫描走的是 Flash,你的主对话走的是 Pro。
如果只看到一种模型,检查一下CLAUDE_CODE_SUBAGENT_MODEL是否真的设置成了deepseek-v4-flash,或者任务太简单没有触发子 Agent 创建(可以换一个更复杂的多文件任务进行测试)。
给自定义 Agent 单独指定模型
Claude Code 允许用户使用 Markdown 文件定义自己的 Agent(放在.claude/agents/目录)。文件的 YAML frontmatter 里有个model字段,可以直接写死使用哪个模型,从而覆盖全局配置。
例如,代码审查类 Agent 通常不需要深度推理,使用 V4-Flash 完全足够:
---
name: code-reviewer
description: |
代码质量审查专家。适合在 PR 合并前对具体文件做深度审查。
当你需要检查安全漏洞、性能问题或代码规范时调用。
model: deepseek-v4-flash
tools:
- Read
- Bash
---
你是一个专注代码质量的 reviewer,检查以下四个维度:安全漏洞、性能问题、代码规范、测试覆盖。每个问题标注 [CRITICAL] / [WARNING] / [SUGGESTION],提供具体行号和修改建议。
而对于需要进行架构分析、技术选型权衡这类需要深度推理的 Agent,则可以明确指定 V4-Pro:
---
name: architect
description: 系统架构设计和技术选型。需要分析多个方案权衡时调用。
model: deepseek-v4-pro[1m]
tools:
- Read
- WebSearch
---
你是一个系统架构师,擅长分析权衡、给出有立场的技术建议。
这种方式把模型路由决策写进了 Agent 定义,比依赖全局环境变量更清晰,代码 review 时也一目了然。
图:多 Agent 任务中不同类型请求的路由流程
成本账单:改了之后省多少
用实际数字说话。
假设一个场景:重构一个有 15 个文件的 Spring Boot 服务,Claude Code 自动启动了 4 个子 Agent(2 个 Explore,1 个 General-purpose,1 个 Plan),主 Agent 负责协调和最终修改。总计约 240 万 tokens,输入/输出比约 7:3。
折扣到期之后,分层路由配置的成本依然是 Sonnet 单一配置的 1/17。
而且 V4-Flash(0.28)比 Claude Haiku 4.5(4.00)还便宜一个数量级。就算不考虑折扣,把子 Agent 从 Haiku 换到 V4-Flash,每次多 Agent 任务还能额外节省 70% 以上的成本。
踩坑记录
坑 1:V4-Pro 不支持图片输入
DeepSeek 的 Anthropic 兼容端点目前不支持 image/document 类型的内容块。如果你的工作流中涉及截图、UI 稿、日志截图,那部分任务会拿到空白内容,而且没有报错,只是模型什么都没看到。
临时解法:对于包含图片的任务,可以在命令里加上--model claude-sonnet-4-6临时切换回最新的 Claude 模型;或者使用claude-code-router(在 GitHub 搜索musistudio/claude-code-router),它可以根据请求中是否包含图片自动路由。
坑 2:模型名写错不报错,会静默 fallback
DeepSeek 的 Anthropic 端点在遇到不认识的模型名时,会静默 fallback 到deepseek-v4-flash,不会返回错误。如果你以为在运行 V4-Pro 但实际上跑的是 Flash,账单会减少,但任务质量也会下降——而你很可能感觉不到异常。配置完成后,务必去控制台看一眼实际调用的模型名称。
坑 3:[1m]不加就只有 200K 上下文
deepseek-v4-pro和deepseek-v4-pro[1m]是两个不同的路由结果。不加[1m],上下文窗口只有 200K,在多 Agent 协调任务中,主 Agent 很容易撑满,导致任务跑到一半被截断。
坑 4:Agent YAML 里的model字段区分大小写
写成Model:会被当作普通文本忽略,不会生效。必须是小写的model:。这个问题曾经让人调试了半天才发现。
坑 5:ANTHROPIC_BASE_URL末尾不能加/v1
标准的 OpenAI 格式 base URL 通常是https://api.example.com/v1,但 DeepSeek 的 Anthropic 兼容端点是https://api.deepseek.com/anthropic,不包含/v1。加上/v1会返回 404 错误。
常见问题
Q: 折扣到 5 月 5 日就结束了,结束之后还有必要保持这个配置吗?
A: 有必要。折扣结束后,V4-Pro 原价是3.48,V4-Flash 是0.28。用 Flash 跑子 Agent 比用 Claude Haiku 4.5(4.00)还便宜。分层路由策略的价值并不依赖折扣,折扣结束后依然成立。
Q: oh-my-claudecode 这类工具和这套配置兼容吗?
A: 兼容。OMC 的ultrawork和ralph模式底层还是走 Claude Code 的 Agent 框架,会读取CLAUDE_CODE_SUBAGENT_MODEL和ANTHROPIC_DEFAULT_HAIKU_MODEL这些变量。按照本文配置好之后,OMC 运行多 Agent 任务也会自动路由到 DeepSeek。
Q: Agent YAML 里不指定 model 字段,会用什么模型?
A: 按照全局环境变量的路由逻辑。Claude Code 会根据 Agent 的 description 和 tools 判断任务复杂度,决定使用 Opus/Sonnet/Haiku 哪个级别,再映射到你设置的 DeepSeek 模型。文件读取类的 Agent 通常走 Haiku 级,也就是 V4-Flash。
Q: 有没有办法不改 .zshrc,只在特定项目里用 DeepSeek?
A: 有。在项目的.claude/settings.json里添加env字段:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_API_KEY": "sk-你的Key",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash"
}
}
这样配置只对当前项目生效,不会影响其他项目的配置。
Q: 这套配置会影响 Claude Code 的 Hooks 吗?
A: Hooks 是本地脚本,不走模型 API,因此不受影响。受影响的是所有需要调用模型的操作:对话、子 Agent、Plan 模式。如果发现某个功能行为异常,可以临时注释掉环境变量进行回归测试。
说实话,这套配置并没有什么高深的地方,本质上就是把 Claude Code 内部的“模型级别 → 实际模型”映射重新指向了一遍。但很多人不知道这个路由层的存在,在默认配置下,子 Agent 的模型没有被单独控制,多 Agent 任务一跑起来,账单就超出预期了。
知道了背后的原理,成本控制就变成了一件可以精确操作的事情。
下一篇打算把claude-code-router的完整配置拆解一遍,它能根据请求内容自动选择后端——有图片走 Claude,纯代码走 DeepSeek,这个组合解决了当前方案中图片不支持的短板。感兴趣的话可以关注一下。
如果你团队里有人在用 Claude Code 做多 Agent 任务,这篇文章可以直接转给他,省得再折腾一遍。
相关攻略
需求人群 先别管技术名词怎么说,咱们直接来看,谁最需要这类工具。简单来说,就是被各种具体任务“缠身”的朋友们。无论是日常工作中要处理一堆文本,搞点创意文案,写几行代码,还是得从数据里看出点门道,都能派上用场。覆盖面其实相当广,毕竟这些活儿,在今天的职场上可太常见了。 产品特色 那么,它到底能帮你做什
平滑切换至Hermes Agent需四步:一、用hermes claw migrate自动迁移配置;二、CLI执行hermes setup --from-claude-code重定向配置;三、hermes skill import逐项复用技能;四、claude export导出记忆快照并由herme
优先推荐这 10 个 Skill 给 Claude Code 挑选 Skill,这事儿其实有个窍门。别光看名字炫酷,关键得看两样:出品方靠不靠谱,以及你自己是不是真的会高频用到。那些听起来无所不能,但具体什么时候该用它、怎么触发都模棱两可的,建议先放一放。在编程这个具体场景里,用途清晰、在开发者圈子
事故起因 事情是怎么开始的呢?说来令人难以置信。当时,那个由Claude Opus 4 6驱动的Cursor AI编程Agent,正在PocketOS的预发布环境里执行一项常规任务。它遇到了一个凭据不匹配的问题。按常理,这时候它应该停下来,举手向人类管理员求助。但实际情况是,它没有。这个Agent自
谷歌被曝正使用 Anthropic 的 Claude 模型来改进其 Gemini AI 一桩科技圈内幕最近浮出水面。根据 TechCrunch 获取的内部通信记录显示,参与优化谷歌 Gemini 模型的承包商们,正手握一把特殊的“标尺”——他们频繁地将 Gemini 的回答与 Anthropic 旗
热门专题
热门推荐
荣耀400 Pro正确关机全指南:从常规操作到故障应对详解 需要关闭您的荣耀400 Pro手机?日常操作其实非常简便。只需长按位于机身右侧的电源键约3秒钟,屏幕上便会浮现一个简洁的半透明菜单,其中明确列出了“关机”、“重启”以及“紧急呼叫”选项。直接点击“关机”,系统将启动一次10秒的安全倒计时,随
红米K30 Pro后盖拆解教程:专业工具与细致手法的完美结合 红米K30 Pro的后盖采用了高强度背胶配合隐藏式螺丝的双重固定设计,想要实现无损拆解,绝非依靠蛮力可以完成。整个操作流程对加热温度、撬启手法以及清洁标准都有严格要求,任何环节的疏忽都可能导致部件损伤。具体而言,其后盖边缘使用了耐高温的工
无需Root权限:三星Galaxy Z Flip系列电量数字显示设置全解析 很多三星折叠屏手机用户都想知道,如何在状态栏直接查看精确的电池百分比数字,是否必须获取Root权限才能实现?实际上完全不需要。三星自Galaxy Z Flip 5、Z Flip 4等主流机型开始,已在系统层面内置了这一实用功
笔记本开机自检信息虽不直接标注“DDR3”或“DDR4”,但联想、戴尔、华硕等品牌BIOS画面常以“PC3-”或“PC4-”编码间接揭示内存代际。UEFI自检显示的内存频率(如2400MHz 3200MHz)结合JEDEC规范可辅助推断:PC3对应DDR3,PC4对应DDR4。更高精度的识别方案包括
空调制冷不足怎么办?先别急着维修压缩机,这些问题更常见 夏天开空调却感觉不够凉爽?很多朋友的第一反应是压缩机坏了,其实压缩机故障的概率相对较低。根据维修行业的大数据统计,绝大多数制冷效果不佳的情况,源于几个容易被忽略的日常维护与环境因素。滤网积尘、制冷剂泄漏、外机散热不良才是真正的高发原因。盲目更换





