返回博客列表

DeepSeek V4.1 Flash 解析:552B MoE 只要 2 元/百万,缓存命中更是低到 0.04 元

2026-09-16T14:00:00+08:00
DeepSeekV4.1 FlashKV CacheAPI 缓存上下文缓存

DeepSeek V4.1 Flash 在 9 月 10 日发布,很快就成了 Agent 开发圈的话题:效果不错、价格便宜。我上篇写过 OpenAI 和 Claude 的缓存原理,这次正好把 DeepSeek 的补上——V4.1 Flash 的缓存命中价格低到 0.04 元/百万 token,比未命中便宜 50 倍,这个数字对 Agent 开发者意味着什么?

这篇文章从三部分拆:V4.1 Flash 本身(架构、性能、定位)、DeepSeek 缓存怎么实现(硬盘缓存、三种落盘方式)、以及 API 里怎么用、命中机制是什么。

本文 outline

  1. V4.1 Flash 是什么:552B MoE,非对称架构
  2. 性能与定位:超越 V4 Pro,V4 Pro 即将下线
  3. 定价:峰谷定价 + 缓存命中便宜 50 倍
  4. 缓存怎么实现:KV Cache 压缩 + 硬盘缓存
  5. 缓存命中机制:三种落盘方式 + 前缀单元完整匹配
  6. API 里怎么用:一个例子看懂多轮对话缓存
  7. 与 OpenAI / Claude 缓存对比
  8. 对 Agent 开发者的意义

1. V4.1 Flash 是什么:552B MoE,非对称架构

先看硬参数。DeepSeek V4.1 Flash 是全新模型结构系列中最小尺寸的模型,但"最小"不代表小:

  • 552B 参数 MoE 模型(混合专家)
  • Causal-Encoder-Decoder 非对称结构:输入和输出不对称——输入激活只有 8B,输出激活 16B
  • 原生多模态视觉理解
  • 上下文 1M token,最大输出 384K
  • 支持思考模式与非思考模式(默认)

"输入激活 8B / 输出激活 16B"是理解它便宜的关键。MoE 模型不是所有参数都激活,每次推理只激活一部分。V4.1 Flash 只激活 8B 处理输入、16B 生成输出——成本显著低于已知的同尺寸模型。这是它"小成本大智能"的架构基础。

配合新的预训练方式和更大规模的强化学习后训练,官方声称它在基准测试中超越了包括 DeepSeek V4 Pro 在内的一众旗舰模型的智能水平

2. 性能与定位:超越 V4 Pro,V4 Pro 即将下线

官方把 V4.1 Flash 定义为"小尺寸模型",但实测它在性能、费用、速度、总用时各项指标上全面超越 V4 Pro。因此 DeepSeek 计划有序下线 V4 Pro:

  • 2026 年 9 月 14 日 12:00 之后,deepseek-v4-pro 的请求全部路由到 V4.1 Flash,并按 V4.1 Flash 单价计费
  • 但定价文档的脚注又更新了:为响应需求,V4 Pro 的 API 调用服务在 9 月 14 日后继续提供,计费方式不变(模型名 deepseek-v4-pro 仍可用,对应 DeepSeek-V4-Pro-0813 版本)

旧模型名的兼容:deepseek-v4-flashdeepseek-v4-flash-vision-exp 已下线,但为兼容会路由到 V4.1 Flash。新模型名统一用 deepseek-flash

官方合作伙伴:WorkBuddy(含 CodeBuddy)和 OpenCode 已全量接入。模型开源(Hugging Face + 技术报告),支持 2k 卡 GPU 的大规模部署需求。

3. 定价:峰谷定价 + 缓存命中便宜 50 倍

V4.1 Flash 的价格(每百万 token,人民币),分高峰/空闲两档:

计费项 空闲时段 高峰时段
输入(缓存命中) 0.02 元 0.04 元
输入(缓存未命中) 1 元 2 元
输出 4 元 8 元
  • 高峰时段:周一至周五 9:00-12:00、14:00-18:00(北京时间)
  • 空闲时段价格为高峰的一半
  • 缓存命中比未命中便宜 50 倍(高峰 0.04 vs 2 元)

对比一下 V4 Pro(V4-Pro-0813):输入未命中高峰 9 元、缓存命中 0.30 元、输出 27 元。V4.1 Flash 的输入价格只有 V4 Pro 的约 1/4.5。

