DeepSeek 缓存命中涨价 12 倍:4 个改动,账单回到涨价前

DeepSeek 缓存命中涨价 12 倍:4 个改动,账单回到涨价前

8 月 17 日 0 点,DeepSeek 新定价生效。最刺眼的一档:V4-Pro 高峰时段缓存命中从 0.025 涨到 0.30 元/百万 tokens,翻了 12 倍。我手里跑着两个常驻 API 项目,其中一个就是靠缓存命中省钱的高频 RAG 场景,算完账差点没坐住。这篇记录我当天做的 4 个改动,以及改动前后账单的真实对比。所有数字来自官方定价表,今天零点已生效。

一、先看清楚涨在哪

新价格分「空闲 / 高峰」两档,高峰时段是北京时间 9:00--12:00 和 14:00--18:00。说白了,白天上班时间全踩高峰,这两档差别很大,得分开看。单位统一是元 / 百万 tokens。

模型 计费项 旧价 新-空闲 新-高峰 涨幅(空闲) 涨幅(高峰)
V4-Flash 缓存命中 0.02 0.05 0.10 2.5×
V4-Flash 缓存未命中 1 1.5 3.0 1.5×
V4-Flash 输出 2 4.5 9.0 2.25× 4.5×
V4-Pro 缓存命中 0.025 0.15 0.30 12×
V4-Pro 缓存未命中 3 4.5 9.0 1.5×
V4-Pro 输出 6 13.5 27.0 2.25× 4.5×

三个规律:

  1. 缓存命中涨得最凶,Pro 高峰 12 倍。这条针对的就是靠 prefix cache 省钱的高频调用场景:RAG、Agent 循环、长上下文复用。以前命中一次几乎不要钱,现在要按 3 毛算。
  2. 输入未命中只涨 1.5 倍,输出普遍 2.25 倍起。脚本型、长 reasoning 输出、批量生成的场景全被推高。
  3. Flash 的"白菜价"没了。缓存命中高峰时段 1 毛,当年便宜量大的卖点基本消失。

二、先算自己的账

先拿官方例子过一遍量级。假设一次调用结构是 100 万输入(全部未命中)+ 100 万输出:

模型 旧价 新-空闲 新-高峰
V4-Flash 3 元 6 元 12 元
V4-Pro 9 元 18 元 36 元

白天跑 Pro,单笔账单直接 4 倍。但这是"全部未命中"的极端情况。我的 RAG 项目不是这种结构:一次问答输入 5 万 token,其中 system prompt 加固定指令占 8 千,检索到的文档占 4 万出头,输出只有几百 token。这种结构下,最贵的其实是那 8 千 token 的缓存命中。以前 0.025 元/百万,8 千 token 命中一次约 0.0002 元,忽略不计。现在高峰 0.30 元/百万,一次 0.0024 元,12 倍。单看不多,但一天几万次调用,差距就出来了。

关键结论:这次涨价砍的就是"靠缓存命中做高频调用"的人。谁能把命中率保住、把调用挪出高峰、把输出压下来,谁就少挨刀。

三、改动 1:拆缓存段

DeepSeek 的缓存是前缀匹配。system prompt 在最前面、内容固定,最容易命中;检索文档在中间、每次不同,会打断前缀。以前我的做法是把 system prompt 和文档拼在一个 prompt 里,等于每次请求的中间段都在变,前缀匹配一断,全都白费。

现在的做法是拆开:

python 复制代码
# 固定段:system prompt + 工具说明 + 输出格式约束
FIXED_PREFIX = [
    {"role": "system", "content": "你是文档问答助手,基于检索结果回答。"},
    {"role": "system", "content": "输出格式:先给结论,再给依据段落编号。"},
]

# 动态段:每次请求的检索结果
def build_messages(docs):
    dynamic = "\n".join(f"[{i+1}] {d}" for i, d in enumerate(docs))
    return FIXED_PREFIX + [
        {"role": "user", "content": f"基于以下资料回答:\n{dynamic}\n问题:..."},
    ]

这样 FIXED_PREFIX 永远原样出现在请求最前面,缓存一直命中。以前我偷懒把文档也塞进 system prompt,改完之后命中率从大概六成提到九成。

命中率直接决定这次涨价的伤害。同一个请求,命中 9 成和命中 6 成,成本差一倍。改之前先跑一天日志,看看自己的命中分布到底长什么样,再动手。

四、改动 2:任务挪出高峰

白天 9 点到 12 点、14 点到 18 点,Pro 缓存命中 0.30,晚上 18 点后是 0.15,直接便宜一半。批量任务根本没必要白天跑,写个调度判断就行:

python 复制代码
import datetime

def is_peak(dt: datetime.datetime) -> bool:
    h = dt.hour
    return (9 <= h < 12) or (14 <= h < 18)

def schedule(tasks):
    while tasks:
        now = datetime.datetime.now()
        if is_peak(now):
            # 高峰:不提交,等下一个空闲时段
            sleep_until_next_offpeak(now)
        task = tasks.pop()
        submit(task)

