148 lines
28 KiB
Markdown
148 lines
28 KiB
Markdown
# 批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-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/llm/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 共用一本账。
|
||
- **全局统一路由**(敏感降级 + 预算降级并成一条),每调用前:① 本窗总调用 ≥4000 → **自动 sleep 到下一窗边界续跑**(创始人选,非硬停退出);② 要 MiniMax(M3/M2.7) 且本窗 MiniMax 花费 ≥$10 → 切 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`(已打补丁:跑道链排队本不再误判STOPPED)。进度快照(compact时):机战71/机破72/星环59/希泊尼53、机武0/超神1(后两者排队)。
|
||
- **监控**:定时cron `b2c3518a`(13,47分)自动巡检+处置(int/str真bug→修;敏感/网络→续跑;**429/403账户额度→先探测chat_governed恢复没→恢复即续跑所有停本,连3轮不恢复才呈报**;全完成→质量验收)。cron是会话级、compact不杀;若恢复后cron没了则重建(提示词见git log该cron创建处)。
|
||
- **坑(已踩)**:①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,创始人拍板)。
|
||
- **全完成后**:质量验收(卡数/成长线/登场/向量/零failed)+ embed补关系卡向量 + 落档 + 呈报。
|
||
|
||
### 线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四章**。产出 `/tmp/eval3_gen_{有卡,无卡}.md`(compact时尚未出)。
|
||
- **run3待办(恢复后接)**:写手出稿→派**审查智能体**逐条核细纲(伏笔/事件/实体设定矛盾)→有问题打回改→派**评委**6维盲评(设定一致/实体保真/要素覆盖/情节忠实/文风一致/文笔)对原书489。评委+审查走opus(Claude通道,**不占MiniMax抽取额度**)。
|
||
- **工具(冻结护栏≤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)。
|
||
|
||
**恢复后第一步**:跑dashboard看升格进度;查`ls /tmp/eval3_gen_*.md`看写手出稿没——出了就接run3待办(审查→judge),没出就等通知。不擅自跑烧MiniMax额度的管线。
|