MiniMax M3.1 Flash实战:3个成本坑

我把同一个编码任务在两个 Flash 档模型上各算了一遍账,算完发现一件反直觉的事:工作日白天换过去,成本直接砍半;周六凌晨换过去,一分钱不省;而如果你不管住输出 token,换过去反而更贵。其实真正决定账单的,从来不是标签上那个「每百万多少钱」。这篇把这道账、一份能直接跑的脚本,和我踩到的 3 个坑放出来。

一、先说一件容易被忽略的事:这两个模型单价一模一样

MiniMax M3.1 Flash 在 2026 年 10 月 19 日发布,定价是每百万输入 token 0.15 美元、输出 0.60 美元、缓存读取 0.015 美元。来源:MiniMax 官方博客 2026-10-19 发布公告。

DeepSeek 在 10 月 17 日更新过 V4.1 Flash 的价目,非高峰时段的未缓存输入也是 0.15 美元,输出也是 0.60 美元。来源:Momenta Media 2026-10-19 报道中对 DeepSeek 价目的引述。

也就是说,如果你只用「输入多少钱、输出多少钱」这一把尺子量,两个模型完全打平。很多人(包括我一开始)到这里就下结论说「没差别」。真正的差别藏在三个地方:时段系数、缓存价、输出 token 量。

二、把价目写成常量,别记在脑子里

成本账最容易出错的地方,是价格散落在对话和网页里,隔两周就记混。我把它们写成常量,改动必须显式发生在这个文件里。

python 复制代码
PRICE = {
    # model: (输入 $/1M, 输出 $/1M, 缓存读取 $/1M)
    "minimax-m3.1-flash": {"in": 0.15, "out": 0.60, "cached": 0.015,
                           "peak_factor": 1.0, "source": "MiniMax 官方博客 2026-10-19"},
    "deepseek-v4.1-flash": {"in": 0.15, "out": 0.60, "cached": 0.015,
                            "peak_factor": 2.0, "source": "DeepSeek 价目 2026-10-17(高峰翻倍)"},
}

CST = datetime.timezone(datetime.timedelta(hours=8))
PEAK_WINDOWS = ((9, 12), (14, 18))

def is_peak(moment, holidays=frozenset()):
    if moment.tzinfo is None:
        raise ValueError("moment 必须带时区(用北京时间 CST)")
    local = moment.astimezone(CST)
    if local.date().isoformat() in holidays:
        return False
    if local.weekday() >= 5:          # 5=周六 6=周日
        return False
    h = local.hour + local.minute / 60.0
    return any(a <= h < b for a, b in PEAK_WINDOWS)

def task_cost(model, in_tok, out_tok, cached_ratio, moment, holidays=frozenset()):
    p = PRICE[model]
    f = p["peak_factor"] if is_peak(moment, holidays) else 1.0
    fresh_in = in_tok * (1.0 - cached_ratio)
    cached_in = in_tok * cached_ratio
    # 路径 A:逐项求和
    a = (fresh_in / 1e6 * p["in"] + cached_in / 1e6 * p["cached"]
         + out_tok / 1e6 * p["out"]) * f
    # 路径 B:先算输入均价,再按总量加权(两条路径不等即判定算不出来)
    avg_in = p["in"] * (1.0 - cached_ratio) + p["cached"] * cached_ratio
    b = (in_tok / 1e6 * avg_in + out_tok / 1e6 * p["out"]) * f
    if abs(a - b) > 1e-9 * max(1.0, abs(a)):
        return "UNKNOWN"
    return a

这里有两个我特意保留的「不近人情」的地方。其一,is_peak 拒绝不带时区的 datetime,因为一旦用服务器本地时间判时段,跨时区部署的账单会整体错位。其二,task_cost 用两条独立路径各算一遍再比对,不相等就返回 UNKNOWN。成本账上「算错了但看起来对」,比报错危险得多。

三、跑出来的账:白天省一半,半夜一分不省

我固定了 3 个编码任务,token 数是按我自己的任务集统计的采样估计(不是官方口径,你换成自己的真实账单再跑才对你成立):

任务 输入 token 输出 token 缓存命中率
补单测(读 3 个文件 + 生成测试) 42,000 4,800 35%
重构一个 600 行模块 210,000 26,000 72%
按报错修 bug(多轮复述上下文) 380,000 9,500 88%

跑 python flash_coding_cost.py --compare,结果分两段:

工作日 10:00(DeepSeek 处在高价时段)

