# 策划质量探针(designer-probe)—— MiniMax-M3 vs deepseek-v4-pro > 模型评估矩阵 leg 之一 · 2026-06-10 · repo @ d268f50 > 问题:**策划位换模型后,一次产出的 GameDesign 文本面有多干净?**(P0/P1 检出率越低越干净) > 方法:Registry 策划 prompt `config.clicker-designer` **v1.1.0** × 13 条 clicker 创意(C1 spike IDEAS 原样保序)× 2 候选模型各生成一轮 → 全部产物统一用 **MiniMax-M2.7 + 对抗 `quality.adversary-review` v1.1.1** 评审 → 对比 P0/P1 检出率与 designIntent 质量。 ## 一、结论先行 | 指标(分母均 13) | MiniMax-M3 | deepseek-v4-pro | M2.7 基线(batch-001,口径见 §2 注) | |---|---|---|---| | **P1 检出** | **2/13** | **2/13** | 3/13(v1.0.0 双 prompt 旧口径) | | **P0 检出** | 0/13 | 0/13 | 0/13 | | 生成 JSON 合法 | 13/13(**6 条需剥 ``**,见 §6) | 13/13(content 纯净) | 12/13 首发(1 条非 JSON,重出后过) | | schema 全过(含 designIntent≤100/eps 正整数/config 逐字段) | 13/13 | 13/13 | —(口径不同不直比) | | P2 随行建议 | 1 条 | 2 条 | — | | designIntent 均长/最长(字) | 42.8 / 52 | 42.3 / 51 | 66.2 / 85 | | designIntent 超 100 字 | 0 | 0 | 0 | | 越模板机制承诺(评审检出) | 0 | 0 | 基线 3 条 P1 全为此类(旧口径) | | 生成均时延 | 24.6s | 22.7s | —(无同口径数据) | | 输出纪律(额外键/自评字样) | 0 | 0 | — | **判读(诚实口径)**: 1. **两候选文本面干净度同量级**(P1 各 2/13,P0 均 0),与 M2.7 基线大致相当——**没有一边倒的优胜者**。基线 3/13 是 designer v1.0.0 + adversary v1.0.0 旧口径:那 3 条 P1 全是「designIntent 越模板机制」类,其中 2 条在现行 v1.1.1 细则①下大概率降 P2,故 **2/13 vs 3/13 不能读成"候选优于 M2.7",只能读成同量级**。 2. **真正的分化不在质量在通道与风格**:M3 经网关 6/13 响应把 `` 推理块直接混进 `message.content`(需解析侧剥离,工程前置条件);v4-pro 通道全程纯净、均时延略低,但文案模式化明显(8/13 以「快速点击/连续点击」开头句式)。M3 文案表现力/题材化更强(「烟火翻串手」「看台轰鸣的红色弯道」「静谧失重的太空舱」)。 3. **两候选在 v1.1.0 新增的 designIntent 模板内约束上全部守住**(零越界承诺)——该约束(batch-001 冻结告警的回应)对新模型同样有效。 4. **共同压力位**:两者在 #07「海底捞珍珠同时躲开鲨鱼」上双双 P1——「躲避」机制超出 clicker 模板表达力(黄金集 kill 守卫 k-0cfbc296 同源场景)。M3 选择丢弃躲避语义(题文脱节)、v4-pro 在 theme 里暗示机制未兑现(承诺未兑现),**殊途同归说明这是模板边界问题而非模型问题**,需意图路由或 prompt 增「不可表达机制的文案化解」规则。 ## 二、口径与方法 | 项 | 值 | |---|---| | 生成 prompt | `config.clicker-designer` **v1.1.0**(Registry 渲染,frontmatter/registry 双核验;渲染变量=batch 首轮口径:template_schema=`contracts/templates/clicker.schema.json` 原文、banned_list=[]、findings="") | | 评审 prompt | `quality.adversary-review` **v1.1.1**(细则①②③;P0/P1 口径写死) | | 评审模型 | MiniMax-M2.7(与 batch-001/golden 同测量面),温度 0.2 | | 生成温度 | 0.4(与 C1 spike/batch 主流水一致) | | 通道 | 全部调用显式 `max_tokens=4096`(≥2048 铁律),空 content/think 截断自动提额 8192 重试;`response_format=json_object`;解析只读 `message.content`;重试 ×2 + 节流 0.3s + 超时 180s | | 探针口径 | **各生成一轮**:不做 schema 重出、不做 P1-fix 回炉(与 batch-001「重出后通过」口径的差异点);banned_list 恒空=无批内禁重压力,逐条独立无顺序耦合 | | 评审重试 | findings 形状异常应用层重试(首轮 2 → 续跑 3,理由见 §6);评审是测量基础设施,重试不影响被测对象 | | P0/P1 检出率口径 | 13 条中被评审出 ≥1 条该级 finding 的条目数(分母固定 13) | **基线口径注**:batch-001(2026-06-10 跑批)= M2.7 生成 + M2.7 评审,但 prompt 组为 **designer v1.0.0 + adversary v1.0.0**(当时 v1.1.x 尚未落地),且为全闭环流程(schema 重出/回炉额度 1 轮)。基线 13 条 spike 创意 round0 的 P1 检出 3/13(太空舱/接力赛/捞珍珠,3 条全是「designIntent 越模板机制」类),P0 0/13;「猫咖」首发非 JSON 重出后过。**仅作量级参考,不作同口径对比。** ## 三、明细表(13 创意 × 2 候选) th = 该响应 `` 混入 content(离线剥离后解析,产出本体未动);P2 数=随行建议条数(不拦截)。 | # | 创意 | 模型 | title | target | eps(s) | intent 字数 | schema | P0 | P1 | P2 | 备注 | |---|---|---|---|---|---|---|---|---|---|---|---| | 00 | 王蓝莓的小卖部收银台 | M3 | 王蓝莓小卖部结账 | 15 | 25 | 50 | 过 | — | — | 0 | | | 00 | 〃 | v4-pro | 王蓝莓收银忙 | 20 | 20 | 49 | 过 | — | — | 0 | | | 01 | 太空舱里捡星星补给能量 | M3 | 舱内拾星充能 | 12 | 15 | 44 | 过 | — | — | 0 | | | 01 | 〃 | v4-pro | 星舱拾光 | 10 | 25 | 49 | 过 | — | — | 0 | | | 02 | 农场里收割成熟的蔬菜 | M3 | 菜园丰收季 | 20 | 25 | 46 | 过 | — | — | 0 | th | | 02 | 〃 | v4-pro | 丰收菜园 | 12 | 20 | 40 | 过 | — | — | 0 | 评审遇网关三连空,手工同口径重放 1 次取得(raw 标 manualReplayRescue) | | 03 | 深夜便利店招待夜宵顾客 | M3 | 深夜便利店打烊记 | 20 | 25 | 40 | 过 | — | **P1** | 0 | 节奏不自洽:1.25s/单 vs「值守/从容打烊」 | | 03 | 〃 | v4-pro | 夜宵便利屋 | 20 | 45 | 51 | 过 | — | — | 0 | | | 04 | 校园运动会接力赛冲刺 | M3 | 看台轰鸣的红色弯道 | 20 | 20 | 38 | 过 | — | — | 1 | th | | 04 | 〃 | v4-pro | 校园接力冲刺 | 20 | 15 | 42 | 过 | — | — | 0 | | | 05 | 猫咖啡馆里撸猫攒爱心 | M3 | 喵屋咖啡馆的爱心协奏 | 20 | 50 | 43 | 过 | — | — | 0 | th | | 05 | 〃 | v4-pro | 猫咖撸猫攒爱心 | 20 | 15 | 44 | 过 | — | — | 1 | | | 06 | 春节集市上抢福袋 | M3 | 闹春抢福袋 | 18 | 20 | 44 | 过 | — | — | 0 | th | | 06 | 〃 | v4-pro | 抢福袋 | 20 | 25 | 38 | 过 | — | — | 0 | 生成时延 65s(慢尾样本) | | 07 | 海底捞珍珠同时躲开鲨鱼 | M3 | 深海捞珠 | 20 | 35 | 44 | 过 | — | **P1** | 0 | designIntent 丢「躲鲨」核心动作→题文脱节 | | 07 | 〃 | v4-pro | 深海采珠 | 20 | 12 | 35 | 过 | — | **P1** | 0 | theme 暗示躲避机制未兑现 | | 08 | 烧烤摊翻烤串别烤糊 | M3 | 烟火翻串手 | 22 | 45 | 41 | 过 | — | — | 0 | th | | 08 | 〃 | v4-pro | 串串翻翻乐 | 20 | 15 | 39 | 过 | — | — | 0 | | | 09 | 地铁早高峰挤末班车门 | M3 | 关门之前挤上车 | 20 | 35 | 52 | 过 | — | — | 0 | | | 09 | 〃 | v4-pro | 高峰挤车大作战 | 15 | 20 | 48 | 过 | — | — | 0 | | | 10 | 做一个很好玩的游戏(模糊) | M3 | 晨曦点灯 | 20 | 15 | 45 | 过 | — | — | 0 | 细则②生效,未误判脱节 | | 10 | 〃 | v4-pro | 快乐气泡大收集 | 20 | 20 | 24 | 过 | — | — | 0 | 〃 | | 11 | 解压点点点(极简模糊) | M3 | 泡泡捏爆屋 | 20 | 25 | 32 | 过 | — | — | 0 | 〃 | | 11 | 〃 | v4-pro | 解压泡泡乐 | 20 | 30 | 41 | 过 | — | — | 1 | 〃 | | 12 | 中秋帮嫦娥送月饼上月宫 | M3 | 广寒传饼 | 10 | 20 | 38 | 过 | — | — | 0 | th | | 12 | 〃 | v4-pro | 月宫传情 | 20 | 15 | 50 | 过 | — | **P1** | 0 | 0.75s/块 vs「轻松」节奏矛盾 | ## 四、P1 命中明细与归因 | 条目 | 评审 issue(M2.7 × v1.1.1 原文摘) | 归因类型 | |---|---|---| | m3-03 深夜便利店 | target(20 单)与 expectedPlaySeconds(25 秒)明显不自洽:平均 1.25 秒/单属高强度快节奏,与「值守」「顺利打烊」的从容节奏矛盾 | eps/target 节奏自洽 | | m3-07 捞珍珠躲鲨鱼 | designIntent 缺失核心动作语义:创意明确要求『同时躲开鲨鱼』,designIntent 仅描述『点击打捞珍珠』,题文明显脱节 | 模板表达力边界(核心动作丢失) | | v4p-07 捞珍珠躲鲨鱼 | theme 描述鲨鱼『游弋』并提示『小心不要惊动』暗示躲避机制,实际玩法仅点击收集,描写与核心玩法无关联 | 模板表达力边界(机制暗示未兑现) | | v4p-12 嫦娥送月饼 | expectedPlaySeconds(15 秒)与 target(20 块)不匹配:0.75 秒/次节奏偏快,与『轻松』氛围矛盾 | eps/target 节奏自洽 | 两类归因均与模型无强相关:**节奏自洽**类(各 1 条)M2.7 基线同样会犯(基线含 eps=8s/target=15 样本);**模板边界**类是创意本身含 clicker 无法表达的「躲避」机制(黄金集 k-0cfbc296 即此场景的 kill 守卫)。 ## 五、designIntent 质量定性(通读 26 条) - **模板内约束(v1.1.0 新增)两候选全守住**:零计时承诺、零失败惩罚、零物理/音效承诺;评审亦零「越模板机制」类 finding。约束条款对新模型迁移有效。 - 边缘观察:m3-10「在**限定次数**内连续点击」有轻微越模板语感(clicker 无步数限制机制),评审未报,不构成统计项。 - **风格分化明显**:M3 题材化/画面感强(title 如「看台轰鸣的红色弯道」「烟火翻串手」;intent 如「静谧失重的太空舱中轻点漂浮的星屑」),13 条句式多样;v4-pro 朴素直给,**8/13 条以「快速点击/连续点击/通过点击」句式开头**,批量场景下同质化风险更高(dedup 门压力)。 - **长度纪律**:两候选均长 ~42 字(M2.7 基线 66.2),全部 ≤52 字,距 100 字红线余量大;短而不空,无占位感词汇。 - **expectedPlaySeconds 自洽**:除上表 2 条 P1 外,其余 eps/target 节奏(0.8~2.5s/击)均在评审容忍带内。 ## 六、通道工程发现(接入前置条件,跨 leg 提示) 1. **M3 think 混入 content(高发,6/13)**:网关对 MiniMax-M3 的部分响应未把推理切到 `reasoning_content`,而是把 `...` 整块拼进 `message.content`(`` 后才是 JSON 本体;同模型不同响应形态不一,usage_source 在 anthropic/openai 语义间漂移)。剥离后 JSON 本体 13/13 合法——**M3 上策划位必须先在编排器 `_parse_json_object` 加同款 think 剥离**(本探针已实现,见 `designer_probe.py`),或推动网关侧统一切分。**跨 leg 提示**:`struct_eval.py`(结构层 leg)无此剥离逻辑,其 M3 结构层通过率可能被同因低估,判读前应复核 raw。 2. **M2.7 评审通道间歇空响应/think 混入**:评审 26 条中多条首次尝试返回空/非 JSON content(`char 0`),含 1 条三连空(rev-v4p-02,致首轮进程中止;手工同口径重放 1 次即得合法产物)、1 条 `中文推理`混入(rev-v4p-11 现场捕获)。C6.1 同类已知坑。处置:显式 max_tokens + 空响应提额 8192 + 形状重试 2→3 + 耗尽落 infraFail 续跑(不再炸全程)。**最终 26/26 评审完整,reviewInfraFail=0**。 3. **v4-pro 通道全程纯净**:reasoning 正确走 `reasoning_content`,content 13/13 直接合法;慢尾样本 1 条(v4p-06 实测 65s),探针超时放宽至 180s 覆盖。 ## 七、预算与产物 | 项 | 值 | |---|---| | 逻辑调用 | 生成 26 + 评审 26(其中 1 条为手工同口径重放)= 52 | | HTTP 尝试总账 | **61 / 70**(账本 58 + 首轮中止条目 3 次失败尝试;含全部重试/提额/诊断) | | 执行方式 | 本机直连网关(未降级;首轮进程因单条三连空中止 1 次,断点续跑补齐) | | 产物 | 本文件;`designer_probe.py`(探针脚本);`designer_probe_reparse.py`(think 离线重解析工具);`designer-probe-results.json`(结构化结果);`designer-probe-calls.jsonl`(52 行调用账本);`raw-designer-probe/`(26 gen + 26 rev 全量原始产物,含 think 修复标记 reparsedThinkStrip / 手工重放标记 manualReplayRescue);`designer-probe-run.log` | ## 八、建议 1. **策划位选型**:文本面质量不构成换模型的充分理由(同量级);若为成本/速度换 v4-pro,需先压它的文案模式化(prompt 加句式多样性约束或升温度试点);若取 M3 的表现力,必须先落 think 剥离(编排器级)。 2. **与 struct_eval/judge_duel leg 汇总判读时**,先核 M3 的 think 因素是否影响其口径。 3. **模板边界创意(如「捞珍珠躲鲨鱼」)**:在 02-intent 阶段加「不可表达机制」识别/路由,或在策划 prompt 增一条「创意含模板外核心动作时,须在文案中自然化解而非丢弃或暗示」——两候选与 M2.7 在此场景全数踩坑,是 prompt/流程问题而非模型问题。