说人话评测:把 AI 腔从中文里拆掉,同时保住数字和事实
AI技能中国首创Codex/Claude Code/Cursor/ChatGPT重写技能,去除AI语气,保留事实。
秒懂
- 它是什么?
- 说人话是一个中文优先的改写 skill,面向 Codex、Claude Code、Cursor 和 ChatGPT,核心是去 AI 味时不动事实。本文拆解它的保真合同、三档 scope、评测门槛和安装方式。
- 适合谁用?
- 说人话适合经常用 AI 起草中文的开发者、维护者和写作者,尤其是要发 README、release note、issue 回复或技术文档的人。它不适合完全不关心事实保真、只想快速缩短文本的场景,也不适合代码、日志、配置和命令输出,README 明确说这些不套这个 skill。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 5 天前。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决的不是文风问题,是事实漂移问题
大多数去 AI 味的工具只做一件事:把句子改短。短了之后数字没了,条件丢了,责任归属模糊了。说人话的出发点正好反过来,README 里写得很直白:改语气之前先保护事实。数字、版本、命令、路径、责任归属和原文已有的关系不动。它给了一个具体例子:原文说 p95 延迟从 480ms 降到 160ms,只删套话的版本会变成「明显降低」,而按说人话规则改出来是「这次优化把接口 p95 延迟从 480ms 降到 160ms」。该删的是渲染词,不是证据。这个定位决定了它面向的读者:经常用 AI 起草中文的开发者、维护者和写作者,尤其是那些要对外发布文本的人。
保真合同:把不能动的部分写成可检查的规则
说人话把事实保护拆成五条硬规则。数字和它修饰的对象一起保留,不能概括成「明显降低」。关系不改写,「展示了云原生架构的潜力」不能变成「采用了云原生架构」,潜力不等于已实现。范围、条件、否定、情态、完成态、方向和强度都算事实,不随姿态一起删。抽象信息不擅自具体化,原文只说「提升效率」不能补成「省时间」。缺信息就指出缺口,不补。docs 和 status 里的无源结论默认按 audit-only 处理。这套规则不是口号,它对应 references/protected-spans.md 和 references/positive-style.md 两个文件。回读时走两个方向:输入里的事实能否在输出逐项找回,输出里的每个新关系能否回指输入依据。这个双向核对在 v2.3.1 里改成了按子句与事实要素建账,输出前做一次。
处理流程:先判场景,再划保护片段,最后才碰短语表
说人话不靠词语替换表硬洗全文。处理顺序是固定的:先判主场景,分成 chat、status、docs、public-writing 四类;然后划出数字、版本、命令、引用、责任主体和事实关系;接着判命中强度,分 Tier 1、2、3,再决定改写力度;先处理句式与段落模式,短语表只兜底;最后做保真回读,有残留再做一次轻量 Residual Audit。这个顺序意味着短语表不是主力,结构模式才是。它覆盖 210 多条中文短语、96 条英文短语和 25 类结构反模式,但 README 反复强调这些只是兜底。场景不同,处理重点也不同。README 要第一屏说清是什么、给谁用、解决什么问题;release note 列变更、验证和限制,不写发版宣言;issue reply 先说能否复现、当前判断和下一步;API reference 要保护 endpoint、method、字段、状态码、约束和恢复动作。
长文不缩水:三档 scope 决定能删到什么程度
长文里有些重复和转场看着不够利落,却承担节奏。说人话用 scope 单独决定能删到什么程度。structural 可以删、并、重排,适用于短文或明确要求重写。bounded 是长文默认,整句空话进「建议删除(待确认)」清单,不直接删。in-place 不删整句,只做句内降调,适用于明确要求保留原文结构和节奏的场景。这个三档设计直接回应了「去 AI 味」最常见的翻车方式:句子顺了,事实变了,或者节奏没了。bounded 模式下,删整句需要确认,等于把编辑决策交还给人类。三档的取舍过程记录在 issue #4,实跑记录在 evals/results-v1.8.6.md。
评测门槛:硬约束失败必须为 0,误杀率低于 10%
说人话从 v2.1.0 起把发布门槛分成四层。L1 硬约束检查编造事实、保护片段漂移、责任归属改变、scope 越界,失败必须为 0。SNF 误杀检查不该改的文本被改了,误杀率须低于 10%。L2 风格目标检查明显套路有没有清干净,各模型单独报告趋势。L3 风格观察只记录合格编辑可能合理分歧的写法,不阻塞发布。评测集共 111 条,61 条 SF 是应该改的文本要命中并处理主要问题,50 条 SNF 是本来正常的文本应放行或只做轻提示。另有 20 条场景样本是另一套整段评测,不和 111 相加。被测模型只看匿名、乱序、不含预期答案的 benchmark-blind.md,judge 再按映射表判分。运行模型、评测集版本和结果登记在 run-manifest.md。
安装与触发:三档入口,从单次会话到长期项目
安装方式按平台分。Claude Code 用 plugin marketplace 命令:/plugin marketplace add MrGeDiao/shuorenhua 然后 /plugin install shuorenhua@shuorenhua。Codex 是 clone 后单次使用,codex exec -C . "读取 ./SKILL.md,按其中规则改写以下文本:……"。其他支持 skills 命令的 agent 用 npx skills add MrGeDiao/shuorenhua。入口分三档:mini 是 dist/shuorenhua-mini.md,1,500 字符以内、自包含,适合单次会话和 Custom Instructions;lite 是 SKILL.md,适合临时改写;full 是 SKILL.md 加 references/,适合长期项目和技术文档。Claude Code plugin 自带 full。项目内长期使用时,在 AGENTS.md 加一段触发规则,明确「去 AI 味」「说人话」「自然一点」这类改写遵循 shuorenhua/SKILL.md,同时注明代码、日志、配置和命令输出不套这个 skill。
已知限制:模型席位有方差,HUMAN 样本有缺口
v2.3.1 的发布口径是 Opus 单席位,不是多模型全通过。DeepSeek V4 Pro 撤出正式席位,原因是真实 L1 失败和同条件复跑存在 run-to-run 方差。Grok 4.6 换席补跑,改写与硬判干净,但判分仅闭环 1/7 批,只算辅助证据。这说明说人话的效果强依赖底层模型,不是装上就能在所有模型上达到同样保真度。HUMAN direct 样本仍缺 docs 和 status 两类,check_repo 把它报为已知缺口,不阻塞 CI,但收齐 12 篇后才会关闭。如果你要在 docs 或 status 场景用这个 skill,目前缺少对应的真人改写对照,效果只能靠 benchmark 里的场景样本推断。另外,破折号密度判据在 v2.3.1 修复了计数单位矛盾,统一按插入处计数,说明这类细节规则还在迭代中。
维护成本与许可证:MIT 但语料另算
仓库以 MIT 许可证发布,但 HUMAN 长文语料例外。README 明确说语料正文及改编沿用各自许可,不适用仓库根目录的 MIT。这意味着如果你要把评测集里的语料拿去训练或再分发,需要单独查每篇的来源许可。维护节奏看起来是两周一次版本更新,v2.3.0 到 v2.3.1 隔了 7 天,v2.2.1 到 v2.3.0 隔了 8 天。每个版本都带评测记录和 run-manifest,发布门槛四层检查,说明维护者把质量证据当作发布的一部分。升级成本主要在评测复跑,零依赖脚本 python3 automation/eval/hard_metrics.py --run <批次目录>/ 负责字数留存、破折号密度和 protected spans 粗核,但完整判分仍依赖外部模型。
编辑结论
说人话适合经常用 AI 起草中文的开发者、维护者和写作者,尤其是要发 README、release note、issue 回复或技术文档的人。它不适合完全不关心事实保真、只想快速缩短文本的场景,也不适合代码、日志、配置和命令输出,README 明确说这些不套这个 skill。采用前先做两件事:一是跑一遍 111 条 benchmark 里的 SF 和 SNF 用例,确认你常用的模型在硬约束上失败为 0、误杀率低于 10%,因为 v2.3.1 只以 Opus 单席位口径收口,DeepSeek V4 Pro 已撤出正式席位;二是按 mini、lite、full 三档选入口,长期项目用 full 并接上 references/,单次会话用 mini 节省上下文。最后检查 AGENTS.md 里的触发规则,确保对外文本走 skill,内部日志不碰。
社区笔记