# 批9c 收官状态 + 下一步优化方案(2026-07-16 晚,compact 恢复锚点) > 本文档=compact 后接续工作的详细锚点。概览见 README §九「批9c」条目;本文档给可执行细节。 > 任务完成后按仓库约定蒸馏进 README §九 并删本文档。 ## 进展快照(2026-07-17 凌晨,最新——compact 恢复优先读这节) - **item4 额度系统**:✅ 已实现+主代理亲验+**已提交 `9a513e7`**(chat_governed 统一治理,五书降级链上收,账本 example_llm_quota)。 - **范式卡去重(回溯聚类)**:recluster 子命令已实现+亲验(连接三段/贪心最近母卡/软删可逆/dry-run 门控)。**combat 已放量:886→770(并 116,缩减 13%)**,完整性/可逆性/质量四项亲验通过(116 输家软删+116 嵌入软删+83 母卡带回溯审计,被并卡全文留档可回滚)。**其余四型(emotion/craft/scene_pattern/trope)后台放量中**(/tmp/muse-recluster-rest.log,任务 bl8fwgyjc,受额度系统自动跨窗,约 5550 次判定、跑几小时)。真实归并率 ~13%(非预想 50%,创始人已知情拍板"全量 0.75")。cards() 前向修复(SIM_MERGE 0.85→0.80、0.75+ 均送判定)已随附。 - **升格卡改造**:4 决定已拍(①里程碑=结构化对象 章/台阶/周期 ②补齐=五型全补 ③character 一起改 ④存量迁移=人工精确化;+主代理定 演变概括独立字段),记入 `docs/2026-07-16-升格卡改造设计.md` §十。fable5 已实现**前向代码**+主代理亲验:6 个 schema yaml(演变历程 `[detection,extraction]`/演变概括·前身·后继 `true`/character 成长弧线回归"未来计划")、parse_upgrade.py(里程碑对象合并去重按真实章号+撤销靠 `_win` 键+当前态干净纪律+语义判重默认关)、迁移脚本 migrate_upgrade_windows.py(**确认只读零写库**)、read-context/detect SKILL.md 补说明。 - **进度(截 2026-07-17 06:00)**:范式卡去重 ✅ 五型全放量完成 **7045→6327(并 718 / ~10%)** 已提交 `9c87f0d`(五型均自洽可逆);升格卡前向代码 ✅ 已提交 `1786035`、seed 已重跑灌合同(6 型合同均含演变历程,亲验)、`type` 键兼容已核 OK。 - **独立审查(opus 对抗复核,2026-07-17)**:无阻断问题(软删/可逆/连接三段/额度不绕过/契约 全部独立复核成立);揪出并修复 2 真 bug(提交 `46704ee`)——① recluster `_absorb` 用输家书名覆写实例跨书归属(已污染 30 条/14 母卡,**已从回溯归并审计确定性还原、复验 0 残留**);② 迁移章号正则裸"N章"误抓"隔3章"数量词(迁移未真跑、无数据影响,已修+11 用例验证)。**步骤3 语义判重启用前需处理**:`semantic_dedup` 在持窗级 DB 连接期发 embed+M3(非三段式,靠 keepalives),开启前改三段或确认无碍。轻微项(`_win` 键入 payload 噪声、里程碑按台阶去重边界)已记、暂缓。 - **升格步骤2 方向已变(数据驱动,2026-07-17)——迁移否决、改重抽**:迁移低价值已弃(只清 character/relation 的 [窗N]、大头花在过度抽取的人物噪声卡[苏铭561/李锋527条]、且**根本不碰 item/power_system 机甲成长**——那才是创始人的目标"生物机甲4→7级")。核心解药=**用新提示词重抽**。(全库分布:2260 升格卡里 75% 无成长条目,极端过度抽取仅 ~17 张人物卡。) - **升格重抽·小样验证 ✅(2026-07-17,零落库/6 调用/$0.07,主代理核实卡6223 未动、全库 0 带演变历程)**:新提示词能为力量体系抽出**干净逐级成长线**——生物机甲 IV代→伪V代→真V代 9 条里程碑、全真实章号、生命周期标对、当前态字段干净;远优于老卡(老卡无演变历程字段、成长史塞在戏剧作用/跨体系换算成流水)。方向**成、值得放全量**。 - **验证暴露 3 个洞(全量前必补)**:① **[最关键] 命名脆→成长线静默断**:新提示词给体系起了对不上正文的名("联邦生物机甲体系")→机械预扫认不出→更新路径不触发→整条线零里程碑;**解药=开语义判重(P1,默认关)**。② **登场里程碑易丢**:首现走"新名字"路径、倾向写当前态而非建"登场"里程碑。③ **单位事件串到体系卡+台阶偏长**:把某台具体机甲的事记到了体系卡(该归各自机甲卡)。 - **✅ 创始人拍板路径(2026-07-17):先补 3 洞 → 再零落库小样确认补洞效果 → 才放全量重抽**。补洞=改 `parse_upgrade.py` observe/update 提示词(治②③)+ 开语义判重①(需先把升格卡 embed 落库 + 先把 `semantic_dedup` 从"持连接期发 embed+M3"改成连接三段式,见上条独立审查)。 - **全量重抽的管线坑(执行者注意)**:升格是**串行有状态**;全书重抽要清多张状态表(`example_upgrade_window.status`/`example_upgrade_presence`/`_alias`/`_card_state`)+ 处理 **cid 冲突**(`INSERT ... ON CONFLICT (tenant_id,command_id) DO NOTHING` 会让新卡撞上软删旧卡的 cid 而被跳过→重抽建不出卡);`--redo-window` 重做中间窗会破坏串行依赖。小样用的是**内存零落库法**(脚本 `/tmp/muse_upgrade_dryrun.py`、`/tmp/muse_upgrade_warmupdate.py`)。目标书:**work=8 深空之影**(生物机甲6223/铁头1154,308 机甲力量卡)、work=4 机动风暴(104 张)。 ## 一、批9c 已真收官(五书全量重审) - **五书 b9-full-v2 审核库内校验 ALLOK**:星环 1525 / 机动 780 / 机战 2336 / 超神 1441 / 深空 963,全书全覆盖。 - **审核统计**:pass 1677(23.8%)/ revise 4358 / reject 1010 / blocked 0,均分 3.16,降级卡 30(全星环,敏感批用备用模型评分、已打标记;纯 M3 评分 7015)。 - **三份样张**:`docs/2026-07-16-批9终态样张-{范式五书,升格机动,升格深空}.md`(前两已提交;升格深空为本轮新出,untracked)。 - **额度**:旧 grep 次数口径(8965)作废;服务端实花 **$122.93**(累计=今日;授权上限 $2100)。 ## 二、本轮踩坑与修复(勿回退) 1. **死锁解开**:原重审 wrapper 与深空残渣清洗钩子的 `pgrep -f` 交叉/自匹配互锁 → 杀钩子手动跑 `/tmp/muse-clean-debris.py 8` + 会话接管深空重审。**教训:解死锁最小动作优先**(曾多叠一个接管控制器、把正常在审的深空打断,纯属过度设计)。 2. **`review_cards.py` 修 3 处**(`.claude/skills/review-knowledge-cards/scripts/review_cards.py`,工作树已改未提交): - **敏感降级链** `DEGRADE_CHAIN=["MiniMax-M3","MiniMax-M2.7","deepseek-v4-flash","glm-5.2"]` + `chat_degrade_review()`;全链失败标 blocked 不崩。 - **分片** `--shard i/N`(id%N==i),多进程并发各自独立事务。 - **连接拆「读/算/写」三段**:LLM 阶段不持 DB 连接、写库用全新短连接(治 Tailscale 长事务空转超时,实测星环/机动崩因);+ reviews 条目 `isinstance(r,dict)` 守卫(防模型把条目返成 list 崩)。 3. **物理删除 work5/9**(机战/超神「源修复前重复导入」旧本,共 8596 行:章 4296+块 4296+参考档案 2+作品 2):**创始人 2026-07-16 明确授权覆盖「删除=软删、不物理删」红线,仅此两废本**;SQL=`/tmp/muse-b9c-purge-w59.sql`;删后作品表 8 本 8 活、好本 work10/11 无损。其余表仍守软删红线。 ## 三、下一步工作(创始人已确认,compact 后继续) ### item 4:额度系统改造(✅ 已上线·主代理亲验) **状态(2026-07-16 夜收口)**:compact 后重做完成并**主代理亲自验证上线**—— - 代码:`llm.py` 加 `chat_governed` 统一治理入口 + 计价/窗口/账本读写;四调用方(parse_llm/parse_outline/parse_ingest/review_cards)自建降级链上收复用;新建 `db/ddl/95-example额度账本.sql`(表 `example_llm_quota` 已 apply)+ 离线单测 `test_quota.py`。 - 亲验:① 9 条离线单测主代理亲跑全过(窗口/计价/六路由);② review_cards 三处红线修复完好未回退;③ 全模块导入无悬空引用;④ **真调用对账端到端闭合**——首个真调用我算 11.04 配额单位、服务端 total_used 实扣 +11(异步延迟十几秒落账),匹配;账本两笔原子累加正确(0.00018516/2 笔);⑤ 校准噪音已 `DELETE`,账本清零、额度从零起(当前窗 2026-07-16T20)。 - 已知:New-API `/api/usage/token/` 聚合口径异步滞后且高频轮询会限流返非 JSON(与计价正确性无关,勿据此判错)。 - 下方 spec 为实现依据,保留备查。 全局改 llm skill(**只改 `.claude/skills/call-content-model/scripts/llm.py` + 新建 `example_llm_quota` 库表 DDL 落 `db/ddl/`**): - **以钱为主**。每次调用:`cost_usd = model_ratio × ((prompt_tokens - cached_tokens) + cached_tokens×cache_ratio + completion_tokens×completion_ratio) / 500000`(New-API 口径,$1=500000 配额单位)。费率从 `GET http://100.64.0.8:3000/api/pricing` 取,硬编码兜底:**M3=0.15/4/0.2、M2.7=0.15/4/0.2、glm-5.2=0.5634/3.5/0.25、deepseek-v4-flash=0.07/2/0.0714**(model_ratio/completion_ratio/cache_ratio)。 - **时间窗**:按钟点 floor 到 00/05/10/15/20(每天 5 窗,末窗 20–24=4h),每窗独立、跨窗清零。用 `datetime.now()`(普通 python 可用)。 - **共享账本** `example_llm_quota`(窗口键、MiniMax花费usd、总调用数、更新时间),原子累加(`INSERT ... ON CONFLICT DO NOTHING` 建行 + `UPDATE ... RETURNING`),多进程/shard 共用一本账。 - **全局统一路由**(敏感降级 + 预算降级并成一条),每调用前:① 本窗总调用 ≥6000 → **自动 sleep 到下一窗边界续跑**(创始人选,非硬停退出);② 要 MiniMax(M3/M2.7) 且本窗 MiniMax 花费 ≥$24 → 切 glm-5.2 → 调用失败(不可用) → 切 deepseek-v4-flash(glm/deepseek 无 $ 上限、但可能失败);③ 撞 `SensitiveError` 沿链降级。成功后原子累加(花费仅 MiniMax 计、次数全计)。 - `review_cards.py` 里自建的 `chat_degrade_review` **改为复用 llm skill 统一路由**(避免两套降级)。 - 坑:sleep 到下一窗时**不持 DB 连接**(Tailscale);费率拉取失败用兜底值。 - **验证**:离线单测(窗口边界/成本公式/路由选择,假 usage)+ 1–2 次真调用对账(snapshot `/api/usage/token` 的 total_used 增量 ÷500000 vs 算出的 cost,±5%)。 - **额度清零** = 新表从零起(当前 20–24 窗从 0 算)。 ### 卡质量优化(方案已确认,等 item 4 上线后实施;都要烧 M3、受新 $10/5h 窗管控) **两只 fable5 诊断共同结论**:病根=**判重坏了**(当初为省钱关了语义判重)**+ 抽取过量产碎片**;两类卡头号修复都是**开启嵌入语义判重**。 **范式卡**(pass 率 23.8%;判据没冤枉卡=已校准 opus 金标准、卡真普通,但一大块好卡被「同功 family」机械压分打进 revise=判重漏检+抽取过量所致,**非判据太严**。硬证:81.5% 卡有 ≥0.75 近邻、0.75–0.85 段 5123 张全漏走且 64% 是 revise): - **P0 生产期跨窗跨书聚类去重(最大杠杆)**:出卡入库前对全库同型卡聚类归并,一家族留一张母卡累积多实例;`SIM_MERGE` 0.85→0.80、0.75–0.85 段强制走 merge_judge(现只标记)。改 `parse_ingest.py`(SIM_MERGE≈L44、cards() L445–471)。预期 7045→~3000–4000 唯一卡,pass 率诚实抬升。 - **P1 抽取提干货**(改 `parse_llm.py` scaffold_prompt/window_cards_prompt):换书测试设硬前置 checklist;**combat 只抽战术原理、禁单场战斗走位、强制打题材标签**(=combat 打标签落地);craft 四件套(原理/失败模式/异质化/迁移用例)缺项不出卡;拆掉空批 nudge 逼卡效应(允许型-批真诚 0 卡)。 - **P2** 控出卡密度(平庸窗允许 0 卡);**P3** 判据不松(cal-002 红线),只把 3.33–3.49 贴线的 759 张 fable/opus 批量复审捞回(运营动作)。 **升格卡**(作品面,成长线丢失;根因=只有 character 有成长字段、机甲/武器/力量体系无成长字段→进阶被覆写抹平或塞错字段;主线被拆 30+ 张碎卡跨人物/物品/力量体系 3 型、无链接;判重纯字符串、语义判重关了): - **P0 补骨架+记里程碑**(改 `meta/schemas/item.yaml`、`power_system.yaml`→`seed_schemas.py` 重跑入库;改 `parse_upgrade.py` `APPEND_FIELDS`(L47)、observe/update prompt):给 item/power_system 加「演变历程」数组字段;提示词记进化台阶 + 登场→高光→退场→结局生命周期,别覆写抹平。 - **P1 串链+语义判重**:加「前身/后继」链接字段串进化链;判重接 embed skill(≥0.78 召回 + M3 终判)治改名/跨型漏并。 - **P2** 清墓碑卡(深空 475 张 deleted=TRUE 回滚残留,物删需创始人授权);导出层 `parse_export.py` 按进化链聚合呈现。 **创始人两点细化(必须遵守):** 1. **历史/里程碑数组用「绝对章号」索引,绝不用 `[窗N]`**——窗口是运行时定义、会变、非卡属性;现有卡里的 `[窗N]` 要清成章号。 2. **卡做「渐进式披露」**:**现状层**(实体当前态+概括,写作 agent 续写默认只读)+ **完整历史层**(全里程碑,仅一致性检查/detector 读全);关键卡上万字。**落法=接现有 read-context 的 aiContext 按用途裁剪**——把「完整历史」字段标「仅 detection 用途可见、续写不给」(不是新机制,是字段可见性按用途/scenario 分层,与四层上下文/三级裁剪一脉相承)。schema 字段加用途可见性标注、抽取产出分层、read-context 按用途裁剪。 ### combat 210 卡题材绑定 = 打标签(创始人拍板,纳入范式卡 P1 一起做) ## 四、遗留项 - 原有:B3 检索验证、B5 确认门、嵌入批量补算——延后。 - 本轮新增:降级卡 30(星环,如要纯 M3 可单独重审这 30 张);深空摘要重刷 20 条失败尾巴(可重跑补);卡格萨莫同名升格卡对 1 处(体检唯一黄线,可定点消歧);**框架改动待提交**(review_cards.py 3 修复 + item4 llm.py/DDL + 本 doc + README§九——创始人问过「要不要提交」未明确答,恢复后确认再提交)。 ## 五、红线/环境(勿违反) - review_cards.py 三处修复勿回退;深空清洗→重审串行(禁并发整行写回);新额度规则(item4)。 - 双轨:创作内容不 commit(确认=commit 只创始人指令触发);框架/文档正常提交推送。 - 汇报纪律:第一句先说创始人要做什么,白话不黑话(内部代号/英文行话不裸用当场展开)。 - Python=`.venv/bin/python`;DB 通道=db skill(DSN 锁脚本内,只连 muse-example);New-API base=`http://100.64.0.8:3000`、token 在 llm.py 头。 - 书:星环=work3 / 机动=4 / 深空=8 / 机战=10 / 超神=11(work5 机战旧本、work9 超神旧本已物删)。 - 两只 fable5 诊断全文在本 session 对话(升格卡+范式卡),关键点已蒸馏进本文档第三节。 --- ## 批9d 插入记录(2026-07-17/18) 批9c 全量重抽启动前,创始人插入方向级任务:第一性原理分析各类卡是否符合要求,抽最重要的点完善 SoT。已完成并落 design-docs(提交 2124a793):新增专题-07(知识消费契约与质量闭环,"以用定卡")+ 七册配套拍板(含 aiContext 值域升级、参照作品面、双层拍板、purpose 枚举统一)。分析证据链见 `2026-07-17-卡的第一性原理与知识效用闭环.md`。**批9c 收尾已由创始人下"继续"口令启动(2026-07-18),compact 恢复后从这里接**:下一步 = **派 fable5 实现子代理补 3 洞**(尚未派出;任务清单 #9-12 已建)。子代理提示词要点:改 parse_upgrade.py——②观察/更新提示词令实体首现必立"登场"里程碑且归并不丢;③体系卡演变历程只收体系级变化、单位/个体事件归各自实体卡、台阶一句话限长;①语义判重连接改读-算-写三段式(opus 审计点名:现持窗级连接跨嵌入与 M3 调用)+ 新卡/更新卡写段增量嵌入落 example_knowledge_embedding(重抽期间判重才有向量可召回)+ 接入重抽流程。红线:三段式连接、软删、LLM 走 chat_governed(M3)、绝对章号、中文注释、最小改动面、不跑库写。之后顺序:主代理逐段核验 → 零落库小样验 3 洞(深空样窗:生物机甲/铁头判同归线、登场里程碑在、体系卡无单位事件)→ 呈报样张等创始人放行全量。**创始人 2026-07-18 拍板通过重抽后路线:批10 = 消费最小闭环 + 回放评测首跑**——顺序:①升格卡向量落库(补齐可命中)→②统一读取器 read-context 从设计桩变实(8587 张卡第一次被创作流消费)→③单书规划线回放首跑(冻结前 N 章知识推演下一台阶、对照原书评分,验收对齐专题-07 §4/§7);不再继续扩书拆卡。 ## 批9c 收尾执行记录(2026-07-18,补3洞→小样全过,待创始人放行全量) - **补洞实现(fable5 子代理)+ 主代理逐段核验 ✅**:`parse_upgrade.py` 每窗重构为 读1(短连)→观察(无连)→预判段(嵌入/召回/终判无长连)→写(窗事务)→嵌段(commit后三段式增量嵌入落 example_knowledge_embedding,软删旧活行+upsert);机械判重判据抽 `_classify_new_name` 纯函数预判/写段共用;四条归并路径换 `_merge_material`(演变历程完整不截);`new_card` 接 `_debut_milestone` 登场机械兜底;观察/更新提示词加登场硬约束+体系级纪律+台阶≤40字;`_clean_milestone` 加 80 字硬闸(主代理修复:截断必须放在内嵌章号抽取与周期推断**之后**,防截丢兜底线索);`build_embed_text` 补 type 键型修正(升格卡型认出)。离线自测 43 项全绿(`test_parse_upgrade_offline.py`)。提交 `2173c8f` + 校准提交。 - **零落库小样 ✅(深空窗35-37,观察3+终判若干+嵌入2批,≈$0.15,零卡表写入)**:报告 `/tmp/muse_upgrade_smoke3_report.txt` + probe4。洞② 登场:172 张适用型新卡 100% 有登场(模型自给 114+机械兜底 58,双保险成立)。洞③:299 条台阶 0 条超 80 字硬闸(>40 软目标 29 条);体系卡「联邦生物机甲技术」2 条里程碑均体系级、当前态字段干净。洞①:**阈值 0.78 实测证伪**——同实体改名对余弦仅 0.63-0.66("联邦生物机甲技术"vs 卡6223 = 0.6565)永不触发语义层,不同体系对 ≤0.58 → **阈值校准 0.78→0.60**;终判证据不对称修复(recall_neighbors 近邻带字段摘选 300 字入终判 prompt + 判据补"同型名称互含≈简称全称""改名不改实质")。校准后五探针全对:互含改名×2 → merge 6223;**非互含改名**("卡依斯反应驱动战械体系",语义层真正要接的残余缺口,机械子串层接不住)→ 0.6128 过阈 → merge 6223;反向安全(帝国4代纯机械体系)→ 0.576 不过阈 → new(误并方向守住);铁头 → 0.9456 → merge 1154;跨型全部未并。边距诚实说明:非互含 0.613 vs 反向 0.576 分离带窄,第二道守门=终判 M3(带字段证据)+ 同型才并 + 别名审计行(verdict_by='semantic')可回溯。 - **待办=呈报创始人放行全量重抽(任务#12)**。全量执行时注意本文档上方"全量重抽的管线坑"三条(清串行状态表 / cid 冲突吞卡 / 勿用 --redo-window 破串行),跑法:`run --work-id N --semantic-dedup` 逐书串行。 ## 批9c 全量重抽收官验收(2026-07-18 完成,两书 100%) **跑动结果**:机动风暴 80/80、深空之影 116/116,**零失败窗**。今日重抽共 $14.65 / 2690 次调用,5 个额度窗无一撞 $10/4000 硬顶。 **跑动中修一真 bug(提交 8e9e97c)**:模型偶把出场章输出成字符串("508"),与库内 int 章号 sorted 混排炸(深空窗113 当场停书),且 `len(chaps|hist)` 并集把 "508"/508 当两值虚增跨章计数误判立卡门槛。加 `_int_chaps` 归一化在四处消费点统一套用,离线补 6 用例(49 项全绿),窗113 续跑过关验证根治;清 1 张 pre-fix 残留卡(12640 出场章字符串→int),全库复验 0 残留。 **六项验收**(均库内实测): 1. 卡数:机动 627(=旧 627);深空 1407(旧 1579,少 172=语义判重合并改名碎片的预期效果,非丢数据)。 2. 成长线抽查(关键):深空 V代生物机甲各卡呈干净逐级线——如伊琳娅丝 388登场→423高光、血怒 421登场→423退场,真实章号、登场/高光/退场生命周期齐全,远优于旧卡散文流水。**方向兑现**。 3. 向量:实体卡 100% 有向量(边抽边嵌成立);关系卡(character_relation,机动138+深空229=367 张)**未嵌入**——设计如此(关系卡走独立写、不经 touched),**批10 消费前需用 embed skill 批量补嵌**。 4. 洞②登场覆盖:有演变历程的实体卡 100% 带登场里程碑(机动 489/489、深空 1178/1178)。 5. 洞③台阶限长:10351 条里程碑台阶,>80字硬闸 0 条(软目标>40字 2554 条=25%,模型常超软目标但硬闸兜住)。 6. 洞①语义判重:并卡 49 张(治改名碎片)+ 串链候选 204 条(前身后继);章号纪律 0 条 [窗N] 残留。 **收官后待办(进批10 前)**:① 用 embed skill 给 367 张关系卡批量补嵌(补齐可命中)→ 与实体卡一起满足批10 消费的向量前提。② 批10 三步(升格卡向量落库收尾→read-context 从桩变实→单书规划线回放首跑,验收对齐专题-07 §4/§7)未启动,等创始人放行(涉烧额度管线)。 ## 额度阀提额(2026-07-18,创始人拍板) MiniMax 每 5h 窗自限从 **$10/4000 次 → $24/6000 次**(改 `llm.py` 常量 WINDOW_BUDGET_USD=24.0 / WINDOW_CALL_CAP=6000)。机制不变(撞 $24 自动降级便宜模型、撞 6000 次自动挂窗续跑),仅抬高每窗吞吐上限。**注意**:此为 llm.py 独立于 New-API 服务端的本地自限阀,已运行进程需重启才生效(模块常量启动即载入)。上文所有 "$10/4000" 表述为提额前的历史记录,现行值以此条为准。 --- ## Compact 恢复锚点(2026-07-19,后续结果已覆盖原锚点状态) compact 只清主代理上下文、不动磁盘与后台进程。以下保留当时的恢复信息;当前状态以本节后续验收记录和回放评测计划为准。 ### 线1:升格批量抽取(6本,task#17,已完成) - **背景**:机动4/深空8 已收官(前文);剩 6 本首次做升格——机战10/机破7/机武6/星环3/超神11/希泊尼2,均已建窗(976窗),4条并发跑道:A=[10]、B=[7→6]、C=[3→11]、D=[2],命令 `parse_upgrade.py run --work-id N --semantic-dedup`(无max-calls,靠额度自停),nohup 脱离会话。 - **最终状态**:`.venv/bin/python /tmp/upg_dashboard.py` 显示机战276/276、机破189/189、机武71/71、星环159/159、超神156/156、希泊尼125/125,全部 `failed=0`,无活跃进程。 - **监控**:此前定时巡检已完成其断点续跑职责;额度窗最后核验为 `$19.51/2342`(上限 `$24/6000`)。 - **坑(已踩)**:①New-API账户有**独立Token Plan积分池**、和llm.py的$24/6000自限是两回事,积分耗尽会429→全模型403(**可恢复,非硬故障**,部分渠道耗尽);②出场章int/str混排bug已修(提交8e9e97c);③断点续跑靠failed窗自动撤销重跑,杀进程不丢数据。重跑准备脚本`reset_upgrade_work.py`。 - **额度**:llm.py自限已提到 $24/6000/5h窗(提交11bdbbd,创始人拍板)。 - **验收结果**:见下方“六本升格质量验收”;本批 6591 张升格卡向量全覆盖,关系卡本批未生成,暂不需要关系卡补嵌。 ### 线2:正文智能体验证=消费闭环第1层(task#16,进行中,创始人深度参与设计) - **大目标**:验证"卡到底帮不帮生成"。**自底向上建三层智能体**(创始人定序):①正文智能体→②细纲智能体→③大纲+设定智能体。每层用参考书当标准答案、在已验的下层输入上验。 - **已跑两轮**:run1(固定喂7卡+只给上一章,两臂都被喂残→**无效**);run2(两臂都能自主探索≤488历史正文、有卡臂+卡检索,/tmp/eval2_gen_*.md)→评委盲评 **无卡23 : 有卡20,卡没帮反拖后腿**:卡在核心硬设定(加特朗代际/核雷发射/卡依斯术语)带偏、文风更远,只堆了装饰性周边世界观;机制=**卡挤掉了读原文**(有卡臂读18次工具 vs 无卡29次)。 - **创始人关键判断(重要设计结论)**:**卡是索引、不是原文替代品;写作要两条线=卡检索(谁/什么/哪找)+原文检索(怎么说/什么质感)协同,卡指到原文不替原文**。另:①正文腰斩是主代理的错——原书489=7051汉字,两稿只~4000(我给的细纲cap成4000-5000)→缺叙事张力;②应照细纲执行、需**审查智能体**;③加特朗无卡是因**全书仅489一章出场**、按"单章龙套只留档不立卡"门槛漏掉——揭示"卡门槛是出场跨章数、非叙事重要度"的缺陷,正向创作时设定层应主动给关键一次性角色立卡。 - **run3(已完成)**:按上述重搭两写手(opus,agentId 有卡ae67300c/无卡a2c95442),三处修复:**篇幅对齐~7000汉字不腰斩、卡当索引查到后强制顺章号回读原文、通读485-488四章**;审查和双评委结果见下方。 - **run3后续**:写手层单点已验收;细纲智能体首跑仍受真实作品授权门阻断,不能把合成 smoke 或单章正文结果当作全书结论。 - **工具(冻结护栏≤488,已自测)**:`/tmp/eval_tools/eval_prose.py`(search/get正文,489+硬拦)、`/tmp/eval_tools/eval_cards.py`(by-name/search卡,只出6类实体卡冻结视图、排除关系卡)。标准答案`/tmp/eval_answer_489.md`;两稿副本`docs/eval-正文489/`(创始人可读)。 - **诚实保留**:n=1不下结论;须多样本(5-10章×2-3本×场景类型)+修注入(正经当前态视图非冻结历史)+控挤出(纯原文/纯卡/卡+原文三臂)+内容感知冻结(防事件卡窗口错位泄露,已抓一例:489反转被标488)+多评委。run3先把489修对拿站得住的单点对照,再决定上多样本大版。 ### 线3:范式线(task#18,待启) - 3本缺范式(希泊尼2/机武6/机破7)+超神11补8章(窗51-58的cards)。子代理研究已出**完整runbook**(续跑安全/并发安全/走同一chat_governed额度):一本一路 `parse_llm.py chapters→parse_outline.py window→parse_llm.py cards→check`,顺序不可乱、每步断点续跑。超神补:`parse_llm.py cards --work-id 11 --from-order 51` + `--from-order 57`。~7500次调用。**待升格跑道空出后启动**(共享额度,总并发控~6-8)。 **当前下一步**:范式线仍待单独启跑;回放细纲真实样本需先补齐权威不可变授权快照。质量黄线先保留为后续治理项,不直接改写内容库。 --- ## 六本升格质量验收(2026-07-19) ### 已验证 - **窗口完成**:机战 276/276、机破 189/189、机武 71/71、星环 159/159、超神 156/156、希泊尼 125/125;6 本均 `failed=0`。 - **卡与向量**:6591 张活跃升格卡,六本按作品均为 100% 有向量;本批没有 `character_relation` 卡,因此没有遗漏关系卡嵌入这一项。 - **成长线结构**:6591 张卡均有可冻结的「演变历程」,每张都有登场台阶;里程碑台阶超过 80 字为 0,`[窗N]` 残留为 0,未来章号越界为 0。 - **结构红线**:结构垃圾、巨型粘连、范式卡 IP 专名和字符串尾部残渣均为 0。体检脚本已修正为跳过结构化里程碑对象,只扫描字符串数组,避免把对象的 `}` 误报成残渣。 ### 边界与遗留 - 机破、机武、希泊尼只有升格线数据,尚无章级细纲、窗级大纲和范式卡;这三本只能宣称“升格线完成”,不能宣称全链完成。 - 全库仍有历史性黄线:前缀重复 118、同名卡对 11、单字别名 5;六本本批的前缀重复分别为机战 20、机破 7、机武 0、星环 23、超神 6、希泊尼 43。当前不写库修复,后续按卡逐条审计。 - 本验收只证明抽取产物的结构与可检索基础,不等于写作/规划消费效果已通过;回放细纲真实样本仍受授权快照门阻断。 --- ## 正文智能体验证 run3 结果(2026-07-19,写手层验收完成) **一句话**:写手层重搭后,489 这一章有卡臂 vs 无卡臂**几乎打平**(两评委各自独立判「无卡 +1 分」,评委2自评"在噪声范围内、实为几乎打平");有卡赢文采、无卡赢忠实,而无卡唯一的忠实优势几乎全押在"加特朗代际"这个**两臂都没卡可查的新角色**上——所以这局不算"卡输",反而证明写手层已达标、残余差距正是设定层要补的洞。**较 run2(无卡23:有卡20,卡明显拖后腿)大幅收敛到平局,写手层重搭生效**。 ### 双评委盲评(稿甲/稿乙对调压位置偏差,去盲后) | 维度 | 有卡臂(均) | 无卡臂(均) | 方向 | 主要依据 | |---|:--:|:--:|:--:|---| | 设定一致 | 7.0 | 8.0 | 无卡+1 | 加特朗代际:无卡写V代(对)、有卡写伪V代(错) | | 实体保真 | 7.0 | 8.0 | 无卡+1 | 同上;boss战力标尺被有卡臂降格 | | 要素覆盖 | 8.0 | 8.0 | 平 | 细纲5事件/10角色/3伏笔/钩子两臂全覆盖 | | 情节忠实 | 7.0 | 8.0 | 无卡+1 | 有卡臂把赛莉丝破网前置到太空段、反水时机偏离原著时序 | | 文风一致 | 8.0 | 7.5 | 有卡+0.5 | 评委分歧(一评平手/一评有卡更网文腔) | | 文笔 | 8.5 | 7.0 | 有卡+1.5 | 有卡臂画面/悬念/台词更高级(老兵伏笔→"等了十七年"收线、神物结尾氛围) | | **总分** | **45.5** | **46.5** | **无卡+1** | 评委1 46:47、评委2 45:46,两评委同向 | - 报告:`/tmp/eval3_评委1.md`(甲=有卡)、`/tmp/eval3_评委2.md`(甲=无卡);审查:`/tmp/eval3_审查_{有卡,无卡}.md`(两稿都过细纲门,有卡臂1处中度阵营硬伤=弥萨克/佛罗科"送神物给敌方梵洛神皇",审查建议改1句、未污染评测)。 ### 假阴假阳分析(关键,防单章下死结论) - **无卡"赢"的忠实分主要是假阴**:拉分点头号是加特朗代际,而加特朗**全书仅489一章出场、被冻结、无卡可查**,两臂都在盲猜——无卡猜中V代、有卡猜偏伪V代,本质是**未卡实体上的抛硬币**,非"卡带偏设定"。剥掉这一点,忠实组回到平手、总分翻成有卡+1(靠文笔)。 - **有卡"该赢却漏"的一处**:有卡臂的阵营硬伤(弥萨克/佛罗科献宝给敌方)恰恰因为它**没去查这两人的卡+原文**——若走两条线本可避免,反证"卡在被真正检索时能挡设定错"。 - **有卡臂确有卡的增益**:文笔/文采两臂里有卡全胜(费埃卢殖装甲、杜萨卡点将、神物结尾等实体质感更足)——卡当索引指到原文细节,喂厚了描写。 - **场景类型对卡不利**:489是boss攻坚战、两个枢纽角色(加特朗/铎叔)都是新登场不可卡的——这类场景**天然对卡不友好**;卡在此都能打平并赢文采,已是不错表现。卡友好场景(老角色回归/callback/既有设定复用)大概率翻盘。 ### 结论与下一步 - **写手层验收=达标**:卡当索引+两条线检索(卡检索指针→回读原文)+篇幅对齐~7000字+通读前4章,这套注入方式下卡不再拖后腿、还增文采;run2 的"卡挤掉读原文"病根已除。 - **加特朗洞直接指向设定层**:若设定层主动给"叙事关键的单章角色"立卡(加特朗=V代黑守者),有卡臂设定就对、这局就赢——**写手层的残余差距正是设定层的价值证明**,形成自底向上的接力。 - **诚实保留(n=1)**:单章、单场景类型(且是对卡不利的新角色攻坚战),**不下"卡有用/无用"的普适结论**。要站得住需多样本(5-10章×2-3本×含卡友好场景)+ 三臂控混淆(纯原文/纯卡/卡+原文)+ 内容感知冻结 + 多评委。此为可信单点,写手层可收;是否上多样本大版、或先走细纲/设定层,待创始人定。