Skip to content

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

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

AI 不是只看你本轮输入了几个字,而是看本次请求实际发给模型的完整内容。 对话越长,客户端越可能把前面的要求、结论、代码片段、日志和工具结果一起带上, 这些内容都会变成模型需要读取的输入 Token。

最短结论

  • 长对话不是按“聊天轮数”变贵,而是按每次请求携带的 Token 变贵。
  • 你本轮只发“继续”,模型实际可能还要读取前面很多轮上下文。
  • 如果重复上下文命中缓存,重复部分可以按更低的缓存读取价格计算。
  • 最终判断请看使用日志里的输入 Token、缓存读取 Token、输出 Token 和实际扣费。

长对话为什么会把输入变大?

模型要延续上一轮任务,就必须知道前面发生过什么。 因此,一轮新请求通常不只包含你刚刚输入的那句话,还可能包含历史上下文。

你看到的内容

  • “继续”
  • “按刚才的方案改一下”
  • “再优化一下”

模型可能收到的内容

  • 前面的多轮聊天记录
  • 之前贴过的代码、配置和日志
  • 工具自动追加的上下文
  • 系统提示词和任务规则
  • 当前这一次的新问题 所以你本轮输入很短,并不代表本次请求很小。真正影响输入费用的是模型实际读取了多少 Token。

一次请求通常会算哪些费用?

普通输入 Token

本次请求里模型需要读取的新内容,例如新问题、新文件、新日志。

缓存读取 Token

重复上下文命中缓存后,按缓存读取价格计算,通常比普通输入更便宜。

输出 Token

模型生成的回复内容。让模型写得越多,这部分越高。 长对话最容易抬高的是输入侧成本;如果每次还要求模型写很长的解释、代码或报告,输出侧成本也会一起上升。

缓存为什么能省钱?

长对话里有很多内容会反复出现,例如系统提示词、历史上下文、项目文件和任务规则。 本站支持缓存优化:重复内容命中缓存后,可以按缓存读取价格计算,而不是每次都按普通输入价格计算。

📌 重点

缓存不会让所有费用消失,它主要降低“重复输入”的成本。 如果本轮新增内容很多,或者回复本身很长,费用仍然会增加。 判断是否享受到缓存,请直接看使用日志里的缓存读取 Token。

一个简单例子

你在第 20 轮只输入:

继续,按刚才的方案改

客户端实际发给模型的内容可能包括:

前 19 轮对话摘要或原文
之前确认过的需求
已经贴过的代码片段
上一轮的报错和命令输出
本轮这句“继续,按刚才的方案改”

这就是为什么“我明明只发了几个字”,输入 Token 仍然可能很高。

什么时候会明显变贵?

  • 对话已经很长,还一直要求“基于上文继续”
  • 前面贴过大段代码、日志、配置文件或长文档
  • 代码工具反复读取项目文件、终端输出和测试结果
  • 每轮都让模型输出完整代码、长报告或详细解释
  • 使用有长上下文分档的模型,并且输入规模进入更高档位

关于 272K 分档

不是所有模型都有 272K 分档。 例如 gpt-5.2 是固定单价;gpt-5.4 的输入价格和缓存读取价格会按输入规模区分 ≤ 272K 和 > 272K

怎么降低长对话成本?

1. 无关任务新开对话

旧上下文已经无关时,直接开新对话,避免继续携带无用历史。

2. 用总结替代完整历史

长任务中途先让模型总结关键结论,再用总结开启下一段任务。

3. 只保留必要资料

不要反复粘贴完整日志、完整仓库、无关文件,尽量给关键片段。

4. 控制回复长度

只需要结论时,明确要求“简短回答”“不要展开背景”。

5. 用日志对账

重点看输入 Token、缓存读取 Token、输出 Token 和实际扣费。

推荐提示词

请先总结当前任务的必要上下文,控制在 300 字以内。
我会用这段总结开启新对话继续处理。
只基于当前问题需要的上下文回答,不要重复解释前面已经确认的内容。

相关文档

R-API 文档中心