18 KiB
date, topic, status, sot-impact, 上级
| date | topic | status | sot-impact | 上级 |
|---|---|---|---|---|
| 2026-07-03 | 生成引擎运行时一致性对账 | 已交付,双评审已过(Codex 一评 P1×3/P2×1 全采纳修订;Opus 二评 PASS、16 处 file:line 抽查全准、路径精度 P2 已修)(只读静态对账,三路并行读码,代码断言带 file:line、计划与决策类证据给文档指针;发现项待 doc-sync 与修码工单消费) | 本档不改 SoT;产出两张清单——回写图说的 doc-sync 清单(§5,喂 W-DSGN)与修码清单(§6,与 W-S1 修复三单对账);预算红线口径分裂一项需创始人裁定(§3 发现一) | docs/architecture/架构/生成引擎/agentic运行时架构图说.md |
生成引擎:实现与运行时图说的一致性对账(2026-07-03)
1 总判
架构骨架与工程纪律层面,实现与图说高度一致;图说作为唯一 SoT 的时效已掉队约两周;唯一一组"实现违背设计意图"集中在便宜档续修反馈链上——它正是当前生产过门率卡在 1/6 的根因。
拆开说三句:
- 骨架与纪律全部对得上。 三档同构跑 AgentScope、九门与富游戏三门的判定纪律(零自评、出题≠被考、driven 感知 advisory 分级、latch 同义词与限时降级)、单写者加有界续修、LOCKED_PLATFORM_FILES 锁平台文件、trace 公共五字段、A11 两段式加三断言——逐条在代码坐实,tier2 一侧没有一处实现违背设计纪律。A1–A13 协议表的"现/建"自标在它的冻结时点(2026-06-24/25)是诚实的。
- 图说快照停在 06-24/25,没吸收其后两周的五件大事:便宜档核心 Python 重写(06-26)、续修原语迁入 RepairMiddleware 与预算软化(07-01/02)、tier2 收敛环真跑判 conditional(06-28/29)、配置控制面 Nacos/yudao 反转(07-01)、质量四层塔 canonical 接管 D11 权重(07-02)。其中预算一条构成安全红线口径的 SoT↔生产码直接矛盾,要裁定、不只是回写。
- 便宜档续修反馈链是唯一的"实现违背"聚集区:门的裁决产出了关键信号,反馈管道把它丢了。图说早就预言"收敛强依赖机器门把每类契约违规变成响亮可修反馈"(§4.2/§5.3),这条在便宜档没有被兑现到位。
判定口径四类,下文各表沿用:**【一致】设计与代码相符(含"设计说建且确实未建");【设计滞后】代码合法演进、图说没跟(需 doc-sync);【实现违背】代码违背设计意图或纪律(需修码,或改设计并留痕);【口径冲突】**两处权威说法互斥(需裁定)。
2 对账方法与证据边界
三路并行只读审计:便宜档(cheap-worker/、九门 harness、A11)、tier2(gen-worker、harness、收敛环 runbook)、协议与横切(A1–A13 逐条、contracts/、game-cloud 派发链、配置控制面两份设计档、质量与验收门两 canonical)。全部静态读码、未运行任何链路;代码断言带 file:line(引用行号为 2026-07-03 工作区快照,会随代码漂移),计划与决策类结论给文档指针、不逐条标行号。
未核查项(诚实边界):D12 网关配额闸只确认 game-cloud aigc 存在控制平面装配,未追便宜档派发路径是否真强制(图说自注默认关闭);cheap_modify.py 执行段未逐行读(两段式与三断言已由 classify/assert/studio 侧坐实);latch 达终态分支的字段形状未展开;Agent Service 服务态"真跑未验证"是代码自述与 runbook 记录,本对账未做运行验证。
3 高严重度发现(七条,按处置紧迫度排)
发现一 · 预算红线口径分裂(【口径冲突】,需创始人裁定)。 图说三处(§5.2/§5.3/§5.7)把便宜档 per-gen「<¥10 且 fail-closed 越限即终止」写成安全纪律,标注创始人 2026-06-25 数字红线。但生产 Service 现为 soft_budget=True——越限走软停分支,设标记、提醒尽快 finish、交尽力产物不断链(cheap-worker/cheap_service_app.py:262-263、tier2/gen-worker/worker/middleware.py:392-402),¥10 由此只剩软停线——当前实际硬上界是轮数(max_repairs=6)、model/tool 调用次数与墙钟的组合上界,尚缺显式的 RMB 硬地板公式;而 CLI 路仍是 hard(cheap_studio.py:161)。这是创始人 07-02 决策①(护城河续修不被预算旁路)之后的合法演进,但结果是同一条安全红线在 SoT、生产路、CLI 路三处取值不同。建议裁定为"两段式预算":软停线 ¥10(越线只许收尾类动作、交尽力产物)+ 硬地板(轮数/超时/收尾预算带,保证 ¥ 上界仍可证明),裁定后图说与 CLI 同步回同。
发现二 · 配置控制面反转未回写(【设计滞后】)。 07-01 创始人反转后,配置口径已收敛为「yudao 治理 + MySQL 版本账本 ⊕ Nacos 下发 ⊕ AgentScope per-POST 热重载」,Nacos/RocketMQ/Sentinel 进 MVP 生产 runtime——AGENTS.md §3.1 已改,而被它指为运行时单一真相的图说未改:§5.2/§5.8/ADR-4/A13 仍写「采 Langfuse 式热取 + GitOps 四闸」。两份配置设计档(06-30、07-02 阶段二)的 sot-impact 都显式声明要回写图说、注"收口时回写"未执行。这是 SoT 注册表内的真实漂移,R5(文档口径漂移)现行案例。
发现三 · §4.1 便宜档整节口径落后于 Python 重写(【设计滞后】)。 §4.1 通篇仍以 Node「A-model/amodel-gen」叙述便宜档,现实是核心 06-26 起已整条 Python 化:cheap_studio.py(CLI)+ cheap_service_app.py(独立 AgentScope Agent Service),大面积复用 tier2 worker 包(config、三中间件、gate_judge、observability)。「Node 退役」必须拆开说:Node ReAct 编排(gen.mjs)已退为 A/B 对照基线,但 Node 工具与九门执行层(tools.mjs/play.mjs/serve-and-play.sh)仍是 Python 经 shell-out 调用的活地基(cheap_run.py:127,151,206,297)。照现文施工或评审会找错承重墙。
发现四 · §4.2 收敛环结论滞后,全线最高价值信息没进 SoT(【设计滞后】)。 图说仍以前瞻语气写「下一步收敛环……判断=go(留观微调)」。真跑(06-28/29,runbook)结论是 conditional:M3 能写出过大多数门的多系统富游戏,但自调「赢的条件/经济平衡」不稳(约 1-2/5 thrash 到 step_cap),创始人裁定瓶颈在 agent 层 win-balance、非工具层。据图说判这条线的成熟度会被误导为"已 go"。
发现五 · 续修原语已迁移,§5.3 叙述过时且代码内部注释反向失同(【设计滞后】)。 §5.3 把多轮定为「内部单轮 + 有界外层 resume(studio.py 编排层)≤6」。现实:续修已提升进 on_reasoning 的 RepairMiddleware——整局一个 POST 内在 finish 点拦截、重跑九门、结构化回喂(middleware.py:560-624),便宜档与 tier2 生产路共用;外层 resume 在 tier2 的 studio 路仍存,两套并存。附带一处代码内失同:tier2/gen-worker/worker/agent_loop/studio.py:3-6 头部注释声称"不再外层 repair",而同文件 :408-463 正是外层 resume——此处图说反而比代码注释新。
发现六 · 便宜档续修反馈链丢关键信号(【实现违背】,当前生产卡点根因)。 设计要求每类违规变"响亮可修反馈",实现把反馈做薄了四处:① gate_judge.py:100-102 只读 latch.after/reason,而便宜档 latch advisory 分支只产 phaseNow(play.cdp.cjs:1083)——"卡在 menu"三处可见却进不了反馈;② 反馈不携带 driver 类型,agent 不知道判卷用的是哪张卷;③ 游戏侧 console-log 信号不进管道;④ CLI 路收敛只认 check+build 绿,九门 verdict 事后算、不回喂(cheap_studio.py:202-204,246-249)。叠加两处脆弱隐形契约:driver 选择取决于取证 state 有无 targets/target 键(cheap_run.py:241-244,无任何文档与 schema 背书),play-spec「已存在不覆盖」不随续修重生(cheap_run.py:278-279)。这组问题与 07-03 卡 menu 归因(2 案驱动器约定漂移 + 盲修空转)完全互证,修复三单已在途;本对账补充的增量是 CLI 路回喂缺失与契约无背书两点要一并进单。
发现七 · tier2 服务态与阶段一团队的"现/建"标注错位(【设计滞后】)。 图说把 Redis durable session、控制面、阶段一设计团队框成「待/Phase B/本地 runner 起步」。现实:Agent Service 服务壳已编码——create_app + RedisStorage/MessageBus + admin 只读三路由(roles/traces/cost,恰是 §5.2 phase-1 描述的最小切片)(tier2/gen-worker/service/app.py:272-291),但 run_studio 等价的服务态生成主链尚未完整落位(有界 resume/设计团队/L2·L3/成本/落库等循环外能力仍是 follow-up),且真跑未验证(代码自承只验能启、没跑过一回合 chat;收敛环显式走本地 runner);design_team.py 已以 worker-as-tool 落地四专家星形,且 studio 与批跑默认开启(use_team=True/do_design=True)。准确状态是「已编码、真跑未验证」——既非"待",也不许写"已落"。
4 分面发现表
4.1 便宜档(vs §4.1/§5.4/§5.6 左支/§六)
| # | 面 | 设计口径(§) | 代码现实(file:line) | 判定 | 严重度 |
|---|---|---|---|---|---|
| 1 | 预算 fail-closed | §5.2/§5.3/§5.7 <¥10 fail-closed | 生产 soft_budget=True 软停(cheap_service_app.py:262-263;middleware.py:392-402);CLI 仍 hard(cheap_studio.py:161) |
口径冲突 | 高 |
| 2 | 生成核心口径 | §4.1 通篇 Node「amodel-gen」 | 核心已 Python(cheap_studio.py、cheap_service_app.py:300-354,复用 tier2 worker);Node 编排退为对照(compare_node.py:205),Node 工具/九门 shell-out 仍活(cheap_run.py:127,151,206,297) |
设计滞后 | 高 |
| 3 | 续修反馈内容 | "每类违规变响亮可修反馈" | 丢 phaseNow(gate_judge.py:100-102 vs play.cdp.cjs:1083);无 driver 型、无 game-log(gate_judge.py:64-127) |
实现违背 | 中(产品影响高) |
| 4 | 收敛判据 | 门没绿+有预算→带 verdict 续修 | Service 路 RepairMiddleware 回喂(cheap_service_app.py:270-293);CLI 路九门 verdict 不回喂(cheap_studio.py:202-249) |
实现违背(CLI) | 中 |
| 5 | driver 契约 | §5.4 标"待建" | 隐形契约:state 有无 targets/target 键定驱动器(cheap_run.py:241-244);spec 已存在不覆盖(:278-279) |
实现违背(脆弱) | 中 |
| 6 | 续修放置层 | 内部单轮+外层 resume | 生产改 RepairMiddleware 单 POST finish 点续修(middleware.py:560-563) |
设计滞后 | 中低 |
| 7 | 九门+driven+latch | §5.4 全套 | 全在(play.cdp.cjs:958-1094;driven :1115-1122;同义词 :1075;限时降级 :1082-1083) |
一致 | — |
| 8 | A11 两段式+三断言 | §六 | /classify 判意图+可信边界(cheap_classify.py:118-165);三断言真比对(cheap_assert.py:19-76) |
一致 | — |
| 9 | trace 五字段 | §5.7 | 复用 tier2 TraceAdapter,落同一 schema(contracts/trace/README.md:7;README 廉价线仍写 SAA=轻微漂移) |
一致 | 低 |
| 10 | 预算三层强制 | §5.2 三层 | Layer1 预测闸(middleware.py:355-391)+Layer3 deadline(:302-310)+Layer2 D12(Java 侧,默认关) |
一致 | 低 |
| 11 | L2 插件数 | §4.1「十一插件」 | 实为 12(8 基元+4 编排) | 设计滞后 | 低 |
4.2 tier2(vs §4.2/§5.1/§5.3/§5.4/§5.5/§5.6 右支/§5.7/§5.8)
| # | 面 | 设计口径 | 代码现实(file:line) | 判定 | 严重度 |
|---|---|---|---|---|---|
| 1 | 收敛环结论 | §4.2 前瞻"go(留观微调)" | 真跑=conditional,瓶颈=agent 层 win-balance(runbook 执行发现) | 设计滞后 | 高 |
| 2 | 服务态/控制面 | "待 Redis durable/Phase B" | 服务壳已编码(service/app.py:272-291),服务态主链未完整落位、真跑未验证(自承) |
设计滞后 | 高 |
| 3 | 阶段一设计团队 | "留 Phase B" | design_team.py worker-as-tool 已落,studio/批跑默认开启 |
设计滞后 | 中高 |
| 4 | 续修机制 | §5.3 仅外层 resume | RepairMiddleware finish 点续修另立(middleware.py:560-624),两套并存;agent_loop/studio.py:3-6 注释反向失同 |
设计滞后 | 中 |
| 5 | 沙箱前置阻断 | "小验结论不出来 spike 跑不起来" | 06-28 裁定收敛环走 in-process,DockerWorkspace 转 Phase B——该句已被证伪 | 设计滞后 | 中 |
| 6 | verdict 反馈补厚 | §5.4/§5.7 未描述 | F-1 已落:经济门三数+结构性错配直指(run.py:1000-1070,agent_loop/studio.py:456),仅记在质量 canonical |
设计滞后 | 中 |
| 7 | checkpoint | "每轮落 Redis" | 每外层 resume 落本地 JSON(work_memory.py:140-198) |
设计滞后 | 中 |
| 8 | 四熔断+会话级预算 | §5.3 | 四闸齐(middleware.py:302-349);spent_rmb 跨 resume 累计(agent_loop/studio.py:368);soft 档已加 |
一致 | 低 |
| 9 | validate_play_scene | 标"结构化=待" | 剥注释/串后正则,非 AST(run.py:439-482) |
一致 | 低 |
| 10 | 自产 driver 三层隔离 | 标"待" | 仅 RunRecord 占位恒 None(run_record.py:184-191) |
一致(未建) | 低 |
| 11 | 源项目 schema/M3 成本 | "待交后端"/"补上" | schema 已落;RecordingChatModel(Anthropic)+活价回落告警已落(cost.py:46,newapi_pricing.py:138);feed→play 播放分支仍待 |
一致 | 低 |
| 12 | 九工具 | §5.5 九个 | 实为 10(+validate_datatable,toolkit.py:368-379) |
一致(计数漂移) | 低 |
4.3 协议与横切(A1–A13 快查 + 横切)
| 协议 | 图说标注 | 2026-07-03 现实 | 判定 |
|---|---|---|---|
| A1 任务协议 | 现(dispatch+回调)+建(cancel/progress) | dispatch+HMAC 回调+watchdog+idempotency_key 已落;cancel 副作用契约未建 | 一致 |
| A2 状态+checkpoint | 现+建;采 A2A TaskState | 自研 6 态枚举,toA2aStatus() additive 投影到 A2A 命名;input-required 不产出 |
一致(A2A=对外投影层) |
| A2.5 统一 trace | 建(不存在) | contracts/trace 两 schema 已立、TraceAdapter 真跑 647 事件 | 设计滞后(与 §5.7 自身不自洽) |
| A3/A3.5 源项目 | 建 | schema 已立,LocalFsStore 哈希寻址已验 | 一致 |
| A4/A4.5 装载 | 现(左支)+建(右支) | 左支现行;tier2 播放分支未建 | 一致 |
| A5 验收门 | 现+建(tier2 fork) | 两 verdict schema 已立、feie-005 全过 | 一致(fork 已推进到现) |
| A6 探针 | 现(LittleJS)+建(Phaser) | Phaser 探针已落;第二引擎前不冻 | 一致 |
| A7 工具签名 | 建·采 MCP | FunctionTool 薄壳已落;MCP 加性默认关 | 一致 |
| A8 送审 | 现·部分 | GP9 已落;渠道 adapter 未抽 | 一致 |
| A9 资产 | 现·骨架(护城河字段缺) | 未补 license/ownership/血缘 | 一致 |
| A10 玩法模板 | 现·部分 | 品类 schema 已立;一句话直驱 | 一致 |
| A11 试玩/HITL | 现·代码完成 | 两段式+三断言已落,计费 e2e 待窗口 | 一致 |
| A12 通用检查门 | 现·散三处+建(收一门) | 仍散,未收敛 | 一致(未做) |
| A13 配置注册表 | 建(零落地)·采 Langfuse 式 | 阶段〇+一①已落(Nacos/RocketMQ/Sentinel+middleware);口径已反转 yudao⊕Nacos | 设计滞后(双重) |
横切另有四条中低位发现:OTel 表述超前接线(trace of record 是自研 TraceAdapter→JSONL,OTel span 非落库源);"9d trace"(Java 侧 per-task 聚合喂 D11)与 A2.5 信封(tier2 per-step 事件流)是异粒度异栈的两回事,易混须在图说注明;图说漏引 07-02 质量 canonical(D11 权重管辖已移交、四层塔与 §5.4 三层校验共用 L1-L3 标签但异轴);prompt 治理四闸的 CI 接线仍是规划态(已诚实标注)。
5 doc-sync 回写清单(喂 W-DSGN,按优先序)
- §5.2/§5.8/ADR-4/A13:配置口径回同 07-01 反转(yudao⊕Nacos⊕per-POST;Langfuse 式退历史备选)——两份配置设计档 sot-impact 早已声明此项。
- §4.2:收敛环回同 conditional 结论 + agent 层 win-balance 瓶颈 + F-1 反馈补厚机制。
- §4.1:便宜档回同 Python 现实(cheap-worker 双入口、复用 tier2 worker 包;Node 拆两半表述);「十一插件」改 12。
- §5.3:续修原语回同(RepairMiddleware finish 点续修为生产主路,外层 resume 为 tier2 studio 路并存形态);预算段随发现一裁定回同。
- §5.1:checkpoint 措辞降准("每外层 resume 落本地 JSON;Redis durable=已编码未真跑");服务态/阶段一团队状态改「已编码、真跑未验证/已落且默认开启」。
- §5.4:删"DockerWorkspace 结论必须先出来"句(已被 06-28 裁定证伪,注 in-process 现实);§三 A2.5 行改"现(schema+adapter 已落)"消内部不自洽。
- 图说补引质量 canonical(D11 权重管辖、四层塔与三层校验的轴区分);contracts/trace/README 廉价线口径改 cheap-worker。
- 顺手项:
tier2/gen-worker/worker/studio.py:3-6头注释改正(代码内失同,随下次动该文件带修)。
6 修码清单(与在途工单对账)
| 项 | 归属 | 状态 |
|---|---|---|
| 反馈补厚:phaseNow/driver 型/game-log 进管道 | W-S1 修复三单·单③ | 已在单,本对账坐实行号 |
| 驱动器约定显式化(targets 键契约进模板/skill/schema)+ spec 重生条件 | W-S1 修复三单·单① | 已在单 |
| 起局鲁棒性(menuStartBtn 解耦 render) | W-S1 修复三单·单② | 已在单 |
| CLI 路九门 verdict 回喂对齐(或显式声明 CLI=lab 工具、不承诺续修,写进工具头注释) | 新增,建议并入单③ | 本对账新发现 |
| 预算两段式裁定后的取值统一(生产/CLI/图说三处) | 已裁(2026-07-03 一次性裁决:软停线 ¥10/¥50 + RMB 硬地板 ×1.5;裁决记录见重推演档 §5)→ W-ARCH ② 实施 | 已裁待实施 |
7 结语
这次对账没有发现结构性设计错误——被真跑毒打两周后,实现仍站在图说画的承重墙上;除便宜档续修反馈链这一处实现违背外,核心纪律守住。这对架构骨架是一次有分量的印证。要治的是两件事:把 SoT 的快照追上现实(§5 清单,机械可派),以及把"响亮可修反馈"从设计断言兑现成契约(§6 清单,已在修复三单射程内)。同日另一份第一性重推演以本对账为证据基底,给出差量建议。