ChatGPTやClaudeを使えば、実際に動くアプリは作れます。
ただ、動くことと、人に使わせてよいことは同じではありません。
「自分の環境では動いた。でも、これを渡して問題が起きないか分からない」
この不安、正体を分解すると、だいたい次の3つのどれかです。アプリの種類によって必要な確認は変わりますが、ここでは多くの小規模なアプリに共通する3つに絞ります。
■不安①「たまたま動いているだけかもしれない」
AIが書いたコードは、たいてい見た目はとても整っています。しかもAIはよく「テストも書きました。すべて通っています」と報告してきます。この「テスト」は、コードを自動で点検する仕組みのことです。
ただ、私がAI生成コードを実際に動かして検証してきた経験では、「テストは通るのに、計算結果が間違っている」というケースが確かに存在します。
テストが通ることと、答えが正しいことは、別なのです。たとえば「四捨五入のつもりが切り捨てになっていた」ようなズレは、テストが値をきちんと検証していないと、AIの「確認済みです」という報告の裏で生き続けます。
確認のしかた: 金額・集計・日数など、計算をするアプリなら、手計算で答えが分かる例を3つ用意して、アプリの出す答えと突き合わせてみてください。
3つは、次の内訳にすると効きます。
・ごく普通の例
・割り算や税率計算など、端数が出る例
・0件、上限ちょうど、月末など、境界になる例
3つとも合えば、代表的な入力では計算が合っていることを確認できます。ただし、これで「完全に正しい」とは判断できません。試していない条件でのズレは残ります。計算をしないアプリの場合は、次の不安③の確認が主戦場になります。
■不安②「自分のPCでは動くけど、他の人のPCで動くか分からない」
これは開発の世界で「自分のPCでは動くのに」問題と呼ばれるほど、昔からある定番のつまずきです。
開発したPCに入っているものが、他のPCには入っていないことがあります。ファイルの置き場所が違うこともあります。それだけで、起動しなかったり、途中で止まったりします。
確認のしかた: 開発に使っていないPCで一度起動してみてください。コツは、配る予定の形(zipなど)のまま渡して、あなたは口も手も出さないことです。横で手伝った時点で、この確認は効果を失います。
家族や同僚のPCを借りる場合は、本物の顧客情報や業務データを使わないでください。必ずダミーのデータで試します。まだ検証していないアプリを人のPCで動かすことになるためです。
別のPCが用意できない場合は、開発に使っていない別のユーザーアカウントで試すだけでも、かなりの部分が分かります。
この確認で分かるのは、少なくともその環境で配布手順が成立することです。すべてのPCで動くことまでは分かりません。それでも、手近な1台で再現する問題は、公開後もかなりの確率で誰かが踏みます。
■不安③「エラーが出たとき、何が起きるか分からない」
正常に使っている分には見えないのが、この問題です。AIの書いたコードには、失敗を隠して「成功したように見せる」動きが混ざることがあります。エラーが出ないことと、正しく動いていることも、また別なのです。
確認のしかた: わざと間違った操作を5つ、そのまま試してみてください。
・必須項目を空欄のまま送信する
・形式の違う日付を入れる
・同じボタンを二度押す
・中身が空のファイルを読み込ませる
・想定と違う種類のファイル(画像やPDFなど)を読み込ませる
見るのは、エラーメッセージが出るかどうかだけではありません。むしろ、そのあとが重要です。
・同じ操作が二重に登録・送信されていないか
・途中まで書きかけの、壊れたデータが保存されていないか
・失敗したのに「完了しました」と表示されていないか
この3つは、実際の損害に直結します。
■公開を止めた方がよい合図
確認していて次のどれかが起きたら、いったん公開を止めることをおすすめします。
・間違った結果なのに「完了」と表示される
・同じ操作で、結果が二重に登録される
・エラーのあとに、元のデータが消えている
・別の人の情報が表示される
・パスワードや接続キーが、画面やファイルの中に見えている
・他のPCでは、手助けなしに起動できない
■この3つだけでは判断できないこと
ここまでは、コードが読めなくても自分でできる確認です。
一方で、画面を操作するだけでは十分に判断できないこともあります。パスワードや接続キーがどう扱われているか。入力された個人情報がどこに保存されているか。第三者から見える場所になっていないか。
表面上の確認はできても、安全だと判断するには、コードや設定を見る必要があります。
(AIにもう一度点検させる手もあります。ただ、「その点検が十分だったか」を自分では判断できない、という同じ壁に戻ってきます。)
■自分の確認で始めてよいもの、一段の確認を勧めるもの
すべてのアプリに専門の確認が必要なわけではありません。
自分の確認から始めてよいもの
・自分だけが使う
・ダミーデータや公開情報だけを扱う
・間違えても、やり直しがきく
・自動送信や自動削除をしない
一段の確認を勧めるもの
・顧客や従業員の個人情報を扱う
・お金や請求額を計算する
・メールや通知を自動で送る
・ファイルやデータを削除・上書きする
・複数の人がログインする
・インターネットに一般公開する
後者に当てはまるものは、上の3項目だけでは判断しきれません。
そこで私は、AI生成コードや外注コードを実際に動かして確認し、原因・影響の大きさ・直す順番を、専門用語を避けた2〜4ページのレポートにまとめる診断をしています。原因を特定できなかった場合も、どこまで確認して何を除外できたか、次に試す手順を整理してお渡しします。
上の3つを試す時間がなくても大丈夫です。診断の中で同等の確認を行います。
▶ AI・外注アプリの診断:
■保存用チェックリスト
・手計算で答えが分かる3例を試した
・3例に、端数が出る例と境界の例を入れた
・開発に使っていない環境で起動した
・手助けなしで、相手だけで起動できた
・確認にはダミーデータだけを使った
・空欄・形式違い・二度押し・空ファイルを試した
・二重登録や、書きかけデータの保存が起きていない
・失敗したのに完了と表示されていない
外注したアプリを「受け取る側」の確認は、別の記事にまとめています。
▶ 「テスト済みです」だけで受け取らない——納品前の5項目:
(筆者について)AI生成コード・外注コードの検証と診断をしています。検証手順やAIコードの落とし穴の実測は、Qiita・noteでも公開しています。