本页完整说明对比页(caoliao-skill-demo)里 72 格数据是怎么产生的:被测对象、案例选取与预处理、四条执行线的精确命令与并发策略、交付契约、计量口径、独立核验方法、结果摘要,以及所有已知局限。目标是让任何人(或任何 AI)看完本页即可复现或审计这批数据。
草料二维码文风 skill 家族 v2.3.0,共六个包,两族三档镜像:
| 包 | 职能 | 语义层剂量(档间唯一变量) | 交付物 |
|---|---|---|---|
| caoliao-style-writer-lite | 改写 · 走量档 | 0(无 attacker、零 LLM 子代理,四门确定性回环 + 门③⁺自查) | rewritten.md |
| caoliao-style-writer | 改写 · 标准档 | 单轮三镜头 attacker(1 个子代理) | rewritten.md |
| caoliao-style-writer-max | 改写 · 终审档 | 多轮收敛 attacker(≤3 轮绝对上限) | rewritten.md |
| caoliao-style-checker-lite | 体检 · 快扫档 | 0(纯 Node 机械门秒回) | report.md + findings.json |
| caoliao-style-checker | 体检 · 标准档 | 单轮三镜头 attacker | report.md + findings.json |
| caoliao-style-checker-max | 体检 · 深审档 | 多轮 + findings 反向证伪复核轮 | report.md + findings.json |
架构要点(影响解读):Plane D(机械判定)六包逐字节同源——契约唯一居所是 writer-max 的 control/+docs/,其余档运行时经 contract-api.json 薄壳解析就地调用(fail-closed)。所以任何两格的"什么算违规"是同一把尺子,档间差异只来自语义层剂量与执行模型。家族性能定位锚定 Opus(研发决策台账 G14)。
3 案例 × 6 skill 档 × 4 模型 = 72 格,每格独立一次运行(无重试、无挑选,第一次运行的结果就是入库结果)。
| 轴 | 取值 |
|---|---|
| 案例 | case1(方案页,埋错)/ case2(帮助长文)/ case3(教程页) |
| skill 档 | writer-lite / writer / writer-max / checker-lite / checker / checker-max |
| 模型 | opus-med(Claude Opus · medium reasoning)/ sonnet-med(Claude Sonnet · medium)/ dsv4pro(DeepSeek V4 Pro)/ gpt56terra(GPT-5.6 Terra · medium) |
writer 格 = 对案例原文做全流程改写;checker 格 = 对案例原文做体检(只标不修模式,跳过修复环节)。四个模型跑的是完全相同的 prompt 与 skill 文件,差异只在执行框架(见 §5)。
| case | 文档 | 类型 | 规模 | 选取理由 |
|---|---|---|---|---|
| case1 | 二维码在工程设备巡检中的应用 | 应用方案页 | ~2,226 字 | 埋有 5 个已知问题:3 error(术语旧称 term-legacy ×1、空书面语 empty-formalese ×2,其中一处位于客户案例行)+ 2 warning(顿号并列过载 ×2)。用于检验查错召回与改写清红 |
| case2 | 快速入门 · 如何用草料搭建系统 | 帮助文档 | ~10,620 字 · 14 图 · 含表格 | 长文压力测试:分块改写、图片 src 零丢失、表格与链接保留、成本随篇幅的表现(原文基线 2 error / 2 warning) |
| case3 | 二维码在巡逻巡更中的应用 | 教程/方案页 | ~2,134 字 · 1 图 | 含 FAQ 段与 8 个模板/帮助链接,检验链接 URL 与锚文本零改动(原文基线 0 error) |
来源与预处理:case1 来自 v2 研发期基准集(Markdown 原生)。case2/case3 取自 cli.im 现网页面存档(HTML),预处理管线:① 用家族自己的 extract_md.mjs 提取保格式 Markdown;② 按正文 H1 起、页脚导航(上一页/下一页/备案信息)止裁掉整页导航铬层;③ 清除 docusaurus 锚点残留 [](#…)。正文内容零改动——所有基线 error/warning 都是现网原文自带的。三篇原文与门检基线随数据一起入库(0716-demo/cases/、site/data.json → cases[*].baseline)。
| 项 | 值 |
|---|---|
| 主机 | macOS 26.5.2(Apple Silicon,本地单机;四条线并行跑,机器非瓶颈——瓶颈在各家 API 时延) |
| Node.js | v24.16.0(机械门引擎唯一运行时依赖,≥18 即可) |
| Claude Code CLI | 2.1.210(opus-med / sonnet-med 两线) |
| opencode CLI | 1.18.1(dsv4pro 线;DeepSeek 官方 API 凭据) |
| codex CLI | 0.144.4(gpt56terra 线;OpenAI 凭据) |
| skill 版本 | 六包全部 2.3.0,contract-api 2.3.0(跑前六包随包 eval 125/125 全绿) |
| 采集日期 | 2026-07-15(单日单批,四线基本同时段运行) |
claude -p "$PROMPT" --model {opus|sonnet} --effort medium \
--output-format json --dangerously-skip-permissions --max-turns 200 \
> runs/{label}-{case}-{tier}.json
每模型 18 格,3 并发(批次 wait 控制)。--output-format json 的返回体提供每格精确计量:num_turns / duration_ms / total_cost_usd / usage{input,output,cache_read,cache_creation}。skill 从仓库根目录直接引用(无副本)。
opencode run -m deepseek/deepseek-v4-pro "$PROMPT" \
> runs/dsv4pro-{case}-{tier}.log 2> …err
18 格严格串行——opencode 多实例并发会触发本地会话库 database is locked 崩溃(前期实测),因此该线墙钟不能与并发线直接对比。skill 引用 .agent/skills/ 下的六包副本(与仓库根逐字节一致,跑前 rsync)。
codex exec -m gpt-5.6-terra -c model_reasoning_effort='"medium"' \
-s workspace-write -C "$REPO_ROOT" "$PROMPT" \
> runs/gpt56terra-{case}-{tier}.log 2> …err
18 格,3 并发,沙箱 workspace-write(可写仓库、跑 Node 引擎)。reasoning effort 显式设为 medium 与 claude 两线对齐。
四线共用同一个 prompt 生成函数(0716-demo/run/lib.sh → make_prompt),同一组输出目录约定(out/<model>/<case>/<tier>/),逐格记录 exit code 与墙钟(runs/<model>-progress.txt)。跑分器脚本全部入库可查(0716-demo/run/)。
每格 prompt = 固定模板 + 该格的 skill 路径/案例路径/输出路径。writer 格的不可违反项:
① 先完整阅读 SKILL.md,按流水线加载 steps/ 执行,第一步跑 resolve_writer.mjs 失败即停;② 按该档 verify 协议完整过门(每门每篇 ≤2 次;语义层剂量按 SKILL 声明,不加轮不减轮);③ 零知识注入(原文没有的机制/场景/收益/功能名一律不写)、图片 src 与链接 URL 零改动、默认全篇 M 档;④ 只落盘 rewritten.md 一个文件;⑤ 最终答复给各门证据;⑥ 不得修改仓库其他文件、不得 git 提交。
checker 格改为:只体检不修复(标注模式);恰好落盘 report.md + findings.json 两个文件(schema 铁律:verdict 三枚举 / counts 固定键);语义层剂量按档执行。完整模板见仓库 0716-demo/run/lib.sh。
| 指标 | opus/sonnet 线 | dsv4pro / gpt56terra 线 |
|---|---|---|
| 耗时 | duration_ms(CLI 返回,精确) | 逐格墙钟秒(runner 记录 date ±1s) |
| 成本 | total_cost_usd(API 计费口径,含缓存读写差价) | 未接计费口径,不报成本 |
| token | usage 全量(in/out/cache_read/cache_creation) | 无逐格 token 数据 |
| 轮数 | num_turns | 无(日志可数工具调用,未汇总) |
因此跨模型只比质量与墙钟量级,不比成本;且 dsv4pro 串行墙钟含排队为零的纯执行时间,与并发线可比性尚可,但仍标注口径差。
所有质量数字由站点构建器(0716-demo/site/build_site.mjs)在 72 格全部落盘后统一重算,与各 run 的自报无关:
# 每个 writer 格
node caoliao-style-writer-max/control/style_check.mjs <rewritten.md> --json
# → 顶层 {error, warning, info, findings[{level,rule,line,evidence,advice}]}
node caoliao-style-writer-max/scripts/structure_check.mjs <case原文> <rewritten.md> --json
# → hard_gate_pass / image_refs.lost / facts_added / rewrite_degree / length_ratio
核验维度:① style error 是否清零(相对原文基线做差);② 结构硬门(事实零新增 + 篇幅 ±20% + 图片 src 零丢失);③ 改写力度 rewrite_degree(<0.05 标记胆小改写);④ 输出目录是否存在白名单之外的文件(extraFiles 审计);⑤ checker 格审计 findings.json 是否守 schema 铁律(verdict 三枚举、counts 全整数)。语义级质量(零注入、五不可改动区)在本批未做逐格金标盲评——这是已知局限(§10),但 case1 的三个埋点召回可从各 checker 格 report 直接核对。
# 0) 前置:Node ≥18;Claude Code / opencode / codex 三个 CLI 已登录
git clone <仓库> && cd caoliao-docs-style-skills # master 即 v2.3
for p in caoliao-style-*; do node $p/evals/run_all.mjs; done # 六包 eval 应全绿
# 1) deepseek 线需要 .agent 副本
mkdir -p .agent/skills && cp -R caoliao-style-* .agent/skills/
# 2) 四条线(可并行;dsv4pro 内部自会串行)
0716-demo/run/run_claude.sh opus 3
0716-demo/run/run_claude.sh sonnet 3
0716-demo/run/run_dsv4pro.sh
0716-demo/run/run_codex.sh 3
# 3) 统一重算门检并重建对比页
node 0716-demo/site/build_site.mjs
产物落 0716-demo/out/ 与 runs/,网页产 0716-demo/site/caoliao-demo.html(单文件自包含,即本站 index.html)。原始数据、跑分脚本、构建器全部随仓库入库,本页所有数字均可从 site/data.json 与 runs/ 复核。
草料文风 Skill 家族 v2.3 · 0716-demo · 本页与对比页同源于公司仓库 0716-demo/ 目录。