From 4f7eae5d7a6705b8ca97c4ee3789c69a61538be3 Mon Sep 17 00:00:00 2001 From: lili Date: Thu, 25 Jun 2026 12:31:32 -0700 Subject: [PATCH] =?UTF-8?q?fix(reframe=E6=94=B6=E5=8F=A3):=20F1=3D(B)=20?= =?UTF-8?q?=E4=BE=BF=E5=AE=9C=E6=A1=A3=20Python=20=E9=87=8D=E5=86=99?= =?UTF-8?q?=E4=B8=89=E6=A1=A3=E5=90=8C=E6=9E=84=20+=20=E5=88=9B=E5=A7=8B?= =?UTF-8?q?=E4=BA=BA=204=20=E5=86=B3=E7=AD=96=20+=20=E2=91=A0=E2=91=A2=20?= =?UTF-8?q?=E8=BD=AC=E6=AD=A3=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - F1=(B)(创始人 2026-06-25 拍板):①WU-A 从「JS 留、只换外层」改为「便宜档 Node amodel-gen 整条用 Python 重写进 AgentScope agent、三档彻底同构」(Summary / Decision1 / WU-A 拓扑+迁移归属 +迁移契约 / mermaid / R1 / 吸收映射 / 排期 全口径对齐;Node 旧路灰度兜底、≥80%+对照等价才切默认)。 - §8 双轴:生成引擎 README §8 加 L1/L2/L3(产品 / 创作者轴)↔ Tier0/1/2(技术 AI 深度轴)对应关系表 (两套保留、不合并、非 1:1)。 - ③ 留存口径笔误:次留 ≥35% / 7留 ≥40% → 次留 ≥40% / 7留 ≥35%(符合 D7 --- docs/architecture/架构/生成引擎/README.md | 11 +++- docs/mvp/可行性方案16周-波次映射.md | 4 +- ...成引擎统一执行计划-AgentScope三档-plan.md | 53 ++++++++++--------- 3 files changed, 39 insertions(+), 29 deletions(-) diff --git a/docs/architecture/架构/生成引擎/README.md b/docs/architecture/架构/生成引擎/README.md index c2b68403..d17e5225 100644 --- a/docs/architecture/架构/生成引擎/README.md +++ b/docs/architecture/架构/生成引擎/README.md @@ -334,7 +334,16 @@ flowchart LR > **预算红线以运行时 SoT 为唯一源,别用本表的旧数值。** 上表原列过一栏按级的工程预算门(L1 ≤¥0.15 / L2 ≤¥5 / L3 ¥50~500),已撤下。每次生成的成本硬闸现在统一收口在运行时 SoT [`agentic运行时架构图说`](agentic运行时架构图说.md) §5.2 / §5.7:**便宜档 per-gen <¥10、复杂档 per-gen <¥50(图 / 音另算)**——这是唯一的红线数值源,本表不再自带预算数字,凡谈 per-gen 成本闸都 repoint 到那里。 > -> **L1/L2/L3 与 Tier0/1/2 是两条不同的轴,别混用。** 本表的 L1/L2/L3 是**创作者能力 / 产品复杂度档**——它回答"谁来造、agent 替创作者干多少活、卖给哪类人、接哪条收入线",梯度从小白填参一路到 B 端全栈。它和 2026-06-25 reframe 的 **Tier0/1/2** 不是同一个分级:后者按 **AI 参与深度**切分生成档,且引擎(LittleJS / Phaser)只是按复杂度选的实现变体、不是分档轴。两套分级各自成立、视角不同,引用时务必标清是哪条轴,不要把"L2"当成"Tier2"、也不要把这里的产品档当成 reframe 的 AI 深度档。(L1/L2/L3 这套产品分级本身保留,等与 Tier0/1/2 的对应关系正式拍板后再统一收敛。) +> **L1/L2/L3 与 Tier0/1/2 是两条不同的轴,别混用。** 本表的 L1/L2/L3 是**创作者能力 / 产品复杂度档**——它回答"谁来造、agent 替创作者干多少活、卖给哪类人、接哪条收入线",梯度从小白填参一路到 B 端全栈。它和 2026-06-25 reframe 的 **Tier0/1/2** 不是同一个分级:后者按 **AI 参与深度**切分生成档,且引擎(LittleJS / Phaser)只是按复杂度选的实现变体、不是分档轴。两套分级各自成立、视角不同,引用时务必标清是哪条轴,不要把"L2"当成"Tier2"、也不要把这里的产品档当成 reframe 的 AI 深度档。(2026-06-25 创始人拍板:两套各自保留、不合并;对应关系见下表。) + +**L1/L2/L3(产品 / 创作者轴)↔ Tier0/1/2(技术 AI 深度轴)对应关系**(2026-06-25 拍板:两套保留、不合并): + +| 这套 | 分级依据 | 回答什么 | 三级 | 大致对应另一轴(非 1:1) | +|---|---|---|---|---| +| **L1/L2/L3** | 创作者能力 + 产品复杂度 + 收入线 | 谁来造、agent 替创作者干多少、卖给谁 | L1 填参成游戏(小白)/ L2 受控补丁扩玩法(进阶 · 订阅付费墙)/ L3 全栈造游戏(专业 · B 端) | L1→偏 Tier0/1;L2→Tier1/2 间;L3→Tier2 | +| **Tier0/1/2** | AI 参与深度(引擎按复杂度选、非分档轴) | AI 写进游戏的内容 / 代码多深 | Tier0/1 轻-中档(LittleJS)/ Tier2 富游戏档(Phaser) | Tier0/1→L1/L2;Tier2→L2/L3 | + +两轴非 1:1:同一创作者档可触发不同 AI 深度的生成,反之亦然;引用时各按各轴标清,别把「L2」当「Tier2」。 > **一条重要的模板哲学拍板(2026-06-12)**:**模板 = 引擎能力插件**(碰撞 / 粒子 / 物理 / 手感等,LittleJS 二次开发件),**不含玩法 / 美术 / 关卡 / UI——这四者是 agent 生成域**。玩法模板层被废除(它是同质化的根源)。所以"玩法模板"在本项目语义里 = 品类引导框架,影响生成 prompt 与脚手架,**不是一个可执行的游戏壳**。 diff --git a/docs/mvp/可行性方案16周-波次映射.md b/docs/mvp/可行性方案16周-波次映射.md index e7dc3669..839689bb 100644 --- a/docs/mvp/可行性方案16周-波次映射.md +++ b/docs/mvp/可行性方案16周-波次映射.md @@ -2,7 +2,7 @@ date: 2026-06-25 topic: 项目上线主计划 canonical: true -status: 草稿 · §6.8 双评审已过(Codex + Opus,必修 C1/C5/F2/F3 已修)· 待创始人确认后转正式 +status: 正式 · §6.8 双评审已过(Codex + Opus,必修已修)· 创始人 2026-06-25 确认(F1=B / §8 双轴 / 留存口径 等决策已落) supersedes: 本文件原「可行性验证方案(16 周)↔ 工程波次映射」(就地升格为主计划 SoT,文件名暂留) --- @@ -74,7 +74,7 @@ create → generate → preview → publish → review 日历闸门:隐私协议 / 用户协议定稿上线(W9,正式拉新前法务定稿);**大模型登记 / 算法备案正式提交**(W11,材料须 W5 已起备)。运营侧的灰测红线在此生效——种子外测一旦挂广告即属「运营」,**备案须在外测前完成**(排期约束);灰测红线 ≤2 万人 + 不接广告 + 报备删档。 -阶段三验收:种子规模达标 + 留存指标达标(次留 ≥35% / 7 留 ≥40% / 时长 ≥3min;**此为运营验收门,非工程门**,工程只保证可测可看)。 +阶段三验收:种子规模达标 + 留存指标达标(次留 ≥40% / 7 留 ≥35% / 时长 ≥3min;**此为运营验收门,非工程门**,工程只保证可测可看)。 ### 阶段四 · 跑营收与融资(W13–16) diff --git a/docs/plans/2026-06-25-生成引擎统一执行计划-AgentScope三档-plan.md b/docs/plans/2026-06-25-生成引擎统一执行计划-AgentScope三档-plan.md index 141c785b..21bb8c69 100644 --- a/docs/plans/2026-06-25-生成引擎统一执行计划-AgentScope三档-plan.md +++ b/docs/plans/2026-06-25-生成引擎统一执行计划-AgentScope三档-plan.md @@ -1,9 +1,9 @@ --- title: "feat: 生成引擎统一执行计划 — AgentScope 三档(reframe 后唯一执行 SoT)" -status: 草稿 · §6.8 双评审已过(Codex + Opus,必修 F1/C2/C3/F2/F5/F6 已修)· 待创始人确认(尤 WU-A 迁移归属判法)后转正式 +status: 正式 · §6.8 双评审已过(Codex + Opus,必修已修)· WU-A 迁移归属创始人 2026-06-25 拍板 F1=(B):便宜档 Node amodel-gen 用 Python 重写进 AgentScope、三档彻底同构 topic: 生成引擎统一执行计划(框架收敛 AgentScope + 三档实例 + 八面落地 + 采标准 6 ADR) date: 2026-06-25 -canonical: false +canonical: true supersedes: - docs/plans/2026-06-18-001-feat-gen-lifecycle-and-tier1-breadth-plan.md (SAA 主线骨架退役;有效项入 WU-A/C) - docs/plans/2026-06-19-001-feat-coredone-验收闭环执行-plan.md (验收闭环入 WU-C 5.4 / WU-F) @@ -20,7 +20,7 @@ design_sot: docs/architecture/架构/生成引擎/agentic运行时架构图说.m 2026-06-25 框架 reframe 把生成引擎的执行收成一条线。此前执行散成三摊:便宜档在 SAA Java 路上跑(06-18-001)、验收闭环单列(06-19-001)、tier2 富游戏在 AgentScope 上自成一份(06-22-003)。reframe 之后,生成编排统一收敛到 AgentScope 一套框架,三档按 AI 参与深度切分(Tier0/1/2),SAA / dify / coze 降为最低优先级、留作远期适配验证可插拔。 -这里要先讲清便宜档的真实拓扑,WU-A 才有准确的迁移面。便宜档的多轮 ReAct 生成循环本体(scaffold → ReAct 即 M3 加五工具沙箱 → done 门 → stage)已经在 Node.js + M3 上跑,落点是 amodel-gen;SAA Java 在这条链路里只当外层编排节点,加上九门 play 的 shell-out 调用方,它不持有生成逻辑。所以 WU-A 的迁移面不是"把生成逻辑从 Java 搬走"——生成核心本来就在 Node 这侧——而是把外层编排从 SAA Java 换成 AgentScope(Python),amodel-gen 的 JS 生成核心留在 A1–A13 适配器之后,由 AgentScope 经适配器调用,不做 JS→Python 重写。 +这里要先讲清便宜档的真实拓扑,WU-A 才有准确的迁移面。便宜档的多轮 ReAct 生成循环本体(scaffold → ReAct 即 M3 加五工具沙箱 → done 门 → stage)已经在 Node.js + M3 上跑,落点是 amodel-gen;SAA Java 在这条链路里只当外层编排节点,加上九门 play 的 shell-out 调用方,它不持有生成逻辑。WU-A 的迁移不是只换外层那层壳、把生成核心留在 Node 这侧——而是把 amodel-gen 这条 Node 生成核心整条用 Python 重写成 AgentScope agent:移植它的范式(多轮 ReAct / 五工具沙箱 / done 门 / 历史压缩),但用 Python 重新实现,与 tier2 同语言同框架,三档彻底同构在 AgentScope/Python 上。A1–A13 适配器协议骨架不变,变的是便宜档的实现语言与框架;SAA Java 外层壳加上 Node 旧路在 Python 版达标后退役。 这份计划落的是设计 SoT [`agentic运行时架构图说.md`](../architecture/架构/生成引擎/agentic运行时架构图说.md):§一命题(可插拔 agent 平台)、§二补三(6 条 build-vs-buy ADR)、§三 adapter 协议层(A1–A13 固定 + B 类可插拔)、§四 两引擎三档生成实例、§五运行时八面。六个工作单元覆盖框架收敛(WU-A)、三档实例就位(WU-B)、八面落地(WU-C)、采标准 6 ADR 分批(WU-D)、控制面与配置发布审批边界(WU-E)、验收与预算门(WU-F)。 @@ -35,7 +35,7 @@ reframe 之后这条线既有大量既成事实、也有真空白。三档逐档 **便宜档(轻-中 AI 深度 · LittleJS · A-model)** - **已落**:A-model 写真 `src/` 多文件范式现行(取代已废的 gameDefinition · `new Function` 路),落点 `game-runtime/tools/amodel-gen/`(多轮 ReAct + M3 循环 + 5 工具沙箱)+ `game-runtime/games/_wg1-gen/`;11 插件能力库(8 基元 + 4 编排 `scene-fsm/hud-ui/session-score/timer-scheduler`)+ `sim-business` 配方;九门 harness 引擎无关、生产已跑、判过大量游戏(SAA-mode `__GameBundle` + driven 感知 advisory 分级)。已实证地板 = W-G1 L1 worker + 九门真玩 + 3 款冒烟(¥0.01–0.03 < ¥0.15 闸)。 -- **待办**:框架编排现行仍在 **SAA Java amodel 路**——这是 reframe 要迁走的(WU-A);便宜档 ≥80% 达标门未跑(全 20 款 bake-off + 四模型横比 + Claude-free judge 门待跑,WU-F);per-gen < ¥10 硬闸接线(WU-F)。 +- **待办**:生成核心现行仍在 **Node amodel-gen + SAA Java 外层壳** 这条路上跑——reframe 要把它整条用 Python 重写进 AgentScope(WU-A,三档同构;Node 旧路灰度兜底到达标后退役);便宜档 ≥80% 达标门未跑(全 20 款 bake-off + 四模型横比 + Claude-free judge 门待跑,WU-F);per-gen < ¥10 硬闸接线(WU-F)。 **复杂档(最高 AI 深度 · Phaser · tier2)** @@ -64,7 +64,7 @@ reframe 之前,生成引擎的执行计划是三份各自为政的活档,且都 reframe 的权威口径(创始人 2026-06-25),本计划逐条据此: -1. **框架收敛 AgentScope,三档统一编排**。生产编排只押 AgentScope 一套。便宜档要换掉的是外层编排:多轮 ReAct 生成核心已在 Node/M3 的 amodel-gen 上跑,SAA Java 只是它的外层编排节点 + 九门 play 的 shell-out 壳,WU-A 把这个外层壳从 SAA Java 换成 AgentScope(Python),JS 生成核心留在 A1–A13 适配器之后由 AgentScope 经适配器调用、不重写;tier2 已在 AgentScope。SAA / dify / coze 降最低优先级,留作远期适配验证可插拔——它们被适配进来这件事本身,就是对 §一可插拔原则的验证,作此用、不作并行生产基建。 +1. **框架收敛 AgentScope,三档彻底同构**。生产编排只押 AgentScope 一套,三档同语言同框架。便宜档的多轮 ReAct 生成核心现在跑在 Node/M3 的 amodel-gen 上,SAA Java 是它的外层编排节点 + 九门 play 的 shell-out 壳;WU-A 把 amodel-gen 这条 Node 生成核心整条用 Python 重写成 AgentScope agent——移植其范式(多轮 ReAct / 五工具沙箱 / done 门 / 历史压缩),用 Python 重新实现,三档同构在 AgentScope/Python 上;A1–A13 适配器协议骨架不变,变的是便宜档的实现语言与框架。tier2 已在 AgentScope。SAA Java 外层壳与 Node 旧路在 Python 版达标后退役。SAA / dify / coze 降最低优先级,留作远期适配验证可插拔——它们被适配进来这件事本身,就是对 §一可插拔原则的验证,作此用、不作并行生产基建。 2. **三档按 AI 参与深度切分(Tier0/1/2),不是按引擎**。级别越高、AI 写进游戏的内容与代码越多。引擎按表现复杂度选(轻-中档 LittleJS、最高档 Phaser),引擎只是实现、不是分档轴。 @@ -87,7 +87,7 @@ reframe 的权威口径(创始人 2026-06-25),本计划逐条据此: ```mermaid flowchart TB subgraph NEAR["近期(reframe 核心执行)"] - WUA["WU-A 框架收敛
便宜档外层编排 SAA Java → AgentScope(Python)
JS 生成核心留适配器之后不重写
(吸收 06-18-001 地基产线化/策略外置)"] + WUA["WU-A 框架收敛
便宜档 Node amodel-gen → Python 重写进 AgentScope agent(三档同构)
移植范式、Node 旧路灰度兜底
(吸收 06-18-001 地基产线化/策略外置)"] WUB["WU-B 三档实例就位(SoT §四)
便宜档 LittleJS·A-model(已落地板·待迁框架+达标门)
复杂档 tier2·Phaser(吸收 003 主体成果 + n=5 收敛环)"] WUC["WU-C 八面落地(SoT §五)
控制面/热取·单写 ReAct·三层校验九门·能力面·源项目契约·OTel·四层职责"] WUD["WU-D 采标准 6 ADR 分批(SoT §二补三)
① OTel+Langfuse → ② A2A+MCP → ③ durable-exec+sandbox"] @@ -115,36 +115,37 @@ flowchart TB ### WU-A 框架收敛(reframe 核心执行项) -**目标**:把便宜档的外层编排从 SAA Java 换成 AgentScope(Python),对齐 SoT §三 A1–A13 固定协议;生产编排收敛到 AgentScope 一套,SAA 降为远期适配验证目标。tier2 已在 AgentScope,本单元只处理便宜档迁移与框架双轨的消解。 +**目标**:把便宜档的 Node amodel-gen 生成核心用 Python 重写成 AgentScope agent,与 tier2 同语言同框架,三档彻底同构在 AgentScope/Python 上;对齐 SoT §三 A1–A13 固定协议;生产编排收敛到 AgentScope 一套,SAA 降为远期适配验证目标。tier2 已在 AgentScope,本单元只处理便宜档重写迁移与框架双轨的消解。 -**真实拓扑(定迁移面)**:便宜档的多轮 ReAct 生成循环(scaffold → ReAct M3 加五工具沙箱 → done 门 → stage)本体已在 Node.js + M3 的 amodel-gen 上跑;SAA Java 在这条链路里只当外层编排节点 + 九门 play 的 shell-out 调用方,不持有生成逻辑。因此本单元要换的是外层那层壳,不是搬走生成核心。 +**真实拓扑(定迁移面)**:便宜档的多轮 ReAct 生成循环(scaffold → ReAct M3 加五工具沙箱 → done 门 → stage)本体已在 Node.js + M3 的 amodel-gen 上跑;SAA Java 在这条链路里只当外层编排节点 + 九门 play 的 shell-out 调用方,不持有生成逻辑。因此本单元的迁移面 = 把 amodel-gen 这条已在 Node 上跑通的生成核心整条用 Python 重写进 AgentScope,而不是把生成逻辑从 Java 里搬出来(它本就不在 Java 里);SAA Java 这层外层壳与 Node 旧路在 Python 版达标后一并退役。 -**迁移归属(按 SoT 适配器"语言中立"原则)**:SoT §三 A1–A13 是语言中立的固定协议,谁在协议两侧用什么语言,协议本身不管。据此,WU-A 的迁移 = 把外层编排从 SAA Java 换成 AgentScope(Python);amodel-gen 的 JS 生成核心留在 A1–A13 适配器之后、不做 JS→Python 重写——AgentScope(Python)经适配器调用 Node 的 amodel-gen,正如现在 SAA Java 经 shell-out 调用 `play.cdp.cjs`。换框架换的是外层编排主体与适配器实现,被适配器隔开的 Node 生成核心不动。本单元起步先出一个**迁移面 spike**,用一条真实生成链路把这条边界坐实(AgentScope Python 外层 → 适配器 → Node amodel-gen → 回收 verdict),验证"换外层壳、不动 JS 核心"成立,再正式铺迁移。 +**迁移归属(三档彻底同构于 AgentScope/Python)**:创始人 2026-06-25 拍板便宜档与三档同构走重写、不走"JS 留、只换外层"。据此,WU-A 的迁移 = 把 amodel-gen 这条 Node.js 生成核心用 Python 重写成 AgentScope agent——移植它的范式(多轮 ReAct / 五工具沙箱 / done 门 / 历史压缩),用 Python 重新实现,与 tier2 同语言同框架。A1–A13 适配器协议骨架不变(语言中立的固定协议),变的是便宜档的实现语言与框架:从 Node/M3 整条搬成 Python/AgentScope。SAA Java 外层壳与 Node 旧路在 Python 版 ≥80% 达标后退役。本单元起步先出一个**迁移面 spike**,用 Python 重写一条最小生成链路(scaffold → ReAct → done → stage),对照现有 Node 版同输入跑、验产物等价 + 范式可移植,坐实"范式能整条搬上 Python"成立,再铺全量重写。 **落 SoT**:§一(可插拔 agent 平台)、§三(A 类固定协议 / B 类 `B-FRAMEWORK-AgentScope` 主框架 · `B-FRAMEWORK-SAA` 最低优先级)、§5.3(WG1 单轮 + 外层 repair 范式承接到 AgentScope 多轮)。 **吸收 06-18-001 的有效项**(SAA 主线骨架退役,但这些做法有效、迁进 AgentScope adapter): - **地基产线化**:运行时访问约定(2D 适配器契约)→ A-model 已用真 src/ 兑现,把"约定迭代 1-2 轮收 3-5 类游戏真实输出再正式化、别冻早"的纪律带进 AgentScope 能力面(对应 §3.1 rule-of-three:单一实现不冻接口)。 -- **策略外置**:多模型回退链(主便宜档 → stage2 救场升档)、JSON 容错、重试/超时/退避——这些是与框架无关的稳态策略,迁进 AgentScope adapter 时复用,不随 SAA 一起退役。 +- **策略外置**:多模型回退链(主便宜档 → stage2 救场升档)、JSON 容错、重试/超时/退避——这些是与框架无关的稳态策略,Python 重写时把范式一并移植、用 Python 重新实现,不随 SAA 与 Node 旧路一起退役。 - **oracle 加固**:校验边界静态扫描(治死循环 / 沙箱 / 确定性逃逸)、driver 命名路径投影、latch 终态驻留——这些是验收侧加固,归入 WU-C 5.4 三层校验。 -**关键取舍**:便宜档迁框架不是把 SAA 裸图 16 节点平移到 AgentScope,而是让 AgentScope 外层编排接住既有的 A-model 多轮 ReAct 生成核心(amodel-gen 已把多轮 ReAct done 门 + check/build 快反馈 + 历史压缩在 M3 上跑通,这套核心连同其 done 门一并留在适配器之后)。SAA 那套裸图确定性多步编排作为 §一可插拔原则的远期适配样本保留——后期把它接成一个 A2A+MCP+OTel 端点,验证"异构框架共用同一套固定协议"。 +**关键取舍**:便宜档迁框架不是把 SAA 裸图 16 节点平移到 AgentScope,而是把 amodel-gen 已在 M3 上跑通的整套范式(多轮 ReAct done 门 + check/build 快反馈 + 历史压缩)用 Python 在 AgentScope 上重新实现,使便宜档与 tier2 同语言同框架。amodel-gen(Node)在重写期作 Python 版的范式对照源——同输入比产物、比过门率——并作灰度兜底活跑到 Python 版达标,但它不再是迁移终态的运行时核心。SAA 那套裸图确定性多步编排作为 §一可插拔原则的远期适配样本保留——后期把它接成一个 A2A+MCP+OTel 端点,验证"异构框架共用同一套固定协议"。 -**迁移契约**:这是 R1 回滚与 WU-F 切换门的对账依据,逐项钉死。 +**迁移契约(重写 + 对照验证)**:这是 R1 回滚与 WU-F 切换门的对账依据,逐项钉死。 -- **当前链路**:创作页一句话 → D12 配额 + 提交侧合规两道入口门 → SAA Java 外层编排节点 → shell-out 调 Node amodel-gen 跑多轮 ReAct → done 门(check+build+stage+smoke 绿)→ SAA Java 九门 play 节点(shell-out `play.cdp.cjs`)→ verdict → 发布门入 feed。 -- **目标链路**:同两道入口门 → AgentScope(Python)外层编排 → 经 A1–A13 适配器调 Node amodel-gen 跑同一套多轮 ReAct → done 门 → 九门 play(适配器内 shell-out,与现状同壳)→ verdict → 发布门入 feed。被适配器隔开的 Node 生成核心两条链路一致、不变。 -- **路由 feature flag(灰度)**:外层编排走 SAA-Java 还是 AgentScope 由路由 flag 控,按比例灰度放量(先小流量 → 逐步抬比例),两条外层壳同期可活、共用同一 Node 生成核心,任何时刻可瞬切回 SAA-Java 壳。 -- **任务状态迁移**:对齐 A2A 任务状态(submitted/working/input-required/completed/failed/canceled),两条外层壳产同一组状态语义,前端轮询进度不感知底层换了壳。 -- **幂等 key**:以创作请求维度的稳定 key 标识一次生成,灰度切换期同一 key 只允许一条外层壳认领、产一份产物,防双跑双扣。 -- **超时重试**:外层壳继承既有稳态策略(双层超时、重试/退避、JSON 容错),与框架无关、随适配器复用;Node 生成核心的内部 done 门/墙钟上限不动。 -- **D12 配额扣退**:入口先扣 D12 配额,失败或取消按补偿路径退还;灰度切换不改 D12 扣退语义,两条外层壳走同一配额门。 -- **在途(in-flight)任务处理**:切换或回滚瞬间已在途的生成不强杀,让其在原外层壳内跑完落 verdict;新进任务才按当前 flag 路由,避免半路换壳产脏态。 -- **切换门槛**:AgentScope 外层壳的便宜档生成成功率达到 ≥80% 达标门(WU-F)才把默认路由切到它;未达标前默认仍走 SAA-Java 壳,AgentScope 壳只在灰度小流量上验证。 -- **回滚触发条件**:灰度放量期生成成功率回退、九门通过率掉、或外层壳出现框架级稳定性问题,即把路由 flag 切回 SAA-Java 外层壳。 +- **当前链路(Node 旧路)**:创作页一句话 → D12 配额 + 提交侧合规两道入口门 → SAA Java 外层编排节点 → shell-out 调 Node amodel-gen 跑多轮 ReAct → done 门(check+build+stage+smoke 绿)→ SAA Java 九门 play 节点(shell-out `play.cdp.cjs`)→ verdict → 发布门入 feed。 +- **目标链路(Python 新路)**:同两道入口门 → AgentScope(Python)agent 自身跑用 Python 重写的同一套多轮 ReAct(五工具沙箱 / done 门 / 历史压缩)→ done 门(同一套 check+build+stage+smoke 绿判据)→ 九门 play → verdict → 发布门入 feed。生成核心从 Node/M3 整条搬到 Python/AgentScope,产物形态(真 src/ 多文件)与验收口径(九门)两路一致。 +- **路由 feature flag(灰度)**:走 Node 旧路还是 Python 新路由路由 flag 控,按比例灰度放量(先小流量 → 逐步抬比例),两条路同期可活,任何时刻可瞬切回 Node 旧路。 +- **Python 版 vs Node 版对照验证**:Python 新路与 Node 旧路同输入跑,逐项比产物(真 src/ 结构与可玩性)与过门率(九门通过率),作为"范式已正确移植、未回退"的硬证据;对照不达标即不抬灰度比例。 +- **任务状态迁移**:对齐 A2A 任务状态(submitted/working/input-required/completed/failed/canceled),两条路产同一组状态语义,前端轮询进度不感知底层换了实现。 +- **幂等 key**:以创作请求维度的稳定 key 标识一次生成,灰度切换期同一 key 只允许一条路认领、产一份产物,防双跑双扣。 +- **超时重试**:Python 新路移植既有稳态策略(双层超时、重试/退避、JSON 容错)再用 Python 重新实现;内部 done 门 / 墙钟上限的语义随范式一并搬过去、不丢。 +- **D12 配额扣退**:入口先扣 D12 配额,失败或取消按补偿路径退还;灰度切换不改 D12 扣退语义,两条路走同一配额门。 +- **在途(in-flight)任务处理**:切换或回滚瞬间已在途的生成不强杀,让其在原路(Node 旧路或 Python 新路)内跑完落 verdict;新进任务才按当前 flag 路由,避免半路换实现产脏态。 +- **切换门槛**:Python 新路的便宜档生成成功率达到 ≥80% 达标门(WU-F)且与 Node 旧路对照验证产物等价才把默认路由切到它;未达标前默认仍走 Node 旧路,Python 新路只在灰度小流量上验证。 +- **回滚触发条件**:灰度放量期生成成功率回退、九门通过率掉、或 Python 新路出现框架级稳定性问题,即把路由 flag 切回 Node amodel-gen 旧路(保留它活跑到 Python 版 ≥80% 达标)。 -**验证**:便宜档经 AgentScope 外层 + A1–A13 适配器端到端产真 src/ 过九门;迁移面 spike 坐实"换外层壳、Node 生成核心不动"边界;SAA 路保留但标记为远期适配验证目标、不在生产编排里活跑;框架双轨消解(便宜档外层编排不再依赖 SAA Java 运行态,Node 生成核心保留)。 +**验证**:便宜档经 AgentScope/Python agent 端到端产真 src/ 过九门;迁移面 spike 用 Python 重写最小链路、对照 Node 版验产物等价 + 范式可移植;Node 旧路与 SAA Java 外层壳保留活跑作灰度兜底、待 Python 版 ≥80% 达标后退役,SAA 异构适配仅作远期可插拔验证目标;框架双轨消解(三档同构在 AgentScope/Python 上,便宜档不再依赖 Node 运行态与 SAA Java 运行态)。 --- @@ -284,7 +285,7 @@ Tier0 与 Tier1 当前在执行盘点里合称"便宜档·LittleJS·A-model"(下 | 旧 plan | 处置 | 有效项去向 | 被退役/推翻的 | |---|---|---|---| -| **06-18-001**(SAA 真结构化生成主线) | **退役 SAA 主线骨架** | 地基产线化(运行时约定迭代不冻早)→ WU-A/WU-C 5.5;策略外置(多模型回退/JSON 容错/重试)→ WU-A;oracle 加固(静态扫描/driver 投影/latch)→ WU-C 5.4 | SAA 裸图 16 节点 studio 主线 + gameDefinition 声明式源(被 reframe + A-model 写真 src/ 推翻;SAA 降远期适配验证) | +| **06-18-001**(SAA 真结构化生成主线) | **退役 SAA 主线骨架** | 地基产线化(运行时约定迭代不冻早)→ WU-A/WU-C 5.5;策略外置(多模型回退/JSON 容错/重试)作范式 → WU-A Python 重写时移植重实现;oracle 加固(静态扫描/driver 投影/latch)→ WU-C 5.4 | SAA 裸图 16 节点 studio 主线 + gameDefinition 声明式源(被 reframe + A-model 写真 src/ 推翻;SAA 降远期适配验证;Node amodel-gen 作 Python 重写的范式对照源 + 旧路灰度兜底,不再是运行时核心) | | **06-19-001**(core-done 验收闭环) | **整体入验收门** | 三层校验/九门划界/rubric → WU-C 5.4;smoke 5 链路/8 页走查/广度抽检/feed 真玩/M0 core → WU-F 对外开闸放行 | core-done ∧ gen-done 的双线拆分框架(Plan A 的 SAA gen-done 已随 06-18-001 退役) | | **06-22-003**(tier2 富游戏自治生成线) | **复杂档,整体入 WU-B/C/F** | U1–U7 核心 + 服务化 + 观测 + 落库(主体已落)→ WU-B 复杂档 + WU-C 各面;U1–U10 作复杂档细化子计划**保留引用** | U8–U10「B 门后才投·纲要」字面口径(部分被既成事实推翻,以 HANDOFF 为准);n≥30 字面(改 n=5) | @@ -298,7 +299,7 @@ Tier0 与 Tier1 当前在执行盘点里合称"便宜档·LittleJS·A-model"(下 | 工作单元 | 波次锚点(16 周阶段) | 说明 | |---|---|---| -| WU-A 框架收敛 | 阶段一(1-4 周)「极简编辑器+自研游戏流」 | 便宜档迁框架,接住已建大头(A-model 地板) | +| WU-A 框架收敛 | 阶段一(1-4 周)「极简编辑器+自研游戏流」 | 便宜档 Python 重写迁框架,移植已验范式(A-model 地板)、Node 旧路灰度兜底 | | WU-B 三档实例就位 | 阶段一(便宜档)+ 阶段二(5-8 周,tier2 富游戏品类) | 便宜档已落地板待迁框架;复杂档 n=5 收敛环 | | WU-C 八面落地 | 阶段二(5-8 周) | 横切实现,与 WU-B 并行 | | WU-D 采标准 6 ADR | 第一批阶段二 / 第二批阶段二-三 / 第三批 future-state | 按成熟度分批,运行时批 future-state | @@ -311,7 +312,7 @@ Tier0 与 Tier1 当前在执行盘点里合称"便宜档·LittleJS·A-model"(下 ## 风险与回滚 -- **R1 框架收敛迁移风险(WU-A)**:便宜档把外层编排从 SAA Java 换成 AgentScope(Python),若灰度放量期生成成功率回退,回滚 = 路由 flag 切回 SAA Java 外层壳,amodel-gen 的 Node/M3 生成核心不动(它本就被适配器隔在外层壳之外、两条链路共用)。迁移面只在外层编排与适配器实现这一层,SAA Java 外层壳本就降为远期适配验证目标、代码在,可瞬切回。迁移走灰度、达标门(WU-F ≥80%)把关才切默认。这是 reframe 最核心的执行项、也是最大迁移面,但因生成核心不动,迁移风险被限在外层壳一层。 +- **R1 框架收敛迁移风险(WU-A · 头号风险)**:头号风险 = 把 amodel-gen 这条已跑通的便宜档现行主力整条用 Python 重写并重新验证,等于推倒一条在产链路重做,回退风险高。缓解 = 对照验证(Python 新路 vs Node 旧路同输入比产物 / 过门率)+ Node amodel-gen 旧路灰度兜底(活跑到 Python 版 ≥80% 达标)+ ≥80% 达标门(WU-F)把关才切默认。回滚 = 路由 flag 切回 Node amodel-gen 旧路(它与 SAA Java 外层壳保留活跑、代码在,可瞬切回)。迁移走灰度、按比例放量、对照达标才抬比例。这是 reframe 最核心、迁移面最大的执行项,缓解全压在对照验证 + 旧路兜底 + 达标门三道闸上。 - **R2 tier2 收敛环 go/no-go 未定(WU-B/F)**:`feie-005` accept 是首跑 n=1 机制验证、不是结论;便宜/中等模型自治写约 56% 表现层能否稳定收敛是全线 go/no-go 所系。回滚 = 退路树按收敛失败模式分流(不再调参,转退路);收敛强依赖机器门把每类契约违规变成响亮可修反馈,纯放开 ReAct + 软约束 prompt 不行。 - **R3 采标准成熟度参差(WU-D)**:MCP Tasks(experimental)、durable-execution(范式非标准)、microVM/Langfuse 热取须标 maturity gate、不当"已收敛生产底座"。回滚 = 慢门第一版用平台 job handle+poll 不押 MCP Tasks;扩容近期用 Agent Service durable session、跨机 durable-engine future-state 旁路 tier2;沙箱近期 Local/Docker、microVM 远期。两项 spike 分两档:DockerWorkspace 托管 CDP harness 小验是阶段二 n=5 收敛环的前置阻断项(批准后即跑、先于收敛环),durable-engine 选型随运行时第三批 future-state;前者未出结论则 n=5 收敛环不开跑,后者未出结论则跨机扩容不推广。 - **R4 配置发布审批边界(WU-E)**:重要配置走 yudao 审批是后期阶段、复用现货;若 yudao 集成不顺,回滚 = GitOps config-as-code 兜底(write 侧),read 侧热取先补一致性 CI 再推广。别在裂的地基(prompt 构建期快照)上盖更大注册表。