記事をAIに1か所だけ直させたら、頼んでいない場所が破綻した話

温泉ランド.com(楽天トラベルのアフィリエイトブログ)で、AIに記事を書かせている。
前回は、書かせるより止めるほうに時間をかけた、という話を書いた。

今回はその続きで、いちばん怖かったところの話をする。
AIに書かせるときより、書いたものを直させるときのほうが事故が多い。

自分はプログラミングを勉強したことがない。
コードはAI(Claude)に書いてもらって、自分は注文とダメ出しをする係だ。
そのダメ出しが、何度も裏目に出た。

「言い方を直して」と頼んだら、事実が消えた

8月3日、公開済みの記事に修正依頼を2本出した。
どちらも言い回しの直しで、内容には触れていない。

1つは、記事が自分の作りを語ってしまっている文。
車なし記事では、バスで温泉街へ入りたい読者に置きたい一軒です」——読者から見れば編集メモがそのまま載っているようなものなので、「バスで温泉街へ入りたい人に、まず見てほしい一軒です」に直させた。
51記事・168箇所。

もう1つは、同じ宿を複数の記事で同じ言葉で推している箇所。
「小さな旅館ならかんざき」が3本に出ていたので、記事ごとの切り口の言葉に置き換えさせた。

どちらも直し自体は正しい。
問題は、そのあとに書かれた記事のほうに出た。

宿の紹介文に、確かめられる事実(全16室/源泉かけ流し/個室食事処/駅から送迎、など)が1つも入っていないものを数えると、こうなった。

クラスタ事実が0件の紹介文
別所(修正依頼の前)38本中 1本
乳頭(依頼の直後)38本中 31本
湯村38本中 35本
湯の花38本中 24本
白骨38本中 32本

4クラスタ連続で崩れた。
文体の直しを指示すると、宿の事実が抽象語に置き換わる。

理由は、あとから考えれば分かる。
「制作側の言葉を使うな」「同じ言い回しを使うな」と言われたとき、いちばん安全な逃げ道は具体的なことを書かないことだ。

事実を書けば言い回しは似る。
何も書かなければ指摘されない。

抽象語は、別の抽象語に置き換えても直らない

白骨温泉の6本がいい例だった。
7軒それぞれが、全記事で同じ役回りを言い換えているだけになっていた。
笹屋=静か・小規模・二人、つるや=費用を抑える、丸永=素朴な山宿。夕食の記事なのに、笹屋は料理の話を一言もしていない。

しかも、記事間の似ている度合いを数値で測る検査は、これを全部通した(0.15〜0.26)。
言い回しは毎回変えてあるからだ。
数値は「同じことを別の言葉で言っている」を捕まえられない。

だから直させる先を変えた。

「もっと具体的に」ではなく、事実が1つも書かれていない紹介文を数える検査を足した。
「静か」「落ち着き」「素朴」は何度言い換えても宿を選ぶ材料にならないが、「全16室」「個室食事処」「駅から送迎」は記事ごとに使い分けられる。

検査が無ければ、消えたことに誰も気づかない

もっと分かりやすい形でも起きた。

「泉質を本文に書く」という規則を新しく足して、それに合わせて記事を作り直させたら、全記事から泉質が消えた
頼んだのは足すことで、消すことではない。

このときは泉質の検査を同時に作っていたので、その場で気づけた。
逆に言うと、検査基準を持っていない事実は、消えても誰にも分からない。
作り直しは、直した箇所だけを見て「直った」と判定しがちになる。

いまは、差し戻したあとに指摘した項目だけを見るのをやめた。
作り直したら、監査を全部もう一度回す。

前に通った結果は持ち回らない。

★は症状であって、直す場所ではない

直させ方そのものを間違えたこともある。

湯の山温泉で、冒頭の情景が91字あって★(違反の印)が出た。
90字までという規則があるからだ。

そこで字数を詰めさせたら、1文目の「木陰」「温泉街の空気」「ロープウエイ」まで削られた。
62字になって★は消えた。
でも読者がその場を想像できない文になっていた(指摘を受けて元に戻した)。

90字という数字は、説明が情景を押しのけていないかを見るためのもので、情景を削るためのものではない。
検査が指しているのは症状で、直す場所はその奥にある。

いまは対応表を作ってある。

検査が出す★何のためにあるか直す場所
情景が90字超説明が情景を押しのけていないか2文目の説明。1文目の情景は削らない
同じ宿の書き分け同じ宿を同じ理屈で薦めていないか推す根拠を変える。語尾の言い換えではない
理由の使い回し記事の切り口が宿の推薦に届いているかその記事の軸の言葉に置き換える
比較表の使い回し見出しが約束したものと表の中身が合っているか表の行(比べる軸)から作り直す
宿の説明に事実がない読者が他の6軒と比べて選べるか差し戻す。抽象語を別の抽象語にしても直らない

まとめて直させると、直したもの同士がぶつかる

もう1つ、道具側の落とし穴があった。

うちでは1つの温泉地につき6本をセットで作っていて、作り直すときは「ほかの5本が何を書いたか」を一緒に渡す。同じ景色・同じ理由が重ならないようにするためだ。

ところが南紀勝浦で2本をまとめて作り直させたとき、渡される既存記事が4本になっていた。
その2本は、お互いを見られない。

結果、直したはずの2本のあいだで新しい重複が2件生まれた。1本ずつ回したら1回で0件になった。

これは道具のほうを直した(何本指定しても1本ずつ順に処理し、毎回「自分以外の5本」を渡す)。
手順書に「1本ずつやること」と書き足す手もあったけれど、文章で守らせるより、道具が正しく振る舞うほうが確実だ。

自分で書き直さない

最後に、直す係の話。

★が出たとき、ラベルの抜けや事実の欠落は、自分で書き足したほうが速い。
実際そのほうが速い。でもやらないと決めている

人が代筆すると、その記事は直るけれど、次の温泉地でまったく同じものが出てくる

書けていないのはAIのほうなので、AIに書かせないと何も変わらない。
ここは速さより再発防止を取った。

いま守っていること

一連の事故から残った決まりは、この5つになった。

  • 文体の修正依頼を出した直後のクラスタは、事実の点検を厚くする。言い方を直させると、事実が抽象語に逃げる
  • 作り直したら、指摘した項目だけでなく監査を全部回し直す。検査を持っていない事実は、消えても気づけない
  • ★は症状。何のための規則かを見てから直す場所を決める。数値だけ合わせると中身が悪くなる
  • まとめて直させない。直したもの同士が互いを見られないと、新しい事故が生まれる
  • 人が代筆しない。直すのは記事ではなく、書けていない側

AIに何かを直させるのは、一見いちばん安全な作業に見える。
全部書き直すわけではないし、指摘した箇所しか触らないはずだから。

実際は逆だった。

指摘した箇所は直る。
指摘していない箇所が、静かに落ちる。

566本のうち、いちばん多く時間を取られたのはここだった。