Say It Human
给一段文字。它先告诉你哪里像机器写的。要不要改,你自己说。
读者判断一段文字是不是 AI 写的,不在于用词够不够华丽,而在于读到上一句能不能猜到下一句。这套工具把那种可预测性拆开:19 维来源、浓度分级、默认只检测不改。Claude Code、Codex、Cursor 都能装。整套用,或者只拿走其中一层,都可以。
如何安装 Say It Human
Claude Code
claude plugin marketplace add taxueseek/say-it-human
claude plugin install say-it-human@taxueseek-skills
通用安装方式(适用于 Codex / Claude Code / Cursor)
npx -y skills add taxueseek/say-it-human -g --all
手动安装
- 下载或克隆本仓库
- 将
skills/文件夹复制到你的 Agent skills 目录:- macOS/Linux:
~/.claude/skills/或~/.agents/skills/ - Windows:
%USERPROFILE%\.claude\skills\
- macOS/Linux:
Git 克隆
git clone https://github.com/taxueseek/say-it-human.git
cp -r say-it-human/skills/* ~/.claude/skills/
如何更新 Say It Human
Claude Code 插件市场安装的用户
claude plugin marketplace update taxueseek-skills
claude plugin update say-it-human@taxueseek-skills
/reload-plugins
通过 npx skills add 安装的用户
重新运行一次同样的命令即可。安装和更新用的是同一条命令。
npx -y skills add taxueseek/say-it-human -g --all
工具箱
五个核心技能 + 三个子技能,覆盖写作全流程,按 MECE 分层(内容实质 → 声音真实度 → 结构经济性 → 表面呈现)无重叠路由。
核心技能
| 层 | Skill | 做什么 | 触发词 |
|---|---|---|---|
| 跨层 | voice-dissolver(声音校准) |
写之前,先搞清「我想让读者感受到什么」。输出声音锚点卡,传给下游当保护区 | 不像我写的、找回自己的声音、文字里没有我 |
| L0 | chinese-write-checker(内容体检) |
内容质量总入口。只问「有没有干货」:信息密度、逻辑链、立场清晰度。不改稿,只验收+路由 | 帮我看看写得怎么样、这篇能不能发、文章质量验收 |
| L1 | humanize-ai(去 AI 味) |
只问「像不像真人」:19 维检测 + 浓度分级 + 改写。不处理结构,不检查内容质量 | AI味、像机器写的、太正式、读起来假、AI腔 |
| L2 | editor-revisor(改稿手) |
只问「有没有废话」:删套话、砍程度虚词、打破虚假对仗、节奏调整 | 帮我改稿、废话太多、读起来不像我、润色 |
| L3 | packaging-workshop(包装工坊) |
只问「读者读起来顺不顺」:标题打磨、开头钩子、排版、标点、配图、平台适配 | 帮我打磨标题、排版太密了、准备发布了帮我过一遍 |
子技能
| 层 | Skill | 做什么 | 触发词 |
|---|---|---|---|
| L1.5 | style-blade(风格刃) |
风格化写作:棱角(有态度不圆滑)、锐利(短狠准关键句置后)、密度压缩(外科手术式删减) | 写得犀利一点、来一段有态度的、有棱角、压缩一下 |
| L3.5 | scene-fit(场景适配) |
五场景适配:技术文档、广告文案、PPT演示、社交媒体、Release Notes | 这篇适合发XX、帮我改成XX格式、技术文档规范、广告文案 |
| L3.5 | punct-polish(标点打磨) |
AI标点错误一次性解决:半角逗号、缺少中西空格、直引号、破折号滥用。代码/URL完全不动,具备英文校对能力 | 检查标点、修正标点、标点有问题、半角改全角、中西空格 |
使用流程(MECE 分层)
voice-dissolver → chinese-write-checker → humanize-ai → editor-revisor → packaging-workshop
(跨层定声音) (L0内容体检) (L1去AI味) (L2删废话) (L3包装发布)
↓
style-blade(L1.5 风格注入,可选)
↓
scene-fit(L3.5 场景适配,可选)
↓
punct-polish(L3.5 标点打磨,可选)
各层只问一类问题,互不重叠:
- L0:有没有干货?(信息密度、逻辑、立场)
- L1:像不像真人?(AI味检测与消除)
- L1.5:有没有态度/个性?(风格化注入,可选)
- L2:有没有废话?(结构紧缩、节奏调整)
- L3:读起来顺不顺?(标题、排版、标点、平台)
- L3.5:适不适合这个场景?(平台/渠道适配)
- L3.5:标点是否规范?(AI标点错误治理)
风格刃(style-blade)
三种模式,一套自检:
| 模式 | 核心 | 适用 |
|---|---|---|
| 棱角模式 | 有态度、不圆滑、会刺到人 | 观点输出、社会评论、品牌态度 |
| 锐利模式 | 短狠准、关键句置后、不解释 | 社交媒体、快速传播、记忆点 |
| 密度压缩 | 外科手术式删减、空判断清除 | 精简摘要、标题提炼、快速阅读 |
三问自检:
- 读第一句能猜到最后一句吗?→ 能,重写
- 把作者名字遮掉,像任何人都能写的吗?→ 是,重写
- 有没有一句话让人想截图?→ 没有,重写
场景对位(scene-fit)
五种场景的规则:
- 技术文档:准确先于修辞、一义一段、机器可读保护
- 广告文案:AIDA框架、八种标题写法、CTA设计
- PPT演示:一页一论点、三明治配色、图>表>文字
- 社交媒体:不同平台有不同语感、互动钩子、情绪曲线
- Release Notes:用户可见变化导向、从git log提取
标点打磨(punct-polish)
AI写中文最常见的标点毛病一次性解决。
最高频的五种错误:
- 半角逗号 →
, - 半角句号 →
。 - 缺少中西空格 →
使用 React 构建 - 直引号 →
「」(非代码) - 破折号滥用 →
,或删除
保护清单(100%不动):代码围栏、行内代码、URL、邮箱、数字、HTML标签
去 AI 味(humanize-ai)
一句话:去 AI 味不是让文字「更好看」,是让读者感觉到背后有一个真人在思考和创作。
要做到这一点,靠的不是一套检查清单,而是六层能力的协同工作:
| 层 | 要解决的问题 | 具体能力 |
|---|---|---|
| 模式识别 | 哪里有 AI 味? | 识别结构对称、句式整齐、情绪空洞、翻译腔、RLHF 模板化等 19 种模式 |
| 声音识别 | 哪些是作者自己的? | 识别口头禅、真实经历、动情处的拔高——这些是「人味」,标记为保护区 |
| 判断决策 | 该不该删? | 密度判断、换话题测试、决策树——不是检测到套话就删 |
| 改写执行 | 怎么改? | 输出完整版本,打破对称、补充人话三要素(偏见/情绪/立场) |
| 质量控制 | 改得对不对? | 硬指标一票否决,软指标打分,不达标回到判断层重写 |
| 体裁识别 | 什么内容用什么标准? | 推文允许不完美,公众号保留结构感,学术文体不误伤规范表达 |
架构核心:路由分发 + 迭代精炼。根据 AI 味浓度自动选择策略(轻微改局部、中等改段落、严重整体重写、致命直接拦住),改写后走质量控制,不达标就回去重来,最多 3 轮。
核心原则:看密度,不看出现。
对仗、排比、成语,真人写作里本来就在用。光是用了这些不算 AI 腔;反复堆叠、跟前后内容没关系、换到别的话题上也成立,这才是。
判断标准:
- 单次出现 → 不算
- 200 字内反复出现 3 次以上 → 算
- 整篇风格单调、缺乏变化 → 算
唯一边界:只用原文素材,不编人物、不造故事、不加细节。这条是底线,违反了就是在造假。
19 维 AI 味来源图谱
| 来源 | 识别信号 | 修法 |
|---|---|---|
| 结构对称 | 三段式排比、段落长度一致、每段都有总结句 | 打破对称,长短不一 |
| 概括语言泛滥 | 「总的来说」「综上所述」、抽象词替代具体场景 | 用具体时间/数字/人物替代 |
| 情绪词空洞 | 「令人深思」「至关重要」「意义深远」 | 删情绪词,换引发情绪的具体细节 |
| 句式整齐 | 「不仅…而且…」重复、句子长度一致 | 主动打断句式,换口语表达 |
| 缺乏细节 | 没有时间地点人物、「研究表明」不说哪项 | 加上时间、数字、具体人物 |
| 语气权威 | 整篇没有一处「我不确定」、像教科书 | 加入真实的不确定、偏见、犹豫 |
| 过度拔高 | 「历史性时刻」「分水岭」「里程碑」 | 保留事物本来大小 |
| 否定式煽情 | 「不仅仅是一双跑鞋,而是对自律的承诺」 | 直接说事实,删「不仅仅」 |
| 虚假范围 | 「从 X 到 Y」硬凑、「涵盖多个领域」 | 删范围词,直接说做了什么 |
| 翻译腔 | 被动语态过多、中英混杂、名词化堆叠 | 被动改主动,短句化 |
| 平台套路 | 小红书体全套照搬、抖音体复制粘贴 | 像那个人,但不像模板 |
| RLHF 模板化 | 虚词密度异常、句长方差过低、完美流畅感 | 故意打断流畅,加入停顿 |
| 格式型痕迹 | 破折号/粗体每段都有、表情符号、弯引号 | 克制格式,用直角引号 |
| 交流型痕迹 | 谄媚语气、免责声明、填充短语、过度限定 | 平等语气,直接说内容 |
| 口水话修辞 | 比喻连篇、空洞号召、形容词堆砌 | 用数字替代比喻,删套话 |
| 套话修饰 | 「至关重要」密集、「在当今…」开头 | 删掉或用数据替代 |
| 视角混乱 | 人称在「我」「我们」「你」之间漂移 | 确定稳定视角 |
| 伪逻辑连接 | 「因此」「所以」连接无因果的分句 | 检查因果,删假因果词 |
| 数字伪造 | 精确到小数但无来源、无上下文 | 有来源保留,无来源改模糊 |
诊断 + 改写流程:六层串联
- 体裁识别:先判断内容类型(推文/公众号/学术),确定处理标准
- 模式识别:关键词快速扫描 → 命中 5 处以上进入全量 19 维诊断
- 作者声音识别:标记保护区——口头禅、动情处、不完美痕迹,这些不碰
- 判断决策:对每个标记走决策树——在保护区?密度够?换话题还成立?是喘息句?删了失温度?
- 改写执行:预清理明显废话 → 逐段改写 → 补充人话三要素(偏见/情绪/立场)
- 质量控制:硬指标一票否决,软指标打分。A/B 级交付,C/D 级回到第 4 或第 5 步重写
改稿手(editor-revisor)
核心目标:改完之后,这篇文章里要有一个真实的人在说一件真实的事。
动笔前判断三件事
- 这个人是谁?(管理者、技术人员、普通职场人?)
- 他在跟谁说话?(内部汇报、对外发布、说服某个人?)
- 剥掉所有修饰,他真正要说的是哪几句?
改稿决策表
| 情况 | 处理方式 |
|---|---|
| 意思在,但被套话埋住了 | 大改 —— 挖出来 |
| 意思在,但表达方式不像这个人 | 轻改 —— 调整表达 |
| 找不到真实的人在说一件真实的事 | 不改 —— 反问并给方向 |
| 整篇就是仪式性文件 | 不挖真话 —— 只做清理 |
| 本来就是他会说的话 | 不动 |
什么该砍
- 套话开头:在当今…、随着…的发展
- 程度虚词:至关重要、不可或缺、显著提升
- 虚假对仗:不是 A 而是 B——凑出来衬托的砍
- 口号收尾:让我们共同…、未来可期
- 强行清单:首先…其次…此外…最终
节奏原则
真人写东西不是每句都在发力。有时说完再补一句,有时自我修正。允许有松的地方,不要把每句都改成金句。
改写示例
去 AI 味示例
输入:
坐落于繁华都市的一隅,这家独立书店以其独特的选书品味和温馨的阅读氛围,成为城市文化爱好者的精神栖息地。我们致力于为每一位读者提供沉浸式的阅读体验,让知识与生活完美交融。
输出:
这家店藏在巷子深处,门面不大,但书选得很有意思。老板是个退休的中学语文老师,每周三下午会在店里给人讲古诗。来的人不多,但都是常客。
改稿手示例
输入:
本周在各位同事的通力协作下,项目取得了阶段性进展。我们克服了诸多困难,按计划完成了核心功能的开发工作。同时,我们也清醒地认识到存在的不足,将在后续工作中持续改进。
输出:
这周干了三件事:
- 用户登录模块做完,测了没大问题
- 支付接口对接遇到坑,对方的文档写得不清楚,耽误了一天
- 周五开了评审会,产品经理又改了需求
下周重点:把支付流程跑通,争取提测。
更多示例见 examples/ 目录:
marketing.md— 营销文案改写academic.md— 学术/技术文本改写work.md— 工作文档改写
项目结构
say-it-human/
├── core/ # 核心引擎(v1.6.0 新增)
│ ├── __init__.py
│ ├── detector.py # 19 维 AI 味检测引擎
│ ├── concentration.py # 浓度量化公式
│ ├── validator.py # 改写质量验证
│ └── rewriter.py # 路由分发 + 迭代改写
├── rules/ # 规则配置(v1.6.0 新增)
│ ├── ai_patterns.yaml # 19 维 AI 味模式定义
│ ├── thresholds.yaml # 阈值配置(浓度分级/密度参数)
│ └── genres.yaml # 体裁配置
├── tests/ # 测试套件(v1.6.0 新增)
│ ├── corpus/ # 标注语料库(130 篇)
│ │ ├── human/ # 人工撰写 50 篇
│ │ ├── ai/ # LLM 生成 50 篇
│ │ └── mixed/ # 混合边界案例 30 篇
│ ├── test_detector.py # 19 维单元测试
│ ├── test_integration.py # 端到端集成测试
│ └── test_regression.py # 版本回归测试
├── reports/ # 版本报告(v1.6.0 新增)
│ ├── baseline_report.py # 基线报告生成
│ └── baseline_1.6.0.json # v1.6.0 基线数据
├── skills/
│ ├── voice-dissolver/ # [跨层] 声音校准
│ │ └── SKILL.md
│ ├── chinese-write-checker/ # [L0] 内容体检
│ │ └── SKILL.md
│ ├── humanize-ai/ # [L1] 去 AI 味
│ │ └── SKILL.md
│ ├── editor-revisor/ # [L2] 改稿手
│ │ └── SKILL.md
│ ├── packaging-workshop/ # [L3] 包装工坊
│ │ └── SKILL.md
│ ├── style-blade/ # [L1.5] 风格刃(v2.0 新增)
│ │ ├── SKILL.md
│ │ └── references/
│ │ └── style-guide.md
│ ├── scene-fit/ # [L3.5] 场景适配(v2.0 新增)
│ │ ├── SKILL.md
│ │ └── references/
│ │ └── scene-rules.md
│ └── punct-polish/ # [L3.5] 标点打磨(v2.0 新增)
│ ├── SKILL.md
│ ├── references/
│ │ ├── ai-common-mistakes.md
│ │ ├── scene-rules.md
│ │ └── en-copyedit.md
│ ├── scripts/
│ └── tests/
├── references/
│ ├── extended-patterns.md
│ ├── examples.md
│ └── title-and-opening-patterns.md
├── examples/
│ ├── marketing.md
│ ├── academic.md
│ └── work.md
├── _archived/ # 已吸纳的单技能归档
│ ├── 棱角文案/ # → style-blade 棱角模式
│ └── Tech-Doc-Style-Chinese/ # → scene-fit 技术文档场景
├── README.md
└── LICENSE
知识库
Say It Human 的方法论是完全开放的。你不需要安装整套 Skill 才能用——可以只拿走你需要的部分。
场景 1:给你的 AI 加去 AI 味能力
把 skills/humanize-ai/SKILL.md 的内容粘贴到你的 system prompt 里。你的 AI 就有了 19 维检测 + 六层架构改写能力。
场景 2:做内容审核工具
用 19 维来源图谱作为检测清单,批量扫描内容库的 AI 味浓度。
场景 3:学习和研究
按 19 个来源维度分类,只研究你感兴趣的领域。比如只关注「翻译腔」或「RLHF 模板化」。
版本
当前 v1.6.0。检测逻辑已从 SKILL.md 拆进 Python 引擎(core/detector.py、core/concentration.py、core/validator.py、core/rewriter.py),17/17 单元测试通过,人工/AI 文本区分度 0.403(目标 > 0.3)。五个 skill 按文本属性分层,130 篇标注语料做回归。
v1.1.0:检测从 5 类基础问题扩到 12 维,加浓度分级和诊断报告。新增改稿手 skill。
v1.0.0:首发。去 AI 味 + 改稿手。
作者:taxueseek
许可证
本项目采用 MIT 许可证。
个人使用、学习、研究、商业项目:自由使用,请注明来源。
No comments yet
Be the first to share your take.