AIコーディングツールは便利です。でも使い方を間違えると、修復に何時間もかかる事態になります。
この記事では、実際に経験した失敗談と、そこから学んだ教訓を共有します。
失敗談 #1:AIが約1000行のコードを無言で書き換えた
何が起きたか
開発中のアプリのバグ修正をAIに依頼しました。「この部分を直して」と指示したつもりが、AIはファイル全体を「改善」しようとして、使われていないと判断した機能を丸ごと削除しました。
コードは動く。でも機能が消えている。気づくまで2時間かかりました。
教訓
AIにコードを渡す前に必ずgit commitする
これだけです。コミットさえしてあればgit diffで何が変わったかすぐわかります。今では「AIに渡す前にコミット」が反射的にできるようになりました。
失敗談 #2:AIの回答を信じてRustのコードを書いたら全然コンパイルが通らなかった
何が起きたか
tokioの非同期処理について質問したとき、AIが自信満々に「こう書けばいい」と示したコードをそのままコピペしました。コンパイルエラー。修正版を聞く。また違うエラー。これを5往復繰り返しました。
原因
AIはRustの古いバージョンの書き方を示していました。tokioのAPIは変更が多く、AIの学習データが追いついていないことがあります。
教訓
AIの回答は「ヒント」として使い、公式ドキュメントで確認する
特にバージョン依存が激しいクレートは要注意。tokio, tauri, serdeあたりは公式ドキュメントと照合する習慣をつけました。
失敗談 #3:AIに「この機能を追加して」と頼んだら既存の機能と競合した
何が起きたか
新しいファイル監視機能の実装をAIに依頼しました。AIが書いたコードは動きました。でも既存のファイル監視コードと二重に動いてしまい、ファイルが2回処理される不具合が出ました。
AIは「今のコードベース全体」を知らないので、既存の実装と競合するコードを平気で書きます。
教訓
AIに依頼する前に「既存の関連実装」を一緒に渡す
「この機能を追加したい。既存の実装はこれ↓」と合わせて渡すと衝突が減ります。
AIコーディングとうまく付き合うための3つのルール
まとめると、私が今やっていることはこの3つです。
1. AIに渡す前にgit commit
何かあっても即座に戻れる状態を作る。
2. AIの回答は「たたき台」として扱う
そのままコピペしない。意味を理解してから使う。
3. 変更後は必ず全体動作を確認する
AIが直した部分だけでなく、関連する機能も動くか確認する。
AIは強力なツールですが、コードベース全体を把握していません。最終的な責任を持つのは自分、という意識を持って使うのが大事だと思います。
Hiyoko PDF Vault → https://hiyokoko.gumroad.com/l/HiyokoPDFVault_jp
X → @hiyoyok