这个价格结构对 Agent 开发者的意义巨大:Agent 场景里输入 token 是绝对大头(每次调用都要重发 system prompt + 历史对话),而输入里大部分是重复的(缓存命中)。所以实际成本取决于你的缓存命中率——这也是这篇文章的重点。

4. 缓存怎么实现:KV Cache 压缩 + 硬盘缓存

DeepSeek 的缓存分两层理解。

第一层:KV Cache 本身的压缩(模型侧)。公告里说"更少缓存,更省成本"——V4.1 Flash 大幅减少了 KV Cache 的大小:

  • 对 HBM(显存)的需求减少到上一代的 1/4
  • 对 SSD 的需求减少到 1/8
  • 相对于初代模型,KV Cache 已经缩小了 437 倍

KV Cache 就是 Transformer 推理时缓存的注意力键值对(我在 OpenAI/Claude 缓存那篇讲过)。KV Cache 越小,同样的显存能装下越长的上下文,推理越快、越便宜。DeepSeek 的 Sliding Window Attention(滑动窗口注意力)机制和 KV 压缩技术是这一切的基础。

第二层:上下文硬盘缓存(API 侧)。这是 DeepSeek API 独有的设计——把重复的内容缓存在分布式硬盘阵列中,而不是像 OpenAI/Claude 那样存在内存里。官方 2024 年 8 月就上线了这个功能,当时"缓存命中 0.1 元/百万 token,价格降低一个数量级"。

硬盘缓存和内存缓存的关键差异:容量大得多、成本低得多,但读写慢。这对多轮对话 Agent 特别合适——历史对话可以长期存在硬盘里,下次调用直接读取,不用重新计算。

5. 缓存命中机制:三种落盘方式 + 前缀单元完整匹配

这是 DeepSeek 缓存最特别的地方,也是理解命中的关键。它默认对所有用户开启,无需修改代码。每个请求都会触发硬盘缓存构建。

核心规则:每条缓存前缀是一个独立的完整单元(缓存前缀单元),后续请求只有完整匹配它才能命中。

三种落盘方式:

① 请求结束位置落盘。每次请求的"用户输入结束位置"和"模型输出结束位置",会产生两个缓存前缀单元。后续请求若完整匹配它们则可命中。

② 公共前缀检测落盘。系统检测到多次请求之间存在公共前缀时,把公共前缀作为独立单元落盘。后续请求完整复用即可命中。

③ 固定 token 间隔落盘。长输入/长输出中,按一定 token 间隔截取缓存前缀单元,避免长前缀因迟迟达不到结束位置而完全无法缓存。

Sliding Window Attention 机制影响,缓存前缀的存取与判别和普通 attention 不同——每个单元是完整的独立块,不能部分匹配。

看官方给的例子理解完整匹配规则:

例一(多轮对话,可命中)

  • 第一轮:system + "中国首都是哪里?"
  • 第二轮:system + "中国首都是哪里?" + assistant"北京" + "美国首都是哪里?"

第二轮能完整匹配第一轮的缓存前缀单元,A + B 部分命中。

例二(部分改动,靠公共前缀)

  • 第一轮:A + B
  • 第二轮:A + C —— 不能完整匹配 A+B不命中;但系统识别公共前缀 A 落盘
  • 第三轮:A + D —— 完整匹配 A,命中 A 部分

这解释了为什么 DeepSeek 缓存对"多轮对话"特别有效(每轮完整复用历史),但对"每次修改 system prompt 的请求"效果有限(改了就不完整匹配)。

6. API 里怎么用:一个例子看懂多轮对话缓存

