AIToday
AIコーディングZenn AI/ML掲載日時: 2026年9月29日 22:00

AIコードの5つの壊れ方、エラー出ず

LINEで送る
AIコードの5つの壊れ方、エラー出ず

3つのポイント

  1. 何が起きたか

    AIが書いたコードはエラーも赤いログもテスト失敗も出さず、ループ内I/OやログアウトできないJWTなど、エラーにならない5つの壊れ方をする。どれも本番でしばらく動く。

  2. なぜ重要か

    エラーが出ないためコードを読んでも問題に気づけず、人間のレビューでは見つけにくい。壊れていると気づくのは遅れてからになる。

  3. 注目点

    AI自身は「N+1問題とは何か」と聞けば完璧な説明を返せるが、書くときには踏む。原因は知識ではなく、本番の件数や誰にとっての一日かといった文脈の欠如とみられる。

誰に効くかAIでコード生成を進める開発チームやテックリードは、生成コードがエラーを出さないまま本番でのみ問題を起こし得る点を前提に、レビューで文脈を問う質問を用意する必要がある。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

コードを書く時間はこの1年で明らかに減り、代わりに出力されたコードを読んで「これでいいか」を決める時間が増えた。しかし決める側の難しさはまったく減っていない。記事が並べた5つの形は、いずれもその場ではエラーが出ず、テストも通り、ローカルでも本番でもしばらく動く。たとえば開発環境のシードデータが10件なら11回の問い合わせで8msだが、本番で商品が100件になれば101回になる。JWTはログアウト後も7日間有効なままで、退会した利用者や凍結アカウントがそのまま使える。日付は日本時間の0時から9時のあいだ昨日を指し、CIはUTCで動くので通ってしまう。論理削除はWHEREを1つ忘れれば退会者が一覧に混ざり、メールアドレスの再登録もできない。上限のない並列は5,000人になった日に関係のない画面まで待たせる。これらは人間が書いても同じように出ると記事は認め、筆者自身もStripeの切り替え時に利用者2人に対して顧客レコードが22件できていた経験を明かす。変わったのはバグの種類ではなく量であり、コードを書く速度が上がった分だけ疑う速度が追いついていない。AIは知識として説明できるが、本番の件数や資産の価値といった文脈は機能を作ると決めた人間だけが持つ。レビューをどこで疑うかという一覧を備えられるかどうかが、生成コードの品質を左右するとみられる。

よくある質問
どのようなコードが壊れているとされるのか?
ループの中にI/Oがあるコード(N+1)、ログアウトしてもトークンが7日間有効なJWT、タイムゾーンがずれる「今日」、論理削除後のクエリ、上限のない並列処理の5つが挙げられている。
なぜエラーが出ないのか?
いずれも例外や赤いログ、失敗したテストを出さない。JWTの例では正しい署名の期限内のトークンとしてシステムから見れば完全に正常なリクエストになるからだ。
AIの知識不足が原因なのか?
「N+1問題とは何か」と聞けば教科書どおりの完璧な説明が返り、JWTでログアウトを実装する方法を聞けば失効リストの話まで出てくる。知らないのは知識ではなく、本番の件数や誰にとっての一日かという文脈である。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へGPT-6 Astraは旧世代より攻撃しやすい