docs(gen-engine): A11 切片三收口蒸馏 —— 回写 plan① + 设计面入运行时 SoT §六

收口 TODO①②(创始人 2026-06-29):
- 回写 plan① 切片三:确定性覆写定性精化(执行仍零 LLM、但 A11 经判意图两段式到达、
  非直接覆写;落点对齐工程规范性)+ 后续细化标记已执行(M1-M5 代码完成、6 提交)
- A11 设计面蒸馏入运行时 SoT:新增 §六 调整回路(试玩后纠错)——两段式判意图/工程规范性改一处/
  两档执行/三断言,散文设计面(兑现 plan① TODO⑥ "A11 无 §5.x facet 专节");§三 A11 行状态更新为
  便宜档代码完成
- .agents/knowledge/tech-decisions §1.2 A11 调整回路简洁蒸馏(指向 §六 + 细化 plan)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
lili 2026-06-29 03:08:06 -07:00
parent 5a9b608c56
commit 9ac0e860d1
3 changed files with 36 additions and 3 deletions

View File

@ -50,6 +50,14 @@
--- ---
### 1.2 A11 调整回路(试玩后纠错 · 切片三 2026-06-29
用户试玩生成的游戏后用自然语言提调整,这条回路在便宜档线落地。架构 = **A 两段式**:判意图(`/modify/plan` 收原话 → 便宜档 worker 取 base 源 + 一次轻 LLM 把自然语言分类成 `mode/target/payload` + 风险)与执行(用户确认后调已结构化的 `/modify`分离成两次请求HITL 走前端在两次调用之间的确认——绕开"自然语言进不了已结构化的执行入口"与"危险回问做成任务内暂停态却撞上内部状态机无暂停态"两道阻断A2A 原生 input-required 暂停态留后期)。可改性的根基是生成侧**工程规范性**:资产统一在 `assets.js`、数值集中在 `core.js`,使一次修改落到"那一处",这是生成质量、不是给调整加静态门(判意图仍 LLM 驱动)。执行分两档:确定性类(换资产 / 调数值,改一处、零 LLM+ 模块重生成(改玩法,有界单文件重写、复用续跑与三层校验)。验收 = 九门 + 三层校验 + **三断言**(改动真生效非 no-op / 非目标模块字节稳定[改前改后真比对、不信执行器自报] / 新版本血缘可查)。
**现状**:便宜档代码完成、本机逐段一手真验(真九门、真 LLM 重写、断言集成 smoke受计费真后端 e2e 排部署窗口(创始人 2026-06-29 定不动 live复杂档随 tier2 跟进。关键收敛A11 后端骨架(契约 / `/modify` 编排 / `game_source_project` 血缘 / D12 配额)已大面积落地,真活在便宜档接入 + 判意图/执行/三断言。设计面 SoT = 运行时 SoT [`生成引擎/agentic运行时架构图说.md`](../../docs/architecture/架构/生成引擎/agentic运行时架构图说.md) **§六**;执行留痕 = [`docs/plans/2026-06-28-003-feat-studio-A11-对话式调整回路-plan.md`](../../docs/plans/2026-06-28-003-feat-studio-A11-对话式调整回路-plan.md)。
---
## 2. 这些选型如何服务护城河(为什么"够用即可" ## 2. 这些选型如何服务护城河(为什么"够用即可"
投资人版与技术决策版口径一致:**技术深度不追第一,生态完整度追第一。** 生成能力会被通用大模型 12-18 个月追平,故选型刻意"够用、可替换、低成本",把自研投入压在竞品的空白——游戏流分发与变现闭环。真正壁垒:① 游戏流推荐数据壁垒(真实流量积累,无法购买)② 生成质量反馈闭环玩家数据→quality_score→优化建议→创作者迭代③ 模板/素材/工作流资产沉淀(马太效应)④ 广告位 AI 优化(提升 eCPM。对应的工程取舍自研只做 feed/telemetry/SDK/变现链路/**发行版包装层与契约**~~runtime~~ 出列:渲染循环=LittleJS自研面只剩引擎能力包装与插件协议——2026-06-12 审计 R5 纠正「护城河预划过粗给自研免检光环」agentic 编排自研只剩护城河件——checkpoint + 验收门框架本身2026-06-25 reframe 后三档统一收敛 AgentScopeSAA / dify / coze 降最低优先级、留作远期适配验证可插拔目标)采主流标准对接、不自研),其余(后台、工作流、生成、素材、安全)全用开源/商用组合。**Build-vs-Buy 硬门=[`.agents/rules/build-vs-buy.md`](../rules/build-vs-buy.md)。** 投资人版与技术决策版口径一致:**技术深度不追第一,生态完整度追第一。** 生成能力会被通用大模型 12-18 个月追平,故选型刻意"够用、可替换、低成本",把自研投入压在竞品的空白——游戏流分发与变现闭环。真正壁垒:① 游戏流推荐数据壁垒(真实流量积累,无法购买)② 生成质量反馈闭环玩家数据→quality_score→优化建议→创作者迭代③ 模板/素材/工作流资产沉淀(马太效应)④ 广告位 AI 优化(提升 eCPM。对应的工程取舍自研只做 feed/telemetry/SDK/变现链路/**发行版包装层与契约**~~runtime~~ 出列:渲染循环=LittleJS自研面只剩引擎能力包装与插件协议——2026-06-12 审计 R5 纠正「护城河预划过粗给自研免检光环」agentic 编排自研只剩护城河件——checkpoint + 验收门框架本身2026-06-25 reframe 后三档统一收敛 AgentScopeSAA / dify / coze 降最低优先级、留作远期适配验证可插拔目标)采主流标准对接、不自研),其余(后台、工作流、生成、素材、安全)全用开源/商用组合。**Build-vs-Buy 硬门=[`.agents/rules/build-vs-buy.md`](../rules/build-vs-buy.md)。**
@ -115,6 +123,12 @@ W-G1 实证后创始人亲玩校准拍定:**生产环无 Claude**,质量由*
| MQ 重复消费致数据不一致 | 中/高 | 消息幂等消费message_id + Redis 去重) | 定时任务修复 + 告警 | | MQ 重复消费致数据不一致 | 中/高 | 消息幂等消费message_id + Redis 去重) | 定时任务修复 + 告警 |
| 第三方 SDK 数据泄露 | 低/极高 | 广告/支付 SDK 宿主侧隔离 + 最小权限 | 紧急下线第三方 SDK | | 第三方 SDK 数据泄露 | 低/极高 | 广告/支付 SDK 宿主侧隔离 + 最小权限 | 紧急下线第三方 SDK |
### 5.1 便宜档私有方言对模型有量化成本2026-06-28 对照实验,evidence 见 agent-specs
便宜档让模型直接写一套私有运行时方言(L1/L2/L3 三层骨架 + `createGame` 五法 + `_forensicsView` 契约 + `ctx` 受控面 + 输入收归 L1 + 几十条红线)。母语 vs 方言对照实验(同 brief 点击得分、同模型 MiniMax-M3、各 n=5、用契约无关的 fair-verdict 五信号判据)实测:M3 在母语(标准 Canvas/rAF/addEventListener)下 **5/5 一次成型、3 步、约 14K 输入 token、约 55s**;在现状方言下产同一个能玩的游戏要 **约 26 倍 token、39 倍时间**,还出现母语从未有的失败模式(一局磨满 20 分钟未收敛、反复撞静态检查返工、按错路径读插件)。结论:之前记在"M3 弱"头上的低良率/高成本,**很大一部分是方言强加的税,不是模型天花板**(M3 不弱)。
候选缓解方向(**材料级,待出设计走评审,未拍板**):保留验收契约这个地基(确定性受控面 + 九门是真护城河),但**让模型写它擅长的标准代码,用确定性适配层/编译步骤桥接到 `_forensicsView`/`handleTap` 等验收契约**,把"翻译成方言"从模型移到工具。注:实验只测了方言最擅长的点击得分品类,良率差距是保守下限;成本差距是确凿主结论。详见 [`../../docs/agent-specs/2026-06-28-母语vs方言-生成对照实验-evidence.md`](../../docs/agent-specs/2026-06-28-母语vs方言-生成对照实验-evidence.md),它给 [`../../docs/agent-specs/2026-06-20-生成设计合理性-对抗审查裁决.md`](../../docs/agent-specs/2026-06-20-生成设计合理性-对抗审查裁决.md) 的"表现力硬编码"补量化证据。
## 6. 决策落地的关键工程参数(供选型校验,技术决策版 §4/§7 ## 6. 决策落地的关键工程参数(供选型校验,技术决策版 §4/§7
- **AI 生成**:生成任务状态机 queued→running→succeeded/failed/timed_out/canceled超时 120s失败重试 ≤2 次、超时重试 ≤1 次;队列最大积压 500超则返回 429P50<60sP95<180s - **AI 生成**:生成任务状态机 queued→running→succeeded/failed/timed_out/canceled超时 120s失败重试 ≤2 次、超时重试 ≤1 次;队列最大积压 500超则返回 429P50<60sP95<180s

View File

@ -219,7 +219,7 @@ agentscope 2.0.2 内置 Workspace 三后端(源码实证 `LocalWorkspace` / `Doc
| **A8** | 送审 / 审核协议 | `evaluate(ComplianceGateReqDTO{ gameId, versionId, title, summary, ageRating, promptHash })->GateVerdict{ verdict:pass/review/block, rating, detail[] }`;合规门 verdict ≠ 人工审核 `decision(1通过/2拒绝/3下架)`,两段串联 | 现·部分(Tier0/1 单线硬编码)+ 建 | 自研(同进程接缝) | | **A8** | 送审 / 审核协议 | `evaluate(ComplianceGateReqDTO{ gameId, versionId, title, summary, ageRating, promptHash })->GateVerdict{ verdict:pass/review/block, rating, detail[] }`;合规门 verdict ≠ 人工审核 `decision(1通过/2拒绝/3下架)`,两段串联 | 现·部分(Tier0/1 单线硬编码)+ 建 | 自研(同进程接缝) |
| **A9** | 资产协议 | `assetSpec{ id, category(sprite/character/effect/scene/ui/music), ref, url, provider }`;须补`{ license, ownership, identity }` + 资产血缘;provider = 可插拔接缝 | 现·骨架 + 建(护城河字段缺失) | 自研 | | **A9** | 资产协议 | `assetSpec{ id, category(sprite/character/effect/scene/ui/music), ref, url, provider }`;须补`{ license, ownership, identity }` + 资产血缘;provider = 可插拔接缝 | 现·骨架 + 建(护城河字段缺失) | 自研 |
| **A10** | 玩法模板协议 | templateId 白名单(generic / business-sim / narrative / puzzle / trpg / heritage)+ prompt md + bundle 校验 schema;`getTemplateList()->TemplateRespVO`;模板 schema 与 A5 的 structureOk 耦合 | 现·部分(编译期常量)+ 建(结构 schema) | skill 采 SKILL.md;注册迁 A13 | | **A10** | 玩法模板协议 | templateId 白名单(generic / business-sim / narrative / puzzle / trpg / heritage)+ prompt md + bundle 校验 schema;`getTemplateList()->TemplateRespVO`;模板 schema 与 A5 的 structureOk 耦合 | 现·部分(编译期常量)+ 建(结构 schema) | skill 采 SKILL.md;注册迁 A13 |
| **A11** | 试玩 / HITL 迭代 | 装载复用 A4;`StudioModify{ baseVersionId, mode:deterministic/regenerate-module, target, payload }`;三档反馈回路(确定性覆写 / 模块重生成 / 整体重设计) | 现·部分(装载复用 A4)+ 建(反馈回路) | 自研 | | **A11** | 试玩 / HITL 迭代 | 装载复用 A4;`StudioModify{ baseVersionId, mode:deterministic/regenerate-module, target, payload }`;判意图两段式(`/modify/plan` 判 → 前端确认 → `/modify` 执行)+ 两档执行 + 三断言(见 **§六**) | 现·便宜档代码完成(切片三,本机逐段真验)+ 建(受计费 e2e 待部署 / 复杂档随 tier2 / 整体重设计后期) | 自研 |
| **A12** | 通用检查门协议 | 提交侧(prompt 内容安全,fail-closed)+ 产物侧(体积门 / 逻辑扫描 / CSP),两时相、共用一道引擎无关门外壳 | 现·散三处 + 建(收成一门) | 自研 | | **A12** | 通用检查门协议 | 提交侧(prompt 内容安全,fail-closed)+ 产物侧(体积门 / 逻辑扫描 / CSP),两时相、共用一道引擎无关门外壳 | 现·散三处 + 建(收成一门) | 自研 |
| **A13** | 配置注册表协议 | model / prompt / skill / mcp 四类统一注册;分流判据 = 影响生成质量/安全(prompt、生成门阈值)走 GitOps 四闸不可热改,运营降级开关/阈值走 DB 热改 | 建(代码侧零落地) | 采 Langfuse 式运行时热取 | | **A13** | 配置注册表协议 | model / prompt / skill / mcp 四类统一注册;分流判据 = 影响生成质量/安全(prompt、生成门阈值)走 GitOps 四闸不可热改,运营降级开关/阈值走 DB 热改 | 建(代码侧零落地) | 采 Langfuse 式运行时热取 |
@ -463,6 +463,24 @@ SAA 那一侧的能力面是另一套形态,但它现已降为最低优先级、
--- ---
## 六、调整回路(试玩后纠错 · A11)
§五的八面讲的是一款游戏怎么被生成出来。但首次生成不是终点——用户试玩之后,会用自然语言回头提调整。这条回路的工程承接在切片三落地(便宜档线),它是 §三协议表里 A11 那一行的展开。
它的形态是两段式:判意图与执行分离成两次请求。第一段,用户的原话连同要改的版本进入一个判意图入口,由便宜档 worker 取出那一版的源工程、用一次轻 LLM 调用把自然语言分类成结构化的改动建议——改什么类(换资产、调数值、改关卡、改玩法,或是改动过大、意图不明)、落在哪一处、风险多高,返回前端。前端把建议摊给用户确认或编辑;危险操作、改动过大、改玩法、意图不明都强制用户确认后才提交。第二段才是执行:确认后的结构化改动经已落地的 `/modify` 入口跑。
分两段是被两道现实逼出来的。执行入口的契约入参已经是结构化的 `{mode,target,payload}`、校验在前,所以自然语言必须在它之前就被判成结构化;把判意图塞进执行内部会与这道契约倒置。而"危险回问"若做成一个任务内的暂停态,又撞上内部状态机根本没有暂停态、回调写入路径只认成功/失败两值这道坎。两段式让前端在两次调用之间持有建议态,把这两处一起绕开;A2A 原生的 input-required 暂停态留到将来需要 agent 多轮交互时再补。
可改性的根基是生成出来的工程本身规范。资产统一管理在一处声明、数值集中在一处常量,一次修改就落到那一处:换资产改资产清单里的一个地址、调数值改集中常量里的一个值。这是生成质量,不是给调整加一道静态门——判意图仍由 LLM 驱动,规范性靠生成产出规范工程、不靠工具层加门。便宜档产物现状已大体具备(资产清单 `assets.js`、集中数值 `core.js`,都是可写文件),复杂档的源工程要求相同、随其成熟用同一回路跟进。
执行分两档。确定性类(换资产、调数值、改关卡)是定向改那一处再重新构建,这一步零 LLM、最快、可控性最高;模块重生成(改玩法)只对玩法那一个文件做一次有界重写,复用既有的续跑与三层校验,把写边界收窄到只许动玩法文件,不碰其余已验证模块。改完都要重新过九门。改动伤筋动骨(换玩法骨架、换品类)则退化为一次新的整体生成,留后期。
九门只验"仍能玩",验不出"改对了没、有没有误伤",所以调整的完成判据在九门之外补三条结构断言:改动真实生效(不是 no-op 重构)、非目标模块字节稳定(没顺手改坏别处,由改前改后真比对得出、不信执行器自报标记)、新版本与被改版本血缘可查。三条断言加九门加三层校验全过,才算改成。
> **现 / 建(2026-06-29)**:便宜档线**代码完成**——判意图入口(studio `/modify/plan` → aigc → worker `/classify`)、两档执行、三断言机器门均已落,本机逐段一手真验(真九门、真 LLM 重写、断言集成 smoke)。剩受计费真后端 e2e 待部署窗口(经真后端验三断言 + D12 计费 + 血缘)。复杂档调整随 tier2 跟进。细化设计与执行留痕见 [`docs/plans/2026-06-28-003-feat-studio-A11-对话式调整回路-plan.md`](../../../plans/2026-06-28-003-feat-studio-A11-对话式调整回路-plan.md)。
---
> **同步纪律**:本文是生成运行时架构唯一 SoT。设计一变动,本文与对应 svg 必须同步更新(并入 wave 收口清单)。被本文收敛、已退役的原文档在各自 tombstone 指针处指回本文。 > **同步纪律**:本文是生成运行时架构唯一 SoT。设计一变动,本文与对应 svg 必须同步更新(并入 wave 收口清单)。被本文收敛、已退役的原文档在各自 tombstone 指针处指回本文。
> >
> **相邻 SoT**:prompt / 配置治理 → [`prompt治理.md`](prompt治理.md);对外开闸放行 6 门 → [`验收门.md`](验收门.md)(基准靶集 [`WG1基准.md`](WG1基准.md));数据护城河 → [`数据飞轮.md`](数据飞轮.md);能力框架调研对照 → [`OpenGame对照.md`](OpenGame对照.md);执行序列 → `docs/plans/` 下生成线执行 plan。 > **相邻 SoT**:prompt / 配置治理 → [`prompt治理.md`](prompt治理.md);对外开闸放行 6 门 → [`验收门.md`](验收门.md)(基准靶集 [`WG1基准.md`](WG1基准.md));数据护城河 → [`数据飞轮.md`](数据飞轮.md);能力框架调研对照 → [`OpenGame对照.md`](OpenGame对照.md);执行序列 → `docs/plans/` 下生成线执行 plan。

View File

@ -145,7 +145,8 @@ WU-A..F 是六个关注面,不是六个时间阶段。把它们当执行序列
**两档起步 + 一档后期**: **两档起步 + 一档后期**:
- **确定性覆写(起步必落)**。参数级调整(数值、配色、文案、节奏等可被结构化捕获的改动)不重跑生成,直接对源工程做确定性覆写再重新构建。零 LLM 不确定性、最快、可控性最高,是对话式微调的主路。 - **确定性覆写(起步必落)**。参数级调整(数值、配色、文案、节奏等可被结构化捕获的改动)不重跑生成,对源工程那一处做确定性覆写再重新构建。**覆写这一步零 LLM、最快、可控性最高,是对话式微调的主路**。
> **精化(切片三落地后回写,创始人 2026-06-29)**:覆写**执行**仍零 LLM,但 A11 不是"用户直接给结构化覆写"——它经**判意图**(LLM 把自然语言改话分类成 mode/target/payload)+ 前端**范围确认**两段式到达确定性执行(评审收敛的 A 两段式,绕开"NL 进不了已结构化 /modify"与"input-required 暂停态无承载"两阻断)。落点对齐生成侧**工程规范性**(资产统一 `assets.js` / 数值集中 `core.js`)使"改一处"。详见 `docs/plans/2026-06-28-003-feat-studio-A11-对话式调整回路-plan.md`(KTD1/KTD2)。
- **模块重生成(起步必落)**。调整落在某个模块(某个关卡、某条规则、某个场景),只对该模块走一次有界重生成,复用既有外层 resume 与三层校验,不动其余已验证模块,改完仍过九门。 - **模块重生成(起步必落)**。调整落在某个模块(某个关卡、某条规则、某个场景),只对该模块走一次有界重生成,复用既有外层 resume 与三层校验,不动其余已验证模块,改完仍过九门。
- **整体重设计(后期)**。改动伤筋动骨(换玩法骨架、换品类),退化为一次新的整体生成。 - **整体重设计(后期)**。改动伤筋动骨(换玩法骨架、换品类),退化为一次新的整体生成。
@ -157,7 +158,7 @@ WU-A..F 是六个关注面,不是六个时间阶段。把它们当执行序列
**跨设计面**:WU-B 的 A11 反馈回路 · WU-C 5.4 · WU-F 配额;设计 SoT §三 A11。 **跨设计面**:WU-B 的 A11 反馈回路 · WU-C 5.4 · WU-F 配额;设计 SoT §三 A11。
**后续细化**:一份 A11 细化 plan(确定性覆写 + 模块重生成两档)。 **后续细化(已执行)**:细化 plan = `docs/plans/2026-06-28-003-feat-studio-A11-对话式调整回路-plan.md`(过双评审 + 创始人批);**M1M5 代码全完成、本机逐段一手验证、6 里程碑提交(dev/2.0.0)**;唯一剩项 = 受计费真后端 e2e(创始人 2026-06-29 定排部署窗口、不动 live)。关键收敛:A11 后端骨架已大面积落地,真活在便宜档接入 + 判意图/执行/三断言;架构 = A 两段式(判意图 `/modify/plan` → 前端确认 → 执行 `/modify`)。
### 基建线 · 控制面 / 观测 / 配置热取 ### 基建线 · 控制面 / 观测 / 配置热取