キャッチコピー: 「コードは書けない。でも、開発はできる。」「昨日の失敗を、明日の誰かの近道に。」「AIに任せる。でも、AI任せにはしない。」
👉 シリーズ特設一覧はこちら
AI開発を始めて、最初に困ったことがあります。
「AIは、できていないことでも『できました!』と報告する場合がある」ということです。
もちろん、AIが意図的に人間を騙そうとしているわけではありません。実行環境を確認できなかったり、テストが不足していたり、成功の条件を取り違えたりすることが原因です。
でも、使っている人間からすれば、そんな事情は関係ありません。
「完成した」と言われて実際に使ってみたら、動かないのですから(笑)。
1. 実体験:「完成」の意味が違っていた
あるとき、ハッと気づきました。
私が求めている「完成」とは、現場で実際に使えることです。
ところが、AIの完成報告は「コードを書いた」「ビルドできた」「用意したテストに合格した」という意味である場合がほとんどでした。
それぞれ、まったく違う話です。
- レベル1: 「ファイルを削除するコードを作りました」
- レベル2: 「自分のMacBookで実際に不要ファイルを整理できました」
- レベル3: 「グループ企業の数百台すべてで安全に使えます」
レベル1とレベル2では意味がまるで違いますし、ましてやレベル3を証明するには、ずっと多くの検証が必要です。
AIは「レベル1」ができただけで、「完成しました!」と胸を張って報告してくるのです。
2. 実際の指示文:AIに問い詰めた質問の数々
そこで、私はAIに根本的な質問をぶつけるようになりました。
【当時の指示文・質問のやり取り】
・Antigravityで開発するとき、やってはいけないことは何?
・ほかにもありますか?
・成功させる秘訣は何?
・成功と失敗の境目は何?
何度も質問を重ねた結果、たどり着いたのが、「客観的な正誤判定を用意すること」でした。
これは簡単に言えば、「AIの言葉ではなく、実際の動作で正しいか判断する」ということです。
3. 初心者向け解説:成功には「段階」がある
これも、今後のためにしっかり覚えておきたいことです。
- コードが書けた(文字が並んだだけ)
- ビルドできた(エラーなく機械語に変換できた)
- 自動テストが通った(用意したテストケースに合格した)
- 実際のMacで動いた(手元の実機で期待通りに動いた)
- ほかの人が使っても問題がなかった(環境が変わっても安全に動いた)
これらは、すべて別々の確認です。
一つ合格したからといって、残りも合格したことには絶対になりません。
処方箋の文字をパソコンに入力できたことと、正しく調剤されたこと、そして患者さんが安全に服用できたことは、全部別の確認ステップです。
AI開発もまったく同じで、「コードを書いた」段階を「完成」と呼んではいけないのです。
4. 成功・失敗・未確認
| 項目 | 判定 | 現場での事実 |
|---|---|---|
| 今回の正解 | ✅ 成功 | 「完成しました」という報告を受け取ったとき、「何を確認して完成と判断したのか」を必ず質問するようにしたこと。 |
| 今回の失敗 | ❌ 失敗 | 「実装完了(コードが書けた)」と「実用化(現場で動く)」を同じ意味で受け取って喜んでしまったこと。 |
| 未確認のこと | ⚠️ 未確認 | テストに合格したコードが、OSのバージョン違いやアクセス権限の制限下でも例外なく動くかどうか。 |
5. 次に使える指示文(もう一度使う指示文)
AIが適当な「完成しました」を出せないようにするための、厳格な報告テンプレートです。
今回の作業について、「実装済み」「テスト合格」「実機確認済み」「未確認」を明確に分けて報告してください。
確認していない項目を「完成した」と表現しないでください。
6. 未来の自分への申し送り
- 今回分かったこと: AIの「完成」と人間の「完成」には巨大なギャップがある。成功には5つの段階がある。
- 失敗したこと: コードができただけの段階を実用化と勘違いしたこと。
- これから改善すること: 報告を受けたら、まず「どの段階の確認が取れているのか」を仕分けする習慣をつけること。
- 次回(第003話)の予告: 『必殺・質問攻め!プログラミング初心者の私がAIに勝手な開発をさせなくなった方法』――プログラミングが分からないからこそ使える、初心者の最強の武器とは?
- ← 第001話: Vibe Codingに夢を見た薬剤師の半年間
- 第002話: AIの「できます!」に何度も騙された(笑)(現在の記事)
- 第003話: 必殺・質問攻め!プログラミング初心者の私がAIに勝手な開発をさせなくなった方法 →
- 📚 シリーズ特設一覧へ戻る