主题
为什么长对话会越来越贵?
长对话贵的核心,是每轮请求可能都要带上历史上下文
AI 不是只看你本轮输入了几个字,而是看本次请求实际发给模型的完整内容。 对话越长,客户端越可能把前面的要求、结论、代码片段、日志和工具结果一起带上, 这些内容都会变成模型需要读取的输入 Token。
最短结论
- 长对话不是按“聊天轮数”变贵,而是按每次请求携带的 Token 变贵。
- 你本轮只发“继续”,模型实际可能还要读取前面很多轮上下文。
- 如果重复上下文命中缓存,重复部分可以按更低的缓存读取价格计算。
- 最终判断请看使用日志里的输入 Token、缓存读取 Token、输出 Token 和实际扣费。
长对话为什么会把输入变大?
模型要延续上一轮任务,就必须知道前面发生过什么。 因此,一轮新请求通常不只包含你刚刚输入的那句话,还可能包含历史上下文。
你看到的内容
- “继续”
- “按刚才的方案改一下”
- “再优化一下”
模型可能收到的内容
- 前面的多轮聊天记录
- 之前贴过的代码、配置和日志
- 工具自动追加的上下文
- 系统提示词和任务规则
- 当前这一次的新问题 所以你本轮输入很短,并不代表本次请求很小。真正影响输入费用的是模型实际读取了多少 Token。
一次请求通常会算哪些费用?
普通输入 Token
本次请求里模型需要读取的新内容,例如新问题、新文件、新日志。
缓存读取 Token
重复上下文命中缓存后,按缓存读取价格计算,通常比普通输入更便宜。
输出 Token
模型生成的回复内容。让模型写得越多,这部分越高。 长对话最容易抬高的是输入侧成本;如果每次还要求模型写很长的解释、代码或报告,输出侧成本也会一起上升。
缓存为什么能省钱?
长对话里有很多内容会反复出现,例如系统提示词、历史上下文、项目文件和任务规则。 本站支持缓存优化:重复内容命中缓存后,可以按缓存读取价格计算,而不是每次都按普通输入价格计算。
📌 重点
缓存不会让所有费用消失,它主要降低“重复输入”的成本。 如果本轮新增内容很多,或者回复本身很长,费用仍然会增加。 判断是否享受到缓存,请直接看使用日志里的缓存读取 Token。
一个简单例子
你在第 20 轮只输入:
text
继续,按刚才的方案改客户端实际发给模型的内容可能包括:
text
前 19 轮对话摘要或原文
之前确认过的需求
已经贴过的代码片段
上一轮的报错和命令输出
本轮这句“继续,按刚才的方案改”这就是为什么“我明明只发了几个字”,输入 Token 仍然可能很高。
什么时候会明显变贵?
- 对话已经很长,还一直要求“基于上文继续”
- 前面贴过大段代码、日志、配置文件或长文档
- 代码工具反复读取项目文件、终端输出和测试结果
- 每轮都让模型输出完整代码、长报告或详细解释
- 使用有长上下文分档的模型,并且输入规模进入更高档位
关于 272K 分档
不是所有模型都有 272K 分档。 例如 gpt-5.2 是固定单价;gpt-5.4 的输入价格和缓存读取价格会按输入规模区分 ≤ 272K 和 > 272K。
怎么降低长对话成本?
1. 无关任务新开对话
旧上下文已经无关时,直接开新对话,避免继续携带无用历史。
2. 用总结替代完整历史
长任务中途先让模型总结关键结论,再用总结开启下一段任务。
3. 只保留必要资料
不要反复粘贴完整日志、完整仓库、无关文件,尽量给关键片段。
4. 控制回复长度
只需要结论时,明确要求“简短回答”“不要展开背景”。
5. 用日志对账
重点看输入 Token、缓存读取 Token、输出 Token 和实际扣费。
推荐提示词
text
请先总结当前任务的必要上下文,控制在 300 字以内。
我会用这段总结开启新对话继续处理。text
只基于当前问题需要的上下文回答,不要重复解释前面已经确认的内容。