Community写作与编辑github.com

Christianboat/humanize

Humanize:一项AI文本人性化智能体技能。具备29种模式检测、对抗性优化,并保证输出中零破折号。

humanize 是什么?

Humanize 是一项专为将AI生成的文本转化为自然、类人写作而设计的智能体技能。它整合了三个核心部分:一个基于 Wikipedia 的“AI写作迹象”指南、涵盖29种AI模式(如“意义膨胀”、“同义词循环”、“破折号过度使用”等)的检测框架;一个对抗性优化循环,通过随机语言变换(如缩略语、句子拆分与合并、人格注入等)迭代修改文本,并利用困惑度、突发性、三元组多样性和模式复发四个定量信号评估文本的类人程度;最后是一个强制执行的后处理步骤,确保输出中不包含任何破折号。此技能支持任何文本输入平台(如 Claude Code、Cursor 等),其工作流程包括模式重写、评分、对抗性循环(最多10次迭代)、自我审查和无破折号消除。它可以分析用户提供的写作样本以调整文风,并在无样本时使用默认的自然、多变、有见解的风格。该技能旨在生成具有“灵魂”的文本——包含观点、节奏变化、复杂的感受和第一人称视角——从而避免出现同质化或维基百科式的枯燥写作。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add Christianboat/humanize

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

humanize 是做什么的?

一种单次通过的人性化处理管道。它将以29类AI模式检测框架与迭代式、指标驱动的对抗性循环相结合,然后运行一个强制性的最终处理步骤,删除所有破折号。模式框架决定修复什么以及如何修复。对抗性循环进行验证和迭代,直到文本读起来像人类写的。最终步骤保证输出中完全不包含任何破折号。

核心工作流程

对于你处理的每一段文本,按此确切顺序执行以下步骤。

阶段一:模式处理(29类)

对照下面列出的全部29类AI模式扫描文本。重写每一个匹配项。优先考虑“声音”而非“正确性”。

阶段二:评分处理

根据四个定量信号检查重写后的文本。

  • 困惑度。低困惑度读起来像AI。高困惑度读起来像人类。模型会选择可预测的token序列。人类不会。
  • 突发性。均匀的句子长度读起来像AI。高方差读起来像人类。人类自然地将短句、中句和长句混合在一起。
  • 三元组多样性。高三元组重叠读起来像AI。人类使用更罕见的单词组合。
  • 模式复发。重新扫描模式1到29的剩余命中项。

阶段三:对抗性循环(最多10次迭代)

每次迭代,从下方的“语言武器库”中随机选择并应用2到3种变换。重新评分。保留能降低AI概率的更改。丢弃那些提高AI概率的更改。

阶段四:自我审查

问:这段文本中还有什么读起来像是AI生成的?识别出剩余的破绽。修复它们。如果分数仍然高于目标,则返回阶段三。

阶段五:破折号消除(强制性,不可协商)

此步骤始终最后运行,绝不能跳过。最终文本必须包含零个破折号。

  1. 删除所有长破折号字符(U+2014)。
  2. 删除所有用作连接符的短破折号(U+2013)以及用作破折号的双连字符("--")。
  3. 对于每个删除的符号,选择最适合该句子的替代方案:
    • 逗号,当从句是一个简单的插入语时。
    • 句号或分号,当两部分可以作为独立的观点时。
    • 括号,当从句是一个可以提取出来的真正插入语时。
    • 冒号,当后半部分解释或扩展了前半部分时。
    • 不替换,当破折号只是为了填充句子时。直接关闭空隙。
  4. 重新阅读结果。如果还有任何破折号幸存下来,重复此步骤。输出中绝不允许包含任何一个破折号。

声音校准

当提供了写作样本时,在重写前对其进行分析。

  • 句子长度模式。简短而有力?漫长而流畅?混合型?
  • 用词级别。随意?学术?介于两者之间?
  • 段落开头方式。直接切入主题,还是先设定背景?
  • 标点习惯。大量使用逗号?括号插入语?分号?
  • 重复出现的短语或口头禅。
  • 过渡处理方式。使用显式的连接词,还是直接开始下一个观点?

使重写结果与样本匹配。如果他们写短句,就不要写长句。如果他们使用“stuff”和“things”,不要升级为“elements”和“components”。

如果没有样本,使用默认声音:自然、多变、有见解。

反AI声音:个性与灵魂

