ChatGPTで作ったアプリが「動くけど不安」——公開前に自分で確認できる3つのこと

ChatGPTで作ったアプリが「動くけど不安」——公開前に自分で確認できる3つのこと

記事
IT・テクノロジー
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でも公開しています。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す