长对话为什么越聊越贵:三种真正有效的裁剪法
用 API 做多轮对话的人早晚会发现一件事:同样的问题,聊到第 20 轮时的花费,可能是第 1 轮的十几倍。
很多人以为是模型”变慢了”或者”在偷懒”。都不是。原因在于对话的工作方式。
一、雪球是怎么滚起来的
关键认知:模型本身是无状态的。它不”记得”你们之前聊了什么。每一轮请求,客户端都要把之前的全部对话重新发一遍。
所以”聊得越久越贵”不是错觉,而是机制决定的。而且模型的输出也会算钱,输出又会成为下一轮输入的一部分——雪球滚两遍。
二、三种真正有效的裁剪法
方法一:摘要压缩
不发原始对话,发一份摘要。
代价:生成摘要本身也要花一次调用。所以阈值别设太低,否则省下的还不够摘要的成本。
方法二:滑动窗口
只保留最近 N 轮,更早的直接丢掉。
最简单,也最容易出问题——被丢掉的那部分如果包含关键设定,后面就全乱了。改进做法:把系统提示和关键设定固定在最前面,永远不参与滑动,只滑动普通对话轮次。
方法三:任务拆分
这是最有效但最少被想到的一种:别把不相关的事塞进同一个对话。
三、关于缓存的一点提醒
部分平台对重复的输入前缀有明显更低的计价。以 DeepSeek 官方定价页为例,其模型区分”输入(缓存命中)”与”输入(缓存未命中)”两种价格,缓存命中的单价远低于未命中。
这意味着一个实用的结构安排:把固定不变的内容放在最前面,把变化的内容放在最后。这样前缀能被复用,变动部分才按未命中计价。
另外值得注意:DeepSeek 官方定价页当前明确提示”计划近期整体上调 API 服务定价,预计涨幅较大”。做成本估算时,请以你查看当天的官方定价页为准,不要用任何转述的数字。
四、优先级排序
五、一句话总结
长对话贵,是因为你每一轮都在重新发送全部历史。理解这一点,省钱的思路自然就清楚了:要么让历史变短(摘要、窗口),要么让历史变便宜(缓存),要么干脆别带历史(开新对话)。
本文事实来源
下列结论均来自官方页面,核实日期 2026-08-12。厂商页面随时会改,看到本文超过三个月未复核时,请以官方页面为准。
- DeepSeek 官方 API 定价页 — https://api-docs.deepseek.com/zh-cn/quick_start/pricing