到底是什么原因呢?
Anthropic 的 Claude Code 团队成员亲自发帖求助调试,收集了一批用户的 session 日志之后,给出了结论。大部分莫名其妙耗尽不是 bug,是工作流在烧钱。
头号Token杀手Subagent
每启动一个子代理,包括 Task 工具、Plan/Explore 代理、自定义子任务都会单独开一个新 session,不共享主上下文,独立消耗 token。
有个真实案例,某用户一周内启动了 169 个 subagent,合计消耗 2.26 亿 tokens,平均每个 session 85 万 tokens。
你以为就点了一下 Enter,背后实际上是 5 个子任务全开 extended thinking 在跑,自然Token消耗是指数级的。
第二个自动化脚本。
一个每 5 分钟跑一次的监控任务,单次看起来只用几千 tokens,一天下来直接爆炸。
包括watcher、自动 deploy、自定义 harness,即使你没在主动操作,它们也在默默吃订阅额度。
另外多代理协作整体消耗可达普通 session 的 7 倍以上。
长会话不 compact,历史越长每次新消息重新处理全部上下文,消耗呈指数增长。
再就是频繁项目切换,每次都重新加载大量历史。
虽然官方给出了分析的报告,但是目前的后台显示依然是黑箱,不透明。
民间已经出手了
社区里已经有人写了分析脚本。
一个叫 kieranklaasse发者发了一个 Python 脚本,直接读 ~/.claude/projects/ 下的 JSONL 日志,按项目、按 session、按子 agent 分别统计 token 用量,还能提取每条人类 prompt 的文本。
本质上就是把 Claude Code 自己存的日志翻出来,做了一个 Anthropic 本该提供的视图。
用法也简单:
python3 token_analysis.py
# 或者只看最近 7 天
SINCE_DAYS=7 python3 token_analysis.py
输出是按 token 消耗排序的项目列表,最贵的几个 session 会单独列出来,第一条 prompt 也给你展示,方便对照着想,这活值这个价吗。
透明度
用户当然无理闹事,他们只是想看见钱花到哪了。
我们可能要等待后期的官方更新,把具体的落实到每一个维度的消耗给完整的体现出来,起码每条消息显示消耗量、按对话维度拆分用量、子 agent 调用链可视化。
只有这些功能做出来,才不至于到处灭火。