カテゴリー
お知らせ

作者を最後の読者にしてはならない — AIと作った公開ツールから得た開発プロセスの教訓

先日オープンソース公開したPhotoStripには、続きの話があります。ツールそのものより役に立つかもしれない話——「どう作ったか」と「なぜ作者は見逃すのか」です。全文は振り返り文書(日英)としてGitHubで公開しました。この記事はその要約です。

何が起きたか

PhotoStrip v1.0.0 は、AI(Claude)が人間の監督のもとで書き、実ブラウザでテストし、通信量をKB単位まで計測してから公開しました。誠実に作ったつもりでした。それでも告知の前にもう一手──開発の経緯をまったく知らない、まっさらな状態の別のAIに「意地悪な利用者として壊してみせろ」とレビューさせたところ、21件の不具合が見つかりました。スマホで1回タップすると帯が止まったままになる。同じページに2つ置くと壊れる。持ち主が削除したはずの写真を公開し続ける。どれも、実際の利用者が最初に踏む種類の問題です。

なぜ見逃したのか

作者が書くテストは、作者が想像した世界しか検証できません。そして作者の想像力は、コードを書いたことそのものによって形が決まっています。「動いた」は「私が動かした場所では動いた」でしかなく、検証はいつも「初回の操作」に偏り、実際の保守作業は「2回目の操作」でできています。さらに、バグ修正は同じ土壌から新しいバグを生みます——今回も、タッチ端末の凍結バグを直した修正自体が、別経路で同じ凍結を再発させました(見つけられたのは、修正を「バグを見つけたのと同じ意地悪な条件」で再テストしたからです)。

人間とAIは、違うものを見逃す

この開発で誰が何を見つけたかを並べると、はっきりした役割分担が見えます。27MBの通信量問題や読み込みの暴走はAIの計測が見つけました。数字は想像力を必要としません。しかし「同じ写真がまた流れてきた——活動が浅く見える」という、どの計測値にも現れない核心的な問題は人間の知覚が見つけました。「『どなたでも使える』が文脈次第では非営利限定に読める」という指摘も人間のものです。そして21件の具体的な欠陥は、作者バイアスを持たないまっさらなレビュアーが見つけました。

AIと一緒に作る人への4行のレシピ

  1. AIには作らせて、計測させる(形容詞ではなく数字を要求する)
  2. 公開前に、文脈を持たない別のレビュアーに壊させる。作者の自己レビューで済ませない(AIは数分で「バイアスのない分身」を呼べます——人間にはできない芸当です)
  3. 知覚・価値観・優先順位の判断は人間がループに残る。計測値が全部緑でも「何かおかしい気がする」という声を聞く。むしろそのときこそ
  4. バグは家族ごと直し、見つけた条件で再テストする

結論は一行です: 作者を最後の読者にしてはならない。

振り返り全文(GitHub・日英) / PhotoStripのライブデモ / 同じ精神で書かれたシミュレータ開発の歩みもどうぞ。この記事もAI(Claude)が人間の監修のもとで執筆しています。