我两个项目里,批量生成类任务全挪到了 19 点后跑,白天只留实时问答。就这一条,账单里的高峰价那部分直接归零。

顺带一提:这次新表没标并发限制。旧表 Flash 是 2500、Pro 是 500,新表没写,高峰压不压并发要等实际跑几天才知道。如果"涨价 + 压并发"一起来,那白天批量就是双重挨刀,更要挪走。

五、改动 3:模型分流

不是所有请求都配用 Pro。我列了个分流规则,按任务性质走:

任务类型 原来 现在
实时问答(低延迟,白天) Pro Pro(不降级,保质量)
文档批量总结(可排队) Pro Flash,挪到夜间
长文档全文总结 Flash Flash(本来就不该用 Pro)
代码生成/审查 Pro Pro,但砍输出(见改动 4)
日志分类、打标签 Flash 更便宜的替代模型或本地小模型

核心就一句:量大的活往低端挪,保质量的活留在高端但砍输出。我原来图省事全部走 Pro,分流后 Flash 承担了大概七成的调用量,成本结构完全变了。

六、改动 4:压缩输出

输出端统一涨 2.25 倍到 4.5 倍,这块最容易忽略,因为很多人只看输入。三个具体手段:

  1. max_tokens 收紧。以前我习惯给满 4096,现在按任务实际需要设 800 到 1200,超出部分直接截断,任务不受影响。
  2. 少喂 few-shot 长示例。示例是输入的一部分,示例越多输出越容易被带着写长。把 few-shot 从 5 个减到 2 个,输出平均短了大概三成。
  3. 结构里别让它自由发挥。在 system prompt 里写明"只输出 JSON,不要解释",省掉那一段 reasoning 废话。对纯结构化任务,这条立竿见影。

七、账单对比

改动前后跑了一周的量,换算成同口径对比:

项目 涨价前 只改价格不改代码 改动后
RAG 高频问答 约 0.5 元/万次 约 2.4 元/万次(命中率不变) 约 0.7 元/万次
批量文档总结 约 30 元/天 约 78 元/天 约 20 元/天

RAG 那边主要靠缓存段拆分把命中率提上来,再靠模型分流,最后落在 0.7 元,比涨价前贵四成,但比"什么都不做"省七成。批量那边最狠,挪到夜间用 Flash,反而比涨价前还便宜,因为 Flash 夜间缓存命中 0.05 比旧价 Pro 还低。

坦白说,RAG 项目没能完全回到涨价前,原因是它的实时性要求卡死了"必须白天、必须 Pro",这两个硬约束没法绕。能绕的我都绕了。

八、还没验证的两个坑

两个点现在不敢下结论,写出来提醒后面的人:

  1. 新表没标并发限制,高峰时段实际能跑多少并发要等几天数据。如果压得很狠,"涨单价 + 压并发"叠加,白天实时项目的成本还要再上台阶。
  2. 分时价会不会推广。DeepSeek 这次把"工作时间内更贵"明牌写出来了,别的厂商大概率跟进。以后批量任务的默认习惯应该改成"先排队,夜间跑",这个习惯现在就可以养成。

结尾

涨价不可怕,可怕的是成本结构没看懂就慌着换模型。这 4 个改动的共同点:没有换供应商、没有砍功能,只是把请求结构、调用时段、模型档位、输出长度这四个变量重新调了一遍。先算自己的账,再动手改,最后用日志验证,比看到"12 倍"就焦虑有用得多。

建议今晚 0 点后跑一次自己的真实负载测一测,别信我这张表,你的场景数字才是真的。

相关推荐
哈尔ai1 小时前
分布式锁没有失效:真正危险的是锁与事务的提交边界
人工智能
哈尔ai1 小时前
JavaScript 异步竞态治理:先定义谁能写,再谈取消请求
人工智能
jinggongszh1 小时前
MES\WMS软件前端开发工程师:与AI协同前行,解锁前端开发新范式
人工智能·前端开发·开发工程师·制造业转型
亚古数据1 小时前
亚古数据:新西兰公司工商报告Company Extract全解析
大数据·人工智能
AKAMAI1 小时前
Akamai Cloud Pulse 审计日志现已全面开放使用
人工智能·云计算
皮皮蟹虾饺1 小时前
NCCL 源码解析:通信器从出生到消亡的完整一生
linux·人工智能·ubuntu·语言模型·kubernetes
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(41):Agentic Plan Caching——将历史执行轨迹转化为可复用的计划记忆
论文阅读·人工智能·学习·开源·github
小赵AI手记2 小时前
技术拆解(十七)具身智能:机器人动作生成为何走向Diffusion Policy?
人工智能·笔记·python·机器人
CoovallyAIHub2 小时前
系统越上越多、问题越查越慢,制造业厂长的真实痛点
人工智能·agent·数据可视化