TangYi Studio

瑭宜の視点

AIに作ってもらったアプリ、そして何十回もの間違い

林政賢 ·

まず結果から話します。

私は《PurpsyNightX(紫色微醺夜X)》というパーティーゲームアプリを作り、すでにApp Storeに公開しています。友人たちが集まって、それぞれスマホで同じ「個室」に接続し、順番にカードを引いて質問に答え、お互いに点数をつけ合うというものです。

中には1,400枚以上の質問カード、39枚の限定エンディングカード、22の画面があり、最大10人が同時接続できます。これくらいの規模は、以前なら小さなチームが必要でした。

プログラムの部分はほぼすべてAIが書きました。

すごそうに聞こえますよね。でも、ここで話を終えたら、この記事は嘘になってしまいます。

何十回も間違えた

直近のこのプロジェクトだけでも、実際に起きたことで、しかも誰かが指摘しなければ直らなかったものがこれだけあります。

01トップページの背景の円が、回転しながら横にずれていく
中央揃えは書いたつもりが、アニメーションがその設定を上書きしていた。
02チャットの吹き出しの中国語が、一文字ずつ縦に伸びていく
その一行が画面の半分を覆ってしまう。
03「ボタンを押してから反応が遅い」を直したら、今度は「画面がずっとチラつく」
ひとつ直すと、別の問題が生まれる。
04効果音をオフにしたはずなのに、アプリを開くと音が鳴る
2回修正して、ようやく本当に直った。
05ルームに入る画面が3回連続でチラつく
しかも原因は、前日にAI自身が追加した演出だった。
06選択肢が増えると、質問文自体がスクロールされて見えなくなる
質問が見えないまま答えを選ぶ羽目に。
07「直した」と言うが、実は自分側の古い画面を見ていただけ
これは一度だけではなかった。
08自社ブランドの英字なのに、自分のアプリに打ち込めない
AIは文字数制限のせいだと思って修正したが直らず——本当の原因はまったく別のところにあった。

これは私が覚えているものだけです。プロジェクト全体では、何十回も避けられませんでした。

そしてそのたびに、誰かがスマホを手に取り、実際に使ってみて「ここがおかしい」と言って初めて、AIは調べに行くのです。

「おかしい」と言う人がしていること

先週実際にあったことを一つ話します。この一件が、事の本質をいちばんよく表しているからです。

あるプレイヤーがこう言いました。「ルームの中が全部重くて、ボタンを押しても反応がない」

この一言をそのままAIに投げました。AIはネットワークを計測し、実際にデータが地球を大きく回り込んでいて、往復に0.5秒かかっていることを発見しました。それを踏まえて最適化を行い、経由回数を減らしました。もっともらしい話ですし、計測結果も事実でした。

そこで私自身がスマホでプレイしてみました。

私:まだ重い。

たったこの一言。でもこの一言が、それまでの方向性をすべて覆しました——それによって、次のこの一文が引き出されたのです。

ネットワークが遅くても、ボタンが反応しなくなることはない。

ここで少し立ち止まって考えてみてください。この一文には、技術的な話は一切ありません。

これは、混同されていた二つの事象を切り分けただけです。「押してから結果が出るまで少し待たされる」「押しても画面がまったく動かない」——これは別種の「使いにくさ」です。最初の修正が対処したのは前者でしたが、プレイヤーが訴えていたのは後者でした。

別の観点から計測し直したところ、本当の原因が見えてきました。

78回

誰も操作せず、放置されていたわずか10秒の間に、プログラムはひそかに画面全体を78回も再描画していました。つまり何もしていなくても毎秒8回も再描画していたことになります——スマホがあなたの操作に反応しきれないのも当然です。

原因は、あるコードが毎秒「チャットの吹き出しをそろそろ消すべきか」をチェックしていたことで、しかも画面に吹き出しがあるかどうかにかかわらず、常にチェックしていたのです。吹き出しが実際に必要なのは表示されている6秒間だけで、それ以外の時間はすべて無駄な処理でした。

修正後、同じ10秒間の再描画回数は0回になりました。何もしていなければ、本当に何もしていない状態になったのです。

これには名前がある。「デバッグ」という

あなたはきっと「それは自分には縁がない話だ」と思うでしょう。

でも、もう一度上の一連の流れを読み返してみてください——私がしたことは3つだけです。実際に使ってみる予想と違うことに気づく2種類の異なる「使いにくさ」を分けて言葉にする

どれ一つとして、プログラムが書ける必要はありませんでした。

あなたにその能力が足りないのではなく、ただ誰もその能力に名前があると教えてくれなかっただけです。

次の3つのうち、あなたは少なくとも1つに当てはまるはず

