ChatGPT4と色々プログラミングしてから3年でAIでの開発がどう変わったか?
3年前に書いたGPT4とプログラミングをした雑記をまとめていた記事を思い出した。
当時のまとめとしては、簡単なプログラミングなら指示を頑張ればできるというレベルまで進んだ。ということを話していた。 ブログをリニューアルしてこの記事の存在を思い出したので、3年ぶりに振り返ろうと思う。
潮目が変わったのはClaude Code
2025年の6月ごろにSNSで出始めたClaude Codeで潮目が変わり、格段にコーディングの体験が変わった。 Claude Codeを使い始める少し前から、CLINEをお試しでやってみたりもしたが、新規実装以外には使えないなというような感じで、 記事に書いてある感想からは大きく変わるものではなかった。
しかしClaude Codeの誕生で大きく変わった。 当時はすでにDevinもあったのだが、まだ完全放置でコーディングさせるには心もとない性能だったので、Claude Codeのいざとなれば指示を出せるというのもよかった。 さすがにヤバいということで、会社としてもすぐにMaxプランを契約して使い始めた。最初は途中から性能が微妙になり、使えなくなってしまったりということはあったが、それでも以前より格段にコードを書く時間は減った。少なくともRSpecのテストケースのチェックはすれど、手で書くことはほとんどなくなった。 実装についても難しくない実装は放っておいてもできるくらいには完成度はあがっていた。
実装品質がかなり上がった
Opusの4.5あたりからざっくりした指示であってもテストや実装の完了率が上がってきて、ジュニアエンジニアではなくリードエンジニアに近い動きをしてくれるようになった。 テストをごまかしたり、Linterを無視したりが日常茶飯事だったわけだが改善された。 新しい技術についてもWebからドキュメントを読み込んで理解するので、 定番ライブラリの新バージョンがリリースされてもそつなく使いこなしてくれるところまで到達している。 弊プロダクトは8年目のRailsアプリケーションで結構年季が入っているが、それでもコードを自分で書く分量は圧倒的に減ったので、無理してマイクロサービスに切り出す必要もそこまでなくなったように思う。(もちろん切り出したほうが効率は良いと思うが)
ここまでになると人間がおこなうのはよりデータの寿命が長いデータベース設計くらいで、それ以外のクラス設計だったりも色々言いたい細かいことはあれどそれなりのクオリティで開発してくれるので、コーディングに関しては8割9割AIに任せることが増えていった。
開発スピードについても早くなり、以前は3か月の工数のものが1ヶ月かからないくらいで完了するようになった。大規模でもない限り、丸々1ヶ月かかることも減ってきた。まさに今は開発工数のバーゲンセールである。
プログラミングをする楽しさは奪われた
3年前は面倒が減ってできることが増えたので楽しくなった、ワクワクするということだったのだが、 はっきりと意見が変わった。はっきり言えばプログラミングをする楽しさは奪われた。
特にWebエンジニアという仕事がなくなる日が来るとわかってしまった。しかもそう遠くない未来だ。それで大きくモチベーションを落としてしまった時期があった。ある意味アイデンティティに近いものを喪失した感じである。 ほかに趣味の一つもあればよかったのだろうけど、週末もたまにはコーディングしたりということをするくらいにはプログラミングは好きだったので、 どう仕事をしていこうかということにも悩んでしまっていた。
AIをどう運用するかを楽しむことに
悩んでばかりいても仕方がないので、今後何をしていくべきか?ということを考えたのだけど、 結論「AIをどう活用するかを楽しむ」ことをやるのがよいと思い日々仕事をしている。
巷で言われている「ハーネスエンジニアリング」もその1つだと考えている。 賢くなったとはいえ、AIはまだまだミスをするもの。 なので発想を転換して「どうやったらミスをしないか?」「ミスを見つけられる構造にできるか?」というものを整備していく営みだ。 適切なCI/CD環境の整備。Claude Codeの使い方を工夫したり、チームで運用に使えるSKILLSを用意したり。例えば、メインセッションには実装させないでマネージメント役に徹してもらい、実装はSubagentに分業するSKILLSを用意する。といった具合だ。 こういった部分は手段は異なれどプログラミングでの課題解決に近いものがあるし、できると生産性がかなり向上する類のものであるので、やっていて楽しい。
とはいえ、AI周りの進化は本当に早い。せっかく作ったツールも数ヶ月でClaudeが実装してしまったり、AIの性能向上により不要になったりということは日常茶飯事である。 AI運用Tipsの寿命は年々短くなっている。それでも生産性を高めるため、ワクワクした仕事のためにはやらないといけないと私は考えている。
まとめ
- 3年の間でAIはコーディングのコパイロットからパイロットになった。人間がコーディングするということは殆どなくなってしまった。
- コーディングを根本から変えて、楽しみをある意味奪っていった。だからこそAIをうまく活用することで筆者は折り合いをつけている。
