长会话把整段历史反复重送:终端里看不见的输入令牌账单
长会话里每轮补全都重送整段历史
在 Claude Code 里连续改一小时代码,聊天窗口看着只有二十几轮,账单上的输入令牌却是这二十几轮的累加,因为你每按一次回车,模型收到的都是完整对话历史加上所有工具输出。很多人只盯着每百万输入令牌的单价,从没算过这段历史被重复发送了多少次。
假设每轮历史有两万令牌,跑五十轮就是一千万输入令牌,单价再便宜也会盖过一次单独的大任务。真正省钱的杠杆是让历史保持在模型真正需要的范围内,而不是等上下文被塞满之后,再为那坨已经读过很多遍的文字反复付费。
- 每轮请求都会重新计算整段对话历史,长会话的成本随轮次快速增长而不是只算一次。
- 把与当前任务无关的旧讨论留在上下文里,等于让模型每一轮都重新读一遍它们。
- 在开始一次大重构之前主动开新会话,通常比在旧会话里继续追加提示更省钱。
只看输入单价,漏掉缓存读取和缓存写入
很多报价表只写输入和输出两列,于是有人按最便宜的输入价估算长会话,结果月底发现账单高出一截。真实计费里还有缓存写入和缓存读取两项,前者是一次性的建立成本,后者在每一轮请求里都会发生,命中率直接决定你的账单形状。
这也是我在 Fluxo 上看得最清楚的地方:它按真实令牌计费,缓存读取和缓存写入都算在内,没有月费,也不会把这笔成本藏进套餐里。想自己验证的话,用 Claude Haiku 4.5 跑同一段长会话,再用 DeepSeek V4 Flash 跑一遍,对着用量面板就能看出缓存命中比例对成本的影响。
- 稳定不变的系统提示和工具说明放在请求开头,更容易让缓存前缀命中并降低每轮成本。
- 频繁在请求最前面插入时间戳或随机标识,会破坏前缀命中,让每一轮都重新写入缓存。
- 评估不同模型时把缓存读取价格一起算进去,只比较裸输入单价会得出错误结论。
把整份日志和整个文件丢进上下文
出问题的时候最顺手的动作,就是把堆栈加上最近几千行日志一起粘进去,这一下可能就是几万输入令牌,而且它们在之后每一轮都会被重新发送。更糟的是这些文本里大部分和当前问题无关,模型还得在噪声里找线索,响应质量反而下降。
我的做法是先在终端里做减法,再把结果交给模型。用 grep 定位到出错的那几行,用 git diff 只看这次改动,用 head 和 tail 截出关键区间,必要时自己写一句摘要代替原始日志。工具输出同理,能只返回字段就别返回整个对象。
- 粘贴原始日志之前先用命令行筛出时间窗和错误关键字,去掉重复行和无用的堆栈。
- 把整个文件交给模型之前考虑附上精确的行号区间,让模型按需读取而不是全量接收。
- 工具结果里那些大段 JSON 响应应当在服务端裁剪成模型真正要用的字段再返回。
让失败的请求和重试循环也计费
长会话里还有一个隐形开销:工具调用失败、解析报错,以及为了让模型改口而做的反复重试,每一次都要带上完整历史,每一次都算输入令牌。你在屏幕上只看到模型终于给对了答案,账单上却是四五轮同样的上下文。
另外,换便宜模型重跑也不一定省钱。比如 Claude Opus 5.5 在复杂重构里一次到位,而小模型来回改三轮,把三轮的长历史都算上,总成本可能更高。判断便宜与否要看总令牌,不是看单轮价格。
- 给工具调用设置明确的失败预算,超过次数就停下来报告,而不是无限重试消耗历史。
- 重试前先把上一次的错误摘要写进提示,避免让模型重新阅读同样的失败上下文。
- 把输出格式约束一次性说清,减少模型因为格式不符而进行的额外修正轮次。
上下文只增不减,会话越拖越贵
最后一个习惯性失误是让会话无限生长。调试一个 bug 用了两小时,上下文里堆着三个已经废弃的方案、十次工具输出和半份重构记录,最后一轮的输入令牌比第一轮大一个数量级。这种时候继续硬撑,不如把结论整理成一段摘要,换新会话继续。
在终端里维护上下文也值得做成固定动作:每完成一个阶段就让模型输出一份简短的状态摘要,把摘要作为新会话的开场,再关掉旧的那一个。配合一个能看到用量的地方,你很快就能知道哪类会话最容易失控。
Fluxo 的用法也简单到不需要额外思考:一个 key 加上一个 base URL,https://api.fluxorelay.com,就能接到 Claude、GPT、Gemini、DeepSeek、Kimi、GLM、Qwen、Grok 等模型,Claude Code、Codex、Gemini CLI 和任何 OpenAI SDK 都能直接用。用量按真实令牌结算,缓存读写一并计入,没有月费;你邀请来付费的人,你还能拿到一份分成。
- 每完成一个阶段性任务就生成一次短摘要,用摘要而不是整段历史开启下一轮工作。
- 把稳定的系统提示和易变的任务描述分开组织,便于复用前缀也便于随时替换任务。
- 在会话轮数或历史长度超过某个阈值时,主动判断是否值得换新会话继续。
如果你想在真实项目里量一量这些数字,欢迎创建一个 Fluxo 账号,跑一周再回头看账单,通常就能定位到最费钱的那类会话。排查中遇到问题,登录后在联系页留个言就好。