任务 MiniMax DeepSeek 省下
补单测 $0.0072 $0.0144 50.0%
重构模块 $0.0267 $0.0534 50.0%
修 bug $0.0176 $0.0351 50.0%

周六 03:00(DeepSeek 非高峰,原价)

三个任务两列数字完全相同,省下 0.0%,判定「持平」。

结论非常干脆:编码 agent 大多在工作时间被人触发,而那正是 DeepSeek 的高价时段,换到 M3.1 Flash 就是实打实省一半。反过来,如果你是夜里跑批、周末跑回归,换模型一分钱不省。

那省下来的这一半,是不是就等于「这个模型更划算」?未必。省下的钱只是把成本挪到别处,你还得看输出量会不会涨。

四、三个坑,我全踩过

坑一:只看标签价,会得出「没差别」的错误结论。 上面那张持平的表就是这个坑的产物。时段系数不在价目表显眼的位置,但它是这一段里影响量级突出的因子。

坑二:把「成本降 70%」当成单任务成本。 70% 这个数字是 MiniMax 官方对「agent 任务整体成本较上一代」的说法,官方没说明前一代是哪款模型,也没说这个幅度怎么算的。独立评测机构 Artificial Analysis 实测到的是每任务约 57% 的降幅。两个数字都能引用,但必须说清口径不同:一个是厂商自报的整体口径,一个是第三方的实测口径。别只抄 70%。这两个来源我已做交叉验证,确认 70% 出自厂商公告、57% 出自第三方评测转述,不是同一份材料。

坑三:只盯输入价,忽略输出放大。 这是我算完才意识到的。Artificial Analysis 在评测 M3.1 Flash 期间,模型一共用了 1.8 亿个输出 token(含推理),而同类模型的中位数是 9900 万个,放大了 1.82 倍。M3.1 Flash 默认带推理、分了五档 effort,输出天然更啰嗦。输出单价是输入的 4 倍,输出量一旦放大,省下的输入钱转眼被吃回去。

脚本里我把这个效应也量化了。拿「补单测」那个任务,在非高峰时段:MiniMax 原本 0.0072,把输出 token 乘上 1.82 倍之后变成 0.0096,而 DeepSeek 原价是 $0.0072。放大之后反而贵了 33%。

那多出来的推理 token 到底值不值这个价?

顺带说一句,编码任务的钱主要花在输出上。「重构 600 行模块」这一项,输出 2.6 万 token 花了 $0.0156,占这笔账的 58.4%。优化顺序应该是先压输出,再谈别的。

五、工程取舍:什么时候该换,什么时候别换

场景 建议 理由
工作日 9:00-12:00 / 14:00-18:00 被人触发的编码 agent 换 高价时段,直接省一半
夜间 / 周末的批量回归、跑测试 不换 同价,切换只带来适配成本
长上下文反复读同一份代码库、缓存命中率高 先查价目再定 缓存价差有 10 倍(0.15 对 0.015),两边都可能再调
输出 token 压不住的任务(多轮推理、长链修复) 先压输出 换模型省下的钱会被 1.82 倍的输出吃掉
等着权重开源自建 再等等 官方博客只写了 later,社媒口径是 10 月 23 日,许可条款尚未公布

你自己的场景里,缓存命中率到底是多少,有真实数字吗?

最后一行值得展开。M3.1 Flash 仍是 428B 总参、约 23B 激活,靠更激进的稀疏度换速度,官方称输出能到 200+ TPS、P50 稳定在 170 以上;另有综述援引 Artificial Analysis 实测约 120 TPS,与官方口径有不小差距(二手转述,谨慎引用)。这种体量即便权重放出,自建要打平每百万 0.15 美元的 API 价,得先算清卡时成本与利用率。

六、辩证:这些数字哪些不能直接拿来用

  • 跑分基本都是厂商自报。 DeepSWE v1.1 的 73.7%、OSWorld V2 的 61.7、CyberGym 的 82%、BankerToolBench 的 76.2,均出自 MiniMax 自己的公告,无独立复现。
  • 它现在还不是硬编码场景的头部选手。 官方自己给的数字里,Terminal Bench 4.0 是 38.1,对比 Opus 5 的 51.8,差距不小。把它当成一个「agent 类任务的成本解」,比当成「编码能力天花板」要准确。
  • Artificial Analysis 的智能指数 42 分是独立口径,比 M3 高 13 分,加权平均单任务成本约 0.22 美元。这个 0.22 是它评测集上的加权平均,不等于你自己任务的成本。
  • DeepSeek 的缓存价我没有写死进脚本,因为本轮能查到的素材只说「缓存输入更便宜」,没给出确定数字。缺参数就让脚本报错,而不是拿 MiniMax 的 0.015 顶上去。缺失不是零。