✓ あるアプリを使っていて、「このボタン、なぜここにあるんだろう」と思ったことがある
決済で同じ情報を3回入力させられる、解約ボタンがメニューの5階層目に隠されている、押し間違えるボタンがいつも同じ位置にある——あなたはただイライラするだけでなく、どこがイライラするのかを言葉にできます。それはユーザー体験に対する判断力であり、しかも最も教えるのが難しい種類のものです。
✓ もっともらしい説明を聞いても、どこか腑に落ちないと感じたことがある
そこで一歩踏み込んで聞いてみたら、実際にはそうではなかった。その「最初のもっともらしい答えを鵜呑みにしない」という直感こそが、この記事でいちばん重要な能力です——AIが最初に出してくる説明は、常にもっともらしいものだからです。
✓ 「自分が何をして、何を見て、どうなると思っていたか」を明確に説明できる
「壊れた」だけでは役に立ちません。「ここをタップしたら、あれが出てきた。でも前の画面に戻ると思っていた」なら十分に役立ちます。これは感覚を事実に翻訳する力で、エンジニアはそれを「再現手順」と呼びますが、あなたにとっては「話をきちんと伝えること」と呼んでもいいでしょう。

なぜAIには特にこの能力が必要なのか

それはAIがあなたの製品を「使う」ことはないからです。

AIはコードの一行一行を理解できますが、「使っていて煩わしい」というあの感覚を持っていません。電車の中で片手で操作することも、友人にせかされて焦ることも、周囲が騒がしくて文字が見えづらいと感じることもありません。

AIは疲れることも、苛立つことも、5回直しただけで投げ出したくなることもありません——これはAIの最大の強みですが、裏を返せば、AIは眉をひそめることもないということです。

さらに厄介なのは、「なぜこう作ったのか」と尋ねると、ほぼ必ずそれらしい専門的な説明を返してくることです。たとえ本当の理由が「一つ前のステップでたまたまそう書いてしまっただけ」だとしても。AIはあなたを騙しているわけではありません——本当にそれでうまくいったと思い込んでいるのです。ちょうど、文書を編集して保存ボタンを押したつもりが、実は別のウィンドウを開いていた、というのと同じです。

だからこそAIには、立ち止まって「ちょっと待って、これはおかしい」と言ってくれる人が必要なのです。そして、その人にプログラミングの知識は必要ありません。必要なのは実際に時間をかけて使ってみる意志と、それを口にする勇気だけです。

では今、いちばん価値があるのは何か

この数週間の経験から言えば、それは二種類の人です。

一つは、デバッグができる人。プログラムを直せることではなく、「ここが変だ」と気づき、どこが変なのかを言葉にできること。この能力は、たった一つの方法でしか養えません——自分のものを実際に使い倒し、自分でも文句を言いたくなるくらいまで使い込むことです。

もう一つは、論理を細かく考えられる人。数学ができることではなく、混ざり合ったものを切り分けられること——「遅い」と「反応しない」は違う、「未ログイン」と「ログイン失敗」は違う、「使い方がわからない」と「使いたくない」は違う、というように。

この二つの能力がAIと組み合わさって初めて、「一人でチーム一つ分の仕事をやり遂げる」という結果が生まれます。これらが欠けていれば、AIは非常に効率よく「やるべきでないこと」を完璧にやり遂げ、しかもその過程で説得力たっぷりの理由をいくつも生み出すでしょう。

AIによって「手を動かすこと」は安くなった。だからこそ「判断すること」が高くついている。

もしあなたがずっと「自分は技術がわからないから何もできない」と思っているなら——私からの提案は、まず毎日使っている、いちばんイライラするアプリから始めてみることです。そのイライラの原因を、具体的に3つの文にしてみてください。

きっと書けることに気づくはずです。

それが出発点です。

技術編

実際にどうやったのか知りたい方へ

エンジニア向けに書いた完全版の記事もあります。今回の記事であえて省いた部分がこちらに書かれています。

  • アーキテクチャ全体とツール選定の理由
  • 誰も事前に教えてくれない4つのCloudflareの落とし穴、それぞれの原因と解決策付き
  • 「遅延を直したらチラつきが発生した」問題を実際にどう解決したか(コード付き)
  • 本文中に登場するすべての数値の計測方法
技術編を読む:エッジ上のパーティー →

新着記事

二つの AI ランプ、どっちを擦る?

Claude Fable 5.1 と GPT-6 Astra が二日違いで登場、価格は同じ。スコア比べではなく、問いはひとつ——vibe coding を始めるなら誰に払うか。

読む:AI ランプ大戦 →

著者:林政賢(監督 · Gen AI クリエイター兼エンジニア · 瑭宜影像創意工作室 創業者)