はじめに
自分もこれ一度個人開発でやってみました。Next.jsを使ってTypeScriptのみの開発です。これは悲惨なことになりました。もし現場でやっていたらとんでもないことになっていました。😨
どう悲惨だったか実体験をお話します。
最初は気持ちよく開発が進んだ
最初はClaude Codeが出てきて、ガンガン開発が進んでやったー気持ちいい😇って
なっています。あんなめんどくさいプログラミングからおさらばだーって思っていました。
ChatGPTを使った開発なんか比べ物にならないくらい凄かったです。
しかし、1,2ヶ月開発を進んでくると問題が出てきました。
あるフェーズから
まず設計がぐちゃぐちゃになっていました。
どこに何のファイルがあるかも意味不明で、人間もわかりづらくて、AIですら迷っているような
ぐちゃぐちゃな設計でした。
開発は初期だったので、なんとか設計をし直すことはできたのですが、
開発が進んでいったらとんでもないことになっていました。
1から作り直しになっていたかもしれないです。
AIの言いなり問題
これ駆け出しエンジニアであるのですが、AIの言いなり問題です。
AIとの壁打ちではなく、AIが出したものに対して何も疑問を持たずにそのまま実装してしまう問題です。これをやると今何をやっているのかがわからない状態での開発になってしまいます。
この状態こそAIに全部委ねるってことです。
AIが本番DBを9秒で壊した事件が発生
AIがあるから開発速いーと思っている中海外でこんな事件が発生しました。
AIが9秒で本番DBを破壊したみたいな話です。今後日本でも起きるかもしれないです。
9秒で全消滅 AIが会社のデータベースを丸ごと破壊した事件の全貌|Cursor暴走の真相
自分もRailsで開発をして実験したのですが、DBを見事に破壊してくれました。😂
本番運用はしていないので、別に何かあった訳ではないですが、AIの暴走の恐ろしさを小規模ですが、体感しました。
解決策(自問自答すること)
AIが出した出力はそもそもこれでいいのかっていうことをいつも疑問に持つことが大事です。
- なんでこれにした?
- こっちの方がいいのでは?
- 俺はこうすべきだと思う
なんでこの判断にしたか説明をする
新しく何か導入したり、実装したらなんでこういう実装したかをちゃんと説明する必要があるなと思いました。実際にリーダーからも実装したら「なんでこれやった?」と聞かれたりしました。ここでちゃんと説明できるのが大事だと思います。
何をやって何をやらないか決める
実装が速いので、やるべきこと、やらないことをしっかり言語化していくのが大事だと思います。優先順位を決めたりしていくのって大事です。開発が速いので、やらないことを特に決めるのが大事だと思います。
品質担保の仕組みや体制を考える
例えばこういう仕組みを考えていくことにも価値があります。
ハーネス設計をする
AIが暴走しなための仕組みをしっかり作っていって整備する必要があると思います。
これをやらなかったら悲惨なことになりました。💦
「AIが書いたから大丈夫」が一番危ない😱 ハーネスエンジニアリング完全ガイド
静的テスト
結論linterや型チェックやコードレビューなどです。
コードを読んだテストっていえばいいですかね。
RailsならRubocop、ReactやNext.jsならBiomeやESlint、Prettierです。
地味だけどめちゃ大事です。こういうのが可読性や保守性を担保するのに大事です。
AIにまともなコード書かせる方法、最新ノウハウじゃなくて10年以上前からある地味なやつでした
動的テスト
単体テストや結合テスト、システムテスト(E2Eなど)、ユーザー受け入れテスト(UAT) ですね。実際に動かして確認するテストです。
ソフトウェアテスト手法完全マスター!基本のテスト手法からTDDまで
設計を学ぶ
AI駆動開発をやる上で、人間やAIが迷わず、長期運用していけて、サービスの成長にも貢献できる設計を学んでいくといいと思います。
【現場じゃ無理です】ジュニアエンジニアから設計スキルが求められる時代、どうやって最速で習得するのか
ドラえもんの道具も使い方次第
ドラえもんの道具って凄いですよね。でも使い方が下手だと効果は半減します。
その文のび太は道具の使い方が天才的です。見事にドラえもんを有効活用しています。
逆に使い方を間違えて、トラブルにもなってしまいます。
ドラえもんの道具も結局、使う人間次第です。
これってAIと同じじゃないですかね🤔
ナルトの九尾モードも使い方次第
ナルト知ってますかね。九尾の力を手に入れてめちゃくちゃ強くなりました。
でもナルトは九尾に先頭を丸投げしていないです。
九尾と一緒に壁打ちをしたりしながら試行錯誤して戦ったりしますし、
九尾を使いこなせるだけの修行を積んでいますよね。
AIが九尾だとするとやはりどれだけ最強の武器を手に入れても使う人間次第ってことです。