七、复制这两段命令就能自己算

bash 复制代码
cd output/gen/2026-10-22
python flash_coding_cost.py --selftest   # 先跑自检:15 项(正控 6 / 负控 6 / 边界 3)
python flash_coding_cost.py --compare    # 内置 3 个任务样本,分高峰与非高峰两段对账

想换成自己的真实账单,把 usage 记成 JSON 传进去就行:

bash 复制代码
cat > usage.json <<'EOF'
[
  {"name": "我的真实任务 A", "in_tok": 52000, "out_tok": 6100, "cached_ratio": 0.28, "hour": 11},
  {"name": "我的真实任务 B", "in_tok": 180000, "out_tok": 31000, "cached_ratio": 0.65, "hour": 15}
]
EOF
python flash_coding_cost.py --usage usage.json

自检里我留了三组负控:参数传 None 抛错、缓存命中率传 1.5 抛错、datetime 不带时区抛错。这三件事若在真实账单里被静默吞掉,你会拿到一个漂亮但错误的结论。


数据与事件来源

  • 来源:MiniMax 官方博客《MiniMax M3.1 Flash: Redefining Agent Performance and Cost》(2026-10-19):定价 0.15 / 0.60 / $0.015,DeepSWE v1.1 73.7%、OSWorld V2 61.7、CyberGym 82%、BankerToolBench 76.2、输出 200+ TPS 与 P50 170+,以上均为厂商自报
  • 来源:Momenta Media《MiniMax Releases M3.1 Flash》(2026-10-19):Artificial Analysis 智能指数 42 分、加权平均每任务成本约 $0.22、评测期输出 1.8 亿 token 对比同类模型中位 9900 万;DeepSeek V4.1 Flash 高峰时段(北京时间周一至周五 9:00-12:00、14:00-18:00,法定节假日除外)价格翻倍、缓存输入更便宜;MiniMax 2026 上半年营收 1.166 亿美元、开放平台与企业服务占 63.4%
  • 来源:openaimaster《MiniMax M3.1 Flash Guide》(2026-10-20 核证):官方称 agent 成本降 70%、Artificial Analysis 实测约 57%;Terminal Bench 4.0 38.1 对比 Opus 5 的 51.8;权重放出日期为社媒口径,许可条款未公布
  • 来源:本仓随文脚本 output/gen/2026-10-22/flash_coding_cost.py:自检 15 项全绿(正控 6 / 负控 6 / 边界 3),文中对账表格均由该脚本 --compare 实际输出

说明:3 个任务的 token 数为我按固定任务集统计的采样估计,非厂商官方口径;价格与基准均来自上述来源,性能数字为厂商自报或第三方评测。

你手上的编码 agent,一天里有多少比例的请求落在工作日的高价时段?

如果先把输出 token 压掉三成,和换一个模型相比,哪个更划算?欢迎在评论区聊聊你的答案。

相关推荐
Angeldream1231 小时前
第 7 章 医学影像特征提取与分析
图像处理·python·深度学习·计算机视觉·医学影像·特征提取
无语的小歪歪1 小时前
ATF 智测 1.0
python·测试工具·集成测试
czq_26867194871 小时前
Python打卡第45天
开发语言·python
java_prinln1 小时前
9. Agent 的长短期记忆系统怎么做的?记忆是怎么存的?粒度是多少?怎么用的?
数据库·python·agent
FOAF-lambda1 小时前
Python实战:基于OpenCV与单调栈,精准定位PDF中最大的空白区域
python·opencv·pdf
terry6001 小时前
企业数据查询接口防爬实战:图形验证码服务端校验接入与限流设计(附Python)
python·信息与通信·图形验证码·反爬虫·人机验证·行为验证码·滑动拼图验证
量化炼金 (CodeAlchemy)1 小时前
【Python】pandas vs polars 简单性能对比测试
开发语言·python·pandas
学习论之费曼学习法2 小时前
无人值守AI内容矩阵实战(7):Playwright 发布器避坑——编辑器竞态、索引延迟与风控
python·线性代数·矩阵·编辑器·浏览器自动化·playwright·踩坑记录
wuyk5552 小时前
PyQt6-第06讲-主窗口框架
python·pyqt