From affb507bc3752dd94e9084d216a1bb5b3829419e Mon Sep 17 00:00:00 2001 From: lili Date: Thu, 18 Jun 2026 10:54:17 -0700 Subject: [PATCH] =?UTF-8?q?docs(.agents):=20=E6=B2=89=E6=B7=80=20003-U1=20?= =?UTF-8?q?e2e=20=E9=AA=8C=E6=94=B6=E9=97=A8=E5=B7=A5=E5=85=B7=E5=8C=96=20?= =?UTF-8?q?+=20=E3=80=8CSAA=20=E8=B7=AF=E6=97=A0=C2=A5(token=E2=89=A0?= =?UTF-8?q?=C2=A5,=E6=8A=98=C2=A5=3DF3)=E3=80=8D=E5=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 扩 saa-graph-orchestration「真·全图 e2e 测成功率」章一条:SaaFullGraphE2eTest 003-U1 工具化 (n≥10/外部 brief 文件、minSuccessRate 可配硬门默认不设、token 成本会计软警告、模型无关单测), 并记关键坑「SAA 路无 ¥ 数据(SaaGraphDispatcher cost 整段省略,折¥=F3)→ 别接¥门、别造假¥」。 Co-Authored-By: Claude Opus 4.8 (1M context) --- .agents/skills/saa-graph-orchestration.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.agents/skills/saa-graph-orchestration.md b/.agents/skills/saa-graph-orchestration.md index d6b0b373..25469511 100644 --- a/.agents/skills/saa-graph-orchestration.md +++ b/.agents/skills/saa-graph-orchestration.md @@ -83,6 +83,7 @@ SaverConfig sc = SaverConfig.builder().register(saver).build(); - **测法(零 DB 跑真全图)**:`new SaaGraphDispatcher(props, stubCallback, null, NOOP, null)`——props 填 `llmBase/apiKey/dispatcher=saa/saaGameRuntimeDir`、`saaCheckpointEnabled=false`+DataSource=null(内存 checkpoint,零 DB);stub `DifyCallbackService` 只捕获 reqVO 不写库。门控 `-Dsaa.e2e=1`+env `NEWAPI_KEY`+`-DGAME_RUNTIME_DIR`。 - **异步派发测试坑(实翻)**:`dispatch` 是**异步+单线程执行器+Semaphore(1) 串行真玩门**,且单款墙钟 **3.5-16min**(九门真玩循环+最多 8 救场轮固有,非 SAA 特有=同 Python W-G1)。**别**"每条 dispatch 后 arm 新 latch 等 240s"(串行+回调错配=归因全错);正解=**一次性投递全 N 条→共享 `CountDownLatch(N)`→stub 按 `reqVO.getTraceId()` 精确归位并发 map**,每条超时 900s。 - **首证基线**:真全图(render→…→真九门 play→…→emit/giveup)真 LLM+真九门跑通、**零 prod bug**;成功率 **3/5=60% < 80%**。成功路 engineBundle≈211KB(含引擎,经 `__GameBundle` 全局名校验才置 succeeded)。**难门 I_control/F_wiring/H_progress 卡 60%——根因非"模型天花板"**(2026-06-18 根因分析 + Codex 复核证伪:无样本确认真硬天花板;scale-20 无"人工介入后仍不过"的款)。**主因 = 无人值守产线的"喂不全 + 救场机制不足 + 门判据偏"**:命门 = 注入的 few-shot 探针 `_goldenpath-probe/factory.js` 缺 `_forensicsView`/latch、而 prompt 硬要求它(模型抄没见过的实现);I_control 平滑跟手 harness 查、prompt 零提及;failCount 跨档不重置 + repair 不回喂源码。详见 `docs/brainstorms/2026-06-18-生成失败根因分析`。便宜模型不稳→救场耗尽 giveup(真落盘,非崩溃)。**SAA 机制 ≠ 生成质量**:转默认产线(U7)的 ≥80% 门由 W-G1 生成质量域把守,非 SAA 编排 bug。 +- **003-U1 验收门工具化(plan 2026-06-18-003,可作 flip 前置硬门)**:把本测从「内置 5 条 / 只断 `succeeded>=1`(留人判 80%=不可作硬门)」升成**客观可运行产线门**——① brief 内置扩 12 条多品类 + `-Dsaa.e2e.briefFile` 外部行式文件(去空白/跳空行/跳 `#`,空则回退内置);② `-Dsaa.e2e.minSuccessRate` 可配**硬断言**,**默认不设=仅存在性**(保 003-U1「先实测真基线再收敛」、不破普通构建),显式 `0.8` 即 flip(003-U2)前置硬门;③ **成本会计 = token 代理,非¥**——从回调 `trace.tokens.{prompt,completion}` + `modelTier`(升 stage2 计数)汇总,`-Dsaa.e2e.maxTokensPerGame` 仅**软警告不硬阻断**(创始人裁「质量优先、允许临时破价、记账对账」)。**🔴 坑:SAA 路无 ¥ 数据**——`SaaGraphDispatcher` cost v0 整段省略(token≠¥,挂 cost 语义错)、折¥=follow-up F3 → **别接 ¥ 门、别造假¥,只记 token**。纯逻辑抽静态方法 + 模型无关单测 `SaaFullGraphE2eGateLogicTest`(普通 `mvn test` 即跑,不需模型/key,12/12 过)。 ---