文法は正しいのに、読むと疲れる。途中で眠くなる。「あ、これAIが書いたな」と1行目で気づかれる。 AIに日本語を書かせたときの独特な違和感は、今も多くの人の課題です。これまで多くの人たちが試行錯誤を重ね、この違和感を解消するためのスキルや仕組みを生み出してきました。
本稿では、私自身が日々の執筆で検証してきた実践知とコミュニティの成果をまとめ、次の4つの視点から整理します。
- モデルの選定: なぜハーネス(枠組み)の工夫以上にモデル選びが重要なのか
- おすすめの文書執筆手順: 読者の認知負荷を減らし、文のリズムを生む5つのステップ
- おすすめSkills: 文長や読者の認知迷子を整える、先人たちの必携ツール群
- 実際の執筆環境: 「ルールを増やすとAI臭が戻る」壁を越えるリポジトリ構成
まず、最初にはっきり書いておきたいのは、プロンプトやHookなどのハーネス以上に効果があるのが「モデルの選定」だということです。
2026年現在、日本語執筆で頭ひとつ抜けているのは Gemini 3.8 Flash、次点が Kimi K3 です。 かつて自然な文章で評価されていたClaudeは、コーディング特化の調整が進んだ結果、文章にもコードのような角張った硬さが目立つようになりました。ChatGPTは相変わらず微妙で、段落の文数が均等すぎ、教科書的な構成でAI臭が最も露骨に残ります。
ただし、モデル任せで素のまま書かせれば文長のリズムは均質化し、読者への認知負荷の丸投げが起きます。モデルの地力を活かす手順と仕組みが必要です。
おすすめの文書執筆手順
現状の知見を統合すると、いま取るべき執筆手順は次の5ステップに集約されると考えています。
1[Step 1] 情報の仕分けと削り(不要な親切を捨てる)2 ↓3[Step 2] 読者の脳内地図の設計(大域的な順序と接続)4 ↓5[Step 3] 抑揚とムラの設計(熱量の偏りを持たせる)6 ↓7[Step 4] 執筆と機械検査の分離(PostToolUse Hookで差し戻す)8 ↓9[Step 5] 最後の1割を人間が整える(差分を記録してルールに還元)
Step1. 書く前の情報仕分けと「削り」
AIの文章が読むに堪えない最大の原因は「認知負荷の丸投げ」です(つぼたさん / @tsubotax)。前提や補足、先回りの安心材料をすべて1文に詰め込んでしまう。書かせる前に「相手が次に何をするか」に使わない情報を削るのが鉄則です。
- 冒頭2行で「誰宛てで、何を判断してほしいか」を確定させる
- 各段落に「選択肢の差分」「判断材料」「確認方法」などの役割を1つだけ与え、どれにも当てはまらない段落は捨てる
- 削除しても判断に影響しない括弧の補足はすべて取り除く
Step2. 読者の「脳内地図」を壊さない大域設計
鹿野桂一郎(@golden_lucky)さんが指摘する通り、文章の破綻は「少し先を読まないと意図が分からない不意打ち」や「前段落との接続の欠如」から生じます。読者が迷子にならない道筋を用意します。
- 概念を初めて示すときは、読者が順に読んだだけで種類や役割を同定できる順序にする
- 新しい情報を導入する前に、それを受け止められる道筋を読者の頭の中に用意する
- 見出しの直後には、必ず前段落との接続を1文置く
Step3. あえて「偏り(ムラ)」を仕込む
AIは全トピックを同じ温度で語りがちですが、人間味の正体は「偏り」です(なつさん / @art_reflection)。引っかかった話題は執拗に語り、前提は一文で流す。構成段階で熱量の濃淡を意図的に割り振ります。
Step4. 執筆と機械検査の分離
プロンプトに禁止事項を並べるほど、モデルは萎縮して文を縮めます。書くときは伸び伸び書かせ、ファイル出力直後にHookで機械検査する。違反時は語の置換ではなく「該当箇所を含む文を丸ごと書き直させる」。執筆と検査の分離がリズムを守る急所です。
Step5. 最後の1割を人間が整える
AIだけで100点を目指さず、9割の骨組みをAIに任せ、残り1割の呼吸や手触りは人間が整えます。直した差分は記録し、次のプロンプトや検査ルールへ還元します。
おすすめSkills
現状自分も使っている、日本語文書の質を引き上げる、コミュニティ発の必携ツールとスキルも紹介します。
natural-japanese(@techtalkjp)
「AI臭は語彙よりリズムに出る」という着眼から生まれたAgent Skillです(GitHubリポジトリ / 解説記事)。人間とAIの実測コーパスを基に、「体言止めの欠如」「文頭反復の少なさ」など従来の思い込みを排し、文長の長短(burstiness)のばらつきを機械検知します。
https://x.com/techtalkjp/status/2076808889371443679
japanese-tech-writing(@golden_lucky)
商業書籍の編集視点をスキル化したプロンプトです(Gist / ブログ記事)。\正面から扱う\、\掘り下げる\、\〜に他ならない\といった、論点を増やさず姿勢だけを誇張するLLM口調を排除し、読者が順を追って理解できる順序と主語の配置を律します。
https://x.com/golden_lucky/status/2066751852088336698
Hooks × グッドパターン付きlint(@yugen_matuni)
AIコーディングツールのHook機能(PostToolUse)を使い、ファイル書き込み直後に検査する仕組みです。NG表現に対して「真価は〜にある」など具体的な修正パターン(\good\)をセットで返し、文全体の書き直しを促します。
https://x.com/yugen_matuni/status/2088251220452679951
わたしの執筆環境
私の執筆リポジトリでは、**「ルールを足すほど文が縮んでAI臭が戻る」という失敗を経験しました。規約を増やすほどAIは当たり障りのない短文に逃げてしまいます。
そこから導いた設計原則が、「ルールは減らすのではなく、置き場所を分ける」**です。
1【執筆フロー全体図】23[インプット] style-guide / voice-samples / edit-patterns(判断基準のみ)4 ↓5[執筆実行] writer(Gemini 3.8 Flash)6 ↓7[自動検査] PostToolUse Hook(detect-ai-smell.js で差し戻し)8 ↓9[品質判定] reviewer(rubric.md に基づく客観評価)10 ↓11[最終仕上] 人間による手直し & 公開(差分をルールへ還元)
1kgsi-note-documents_v2/2├── CLAUDE.md # 運用方針、執筆モード、エージェント権限3├── GOVERNANCE.md # 参照材料のサイズ上限、3つの置き場所4├── style-guide.md # こぎその書き方(判断の記述のみ、上限4,500字)5├── references/6│ ├── voice-samples.md # 文体サンプル(機能別の段落抜粋)7│ ├── edit-patterns.md # 本人が手で直した方向の台帳(before→after)8│ └── rubric.md # reviewerの評価観点(距離の基準)9├── human-bench/ # 人間執筆の過去記事5本(writerは読まない、機械検査の閾値基準)10├── scripts/11│ ├── detect-ai-smell.js # 機械検査ゲート(正規表現・密度判定・good付き)12│ ├── clean-japanese-spacing.js # 和欧文間の半角スペース自動除去13│ └── hooks/ # PostToolUse Hook等のスクリプト14├── editor/ # ローカルのnote風プレビュー&推敲エディタ15└── note/ # 記事本体(完成原稿)
自作のローカルエディタ(
ote-editor\)の作業画面です。左側の編集が中央のnote本番相当プレビューへ即座に反映され、右ペインから選択範囲の部分的なAI推敲を行えます。

