Claude Code Subagent 真的省 Token 吗?我看了 327 个真实会话
Subagent 的卖点是"独立上下文不污染主线程"——听上去省 token。但 Vibe Usage 上 327 个 Claude Code 用户的真实数据告诉我,subagent 用得不对反而更贵。
Subagent 是 Claude Code 的高级特性——主线程派一个子任务给独立上下文,子上下文跑完返回结果。
理论上"独立上下文不污染主线程"应该省 Token。但实际数据告诉我:Subagent 用得不对,反而比主线程直接做更贵。
这篇用 327 个 Claude Code 真实用户的数据告诉你 Subagent 真省钱的边界。
数据先放出来
我看 Vibe Usage 上 30 天的 Claude Code 数据:
- 327 个用户里使用 Subagent 的:约 89 人(27%)
- Subagent 用户的人均月消耗:1.92 亿 token
- 不用 Subagent 的人均:1.43 亿 token
Subagent 用户消耗比不用的 多 34%。
数字不撒谎——使用 Subagent 不一定省钱。但这个对比有偏置(Subagent 用户本身可能就是重度用户)。我们要看更细的数据。
真正影响的不是用不用,是怎么用
我把 89 个 Subagent 用户分两组:
组 A:高频使用 Subagent(每周 > 10 次)
- 30 个用户
- 人均月消耗:2.4 亿
- 单 subagent 调用平均消耗:65K token
组 B:低频使用 Subagent(每周 < 5 次)
- 59 个用户
- 人均月消耗:1.6 亿
- 单 subagent 调用平均消耗:42K token
高频用户单次调用消耗高 55%。原因是他们倾向"凡事都派 subagent"——每个小任务都开独立上下文,每次都付重建上下文的成本。
Subagent 的真实成本结构
每次 spawn subagent 包含:
- Subagent 自己的系统提示(约 3-5K token)
- 从主线程传过去的 context(你显式传多少就多少)
- subagent 自己读的文件 / 跑的工具(5-50K)
- subagent 的 reasoning + output(1-10K)
总成本一次 subagent 调用大约 10-70K token。如果你用 subagent 替代主线程的"读一个文件 + 给个建议"——这个成本是不必要的。
Subagent 真省钱的场景
不是说 subagent 没用。但它只在特定场景省钱:
1. 主线程上下文已经超长
主线程累计 input 已经 50 万 token。这时候让主线程多读一个文件多花 50 美分。但 spawn 一个 subagent 跑同样的事 5 美分——节省明显。
2. 任务有清晰边界、不依赖主线程历史
比如"格式化这个文件"、"跑一遍 lint 报告问题"——这些任务和主线程在做的事无关。subagent 隔离反而合适。
3. 需要并行
主线程让 3 个 subagent 同时分析 3 个不同文件——并行节省时间,单 subagent 成本可控。
Subagent 不省钱(甚至更贵)的场景
1. 短主线程下的小任务
主线程才 5 万 token,subagent 一开就是 15K token 起步——不如主线程直接做。
2. 任务依赖主线程上下文
subagent 需要"知道前面的设计原则"——你必须把主线程相关历史传过去。传 30K token 给 subagent,再 subagent 跑 30K token 完成任务——总 60K,比主线程直接做(多 8K)贵 7 倍。
3. 一次性、低频任务
只跑一次的事,没有 amortize 优势。subagent 的固定开销(系统提示)每次都要付。
怎么判断
我自己的简单决策:
| 主线程当前累计 token | 任务是否依赖主线程 | 推荐 |
|---|---|---|
| < 30万 | 是 | 主线程做 |
| < 30万 | 否 | 主线程做(成本差不多) |
| 30万 - 100万 | 是 | 主线程做或精简 context 后 subagent |
| 30万 - 100万 | 否 | Subagent |
| > 100万 | 任意 | Subagent(或先 compact 主线程) |
真实节省案例
我有一个 monorepo 项目,单 session 累计经常 80 万 token。我之前每次想跑 lint 都让主线程做——每次让 input 涨 30K,后续每条消息都贵。
切到"lint 用 subagent"之后:
- 主线程不再被 lint 结果污染
- 每次 lint 单独 subagent 调用,约 12K token
- 主线程后续消息每条节省 30K input
每次会话省 5-15 美分。一天跑 5 次会话省 0.25-0.75 美元——一个月省 7-22 美元。值。
但如果我的 session 一般只 10 万 token,这个优化基本没意义。
怎么验证你自己的 Subagent 是不是在省钱
- 你过去 30 天 Subagent 调用次数
- 每次 Subagent 的平均 token 消耗
- 这部分占你总消耗多少
如果 Subagent 占比超过 30%,且你 Claude Code 总消耗反而高于群体均值——你可能在滥用 Subagent。
我自己的数据:Subagent 占比 12%,消耗 18 美元 / 月——折算下来比"不用 subagent"的对照组省了约 8 美元 / 月。这是真实节省。
结论
Subagent 不是 silver bullet——它是有专门用途的工具。
用对了:长 session、独立任务、需要并行。这种场景下能省 10-30%。
用错了:短 session 强行抽象、依赖主线程上下文。这种场景下反而贵 30-50%。
用 Vibe Usage 看你自己的真实情况——决定是要更用 Subagent 还是少用。