AI 编程爽是爽,账单也很「爽」。尤其是自动循环(/loop)任务——它会一遍遍迭代直到达标,一旦标准定得含糊,就成了无底洞。8 月 24 日发布的 Claude Code v2.1.243 专门补上了这块短板:/usage 新增 Loops 明细,每个循环任务跑了几次、烧了多少 Token 一目了然;配套的 modelPicker 让你把模型列表精简到真用得上的几个,promptCacheTtl 把缓存时长调到最优。本教程 6 步把这些能力全部用起来。
先搞懂:AI 编程的钱到底烧在哪
Claude Code 的 Token 消耗主要有三个去向,v2.1.243 之前你只能看到总数,现在能拆开了:
| 消耗去向 | 是什么 | 本次更新后 |
|---|---|---|
| 主对话 | 你和 AI 的直接对话轮次 | 可在 /usage 按会话查看 |
| 子代理(subagent) | 拆给专门子代理干活的消耗 | 可单独控制缓存时长 |
| /loop 循环任务 | 自动迭代直到达标的任务 | 新增 Loops 明细:次数、Token、单次成本 |
重点盯 /loop:循环任务是最容易「跑飞」的——它不需要你逐轮确认,标准不清就会无限迭代。v2.1.243 的 Loops 明细就是为这个场景设计的。
Step 1:打开 /usage 看全景账
在 Claude Code 里输入:
/usage
你会看到:
· 本次会话 Token 消耗(输入 / 输出 分开计)
· 各模型占比
· 新增:Loops 明细板块
Loops 明细每行包含:
· 循环任务名(loop 的标题)
· 运行次数(run count)
· 总 Token / 每次平均 Token
· 最近一次运行时间
先整体扫一遍,标记出「次数多 + Token 高」的循环。
Step 2:揪出跑飞的循环任务
判断标准很简单——看三个数字的组合:
危险信号 1:运行次数特别多(几十上百次)
危险信号 2:单次平均 Token 很高(反复重跑大上下文)
危险信号 3:任务结果一直不「达标」
定位到之后,处理三步走:
1. 终止该 loop(Ctrl+C / 输入 stop)
2. 检查它的成功标准:标准越客观越具体,
AI 越早能判断「完成」——比如
❌「把代码改好」→ 无法收敛
✅「通过 npm test 且无 ESLint 报错」→ 可判定
3. 标准写好后重新跑,并再次用 /usage 复核消耗
参考《预算护栏》思路:跑循环前先在心里设一个
「最多重试 N 次 / 最多花 N 万 Token」的心理上限。
别急着删任务:Loops 明细里的「最近运行时间」能帮你判断——如果是历史遗留的旧任务,直接忽略;只有最近还在高频消耗的才需要处理。
Step 3:用 modelPicker 精简模型列表
v2.1.243 新增 modelPicker 设置:你可以定制 /model 选择器,放一个有序、带标签的模型列表,覆盖或追加内置列表。好处是防止手滑选到贵模型,也省去每次翻找。
在 settings.json 里配置(JSON 示例):
{
"modelPicker": [
{"name": "日常快跑", "model": "claude-sonnet-4-5", "label": "性价比"},
{"name": "复杂重构", "model": "claude-opus-4-6", "label": "强能力"},
{"name": "大上下文", "model": "claude-haiku-4-5", "label": "省钱"}
]
}
说明:
· 任意模型 id 拼写都行(含 Vertex / Bedrock id)
· 列表会「追加或替换」内置列表,视配置而定
· label 字段是显示名,方便团队统一口径
配好后 /model 只会出现这几个选项,
误选贵模型的概率直接归零。
Step 4:调优 prompt 缓存 TTL
v2.1.243 新增 promptCacheTtl 与 subagentPromptCacheTtl 两个设置:API Key 用户和云供应商用户可以把主对话的提示词缓存保留 1 小时,子代理的缓存单独控制(默认建议 5 分钟)。缓存命中意味着重复的上下文不用重新计费。
settings.json 示例:
{
"promptCacheTtl": 3600, // 主对话缓存 1 小时(秒)
"subagentPromptCacheTtl": 300 // 子代理缓存 5 分钟
}
调优建议:
· 长会话、反复读大文件 → 主对话 TTL 调大(3600)
· 子代理频繁换任务 → 子代理 TTL 保持短(300),
避免缓存失效却还占内存
· 短平快任务 → 都可缩短,省内存不省事
缓存原理可参考《DeepSeek 前缀缓存》教程:
命中率越高,单价越低。
注意适用条件:缓存 TTL 主要面向 API Key 与云供应商计费模式;订阅制(Pro/Max)用户本就把缓存包含在套餐里,此项调节收益有限,按需配置即可。
Step 5:keyless 登录与组织治理
v2.1.243 还带来两项组织级能力,适合团队统一管控:
1. keyless sign-in(无密钥登录)
/login 支持通过 Anthropic Console 登录,
适合「组织不允许分发 API Key」的场景
——人走 Key 失效,账号权限集中回收
2. modelPricing 托管设置
组织可统一维护模型价格,
让 /usage 的成本估算更贴近真实账单
3. 启动提速
沙箱与 MCP 初始化不再阻塞首帧,
冷启动更快——顺手就把「空转等待」的时间成本省了
配置路径:settings.json 或组织的托管配置下发。
Step 6:把成本巡检变成习惯
每周成本体检清单:
□ 打开 /usage,看本周 Loops 明细
——有没有新增跑飞任务?
□ 对比上周:总 Token 涨了还是降了?因为什么?
□ 检查 modelPicker:列表里有没有该删的模型?
□ 检查缓存命中情况:大任务前缓存生效了吗?
□ 团队周会同步:谁的任务最烧钱,为什么?
一个简单的环比记录(记事本即可):
周次 | 总Token | 循环任务数 | 主要消耗项 | 采取措施
如果连续两周没有改善,就该动手改
成功标准 / 换更便宜的模型 / 关掉低价值任务。
常见问题速查
| 你遇到的现象 | 大概率原因 & 解决 |
|---|---|
| /usage 里没有 Loops 明细 | 版本低于 v2.1.243;执行更新后重启 |
| modelPicker 配置不生效 | 检查 JSON 语法与字段名(label/name/model);确认 settings.json 路径正确 |
| 缓存命中率低 | 任务上下文变化太大;拆成稳定上下文 + 变化指令两段,缓存更易命中 |
| 循环任务还在跑飞 | 成功标准不够客观;把「验收条件」写成可执行的命令/断言,而不是形容词 |