AIコードにおける80/20の法則

AIはわずか10分で、私の機能の80%を書き上げた。

コードは綺麗だった。ロジックは機能していた。ハッピーパス(正常系)は一発で動作した。生産性が上がっていると感じた。あと15分もあれば終わるだろうと思った。

それは火曜日のことだった。木曜日の夕方になっても、私はまだ同じ機能の開発に取り組んでいた。

AIは失敗したのではない。間違ったことを成功させたのだ。AIは簡単な部分を片付け、難しい部分を私に残した。

AIはハッピーパスを処理する。しかし、以下のことは処理できない:

  • 空の状態(Empty states):ユーザーにデータがない場合、どうなるか?
  • エラーハンドリング:APIが失敗したり、ネットワークが切断されたりしたらどうするか?
  • ビジネスロジック:AIはあなたの会社の固有のルールを知らない。
  • スケーラビリティ:1人のユーザーには機能するが、1万人のユーザーでは失敗する。
  • 保守性:AIは「今日」のために書くのであって、来月の変更を見越して書くわけではない。

最初の80%は速くて魔法のようだ。しかし、本当の仕事は最後の20%に潜んでいる。その最後の部分に、全作業時間の80%を費やすことになる。

最近、プロンプトを打つのに30秒かけて200行のコードを生成した。その後、それを修正するのに3時間を費やした。AIが無視したnullチェック、エラーパス、エッジケースを追加しなければならなかったのだ。

30秒は足場作りだった。3時間は実際の仕事だった。

AIは仕事を減らすのではない。仕事を「移動」させるのだ。構造を書くための時間を、コードを本番環境に耐えうるもの(production-ready)にするための時間へとシフトさせる。

AIを使うなら、アプローチを変えるべきだ:

  • もっと時間を確保する:AIがタスクに10分かかると言っても、40分を見込んで計画を立てる。
  • 失敗を想定してプロンプトを出す:エラーや空の入力の扱いについて、AIに明示的に指示する。
  • テストを先に書く:コードを生成する前に、失敗するテストを書く。これにより、AIに自分の基準を満たすよう強制できる。

80%はデモまで連れて行ってくれる。20%が本番環境へと導いてくれる。

あなたの比率はどうだろうか?AIが始めたことを終わらせるのに、どれくらいの時間がかかっているだろうか?

出典: https://dev.to/harsh2644/the-8020-rule-of-ai-code-why-the-last-20-takes-80-of-your-time-3pcg

オプションの学習コミュニティ: https://t.me/GyaanSetuAi