自作エディタ。/note-editorコマンドで起動する
3つの置き場所と権限分離
- 内面化層(writerが読む): \
style-guide.md\、\voice-samples.md\。書き手の判断基準だけを薄く記述(上限4,500字)。 - 機械層(Hookが自動走査): \
scripts/detect-ai-smell.js\。文字数上限なし。正規表現で判定できる禁則と修正方針(\good\)を集約。 - 判定層(reviewerが読む): \
references/rubric.md\。別エージェントが完成原稿と目標の距離を独立評価。
ガイドが上限の8割を超えたら、新ルール追加と同量の旧ルールを削る運用で肥大化を防いでいます。
実体ファイルの中身(抜粋)
実際に運用しているファイルから、核となる部分を抜粋します。
`GOVERNANCE.md`(置き場所の原則と上限管理)
1writer と reviewer が読む材料が膨らむと、ルールを守ろうとして文が縮み、AI 臭が戻る。2この環境では「ルールは減らすものではなく、置き場所を変えるもの」を原則にして、置き場所ごとに上限を決める。34[3つの置き場所]5- 内面化層(writerが読む): style-guide.md、voice-samples.md、edit-patterns.md6 → 薄く保つ。判断の記述だけ。チェックリスト化しない7- 機械層(Hookで自動走査): scripts/detect-ai-smell.js の検査8 → 上限なし。正規表現で書ける禁則は全部ここへ9- 判定層(reviewerが読む): references/rubric.md、references/voice-samples.md10 → 距離の基準は抜粋。迷ったときだけ型別1本
`scripts/detect-ai-smell.js`(機械検査とgoodの対比)
1// detect-ai-smell.js 抜粋2const CHECKS = [3 {4 name: "逃げ表現・事なかれ主義",5 patterns: [/一概には言え|メリットもデメリットも|一長一短|状況によります|と言えるでしょう|と考えられます/g],6 limit: 1,7 gate: true,8 good: "どちらかに肩入れして言い切り、直後に根拠を1文置く。両論併記で畳まない",9 },10 {11 name: "予告クレフト「重要なのは/大事なのは」",12 patterns: [/重要なのは|大事なのは/g],13 limit: 1,14 gate: true,15 good: "予告せずに中身をそのまま書く。「重要なのはXです」→「Xです。なぜなら〜」",16 },17 {18 name: "抽象対比の看板",19 patterns: [/という構図です|デザイン思考/g],20 limit: 1,21 gate: true,22 good: "誰が何をどうする、の動作で対比を書く。「AとBの構図」→「Aは〜する。Bは〜しない」",23 },24];
`style-guide.md`(writerへの前提指示)
1このガイドはチェックリストではない。「ルール違反していないか」と自問しながら書くと AI 臭が戻る。2私が記事を書く時、これらは内面化された前提として動いている。34書き始める前に、まず以下を言語化する:51. 自分がいま誰として書くか(実務で AI を触っているデザイナー等)62. 何に対して触れた感想を書くか(期待 → 実物 → ズレ)73. 締めをどう畳むか(未解決の問いを残すか、立場を表明して畳みかけるか)84. 抑揚設計。どの節で力を入れ、どこを一文で済ませるか
終わりに
どれほど精巧なハーネスを組み、優れたモデルを選んでも、書く人間の中に「生の具体」がなければ文章は成立しません。
AIが手垢のついた定型文を吐くのは、人間側が「何を体験し、何に違和感を覚えたか」という素材を渡していないからです。抽象的な指示からは抽象的な正論しか生まれません。
「実際に触ったら思ったより素朴で拍子抜けした」
「夜中にプルリクエストが通って少し安心した」
生身の観察や数字、固有名詞という種があって初めて、Gemini 3.8 Flashの表現力も、Hookによる自動検査も真価を発揮します。
AI執筆は手を抜く自動化ではなく、自分の違和感を読者へ無駄なく届ける編集の試みです。まずは書いた直後の文を1行見直すところから試してみてください。
※本記事も、この記事で解説した執筆環境をベースに執筆しています。





