生成AIが登場して以降、AIが文章を書くことは当たり前になりAIによって生成されたテキストを目にする機会も珍しいものではなくなりました。しかしどんなに洗練されたAIが作成した文章であってもふとした瞬間に「AI臭さ」を感じさせられることがあります。そして一度でもAIの存在に気付いてしまうと読者は文章への共感を失う傾向があり、ひいてはコンテンツ自体への信頼が損なわれてしまう事態も考えられます。そんなAI文章の「クセ」を徹底的に排除し自然な文章へと変貌させるツール「Humanizer」が登場しました。

blader/humanizer: Claude Code skill that removes signs of AI-generated writing from text

https://github.com/blader/humanizer

◆概要

HumanizerはClaude CodeやOpenCodeで使用可能な「スキル」として作成されており、AIが生成した文章の特徴を検出して編集・調整することを目的としています。HumanizerはWikipediaが提唱した「AIライティングの兆候」ガイドに基づきAIが生成しがちな29ものパターンを検出して自然な文章に修正し、加えて特定の個人の文章スタイルそのものをAIに学習させて再現できる「ボイスキャリブレーション」機能も持っているとのことです。

◆導入

Claude Codeで使用する場合はスキルディレクトリにリポジトリを直接クローンします。

mkdir -p ~/.claude/skills
git clone https://github.com/blader/humanizer.git ~/.claude/skills/humanizer

OpenCodeについてもスキルディレクトリの位置以外は同様です。

mkdir -p ~/.config/opencode/skills
git clone https://github.com/blader/humanizer.git ~/.config/opencode/skills/humanizer

◆使い方

Humanizerを使用するには以下の通り指示します。

/humanizer

[ここにAI生成テキストをペーストする]

もしくは直接AIモデルに変換を依頼しても構いません。

Please humanize this text: [ここにAI生成テキストをペーストする]

◆ボイスキャリブレーション

文体に個人の特性を持たせる「ボイスキャリブレーション」を使用する場合は以下の通り指示します。

/humanizer

Here's a sample of my writing for voice matching:
[個人の特徴を持つ文章を2〜3段落ほどペーストする]

Now humanize this text:
[ここにAI生成テキストをペーストする]

◆Humanizerの検出パターン

Humanizerが検出する具体的なパターンとしては以下に示すものがあります。

●コンテンツパターン

・有意性の誇張(例:「evolution of...」)

・著名な名前の羅列(例:「cited in NYT, BBC, FT」)

・表層的な「〜ing」分析(例:「symbolizing... reflecting... showcasing...」)

・宣伝文句(例:「nestled within the breathtaking region」)

・曖昧な帰属(例:「Experts believe...」)

・定型的な課題提起(例:「Despite challenges... continues to thrive」)

●言語パターン

・AI特有の語彙(例:「Actually」「additionally」「testament」)

・コピュラ回避(例:「serves as」「features」「boasts」)

・否定の平行構造・後続否定(例:「It's not just X, it's Y」「..., no guessing」)

・三段論法(「innovation, inspiration, and insights」など)

・同義語の循環使用(例:「protagonist」「main character」「central figure」「hero」)

・誤った範囲(例:「from the Big Bang to dark matter」)

・受動態・主語のない断片(例:「No configuration file needed」)

●スタイルパターン

・エムダッシュ(-)やエンダッシュ(-)の使用

・太字の過剰使用

・インラインヘッダーリスト(例:「Performance: Performance improved」)

・タイトルケースの見出し(例:「Strategic Negotiations And Partnerships」)

・絵文字(例:🚀💡)

・カーリークォーテーション(“”)

・ハイフン付き単語ペアの過剰使用(例:「cross-functional」「data-driven」「client-facing」)

・説得力のある権威の修辞(例:「At its core, what matters is...」)

・案内の告知(例:「Let's dive in」「Here's what you need to know」)

・断片化されたヘッダー(例:「## Performance」+「Speed matters.」)

・差分表記(例:「This function was added to replace...」)

●コミュニケーションパターン

・チャットボット特有の定型文(例:「I hope this helps! Let me know if...」)

・途中で切れた免責事項(例:「While details are limited in available sources...」)

・おべっかのような口調(例:「Great question! You're absolutely right!」)

●決まり文句や予防線

・決まり文句(例:「In order to」「Due to the fact that」)

・過剰な予防線(例:「could potentially possibly」)

・一般的な結論(例:「The future looks bright」)

◆多言語対応の可能性

「検出パターン」について目を通すとわかる通り全てのパターンは英文を前提としており、中には「受動態・主語のない断片」のように日本語に対してそのまま当てはめられるか疑わしいものも含まれていることには注意が必要です。公式GitHubのIssueを確認してみたところ英語以外の言語への対応についても議論はされていたものの、すべて「リポジトリの方向性と合致しない」ためクローズされていました。



なお日本語についてはHumanizerにインスパイアされた以下のリポジトリが記事作成時点で存在しています。

gonta223/humanizer-ja: AIくさい日本語を人間が書いた文章に変換するClaude Codeスキル。20パターンのチェックリスト+書き換えガイド。

https://github.com/gonta223/humanizer-ja