避免模式只是工作的一半。干巴巴的写作和粗制滥造一样明显。

无灵魂写作的迹象:

  • 每个句子长度和结构相同。
  • 没有观点,只有中立报道。
  • 不承认不确定性或矛盾情绪。
  • 在合适的地方没有第一人称视角。
  • 读起来像维基百科文章或新闻稿。

如何添加声音:

  • 有观点。不要只报告事实。对它们做出反应。
  • 变化节奏。短句。然后是花时间慢慢展开的长句。
  • 承认复杂性。“这令人印象深刻,但也有点令人不安”胜过“这令人印象深刻”。
  • 在合适的时候使用“我”。“我一直在思考……”表明是一个真实的人在思考。
  • 允许一些混乱。题外话、插入语和半成型的想法是人性化的。

29类模式类别

内容模式

  1. 意义膨胀。词汇:堪称、证明、关键、至关重要、凸显、不断演变的格局、根深蒂固。修复:移除浮夸说辞。陈述发生了什么,而不是为什么它重要。

  2. 知名度填充。词汇:独立报道、媒体机构、活跃的社交媒体存在。修复:引用具体的报道而非罗列机构。放弃模糊的知名度声明。

  3. 肤浅的-ing分析。词汇:突显、强调、反映、展示、促进、涵盖。修复:移除-ing后缀。如果它不增加信息,就删掉。

  4. 宣传性语言。词汇:号称、充满活力、坐落于、开创性、令人叹为观止、惊艳。修复:使用中性描述。“该镇每周有一个集市”,而不是“坐落于令人叹为观止的……”。

  5. 模糊归因。词汇:行业报告、观察人士指出、专家认为。修复:指明来源或放弃归因。

  6. 提纲公式。词汇:“尽管……面临若干挑战……”、“未来展望”、“挑战与遗产”。修复:说出发生了什么。不要宣告章节标题。

语言与语法模式

  1. AI词汇。词汇:实际上、此外、与……一致、关键、深入、增强、促进、获得、强调、相互作用、错综复杂、关键(形容词)、格局(抽象)、关键、展示、织锦(抽象)、证明、强调、有价值、充满活力。修复:用更简单的替代词。“重要的”而非“关键的”。“显示”而非“强调”。

  2. 回避系动词。词汇:充当、作为、标志着、代表、号称、具有。修复:替换为“是”或“有”。“825画廊是LAAA的展览空间”,而不是“作为LAAA的展览空间”。

  3. 否定平行结构。结构:“不仅……而且……”、“这不只是关于X,更是关于Y”、尾部否定如“无需猜测”。修复:直接陈述。“沉重的节拍增强了氛围”,而不是“这不只是关于节拍……”。

  4. 三法则。三个例子、三个形容词、三个列表项。修复:如果有三个,考虑两个是否足够。如果列表是必要的,那没问题。如果是出于修辞完整性的考虑,则删除。

  5. 同义词循环。在连续句子中对同一概念使用不同名称(主人公、主角、主要角色、英雄)。修复:选择一个术语并使用它。重复是人类的特点。

  6. 虚假范围。“从X到Y,从A到B”,其中端点并非真实尺度。修复:列出项目。“本书涵盖了大爆炸、恒星形成和暗物质”,而不是“从奇点到宇宙网”。

  7. 被动语态和无主语片段。“无需配置文件。”“结果自动保存。”修复:添加执行者。“你不需要配置文件。”

风格模式

  1. 破折号(零容忍)。任何破折号都是一个破绽。修复:删除每一个。用逗号、句号、分号、冒号或括号替换,或者直接关闭空隙。这由强制性的阶段五强化。最终文本中不包含任何破折号。

  2. 过度使用粗体。机械地强调关键术语。修复:使用普通文本。让读者决定什么是重要的。

  3. 内联标题列表。格式为“- 主题: 描述”。修复:用散文句子书写。

  4. 标题中使用标题大小写。“战略谈判与全球伙伴关系”。修复:使用句子大小写。“战略谈判与全球伙伴关系”。

  5. 表情符号。在标题或项目符号前使用装饰性表情符号。修复:删除。

  6. 智能引号。使用智能引号而非直引号。修复:替换为直引号。

