50万文字の日本語長文を書いた。
長文なので、当然ながら全体的につながっている。書きながら、あれはどうだっけというようなことが頻繁に起きてかなり困った。なので脳のリソースを維持するため、色々工夫をしたんだけど、その中で「誤字を気にしない」というのがある。
私は誤字が多い。だからこれを気にすることで脳が浪費される。なんとかするために、『AIを使って校正できるようにした』のだが、この時点ではこまめに校正することで脳の負荷を減らすという方針であった。しかしこまめに校正している時点で脳に負荷が発生しているので、完全に諦めるという手法を採用することとなった。これは良くて、脳のリソースが節約できた。
誤字を放置したまま他人に原稿を渡すと、誤字が大量にある文書の修正を人に押し付けるという道義的な問題が発生するが、こちらは AI に押し付けることでクリアした。原稿を書いている時は、 AI が大量の文書を一括で校正できるのかどうか微妙なところであったが、書き終わる頃にはAIが進化していて、誤字脱字の校正くらい余裕でできるようになっているだろうという賭けに私は出て、賭けに勝った。
この方法で校正をするためには Python が動かせて npm install -g @google/gemini-cliみたいなのをターミナルに入力するスキルが必要、ちなみに AI の校正は「すごい!」というわけではない。電力と水を使いまくれば、雑にやってもそこそこ精度が良くなる、といったところ、やる価値はあると思う。以下は具体的に雑にやる方法。
普通はこういう記事では、具体的なコードとプロンプトを掲載するんだけど、AIは進化していく。すでに私が使ったプロンプトやスクリプトは、ベストではなくなっている可能性がある。なので最新のAIに次の質問をして、スクリプトを作ってもらう。
「校正 AI が出力した JSON データ(old: 原文、new: 修正案、reason: 修正理由(簡潔に))を読み込み、ターゲットの原稿ファイルを一括置換する Python スクリプトを書いてください。」
より安全にしたいなら、
「実務で使うため Dry-run 機能、バックアップ作成、原文が見つからない場合のエラー検知機能を必ず入れてください。」
も付け加える。
その後で、
「先程のスクリプトで自動処理するため、誤字脱字チェック結果をJSONデータとして出力する校正用プロンプトを作成してください。私の文章の傾向に合わせたいので、必要な条件があれば私に質問してください。」
という質問をすると AI がガーっといい感じのものを出力してくれる。
校正の流れ。
- データを投げる
- 置換用データを出力
- スクリプトで修正を適用
AIのモデルによって癖が違うので http://claude.ai で一回校正 http://chatgpt.com でも実行、最後に http://gemini.google.com みたいなことをしながら、プロンプトを洗練させていく。この時点で校正終わってるんじゃないのと思うかもしれないが、私の誤字のスケールは違うので全然終わっていない。この後で Gemini CLI で3回くらい校正という流れ。なぜ Gemini CLI なのかというと安いのと Web の UI でポチポチするよりかは楽だからで、必然性はない。好きなのを使えばいいが、当初の計画では Gemini CLI にデータを投げて一括で校正するというものだった。しかしこれは無理で暴走した。

思っていたより弱い。
なので原稿を章ごとに校正させた。10万文字くらいなら一括で校正してくれる。三回くらい繰り返すと「もう誤字はないです」みたいなことを AI がいうので作業は終了となる。
一回で終わらせるならば、
cat 原稿.txt | python3 -c 'import sys; t=sys.stdin.read(); [print(t[i:i+2000]) for i in range(0,len(t),2000)]' | xargs -I@ gemini --prompt "校正して: @"
みたいなスクリプトでテキストを2000文字くらいに分割してAIに送る、みたいなことをしたらいいけど、そんなに丁寧にするならWordや一太郎の校正を使ったほうがいい。
このやり方はとにかく面倒くさいことをしたくない人が、うっかり大量の誤字を含む大量の文書を作ってしまい、大量の誤字で苦悩している時のベストプラクティスだが、そんな奴が日本に何人くらい存在するのかは不明である。