ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

DeepSeek V4.1 Flash任务成本仅Astra的1/15,为什么还不能直接替换?

DeepSeek V4.1 Flash任务成本仅Astra的1/15,为什么还不能直接替换?

DeepSeek V4.1 Flash任务成本仅Astra的1/15,为什么还不能直接替换?

价格已经拉开差距,工程替换还要过任务匹配、回归验收和实际账单三道关。

封面为gpt-image-2生成的编辑插画;1/15来自Fireworks的DeepSWE评测费用。

74.34%对74.12%,0.430美元对6.524美元。

Fireworks在9月14日发布的DeepSWE评测里,DeepSeek V4.1 Flash和GPT-6 Astra的软件工程成绩几乎贴在一起,平均任务费用却相差约15倍。[1]

如果只看这张成绩单,换成Flash似乎没有多少悬念。问题在于,团队要交付的是自己代码库里的修复:有些错误只在连续调用后出现,有些补丁解决了当前报错,却破坏了原有行为。一次回答看起来正确,距离一次可靠交付,还有验收这一步。

这份评测给出了尝试Flash的充分理由,但还没有替任何具体项目完成替换决策。要判断低价能否落地,需要把三件事接起来:自己的任务是否接近评测范围,修复是否通过有效验收,以及完整流程究竟省了多少钱。

文章目录

  • DeepSeek V4.1 Flash任务成本仅Astra的1/15,为什么还不能直接替换?
    • @[toc]
    • 01|分数接近,先看接近的是哪类任务
    • 02|便宜15倍,也不是换个接口就能拿到的折扣
    • 03|能否替换,卡在“报错消失”之后
      • 门槛一:消除顺序依赖,还要保留合法的重复行为
      • 门槛二:最小复现通过,还要检查同类调用点
    • 04|替换决策,需要什么样的证据?

01|分数接近,先看接近的是哪类任务

标题中的1/15,对应以下比较条件。

Fireworks的DeepSWE结果DeepSeek V4.1 FlashGPT-6 Astra
推理设置maxxhigh
Pass@174.34%74.12%
平均每任务模型费用$0.430$6.524

Pass@1衡量一次尝试的通过情况;一次尝试可以包含多轮读文件、调用工具和修改代码。费用按整项任务累计,并非单次API请求价格,也不是每个成功修复的成本。

Flash高出的0.22个百分点,不适合被放大成稳定领先。报告中四款模型的成绩跨度不到0.7个百分点,而报告给出的运行间波动为1.4—3.2个百分点。现有结果支持“两者在这组测试中表现接近”,还不足以证明统计等效。[1]

换一类任务,接近程度就不同了。

图1|Fireworks报告中的三组成绩。各评测的任务与设置不同,不能把百分数相加成“综合能力分”。

Terminal-Bench 2.1终端任务中,两者为86.5%和87.5%,差1个百分点;高难度学术评测HLE中,两者为34.52%和50.40%,差距扩大到15.88个百分点。

这对选型的直接影响是:DeepSWE成绩可以支持把Flash纳入软件工程候选,却不能顺手替研究分析、架构权衡等其他工作作决定。同样,HLE分差也不能直接换算成Astra在某个项目里能节省多少排错时间。

这份报告由同时提供模型托管服务的Fireworks发布。平台、任务集合和推理设置都是结论的一部分。把这些条件一起带入比较,才有可能在自己的工作中找到相似的收益。


02|便宜15倍,也不是换个接口就能拿到的折扣

即使任务类型相近,账单结构也可能不同。

代码修复通常要反复读取仓库说明、相关文件和测试日志。最后只改了十几行,不代表模型只处理了十几行:每轮携带的上下文都可能继续计入用量。

Fireworks公开的Flash平均单任务账单,主要开销恰好来自这部分重复读取。

用量类型每任务累计Token费用占比
普通输入148,7417.6%
缓存输入36,744,58659.9%
输出211,51332.5%

按报告采用的普通输入$0.22、缓存输入$0.007、输出$0.66/百万Token计算,合计约$0.4295。[1]

图2|约99.6%的输入命中了缓存,缓存读取仍占近六成费用。3674万缓存Token是多轮累计量,不是一次请求的上下文长度。

这意味着,15倍价差不是一个可以直接写进所有项目预算的常数。换了服务渠道、缓存策略或任务流程,就应该重新核对模型价格与计费条件,分别看普通输入、缓存输入和输出,而不只比较一个单价。

V4.1 Flash输入侧激活8B参数、输出侧激活16B参数;相较上一代,KV Cache对HBM的需求降至1/4,对SSD的需求降至1/8。[2] 这些设计改善了资源开销,但架构节省多少资源,与某条API渠道最终便宜多少,仍需分开核算。

便宜调用的收益,最终要留在通过验收的任务上。为了降低账单而少读关联文件、少跑回归测试,可能只是把模型费用转成了人工排错和后续返工。接下来要解决的,正是“什么才算修好了”。


03|能否替换,卡在“报错消失”之后

“修好这个报错”通常只是最低要求。工程验收还要检查:同类路径有没有漏掉,原本正常的使用方式是否被破坏。

