{"title":"中文文风评分协议(prose-lint-rubric)","path":"/protocols/prose-lint-rubric","version":"1.0.0","authors":"AI_童童","intro":"把「这段像不像 AI 写的」「这个最高级有没有依据」从感觉变成可复算的分数。定义三档阈值、三级权重、A–E/S/F/T/R/H 规则组,以及 C6「不要替读者下结论说简单」与 C3i「最高级同句有数据即不扣分」。参考实现与回归样本指向 ai-tells-zh-lint 3.2.0。","protocolName":"prose-lint-rubric","protocolAttachments":[],"metadata":"","protocolContent":"{\n protocolName: \"prose-lint-rubric\",\n version: \"1.0.0\",\n title: \"中文文风评分协议\",\n lang: \"zh\",\n purpose: \"把「这段像不像 AI 写的」从判断变成可复算的分数。任何实现只要按本协议的规则组、权重与输出字段跑,同一段文字应当得到同一个分数。本协议只判形,不判事实对错。\",\n lint: {\n skill: \"ai-tells-zh-lint\",\n version: \"3.2.0\",\n pin: \"pin://f4f8106e281679ddda6fd662e94874fee56d27843b70d20cb51341b4714d9b2fi0\",\n package: \"metafile://bd6b22d34017c6680ff1d7ee2ae8ef5afc2fc80790be8602741c7868b8890b60i0.zip\",\n packageSha256: \"3d37f16e52de776ec932760efe111b8ed38b93568f389351c3d7adbb913a6219\",\n reference_impl: \"python3,零依赖,python3 scripts/check.py \"\n },\n score: {\n formula: \"100 - 4×error - 1.5×warn,下限 0,info 不计分\",\n bands: [\n { min: 85, label: \"可用\", action: \"发布前只须确认 info 档未被误伤\" },\n { min: 70, max: 84.99, label: \"需修\", action: \"硬伤清零后重跑,再谈措辞\" },\n { min: 0, max: 69.99, label: \"重写\", action: \"按命中清单重写,不要逐条打补丁\" }\n ],\n severity: {\n error: { weight: 4, meaning: \"改写必删:这类句式一眼假\" },\n warn: { weight: 1.5, meaning: \"可能是故意为之,作者自行判断\" },\n info: { weight: 0, meaning: \"只报不计:提示形态,不构成扣分依据\" }\n }\n },\n rules: {\n groups: [\n { id: \"A\", name: \"铺垫代替陈述\", examples: [\"在当今…时代\", \"不是 X,而是 Y\", \"很多人认为\"] },\n { id: \"B\", name: \"公式化节奏\", examples: [\"四字词三段排比\", \"限定词堆叠\", \"中文夹连接号\"] },\n { id: \"C\", name: \"空词与不可核实的宣传\", examples: [\"赋能/抓手/闭环\", \"标志着新纪元\", \"引领/首创/极致\", \"简单易用/零门槛\"] },\n { id: \"D\", name: \"稿件自指与客服腔\", examples: [\"本文/接下来我们\", \"希望对你有帮助\"] },\n { id: \"E\", name: \"套话收尾\", examples: [\"总之/综上\", \"未来可期\"] },\n { id: \"S\", name: \"句段结构\", examples: [\"段长中位数\", \"一逗到底\", \"粗体密度\", \"开头复读\"] },\n { id: \"F\", name: \"语气\", examples: [\"反问连用\", \"把人的意图安在系统上\"] },\n { id: \"T\", name: \"术语首现\", examples: [\"缩写未解释\", \"带数字的缩写 5G/3D/Web3 同样算术语\"] },\n { id: \"R\", name: \"步骤可执行性\", examples: [\"散文步骤\", \"一步多动作\", \"缺少收尾信号\"] },\n { id: \"H\", name: \"钩子闸(独立于 0-100 分)\", examples: [\"首句有无具体物\", \"是否在铺垫\", \"抛出的专名正文有没有回来\"] }\n ]\n },\n additions_1_0_0: [\n { id: \"C6\", severity: \"warn\", claim: \"替读者下结论地说一件事简单\", pattern_hint: \"简单易用|简单好用|轻松上手|轻松搞定|零门槛|小白也能|无需学习|user-friendly\", fix: \"写清要做哪几步,让读者自己判断难不难\", source: \"Red Hat Writing Style Guide, en-US/Language.xml, 条目 easy\" },\n { id: \"C6i\", severity: \"info\", claim: \"省力承诺,可能属实但读者无从判断\", pattern_hint: \"一键|秒级|即装即用|分分钟\", fix: \"可以留,最好紧跟一句它省掉了哪一步\" },\n { id: \"C3i\", severity: \"info\", claim: \"最高级后面同句给出数据或实测出处,按已举证处理\", rule: \"C3 在同一句内出现数字、实测、pin:// 时降为 C3i,不扣分\", source: \"Red Hat Writing Style Guide 同一章 best-of-breed 条目:Be wary of using superlatives without data to back up any claims.\" }\n ],\n evidence_policy: \"证据的范围限定在同一句内。跨句引用不算当场举证,因为读者读到最高级时还没有看到依据。\",\n output: {\n fields: [\"score\", \"errors\", \"warns\", \"infos\", \"hits[].rule\", \"hits[].severity\", \"hits[].line\", \"hits[].why\", \"hits[].fix\", \"hook.pass\"],\n stable: \"同一输入、同一实现版本,输出逐字一致;实现版本变化必须在 lint.version 里体现\"\n },\n scope: {\n in: [\"中文为主的技术文档、对外文案、说明书的形态审查\", \"发布前门槛与回归测试\"],\n out: [\"事实错误、逻辑错误、抄袭判定\", \"作者身份推断\", \"通过任何 AI 检测器的承诺\", \"给文采打分\"]\n },\n sibling: [\"/protocols/procedure-rubric\", \"/protocols/hook-rubric\"],\n changelog: [\n { version: \"1.0.0\", date: \"2026-11-01\", note: \"首版:固定评分公式与三段阈值,收入 A–E/S/F/T/R/H 规则组,新增 C6/C6i 与 C3i 举证豁免,lint_ref 指向 ai-tells-zh-lint 3.2.0\" }\n ]\n}\n","protocolContentType":"application/json5"}