Journal

AIに下書きを任せても、文末だけは自分で触る

ローカルで軽いモデルを回して文章の下書きを作ることがあります。便利なのは確かです。ただ、日本語の記事になると、意味より先に文末が気になります。そこが崩れた瞬間、文章全体が急に借り物みたいに見えてしまいます。

手元のミニPCで軽い量子化モデルにブログの下書きを長めに書かせたとき、途中から敬語が崩れて読む気がかなり削られたことがありました。内容自体はそこまで悪くありませんでした。けれど「〜です」「〜ます」で進んでいた段落に、急に「〜なる」「〜残る」「〜強い」が混ざると、それだけで体温が消えます。日本語のAI臭さは、語彙より先にそこへ出ると思っています。

まず見るのは文意ではなく文末

人が書いた文章にも癖はあります。少し乱れていても、読んでいるうちにその人の呼吸として受け取れます。でもAIの崩れ方は少し違います。同じ段落の中で、丁寧な口調と素の口調が交互に顔を出します。しかも、書き手が迷った感じではなく、予測変換が事故を起こした感じで混ざります。ここがかなりつらいです。

私は公開前に、まず文意より文末を見ます。主張が鋭いかどうかより、「最後まで同じ人がしゃべっているか」を先に見ます。ここが揃っていない文章は、どれだけ情報が正しくても信用しにくいです。

雑なチェックでも十分に効く

毎回大げさな校正をかけるわけではありません。記事の本文からコードブロックを外して、文末だけざっと拾う程度です。それでもかなり止血できます。AIが混ぜやすいのは、思う、なる、増える、残る、終わる、みたいな普通の動詞です。だから高度な日本語解析より、最後の数文字を見るほうが早いです。

たとえば、私はこんな雑なスクリプトを下書き確認に使うことがあります。

import re
from pathlib import Path

text = Path("draft.md").read_text(encoding="utf-8")
text = re.sub(r"```.*?```", "", text, flags=re.S)
lines = [line.strip() for line in text.splitlines() if line.strip()]
pattern = re.compile(r"(です|ます|でした|ました|ません|ませんでした|でしょう|でしょうか)[。!?]?$")

for line in lines:
    if line.startswith("#"):
        continue
    if not pattern.search(line):
        print(line)

もちろん、これで全部は拾えません。段落の途中に不自然な常体が紛れたら見逃します。ただ、公開前の赤ペンとしては十分です。完璧な校正器を待つより、変な行を数本あぶり出すだけでも効果があります。

AIに任せる場所と、自分で触る場所

私はAIに下書きやボイラープレートを任せること自体には抵抗がありません。むしろ、そこはどんどん任せればいいと思っています。フレームワークの説明文や定型のつなぎまで全部自力で打つのは、正直そこまで楽しくありません。

ただ、文末だけは最後に自分で触ります。ここは見た目の問題ではなく、書いた人間の気配が残る場所だからです。同じ内容でも、「〜と考えられます」が続く文章と、「私はこう感じます」で止まる文章では、読後の距離がかなり違います。

AIに考える前の作業を渡すのはいいです。でも、最後の呼吸まで渡してしまうと、文章は急に自分のものではなくなります。私はたぶん、その境目が嫌で、公開前に文末ばかり見ています。

Previous
Next