MiniMax-M3 生产接入(实测)
本文档是 ../minimax/SKILL.md(M2.7)的 M3 配套技能。文中所有结论均于 2026-06-01 在 Plus-High-Speed 密钥上实测探测(2026-06-23 对快速子集重新验证)。完整证据与可复制片段见 ../../references/M3-EMPIRICAL.md。
自进化技能:通过使用不断改进。如果某个参数失效、某个限制发生变化,或文档追上了现实,应立即修正本文件与 references/M3-EMPIRICAL.md,不要拖延。在修改已记录事实前,先用下方脚本重新验证。
唯一规则:默认使用 reasoning_split: true
M3 默认仍会在 content 中输出 thinking…</think>(与 M2.7 相同的陷阱)。设置 reasoning_split: true 可将推理内容移入独立的 reasoning_content / reasoning_details 字段,使 content 保持干净,无需正则剥离。这是所有从 M2.7-highspeed 迁移场景的默认配置。
示例请求体: body = { "model": "MiniMax-M3", "messages": messages, "max_tokens": 4096, # >= 1024 — thinking consumes budget before visible content "temperature": 0.2, "reasoning_split": True, # clean content; reasoning in reasoning_content/_details } answer = resp["choices"][0]["message"]["content"] # already clean — display directly
如果需要在短/简单任务上获得 M2.7-highspeed 级别的速度,可添加 "reasoning": "disabled"(约减少一半 token,约快一倍),并保留 M2.7 的 thinking 剥离作为安全网,因为 "disabled" 只是缩短而非总能移除该块。对于困难推理、编码和智能体循环,保持思考开启(默认 / "adaptive")。
何时使用 M3 与 M2.7
- 干净对话 / 判断 / 理论 / JSON:✅ M3 + reasoning_split:true(新默认)
- 短标签 / 分类,对延迟敏感:✅ M3 + reasoning:"disabled",或继续使用普通 MiniMax-M2.7
- 视觉(OCR、图表、截图):✅ 仅 M3——M2.7 仅支持文本;M3 能正确读取图像
- 结构化 JSON:✅ M3(接受 response_format)+ reasoning_split + 防御性解析
- 长上下文(输入最高约 1M):✅ 输入可接受到约 1M,但可靠检索 ≤ 约 256K(400K 现已失败);1M 预填充约 235 秒
- 真实规模下的原始数学 / QP / 风险:❌ 仍应交给 Python(M2.7 的饱和指导继续适用)
- 最终可部署代码:⚠️ 仅脚手架;需沙箱验证(与 M2.7 相同)
硬性限制与陷阱(实测验证)
- 输入上下文约 1,000,000 token(2026-06-23 重新验证)。可接受到约 1,000,180;1,048,576 会报 context window exceeds limit。文档中的 1M 现已成立(2026-06-01 时约为 512K)——但 1M 预填充约 235 秒,可靠针检索 ≤ 约 256K(400K 两次均失败)。检索关键任务应在 ≤ 约 256K 下运行。
- 输出 max_tokens ≤ 524,288。超过 524288 会报 invalid params … does not support max tokens > 524288(从 512,000 提高——2026-06-23 重新验证)。
- n > 1 被静默丢弃。以前是硬性 2013 拒绝;现在接受但忽略——响应仍只携带一个 choice。没有真正的多重采样(2026-06-23 重新验证)。
- response_format 被接受但不是硬性 JSON 保证——M3 仍可能用 thinking / ```json 围栏 / 尾注包裹。需配合 reasoning_split + try/except json.loads。
- 在简单提示探测中,强制 tool_choice 并未强制调用——在依赖强制工具调用前,请用与工具相关的提示重新测试。
- 此密钥上没有 MiniMax-M3-highspeed(2013 unknown model),尽管文档中有说明。
- ../minimax/SKILL.md 中所有 M2.7 防御性片段( thinking 剥离、base_resp 限流重试、缓存 token 读取器)均原样适用。
重新验证 / 检测漂移
脚本位于插件源码检出目录(scripts/ 已从运行时缓存中剥离),从 ~/eon/cc-skills/plugins/minimax 运行:
export MINIMAX_API_KEY=... # 或依赖 1Password op-path 默认值(见 bun scripts/m3-cli.ts verify --help)
bun scripts/m3-cli.ts verify # 快速漂移检查 vs 锁定快照(exit 0/1/2) bun scripts/m3-cli.ts probe [--out f] # 完整选项/能力映射(写入 JSON;默认 m3_probe_results.json) bun scripts/m3-cli.ts context-probe # 输入上下文上限 + 针检索 bun scripts/m3-cli.ts bench # 速度/质量:默认思考 vs reasoning:"disabled" ./scripts/minimax-check-upgrade # 目录漂移(锁定包含 MiniMax-M3)
锁定不变量:../../references/fixtures/m3-capabilities-locked-2026-06-23.json。安排 m3-cli.ts verify + minimax-check-upgrade(launchd 模板在 templates/ 中)以捕捉 MiniMax 发布 M3-highspeed、开放 1M 上下文或更改限制的那一天。
执行后反思
- 定位自己。——编辑前确认这是规范的 skills/m3/SKILL.md。
- 什么失败了?——某个原本可用的参数现在报错,或反之 → 在此处 + M3-EMPIRICAL.md 修复。
- 什么漂移了?——m3-cli verify 标记了不变量变化 → 审查,然后提升锁定快照。
- 记录它。——追加到 references/M3-EMPIRICAL.md 的 Evolution 日志,包含触发条件 + 修复 + 证据。