この記事は、ChatGPT や Claude に作らせたツールを仕事で使っていて、直しを頼んだあとに様子がおかしくなった事業者の方に向けて書いています。
エラーは 1 つも出なかった
当方は、自分で作っているアプリの多くを AI(Claude)に書かせています。その中で、AI が書いたコードが、エラーを出さないまま期待と違うことをしていた例を 3 件、記録に残しています。
- うまくいかなかったときに、黙って広い許可を出していた。 鍵のファイルを守る処理が、途中の取得に失敗すると「そのパソコンの全ユーザーに開ける」で続けていました。止まらないので、エラーは出ません。
- 本物らしい数字と出典を書いていた。 画面に出す数字に、論文の名前つきの値が入っていました。原典の全文(9 万字あまり)を検索すると、その数字はどこにもありませんでした。
- 検査が必ず「成功」を返していた。 テストをまとめて走らせる仕組みが、失敗しても「成功」を返す作りになっていました。テストが失敗しても、その数が結果に伝わっていませんでした。
この 3 件は「AI に直しを頼んだ直後に、別の場所が壊れた」事例ではありません。エラーを出さずに結果がずれる型として挙げています。
3 件とも、コードを読んだだけでは見つかっていません。見つけたのは、別の角度から数え直したときです。実際のデータで数える、原典を引く、成功か失敗かを外から読む。
事業者の手元でできる「別の角度」
コードを読まなくてもできる別の角度があります。直す前の出力と、直した後の出力を並べて比べることです。
同じ入力(同じ CSV、同じ期間、同じ条件)を、直す前の版と直した後の版に流します。出てきた表や一覧を並べて、次の 3 つを数えます。
- 直した後に消えた行
- 直した後に増えた行
- 同じ行なのに中身が変わった列(注文番号のような、行を見分ける列があるとき)
エラーが出ない壊れ方は、「数が減る」「値が変わる」で出てくることがあります。並べれば数で分かります。
ただし、並べて分かるのは何が変わったかまでです。どちらが正しいか、なぜ変わったかは、出力を並べるだけでは決まりません。
比べる前に用意するもの
- 直す前の版。AI とのチャットの履歴に貼ったコード、ZIP の控え、Git の履歴。残っていれば、比べる材料がそろいます
- 同じ入力。比べるたびに入力が違うと、違いの理由が分からなくなります
- 正しい答えを知っている人の目。変わった行が意図した直しかどうかは、使っている人にしか決められません
本家の読み物の下に、2 つの出力を貼って比べられる画面を置きました。ブラウザの中だけで比べ、貼ったものはどこにも送りません。架空の注文一覧で、直したあとに 3 行が黙って消える例も試せます。
全文は本家に
起きていることの候補、お金をかける前にできる確認 2 つ、診断で分かることは、本家の記事にまとめています。
Sumitsuke は、事業者の方(法人・個人事業主)から、AI で作ったツールやシステムの点検と修理を納品型で受けています。