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