DeepSeek API 完全兼容 OpenAI 格式(base_url https://api.deepseek.com ,也支持 Anthropic 格式 /anthropic)。模型名用 deepseek-flash

from openai import OpenAI

client = OpenAI(
    api_key="your-api-key",
    base_url="https://api.deepseek.com",
)

# 第一轮:system + 问题(会落盘,建立缓存前缀单元)
resp1 = client.chat.completions.create(
    model="deepseek-flash",
    messages=[
        {"role": "system", "content": "你是乐于助人的助手"},
        {"role": "user", "content": "中国的首都是哪里?"},
    ],
)

# 第二轮:完整复用第一轮 + 追加新内容(历史部分命中缓存)
resp2 = client.chat.completions.create(
    model="deepseek-flash",
    messages=[
        {"role": "system", "content": "你是乐于助人的助手"},
        {"role": "user", "content": "中国的首都是哪里?"},
        {"role": "assistant", "content": resp1.choices[0].message.content},
        {"role": "user", "content": "美国的首都是哪里?"},
    ],
)

第二轮请求的 system + 第一轮对话 部分完整匹配第一轮的缓存前缀单元 → 命中,按 0.04 元/百万计费(高峰),只有新增的"美国首都是哪里?"按未命中 2 元计。

API 里没有任何缓存参数——缓存是自动的、默认开启的。你唯一要做的,是保持 messages 数组的历史部分不变、只追加(就像我上一篇写 OpenAI 缓存时强调的"稳定前缀"原则)。任何对历史消息的修改、重排、裁剪都会破坏前缀单元,导致命中失败。

响应的 usage 字段可以查看缓存情况(DeepSeek 在 usage.prompt_cache_hit_tokens / prompt_cache_miss_tokens 中报告命中/未命中的 token 数)。

7. 与 OpenAI / Claude 缓存对比

维度 DeepSeek OpenAI Claude
开启方式 自动,默认开启 自动 手动 cache_control
存储介质 硬盘缓存 内存 内存
缓存单元 完整前缀单元 连续前缀 断点前内容
命中判定 完整匹配单元 前缀逐字节一致 断点前一致
命中折扣 50 倍(0.04 vs 2 元) 2-10 倍 10 倍(读 0.1x)
TTL 硬盘持久 5-10 分钟 5 分钟/1 小时
手动控制

几个关键差异:

  • DeepSeek 的折扣最深:50 倍 vs OpenAI 的 90%(gpt-5 档)vs Claude 的 10 倍。但 DeepSeek 基数就低(2 元 vs GPT-5 的 $1.25≈9 元),所以绝对价格最低
  • DeepSeek 是硬盘缓存:容量大、持久,适合长期会话;OpenAI/Claude 是内存,5-10 分钟 TTL
  • DeepSeek 无手动控制:和 OpenAI 一样全自动,Claude 是唯一能手动打断点的
  • 命中判定都要求"完整前缀":这是三家共通的铁律——改动前缀就 miss

8. 对 Agent 开发者的意义

把 V4.1 Flash 和它的缓存机制放在一起看,对 Agent 开发者的实际意义很清楚:

1. 成本结构变了。输入 2 元/百万 + 输出 8 元/百万,配合 50 倍的缓存命中折扣,一个多轮对话 Agent 的边际成本可以低到接近"只需为新内容付费"。这是目前主流模型里,规模化跑 Agent 的最便宜选项之一

2. 缓存命中率是省钱的开关。同样跑一个 Agent,命中率 90% 和 20% 的成本可能差 4-5 倍。提升命中率的方法我在前面讲过:system prompt 固定、历史只追加、避免时间戳等动态内容混入前缀。DeepSeek 的"完整前缀单元"规则让这一点更加严格——不能部分命中

3. 峰谷定价是新的优化维度。把批量任务排到非高峰时段(非工作日 9-18 点),直接省一半。对可异步执行的 Agent 任务,这是白捡的成本。

4. V4 Pro 的退出信号。DeepSeek 明确说 V4.1 Flash 全面超越 V4 Pro 并计划下线——这传递的信号是:Flash 档不再是"小模型妥协",而是新一代架构的主力。Causal-Encoder-Decoder 非对称结构的 8B/16B 激活,让"小激活 + 大参数"成为新范式。

对想低成本规模化 Agent 的团队,DeepSeek V4.1 Flash + 硬盘缓存的组合,是目前性价比最极端的方案之一——尤其当你的任务是多轮对话、长上下文、可异步执行时。唯一要留意的:缓存是"完整前缀单元"匹配,请务必保持历史 messages 的稳定性。

参考


作者: itech001 来源: 公众号:AI人工智能时代(the-ai-era) 网站: https://www.theaiera.top/ 关注每日最新AI新闻和技术博客,主页有更多的文章的AI 技术参考:https://www.theaiera.top

关注公众号,获取更多 AI 技术干货!

分享给朋友