docs(planB): Phase-2 收口报告 + 保真谱系蒸馏(§10)——机械门达/复杂机制保真受当前 gen 配置限
Plan B Phase-2 game-quality 门对 gen-done 真跑收口: - 5-bug 账本(Phase-2 逆出):assets 打包断链(490dc629)/iframe CSP 静止(347dd023)/dist 漏 --mode staging(ff8e52c3)/gen 不忠实(9176abe9+7aeb8f54) 自修;throughput 排队 - Phase-1 判定:core-done 机械门(U2-U9)达;gen-done 简单玩法保真、复杂机制(breakout/snake)受当前 M3+gamedef-path 限 - 自我修正:非绝对天花板(flash/local 曾产可玩打砖块 + §9「单件失败禁归模型造不出」红线),深修=换模型/skeleton-first=Plan A - 蒸馏 cheap-model-game-generation §10:gamedef 保真谱系 + Phase-2 门≫gen 自评 accept + 裁责三招 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
353c51cc57
commit
5403bdd651
@ -79,3 +79,13 @@ flash 打底放量 14 款(主力 8 + 压测 6),Opus 对抗审计核实(2 个 ult
|
||||
- **M3 视觉 player 当生产过滤器**(`calibration/m3_test.json`):与门 8/9 一致、抓显性空心(flappy fun1)、漏截图不可见失败(键盘死/弱证据,恰被确定性门兜住)→ **三层互补**(门=地板 / M3=主观过滤 + 便宜 fun 信号 / 创始人=人锚)。MAE 压低待创始人对新款补锚(框架沿用 `calibrate.py`)。
|
||||
- **★ 规避/推理族:题面须自产「安全位」+ 断言用胜利终态(saolei borderline 修复,2026-06-15)**:tap-targets 盲点首个对扫雷会盲踩雷秒负、核心玩法零暴露(门弱断言被 lose 路径满足→ false-borderline)。修法 = 题面令 `_forensicsView` 自产 `safe`(测试专用 x-ray,=`!cell.mine`,**勿渲染/勿给玩家避雷提示**)→ harness driver `safeOnly:true` 只揭安全格到 win → 断言改 `result=="win"`。**flash 一次过且自产 safe 正确**(`generated-factory.js:337`)→ **坐实缺口在题面、非模型能力**。通则:凡「盲点首个会致负」的家族(扫雷类),题面给 oracle 安全位 + driver 避负 + 断言用胜利终态;门只证「机制点亮+可赢可达」,好不好玩归 M3+创始人。详见 [`2026-06-15-WG1-tap-targets-driver-自产缺口-L1brief.md`](../../docs/agent-specs/_archive/2026-06-15-WG1-tap-targets-driver-自产缺口-L1brief.md)。
|
||||
- **★ driver-coverage 6 款闭口 + 重生成归因(2026-06-15)**:scale-20 余 6 款 driver-coverage 失败全部归因(详 [`driver-coverage 闭口报告`](../../docs/agent-specs/_archive/2026-06-15-WG1-driver-coverage闭口与P2对照-L1报告.md) + [harness skill §8 四因铁律](./game-e2e-cdp-harness.md))——**0 个模型造不出 / 0 个 3D 硬界**:flappy/multiball **重生成即过**(原件『缝隙贴顶』/『底部丢球未实现』=**实例缺陷非模型短板**,收紧 brief + 增强 driver〔vy 前瞻 / 弃守排空〕后 flash 翻绿,multiball retries=0);t2048/asteroids 宿主键盘桥(L0 已修)重打包即活;asteroids/angrybirds 盲玩=可测性边界,**经 enrich exportState(asteroids 暴露陨石坐标 / angrybirds pin+导出 launch 物理常数)+ 适配 driver(aim-fire / drag-aiming 解析)转确定性闭口**(asteroids score 0→6、angrybirds 0→20 清场)。**生成侧铁律:单件失败禁直接归『模型造不出』,必重生成区分『实例 bug / 可测性缺口 / 模型短板』**——『模型造不出』是最大伪报源(原 flappy『升 pro 仍挂=模型天花板』被本轮证伪=driver+实例)。
|
||||
|
||||
## 10. gamedef 路 × 保真度谱系(Plan B Phase-2 实证,2026-06-21)
|
||||
|
||||
SAA gameDefinition 路(M3-forced,staging gamedef-path)对一句话的**玩法保真度是谱系**,Plan B Phase-2 质量门(real-play CDP + rubric + 三契约)实证逆出(详 [`../../docs/agent-specs/2026-06-21-planB-phase2-closeout.md`](../../docs/agent-specs/2026-06-21-planB-phase2-closeout.md)):
|
||||
|
||||
- **现象**:简单玩法(射击/躲避/打地鼠)稳定保真;**复杂机制(打砖块球物理 / 贪吃蛇变长身体)坍缩成通用骨架**(打砖块→"移动收集"、贪吃蛇→"接10个"),**GAMEDEF_SYSTEM 加 breakout/snake few-shot 两轮仍坍缩**(LLM 看到对应 few-shot 也不用)。
|
||||
- **★ 别归『模型造不出』(呼应 §9 末红线)**:同档 §9 实证 **flash / local nine-gate 路曾产可玩打砖块** → **非绝对天花板**,根因 = **M3 模型选择 + gamedef-path prompt 的当前局限**。只在一条配置测 2 轮就判天花板=伪报。
|
||||
- **★ 杠杆排序(复杂机制保真)**:few-shot **对复杂机制无效**(LLM 无视/复现不出)< **换更强模型**(flash 做到过)/ **skeleton-first 确定性骨架**(结构强制、LLM 只填参,绕过坍缩;`SaaSkeletons` 现默认关+映射坏需修)。简单玩法 few-shot+保真铁律有效(射击 collapse→faithful 实证)。
|
||||
- **★ Phase-2 门 ≫ gen 自评 accept**:gen 的「accept ≥80%」放过了 **assets=0 / 静止不可玩 / 不忠实 / 雷同 / 几何占位** 的游戏——**只有 real-play(帧变=真玩)+ rubric(设计保真)+ 三契约 逮得住**。core-done 质量门不可由 gen 自评代替。
|
||||
- **★ 裁责三招**:① 灌 Node `gd-runtime.createRuntime` 步帧——**动=wiring**(查 iframe CSP `'unsafe-eval'`/部署 `--mode staging`)/ **不动=gen-quality**;② manifest `assets` vs 源 `game_source_project.assets`——**0 vs 非0=产消断链**(打包丢);③ brief↔生成 gameDefinition 实体对比——**判保真度**(产对应实体 vs 坍缩通用骨架)。
|
||||
|
||||
43
docs/agent-specs/2026-06-21-planB-phase2-closeout.md
Normal file
43
docs/agent-specs/2026-06-21-planB-phase2-closeout.md
Normal file
@ -0,0 +1,43 @@
|
||||
# Plan B Phase-2 收口报告 —— core-done game-quality 门 × gen-done 实证
|
||||
|
||||
> 状态:收口(2026-06-21)。Plan B = [2026-06-19-001 core-done 验收闭环](../plans/2026-06-19-001-feat-coredone-验收闭环执行-plan.md)。
|
||||
> 本报告 = Phase-2 game-quality 门(U7/U8/U9)对 gen-done(Plan A)产物真跑的结果 + 逐 bug 深挖修复链 + Phase-1 诚实判定。
|
||||
|
||||
## 1. 结论速览
|
||||
|
||||
- **Plan B 机械/wiring 侧 = done**:harness 三件 turnkey(U7 rubric / U8 feed真玩 / U9 M0 core,selftest 全绿,`docs/agent-specs/2026-06-20-planB-phase2-harness/`);**U2-U6 + U8 + U9 全 PASS(真机实证)**;Phase-2 真跑逆出的 5 个 gen-done bug 中 **4 个可修的全自修**。
|
||||
- **Phase-1「设计保真度」有 gap,但非绝对模型天花板(自我修正)**:bug#5 实证——当前 **M3 + GAMEDEF_SYSTEM gamedef 路 + few-shot** 对简单玩法(射击/躲避/打地鼠)稳定保真,对复杂机制(打砖块球物理 / 贪吃蛇变长身体)**两轮 few-shot 仍坍缩**。**但这不是绝对模型天花板**:① 项目红线(`.agents/skills/cheap-model-game-generation.md §9` 末「单件失败禁直接归『模型造不出』=最大伪报源」);② W-G1 scale-20 实证(**flash 模型 / local nine-gate 路曾产「打砖块」真可玩**,同档 §9)。→ **根因 = 当前 M3 模型选择 + gamedef-path prompt 的局限,非「复杂机制造不出」**;我只在 M3+gamedef 各测 2 轮就判天花板,违红线、被 flash 事实推翻,此处更正。
|
||||
- **Phase-1 判定**:`gen-done ∧ core-done` —— **core-done 机械门达标**;**gen-done 简单玩法达标、复杂机制保真度受「当前 M3+gamedef-path 配置」限(非绝对天花板)**。深修方向 = 换更强生成模型(flash 级做到过)/ skeleton-first 确定性架构 / 继续 prompt 迭代 = **Plan A 生成质量轨**。
|
||||
|
||||
## 2. 逐 bug 账本(Phase-2 门逆出 · 协议=深挖 is-bug/cause/fix + 能自修就自修)
|
||||
|
||||
| # | bug | 是不是 | 根因 | 修 | commit |
|
||||
|---|---|---|---|---|---|
|
||||
| 1 | package `assets=0` | ✅ | `SaaGraphDispatcher` 硬 `setAssets(emptyList())`,源 sourceProject.assets[6] 没接进包(产消断链,注释自标 TODO engine-E2/E3) | **自修**:`setAssets(extractSourceAssets)` 读图终态源资产透传 | `490dc629` |
|
||||
| 2 | 游戏静止不可玩 | ✅ | studio iframe srcdoc CSP `script-src` 缺 `'unsafe-eval'` → gd-runtime `new Function` 编 behaviors 全抛 EvalError 静默吞 → tickBehaviors 空 → 只渲首帧(**与 profile 无关**,证伪) | **自修**:iframe CSP 加 `'unsafe-eval'`(+三重安全边界)| `347dd023` |
|
||||
| 4 | studio `/play` 加载失败 | ✅(部署缺陷) | staging dist 漏 `--mode staging` → `VITE_API_BASE` 没烤入 → axios baseURL='' → API 打前端 origin 拿 HTML → GamePlayer 退化 demo | **修**=正确重部署(`npm run build -- --mode staging`)| `ff8e52c3`(蒸馏) |
|
||||
| 5 | 生成不忠实于 brief | ✅(部分可修·复杂机制触天花板) | design→gameDefinition generate 环坍缩:GAMEDEF_SYSTEM few-shot 偏置 + archetype 封闭集;**实证:加 breakout/snake few-shot 后射击保真、但 breakout/snake 仍坍缩 = M3 对复杂机制的能力上限** | 自修 prompt(保真铁律 + breakout/snake few-shot,射击受益);复杂机制深修交 Plan A | `9176abe9`/`7aeb8f54` |
|
||||
| 3 | 批 accept 波动(8 批 62.5%/llm_error) | 候选(未深挖) | 疑 M3 慢超时 / LLM 调用耗尽截断 | 排队(throughput 轨,不阻设计保真结论) | — |
|
||||
|
||||
## 3. 单元验收(真机实证)
|
||||
|
||||
| 单元 | 结果 | 证据 |
|
||||
|---|---|---|
|
||||
| U2 审核→发布 / U3 经济幂等 / U4 广度 / U5 8页 / U6 smoke | ✅ PASS | 见各 close-out(U2-U6 早收,smoke 12/12,幂等双投,8页CDP真数据)|
|
||||
| **U8** feed真玩(R4+R11) | ✅ PASS | 修后 9358-9361 经 studio :4173 真玩:加载✓+帧变✓+真引擎+GAME OVER+R11 资产 6 六类✓ |
|
||||
| **U9** M0 core(003-U3) | ✅ PASS | 三契约齐(API code0 / manifest game-package 8键 / source-project=game_source_project 行级齐;profile 缺=schema 严格度残留非阻断,不进运行时已证)|
|
||||
| **U7** rubric(R9) | ⚠️ 受限 | 7 款可玩+带资产备料就绪,但**生成不忠实/雷同/几何占位**(bug#5)→ 设计质量评分必低 = rubric 正确逮出 gen 保真上限 |
|
||||
| **U10** 收口(R10) | 本报告 | 机械/wiring done;设计保真度受 gen-model 能力限;终回归 smoke 12/12 |
|
||||
|
||||
## 4. 关键蒸馏(Phase-2 门的价值)
|
||||
|
||||
1. **gen 的「accept ≥80%」门 ≪ Plan B Phase-2 门**:accept 门放过了 assets=0、静止不可玩、不忠实/雷同/占位的游戏;**只有 real-play CDP(帧变=真玩)+ rubric(设计保真)+ 三契约 才逮得住**。core-done 质量门是必要的,不能用 gen 自评 accept 代替。
|
||||
2. **便宜模型保真度是谱系、有能力天花板**:见 `.agents/skills/cheap-model-game-generation.md §10`。
|
||||
3. **裁责招**:灌 Node gd-runtime 步帧——动=wiring(查 CSP/部署)/不动=gen-quality;manifest assets=0 vs 源 assets 对比=产消断链定位;brief↔gameDefinition 实体对比=保真度判。
|
||||
|
||||
## 5. Deferred(交 Plan A 生成质量轨 / 后续)
|
||||
|
||||
- **复杂机制保真**(breakout/snake 等):few-shot 无效,需 **skeleton-first 确定性骨架**(SaaSkeletons,现默认关+映射坏,需修)或 **换更强生成模型**。
|
||||
- **bug#3 throughput**(批 llm_error/超时):M3 慢 × 并发 × per-task 超时调优。
|
||||
- **真美术管线**(mmx-cli geom 占位 → 真资产,TODO engine-E2/E3)。
|
||||
- **U7 正式打分**:待复杂机制保真后,对忠实+可玩+带资产批由创始人逐项打分。
|
||||
Loading…
x
Reference in New Issue
Block a user