| name | content-humanizer |
| description | 分析一段内容或一个文件的"人味"(即像不像人类自然写出来的,AI 生成痕迹有多重),给出 0-100 量化打分,并在低于目标线(默认 80 分,用户可指定其他数值如90分)时在不改变原意的前提下改写到目标分数以上。触发条件:用户提到"人味"、"AI味"、"AI感"、"降AI率"、"去AI化"、"人性化改写"、"像人写的"、"过人工检测"、"过AI检测"、"让文章更自然"、"这段话是不是AI写的"、"帮我把这篇文章改得不像AI写的",或者给出一段文字/文件并希望知道"读起来自然不自然"、"会不会被认出是AI写的"。即使用户只说"这段话感觉很机器,帮我改一下"或"帮我看看这篇稿子像不像真人写的",也应使用本 skill。输出为 Markdown 报告,保存到当前项目 markdown/ 目录。 |
内容人味分析与改写
这个 skill 在做什么,为什么这么设计
"人味"不是一个单一指标,而是好几种信号叠加的结果。如果只靠"读一遍感觉一下"打分,
分数会很不稳定、也没法跟用户解释清楚"为什么是 72 分而不是 85 分"。所以这个 skill
把人味拆成两层:
- 统计层(脚本算,客观、可复现):句子/段落长度的节奏起伏、AI 高频套话密度、
形式化过渡词密度、词汇重复度。这些是 AI 生成文本最容易暴露的"指纹"——句子长度
异常均匀、爱用"综上所述/不可否认/值得注意的是"这类套话、过渡词用得像论文模板、
措辞翻来覆去就那几种搭配。
- 判断层(Claude 通读后人工评分,主观但有据可依):具体细节与个性化程度、
情感/态度的真实感、结构是否机械对称、口语化与"不完美"痕迹。这几项没法靠规则
硬算——比如"有没有具体的人名/数字/场景",机器数不出"具体"这个概念,需要真正
读懂内容才能判断。
两层各占 50% 权重,合成最终人味分。这样做的好处是:用户能看到分数是怎么来的,
而不是一个黑箱数字;改写之后也能用同一套标准复测,确保真的有提升,而不是"看起来
顺了但分数其实没变"。
第一步:拿到要分析的内容
- 如果用户直接在对话里粘贴了文本,直接用这段文本。
- 如果用户给的是文件路径:
- 纯文本/Markdown 文件直接读取。
- docx/pdf/pptx 等格式,先用对应的文档技能(docx/pdf-reading/pptx)把正文提取
成纯文本,再继续下面的流程。不要把带格式标记的原始 XML 之类的东西直接拿去打分。
- 内容太短(少于约 150 字)时,统计层的句长/段落变异系数样本量不够,分数会不太
稳定——继续分析,但在报告里提一句"样本较短,统计层指标参考价值有限,以判断层
评分为主"。
第二步:跑统计层打分脚本
python3 /mnt/skills/user/content-humanizer/scripts/human_score.py <文件路径>
python3 /mnt/skills/user/content-humanizer/scripts/human_score.py - --text "要分析的文本"
脚本输出一个 JSON,包含 statistical_score(0-100)以及每个子指标的分数和命中
证据(命中了哪些套话、密度多少)。这个分数先记下来,后面要用。
脚本算的是:句子/段落节奏(30%)+ 强 AI 套话密度(30%)+ 软性 buzzword 密度(10%)
- 过渡词密度(10%)+ 词汇多样性(20%)。具体方法见脚本内注释,不用解释给用户听,
除非用户问。
第三步:通读内容,给判断层四个维度打分
完整读一遍原文(不要只看脚本摘要),针对下面四个维度分别打 0-100 分。每个维度都
要引用原文里 1-2 处具体的句子或短语作为证据,而不是凭空给分——这样用户能看懂
分数依据,你自己也更不容易瞎打分。详细的打分锚点(0-39/40-59/60-79/80-100 各代表
什么程度)见 references/rubric.md,拿不准的时候去对一下。
| 维度 | 在看什么 |
|---|
| 具体细节与个性化 | 有没有具体的人名、数字、时间、场景、个人经历,还是全是"很多企业""不少专家"这种空泛说法 |
| 情感与态度自然度 | 有没有真实的立场/情绪/吐槽/幽默,还是永远"一方面…另一方面…"四平八稳、不说一句得罪人的话 |
| 结构机械度 | 段落是不是整整齐齐三段论、标题/列表是不是过度对称、是不是每段都差不多长——人写东西很少这么工整 |
| 口语化与不完美痕迹 | 有没有口语词、插话、不那么"标准"的表达,还是每句话都像教科书例句一样完美 |
四项平均得到 qualitative_score。
第四步:合成最终人味分
final_score = round(0.5 × statistical_score + 0.5 × qualitative_score)
默认达标线是 80 分。如果用户在请求里明确说了别的目标(比如"要到90分以上"
"严格一点,95分"),按用户给的数字作为达标线;用户没说就用 80。这个阈值不是说
低于它就一定能被某个 AI 检测工具揪出来——没有哪个分数能 100% 对应任何具体检测器
的判定——而是一条相对宽松、留有余地的经验线:到了 80 分,统计层和判断层的大部分
信号都已经回到人类写作的常见区间。目标线设得越高(比如 95),改写的难度和迭代轮数
通常也会上升,必要时可以提前跟用户说一句"目标定这么高,可能要改好几轮,某些维度
(比如非常正式的文体很难做到很口语化)也未必能完全达到"。
第五步:判断要不要改写
-
final_score ≥ 目标线:不用改写,直接出报告,告诉用户哪些地方已经做得不错。
-
final_score < 目标线:在不改变原意、不增删事实信息的前提下改写,目标是把
final_score 拉到目标线以上。改写时优先解决分数最低的那几项,常用手法:
- 把套话替换成具体说法:"综上所述,这是一个值得关注的趋势" → 直接给结论,
不用"综上所述"这种总结腔起手。
- 打散过度工整的结构:不是每段都要"首先/其次/最后",该合并的合并,该用一句话
带过的不用单独列一段。
- 拉开句子长度的差距:长句之后接一个短句,或者反过来,别让每句话都差不多长。
- 去掉"一方面…另一方面…"式的永远中立腔,如果原文本来就有明确立场,让立场
更直接地表达出来(但不要替用户编造原文没有的观点或事实)。
- 加一点口语化的连接,比如用"但"代替"然而"、用"说白了"代替"换言之"——
根据原文语域判断合适的口语化程度,正式文档别改得太随便。
- 绝对不能做的事:编造原文没有的具体数字/人名/案例来"凑细节";改变原文的
论点、立场或事实结论;删掉原文关键信息只为了让结构看起来不对称。改写是换
"怎么说",不是换"说什么"。
改写完之后,重新跑一遍第二步的脚本 + 第三步的人工评分,算出新的
final_score。如果还没到目标线,再改一轮,最多改 3 轮。如果 3 轮之后还没到
目标线,在报告里诚实说明卡在哪一项、原因可能是什么(比如原文本身就是高度
结构化的规范文档,比如合同条款,这种文体本来就不太可能很"口语化"),不要
硬编数据把分数做上去。
第六步:输出 Markdown 报告
保存到当前项目的 markdown/ 目录(没有就创建),文件名格式:
markdown/人味分析-<内容简短标识或时间戳>.md
报告结构固定如下:
# 人味分析报告:<标题/文件名>
## 总览
| 项目 | 分数 |
|---|---|
| 统计层得分 | xx.x |
| 判断层得分 | xx.x |
| **最终人味分** | **xx.x / 100** |
| 达标线 | 80(或用户指定的目标分数) |
| 是否达标 | 是 / 否 |
## 统计层细分(脚本计算)
| 子指标 | 分数 | 说明 |
|---|---|---|
| 句式/段落节奏 | xx | ... |
| 强AI套话密度 | xx | 命中 N 处:xxx、xxx |
| 软性buzzword密度 | xx | 命中 N 处:xxx |
| 过渡词密度 | xx | 命中 N 处 |
| 词汇多样性 | xx | ... |
## 判断层细分(人工评分)
| 维度 | 分数 | 依据(原文引用) |
|---|---|---|
| 具体细节与个性化 | xx | "……" |
| 情感与态度自然度 | xx | "……" |
| 结构机械度 | xx | "……" |
| 口语化与不完美痕迹 | xx | "……" |
## 原文
> (原文全文或合理摘录)
---
<!-- 以下部分仅当 final_score < 目标线时出现 -->
## 改写说明
本次改写共 N 轮,主要调整:
- ...
- ...
## 改写后内容
(改写后全文)
## 改写后复测
| 项目 | 改写前 | 改写后 |
|---|---|---|
| 统计层得分 | xx.x | xx.x |
| 判断层得分 | xx.x | xx.x |
| **最终人味分** | xx.x | **xx.x** |
如果 final_score ≥ 目标线(不需要改写),就省略"改写说明"之后的所有部分,报告到
"原文"那一节结束即可。
存完文件后用 present_files 把报告呈现给用户,简短说一句最终分数和是否达标,
不用把报告内容在对话里重复一遍。
边界情况
- 多篇/多文件批量分析:对每篇分别走完整流程,最后可以汇总一张总分对比表,
但每篇的详细报告仍按上面的结构分别呈现(或合并进同一个 md 文件的不同章节里,
视用户偏好)。
- 诗歌、歌词、对话剧本等特殊文体:节奏类指标天然就会偏"不均匀",套话类指标
天然就会偏低——这类文体基本不需要担心人味问题,可以提前跟用户确认是否真的需要
走完整分析流程,还是只是想看看效果。
- 用户要求"过某个具体的 AI 检测工具":明确告诉用户这个 skill 给的是通用人味
量化分析,不是针对某个具体检测器(如 GPTZero、Originality.ai 等)的逆向适配,
分数高低和具体某个工具的判定结果不保证完全对应。