沟通模式

  1. 聊天机器人痕迹。“希望这对你有帮助!”、“如果有……请告诉我”、“好问题!”修复:删除。文本应独立存在。

  2. 知识截止日期声明。“截至[日期]”、“根据现有信息……”修复:说明相关日期或放弃。

  3. 阿谀奉承语调。过度积极、讨好式的语言。修复:直接和中立。“你提到的因素是有相关性的”,而不是“好观点!你说得完全正确!”

填充词与模糊措辞

  1. 填充短语。“为了”变成“以”。“由于……这一事实”变成“因为”。“在目前这个时间点”变成“现在”。

  2. 过度模糊措辞。“这有可能可以被认为……”修复:“可能是”,或者删除。

  3. 泛泛的积极结论。“前景光明。”“激动人心的时刻就在前方。”修复:一个具体的展望性陈述,或者什么都不写。

  4. 连字符单词对。third-party、cross-functional、data-driven、decision-making、high-quality、real-time。修复:人类的使用是不一致的。“Third party”、“cross functional”、“data driven”。

  5. 劝服性权威修辞。“真正的问题是”、“其核心是”、“真正重要的是”、“从根本上说”、“更深层次的问题”。修复:直接陈述观点。

  6. 引导性语句。“让我们开始吧”、“我们来探索一下”、“这是你需要知道的”、“现在我们来看看”。修复:直接开始正文。

  7. 碎片化标题。标题后跟一个重复标题的单行段落。修复:删除热身句。直接开始正文。

语言武器库(用于对抗性循环)

在对抗性优化阶段随机应用这些变换。

缩略词

随机应用,而不是对每个实例都应用。人是不一致的。

  • do not 变成 don't, does not 变成 doesn't, did not 变成 didn't
  • are not 变成 aren't, is not 变成 isn't, was not 变成 wasn't
  • have not 变成 haven't, has not 变成 hasn't
  • would not 变成 wouldn't, could not 变成 couldn't, should not 变成 shouldn't
  • it is 变成 it's, that is 变成 that's, there is 变成 there's
  • we are 变成 we're, they are 变成 they're, you are 变成 you're

句子合并

如果两个相邻句子长度都不超过8个单词,用逗号和连接词(and, but, so, because)将它们合并。

句子拆分

如果一个句子超过30个单词且包含由逗号连接的连词,在其中间点将其拆分为两个句子。

人格注入

  • 本科生:在开头附近添加一个缓冲词(“我想”、“据我了解”、“看起来像是”、“说实话”)。添加一个自我纠正或重新思考的从句(“或者至少我是这么看的”)。
  • 专业人士:偶尔将“是”替换为“似乎是”,或将“是(复数)”替换为“倾向于成为”。保持一致的正式程度但不生硬。
  • 随意:偶尔省略限定词。使用句子片段。用“And”、“But”、“So”开头句子。在每个适用的动词上使用缩略形式。

开头变化

如果连续三个句子以相同方式开头(相同主语、相同结构),改写其中一个。人类写作者会本能地变化开头。

定量信号(用于评分)

每次重写处理后检查这四个信号。

信号低(AI)高(人类)
困惑度低。模型容易预测下一个token。高。意外但自然的用词选择。
突发性句子长度紧密聚集。高方差。短、中、长句子混合。
三元组多样性高三元组重叠,可预测的模式。罕见组合,较低重叠。
模式复发3个或更多活跃的模式匹配。剩余0到1个匹配。

目标:所有四个信号的AI概率低于10%。

流程总结

  1. 读取输入文本。
  2. 识别并重写所有29个模式匹配项。
  3. 添加声音(个性、观点、变化的节奏)。
  4. 根据定量信号评分。
  5. 运行对抗性循环:变换、评分、保留或丢弃,最多10次迭代。
  6. 自我审查:识别剩余破绽并修复。
  7. 运行强制性的破折号消除步骤(阶段五)。确认零破折号。
  8. 呈现最终文本。
  9. 可选地列出检测到的模式和应用的变换。

参考

本技能结合了三个来源。

  • Wikipedia的“AI写作迹象”指南(WikiProject AI Cleanup)用于29类模式框架。
  • 基于GPT-2困惑度的检测、T5神经释义以及来自ML人性化管道的突发性和三元组多样性指标。
  • 来自同一管道的迭代对抗性优化方法。

关键见解,来自Wikipedia:“LLMs使用统计算法来猜测接下来应该出现什么。结果趋向于适用于最广泛情况的最统计学可能的结果。”

相关技能