为了把这条标准落到具体行为,本文在本地复现了pytest的两项真实缺陷,并验证了上游参考修复。以下案例用来说明验收门槛,没有让Flash或Astra生成补丁,因此不用于判断两者谁更强。

门槛一:消除顺序依赖,还要保留合法的重复行为

在Issue #14635中,同一测试文件单独收集正常,在它前面加入两个无关路径,却会报出fixture依赖参数不存在。[3]

根因不是参数拼错:再次收集父目录时,产生了新的子目录节点,而fixture仍与旧节点关联。路径没有变化,对象身份却变了,原本可见的测试依赖因而无法匹配。

图3|本地日志展示页截图:原版本1失败、70通过、2跳过;参考修复后71通过、2跳过。

如果简单禁止重复收集,可能避开这个报错,却改变重复文件参数和“–keep-duplicates”的合法行为。PR #14645因此只复用此前同路径的Directory子节点,保留Module和File节点的原有处理。

这类任务的验收重点是“修复范围”。判断模型补丁是否合格,需要同时检查故障能否消失、重复收集的原有语义是否保留。仅凭单个报错不再出现,就批准替换模型,漏掉了后一半要求。

门槛二:最小复现通过,还要检查同类调用点

Issue #14912涉及另一种隐蔽错误:多个调用复用长期存在的警告对象。当警告被配置为错误时,Python抛出这个对象;再次抛出时,旧堆栈也被带了进去。[4]

本地复现中,第一次捕获到3帧,第二次变成6帧。只在一个位置换成新对象,可以修好这个最小复现;其他调用点如果仍复用旧对象,同类故障就没有被处理完整。

调整了此次修复涉及的共享警告声明,并同步修改多个相关调用位置,使其每次创建新警告实例。警告文本、类别和指向调用者的层级仍需保持兼容。

这类任务的验收重点是“修复完整性”。模型找到根因之后,还要把修改贯彻到相关路径。一次回答解释得很准确,不代表提交的补丁没有漏改;评估模型时,应检查实际补丁而非只看分析文字。

两项本地验证均使用Windows、Python3.12.14,只运行相关回归套件。跳过项不计为通过;71、73指测试用例数量,不是模型答对的题目数。固定提交和测试范围见文末。


04|替换决策,需要什么样的证据?

前两节说明Flash值得尝试,两个案例则说明尝试应该怎样验收。把这两部分接起来,模型选型就有了比“简单任务用便宜的”更具体的标准。

替换前要确认的事项需要观察的结果
任务是否匹配在自己的任务类型中验证,不用单项榜单替其他工作作决定
修复是否合格故障回归通过,相关正常行为仍成立,同类调用点没有明显漏改
成本是否降低将失败尝试、补救调用、人工检查与返工一起计算

本文此前通过Crazyrouter完成过两款模型各三次基础调用,信息提取、费用计算和小函数边界检查均通过。但这些题没有覆盖上述工程难点,所以没有用“六次全对”为替换背书。调用采用服务默认推理设置,也不能与Fireworks的max、xhigh结果混为一谈。

在具体项目中,更有用的比较方式是:给两款模型相同的初始材料与验收条件,分别记录首次补丁表现、需要补救的地方和最终交付成本。失败调用不能从账单里剔除,人工修好后的成功也不能算成模型独立完成。

如果Flash在目标任务上通过同等验收,并且完整交付成本持续更低,就有依据逐步扩大使用范围。如果困难任务仍频繁需要人工重做或更强模型补救,应先定位失败类型,再决定保留哪些步骤给Astra。预算应该随经过验证的任务表现调整。

至于这两项pytest缺陷,现有证据还不能回答Flash和Astra分别会怎么修,也不能证明低价带来了哪种能力损失。没有这部分结果,就不应暗示Flash一定漏改,或Astra一定修得更完整。

15倍价差改变了候选名单;是否替换,要由自己工作流里的验收结果决定。低价优势值得认真利用,而可靠的验收,正是把这份优势变成实际节省的条件。


资料与复核依据

  1. Fireworks:DeepSeek-V4.1-Flash on Fireworks: Astra-level DeepSWE at 1/15th the cost,2026年9月14日。基准成绩、运行波动及任务费用据此引用。
  2. DeepSeek:V4.1 Flash官方发布说明。架构数据另对照量子位的技术解读及机器之心的发布分析。
  3. pytest:Issue #14635、参考修复PR #14645。本地基线提交为eb79044cea1c2c7b6e58ebcce17c55da871fef6c;运行conftest与重叠收集参数相关套件。
  4. pytest:Issue #14912、参考修复PR #14931。本地基线提交为f5240bef4d8b31232d570fb80ea4f7c50b087d1b;运行弃用警告与monkeypatch相关套件。

核验日期:2026年10月13日。归档源码缺少构建时生成的版本文件,两组环境统一补充版本元数据,未改变故障相关行为。图1、图2为报告数据重绘,图3、图4为本地验收记录展示页的真实截图;公共缺陷可能出现在模型训练数据中,不适合仅凭这两题排出模型总体名次。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进