学习精选 · AI 工具
Claude 与 Skill

实测 10000 次请求:Claude Code 冷会话为什么比热会话贵 12–80 倍

DEV Community2026-11-13约 4 分钟读完AI 整理查看原文

作者分析了自己 50 多个 Claude Code 会话、约 10000 次 API 请求,发现离开一段时间后的第一条消息会触发缓存重载,成本是普通热请求的 12 到 80 倍。会话越大,冷重载占总成本的比例越高:600k token 以上的会话有 60–66% 的花费都花在休息后的第一条消息上。文章给出三条可落地的规则来省额度。

今天就能做

  • 午休或开会前,趁缓存还热先跑 /compact,或者给 1 小时缓存的会话发条短消息续命
  • 冷着回来且会话很大时,直接 /clear 开新会话,写一份简短交接文档带上关键上下文
  • 用 ~/.claude/projects 下的 JSONL 文件让 Claude Code 帮你统计自己的冷重载比例,看看额度都花在哪了

为什么离开回来后的第一条消息特别贵

  • 模型不记得任何东西,每次发消息都会把整个对话(系统提示、项目上下文、所有历史消息和工具结果)重新发送一遍
  • API 用 prompt caching 缓存未变化的部分,缓存读取远比正常输入便宜,但缓存有 TTL,停止请求后计时器走完就失效
  • 订阅计划内主对话用 1 小时缓存,API key 或用量积分则是 5 分钟——一杯咖啡就能让 5 分钟缓存变冷
  • 缓存过期后第一条消息要全价重读并重写整个上下文,缓存写入比正常输入还贵,这就是「冷会话税」

不同模型的冷重载倍数和真实账单

  • Haiku 4.5 及多数旧模型:缓存读取为正常输入的 0.1 倍,1 小时缓存冷重载约 20 倍,5 分钟缓存约 12.5 倍
  • Sonnet 5.5 和 Opus 5.5:读取为 0.05 倍,冷重载约 40 倍(5 分钟缓存 25 倍)
  • Fable 5.1:读取为 0.025 倍,冷重载高达 80 倍(5 分钟缓存 50 倍)
  • 实际例子:241k token 的 Opus 5.5 会话,热请求读上下文约 5 美分,午饭后第一条消息重写约 1.93 美元,相当于 40 次热请求
  • 订阅用户看不到美元,但重载同样消耗 5 小时和每周限额——如果你休息后额度用得特别快,多半是这个原因

10000 次请求的三个意外发现

  • 大会话没想象中贵:500k 会话的每次热请求只比小会话贵 2–3 倍,不是 10 倍,因为新 token 和输出才是每条请求的大头
  • 钱都花在休息上:100k 以下会话冷重载约占总成本 21%,500k 时超过 40%,600k 以上达 60–66%
  • 一条「消息」其实是 5–10 次 API 请求:agent 读文件、跑命令、改代码每步都是一次请求,中位数 5 次、平均 10 次
  • 会话变大并没有让 agent 变笨——800k 以上重复读文件仍只有 1–2%;但切换任务后重复读取和纠错大约翻倍

三条省钱规则

  • 规则一:离开前趁缓存还热处理大会话。/compact 趁热执行时从缓存读历史很便宜,休息后再执行就要全价重跑;1 小时缓存还可以在到期前发一条短消息续命
  • 规则二:冷着回来就开新会话。claude --resume 本身免费,此时可以决定 /clear 重开,带上一份几百到 1500 token 的交接文档:目标、相关文件、已完成、下一步、已否决的方案
  • 新会话起步约 50k、摸索再花 40k,但按每条请求都背着大上下文算,大约 7–12 次请求就回本,也就是一两条 prompt 的功夫
  • 规则三:小会话不用讲究。30k token 的会话冷重载依然便宜,别把仪式感浪费在小会话上

一分钟检查你自己的会话

  • Claude Code 把每个会话存成 ~/.claude/projects 下的 JSONL 文件,每条回复的 usage 记录包含上下文大小、时间戳和缓存时长(5 分钟或 1 小时)
  • 如果两条回复之间的间隔超过缓存寿命,那条回复就是一次冷重载
  • 最简单的方法是开一个新会话,让 Claude Code 写 Python 脚本分析这些 JSONL 文件(不要把记录读进上下文,也不要打印消息内容)

原文:How to use Claude Code's prompt cache to stretch your weekly limit

来源:DEV Community · 2026-11-13

查看原文

本文由 AI 阅读原文后整理,未经人工逐字核对,内容以原文为准。

登录后可以点赞、查看和发表评论