🍣

AIの書いた文章がつまらないのを何とかしたい

に公開

※ この記事はAI5割人間5割くらいです。

問題:AIの文章がつまらないと感じる理由

最近、AIが生成した文章を目にする機会が増えました。しかし、AIが作った文章はなぜか読む気が起きず、内容が頭に入ってきません。

これは、AIに小説を書かせるといった高度な話ではありません。技術ブログのようにある程度パターンが決まっている文章でさえ、つまらないものしか生成できないことが多いです。

なぜこのような現象が起きるのか、いろいろ要因はありそうですが、トーンの一貫性のなさは大きな要因の1つだと考えています。AI生成だと、技術的な解説の最中に、突然、魂のこもっていないポジティブな言葉が挿入されることがあります。たとえば、記事の途中で「コードの保守性が向上し、生産性を高めることができます✨」などと言われると、一気に読む気が失せます。

現状のAIは、こうした細かなニュアンスを理解したり、トーンを一貫させたりするのが苦手なようです。しかし、逆に言えば、この点さえ改善できれば、もう少し読める文章になるはずです。

既存の解決策: textlintの活用

この問題に対しては、すでにいくつかのアプローチがあります。その代表的なものの1つが、textlintというツールです。これはJavaScript製の文章校正ツールで、プログラムのリンターの文章版といったイメージです。

リンターは、プログラムのコードを解析して問題がある箇所を指摘してくれるツールのことです。ESLintやPylintなどが有名で、textlintはこの仕組みを文章に応用したものだと考えると分かりやすいでしょう。

特に興味深いのは、AI生成文章の不自然さを検出するためのルールセットをすでに作成されている点です。

これはここでやりたいことに近いアプローチです。この記事では、この方向性をさらに推し進め、別の角度からAI文章を改善する試みをやってみます。

対策:バリデーションと修正のフィードバックループ

私の持論ですが、AIエージェントがうまく機能する条件は、「明確なゴール設定」と「フィードバックループによる軌道修正」にあると思います。以下の記事でも同じようなことを書きました。

AIコーディングエージェントの成功パターンを整理する

そっちでも書いた図を再掲します。

プログラミングで言えば、AIはコードを書いてからテストを行い、エラーを修正していきます。文章の場合でも、バリデーションツールが機能すれば、自律的に軌道を修正し、もう少しうまくいくのではないでしょうか。

具体的には、「AIが草稿を書く → バリデーションツールで結果をチェック → AIが指摘箇所を修正する」というループです。

このループを実現するため、バリデーションツールを自作しました。内部でGPT4.1を呼び出し、文章の問題点を返すように実装しています。まだ実験中ですが、リポジトリは以下です。

https://github.com/takada-at/ai_text_validation

具体的には、以下の観点からチェックを行いました。

  • 誤字・脱字: 文章の基本的な誤りを検出する
  • ペルソナ: 指定した書き手のキャラクター(一人称、語彙、価値観など)から逸脱していないかを確認する
  • トーン: 文章全体の温度感や丁寧さ(カジュアル/フォーマルなど)が一貫しているかをチェックする

実際に文章を書く際の流れ

この仕組みを使って、次のような流れでブログ記事を書いています(もちろんこの記事も)。

  1. まず、書きたい内容についてキーワードや構成案をざっくりとメモする
  2. そのメモをClaude Code(or Gemini CLI)に渡して、文章の草稿を生成させる
  3. 生成された草稿にtextlintと自作バリデーションツールをかけ、問題点を洗い出す
  4. 検出された問題点を修正するよう、再度AIに指示する

実際にこのアプローチを使ってみたところ、AIが生成しがちな「AI臭い」紋切り型の表現を、ある程度は自動で除去できるようになりました。ツールの精度はほどほどですが、少なくとも、いかにも生成AIらしい表現は除去できます。できれば人間の関与を最低限までへらしたいんですが、現状だと、かなり試行錯誤が必要な状況です。この記事も、最初はGemini CLIに書かせて、一回消してClaude Codeにやり直させたりしています。

また、バリデーションツールでは多少のブラッシュアップしかできないので、記事の流れなどは自分で考えている状況です。今後もう少しワークフローを整えて、楽に記事を量産できるようになりたいです。

Discussion