跳转到内容

为什么长对话会越来越贵?

长对话贵的核心,是每轮请求可能都要带上历史上下文

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
只基于当前问题需要的上下文回答,不要重复解释前面已经确认的内容。

相关文档

爱次元 让 AI 编程更简单