# 倉頡 Skill v2.1 优化实现总报告(v2.5.0 发布基线) > 日期:2026-08-25 | 依据:`docs/plans/2026-08-23-cangjie-skill-optimization-plan.md` v1.3.1 > | 状态:2026-08-25 完成工程实现;2026-08-30 经发布校验后以 **v2.5.0** 对外发布 ## 1. 一页结论 方案的四个阶段(Phase 1 产品结构 / Phase 2 预处理与增量 / Phase 3 评测与修复 / Phase 4 交付与兼容)已全部实现并通过本地验证。核心变化: - 一本书的单一事实源从「N 个平铺 SKILL.md」改为 **Capability Bundle** (`books//.cangjie/capabilities/`),交付物由确定性编译器生成, 支持 **single**(1 入口 + 内部能力卡)与 **compact pack**(1 路由入口 + 少量晋级 Skill)。 - Naval 试点已完整走通:Bundle 回填 → auto 决策 → 编译 single 与 pack → staging 校验 → 原子发布(`dist/`),发布链路含写锁、手改检测、快照回滚。 - 发现目录常驻负载(cl100k 静态口径):基线 19 入口 3,897 tokens → single 1 入口 **340 tokens**;50 条任务静态路由评测中基线有 9 条(全部 book_lookup 类) 在运行时无可达入口,single/pack 均为 0 条 miss。 ## 2. 交付清单(按阶段) ### Phase 1 — 产品结构(方案 §3/§4/§11) | 交付物 | 位置 | 验证 | |---|---|---| | 全套 schema(bundle/capability/decision/manifest/change-set/graph/eval/failure/contracts) | `schemas/` | jsonschema 校验通过 | | Naval Capability Bundle(19 能力,6 晋级) | `books/naval-almanack-skill/.cangjie/` | bundle schema 0 errors | | 编译器 + destinations 不变量 | `scripts/compile_single.py` `compile_pack.py` | 重复编译字节一致 | | auto 决策(single-first-v1) | `scripts/select_output_strategy.py` | 决策报告 + 用户确认门 | | 统一 CLI(9 个子命令) | `scripts/cangjie.py` | doctor PASS;compile/rollback 实测 | | 根 SKILL.md + methodology v2.1 + 阶段 1.6 晋级门 | `SKILL.md` `methodology/` | 交叉引用一致 | | Registry v1/v2 分发器 + 网站双轨展示 | `schemas/registry-entry*.json` `website/` | vitest 11/11 通过 | | 50 条任务集 + 静态路由评测 + A 类指标 | `benchmarks/naval/task-set-v2.json` `phase1-routing-eval-50.md` `metrics-v2/` | 已生成 | ### Phase 2 — 预处理与增量更新(方案 §6/§7.2) - `build_chunks.py`:Markdown/TXT → SourceDocument + 结构化 chunk,内容寻址缓存; - `build_index.py`:SQLite FTS5 词法索引(中文 bigram),供检索式提取器取块; - 提取器分型:framework/principle 保留全文扫描,case/counter-example/glossary 检索式 + 硬覆盖门(`methodology/02-stage1-parallel-extract.md`); - `diff_sources.py` → change-set(modified/deletion 必须人工确认); - `impact_analysis.py`:依赖图构建 + 变更影响分析(章节级宽松匹配兜底); - `apply_skill_patch.py`:事务性补丁,校验失败自动回滚; - `update_flow.py`:`cangjie.py update` 编排,产出 Agent 待办清单。 ### Phase 3 — 评测与修复(方案 §7.3/§10) - `repair_flow.py`:失败案例校验 → 快照 → 九类诊断分类任务(防过拟合规则内置); - `run_trigger_evals.py`:固定种子 60/40 切分、盲测任务包(隐藏 expected)、 precision/recall/F1/兄弟混淆率判分; - `run_output_evals.py`:old/new/without 匿名三变体、机械断言先于 LLM judge; - `benchmark.py`:A 类静态指标 + 评测报告 + 过程代理指标聚合(明确标注估算口径)。 ### Phase 4 — 交付与兼容(方案 §11.5/§12) - CI:`.github/workflows/pipeline-check.yml`(books 包校验、Bundle schema、 编译确定性冒烟);registry-check 沿用并已被 v2 schema 覆盖; - 迁移指南:`docs/migrations/2026-08-25-v2.0-to-v2.1.md`; - 版本口径:`CHANGELOG.md`(`cangjie.version` 为唯一权威;本轮正式发布为 2.5.0)。 ## 3. 本地验证结果(宿主:本机 macOS,2026-08-25) - `cangjie.py doctor`:PASS(yaml/tiktoken/jsonschema 齐备); - `validate_skill_pack.py`(dist single + pack 7 目录 + books 19 目录):0 errors; - Bundle schema 校验:0 errors;重复编译确定性:一致; - 手改检测三选一、快照与 rollback:实测触发与恢复成功; - update 流程(模拟书新版 diff → 影响分析 → 待办):实测走通; - repair 流程(失败案例 → 诊断任务):实测走通; - trigger 评测三个子命令:合成 5 条 suite 冒烟通过(F1 判分正确); - website:`npm test` 11/11,`validate-registry.mjs` 通过(v1 条目零改动)。 ## 4. 需在真实宿主持续积累的证据 1. **读者交叉试用**(方案 §10.5 硬门槛):在你的宿主上安装 `dist/naval-almanack-single` (或 pack),用 `benchmarks/naval/task-set-v2.json` 的 50 条任务实测路由与输出; 注意同一本书不要同时安装两种模式。 2. **宿主锁定盲测**:`run_trigger_evals.py prepare` 生成的盲测包需要真实宿主逐条跑, 全部评测须同一宿主同一版本,结果标注 host-specific。 3. **阈值定标**:所有数值阈值仍为 `TBD-after-baseline`,等你首轮实测出基线后按 §10.5 规则预注册,禁止事后定阈值。 4. README 的中英文版本、v2.5.0 发布说明与企微二维码已在正式发布时统一核对。 ## 5. 已知限制 - 路线 C(混合执行模型)下没有真实 per-call token;所有 token 指标是静态口径 (benchmark 报告内已强制标注),不可对外表述为计费节省。 - 静态路由评测是自评探索性证据,near_neighbor 8 条三版本均标「待实测」; - `impact_analysis.py` 的章节级匹配偏保守(宁可多标影响,不漏标); - FTS5 中文检索为 bigram 词法方案,召回弱于向量检索——按 ADR 保持零重依赖, 必要时后续加可选 embedding 后端。