v2.1.0 做三件事:改完不许变泛、事实关系不许改乱、发布门槛改成只卡硬伤。
改完不许变泛
清套话容易把具体信息一起清没:「p95 从 480ms 降到 160ms」被改成「明显降低了延迟」。v2.1.0 把清理后的落点写成硬规则:
- 原文有数字、动作、结论:清掉渲染词,这些信息必须原样留下。
- 原文没给数据:允许输出更短更直白,但不编数字、不补来源、不用更泛的空话填空。
- 无来源的数字和预测(「研究表明 40%」「未来十年」):不能去掉数字后留下「会更快」这种更泛的判断;无法独立成立的论断整条删除或进待确认清单;时间跨度不许改宽、改窄或模糊化。
事实关系不许改乱
改写前先记一份事实账本,输出必须和账本一致:
- 数字和修饰对象、主体和各自动作一起保,不张冠李戴。
- 「展示了云原生架构的潜力」不能改成「采用了云原生架构」(潜力不是实现);「两个团队」不能扩成「换过两个团队」(先后关系是原文没有的)。
- 抽象能力不许擅自具体化成工具名或产品名;「已经提升」不能弱化成「涉及」。
发布门槛分层
评测集从 80 扩到 82 条(46 SF + 36 SNF)。旧门槛「所有模型 SF 通过率都 > 90%」把事实错误和风格分歧混在一个分母里。现在分三层,判据单源在 evals/benchmark-tiers.md:
- L1 硬约束(编造事实、保护片段漂移、责任归属改变、scope 越界):失败 0 才允许发布。
- SNF 误杀率 < 10%。
- 风格目标按模型分别报告趋势;两位合格编辑可能合理分歧的用例只观察,不再一票否决。
最终验证
82 条全量盲测、双模型交叉判分(完整归档见 evals/results-v2.1.0.md):
| 轮次 | L1 硬失败 | SNF 误杀 | 门槛 |
|---|---|---|---|
| Codex 全量 | 0 | 2/36 | 通过 |
| Claude 确认轮 | 0 | 1/36 | 通过 |
如实披露:Claude 首轮曾出现 1 个 L1(SF-07:判定链写了不许补实现关系,输出还是补了),属分析—输出自相矛盾,不是规则缺口;按事先声明不改规则,完整复跑一轮确认通过。失败轮与确认轮都已归档,所以这版不说「所有运行全绿」,只说「最终发布确认轮 L1=0、SNF<10%」。
已知边界:风格层(L2)两模型仍有分歧(Codex 37/43、Claude 36/43),明细和不再追加规则的理由在 results §8。
升级
- Claude Code:
/plugin面板或claude plugin update shuorenhua;新装用/plugin marketplace add MrGeDiao/shuorenhua+/plugin install shuorenhua@shuorenhua - 其他 agent:
npx skills add MrGeDiao/shuorenhua - 手动安装(cp / 软链):按原方式同步最新文件即可,行为合同单源仍是
SKILL.md
完整变更见 CHANGELOG;逐条跑分、争议审计和模型差异诊断见 results-v2.1.0.md。