生成AIドリブン開発時代の混乱と恩恵 - 革命的な時代を生きる開発者として
生成AIツールの怒涛の進化 ChatGPTが登場した頃から、コード生成は「ちょいちょい利用」程度でした。 でも気がつけば、GitHub Copilot、Cline、Claude Codeと、開発者として期待している機能やサービスが次々と登場しています。まさに怒涛の勢いです。 しかも、それぞれが単なるコード補完を超えて、本格的な開発パートナーとして機能するレベルに到達している。 追いつけない現実 - 恩恵を受ける時間すら足りない 問題は、あまりに早い更新のため、恩恵を受けたいのにその時間すら足りなくなることです。 新しいツールが出たと思ったら、すぐに次のバージョンがリリースされる。機能を把握しようとしている間に、また新しい機能が追加される。 「これは便利そうだ、導入してみよう」と思った時には、もう次の波が来ている状態。まさに技術のインフレーションに追いつけない現実があります。 しかも、これはコード生成だけの話ではありません。画像生成AI(Midjourney、DALL-E、Stable Diffusion)、音楽生成AI(Suno、Udio)、動画生成AI(Runway、Pika Labs)…と、あらゆるクリエイティブ分野に波及している状況です。 開発者として「コード生成AIを使いこなそう」と思っていたら、今度は「画像も音楽も動画もAIで作れる時代だから、それも活用すべきかも」という新たな選択肢が次々と現れる。 どこかにフォーカスしないと完全に飲まれてしまうレベルの変化の嵐です。 特に個人開発者にとっては、新しいツールを試す時間と、実際にそれを使って開発する時間のバランスが大きな課題になっています。 仕事、家事、その他もろもろの日常をこなしながら、プライベートな時間を捻出して開発している身としては、好奇心がスパークし続けている状態で、常にあの懐かしいギラギラしている感覚が蘇ってきます。 「新しいAIツールが出た!」「これは試してみたい!」という興奮。まるで昔、新しいプログラミング言語やフレームワークに出会った時のような、あのワクワク感です。 でも現実問題、削れるものは睡眠時間くらいしかない。「今夜も夜更かしして新しいツールを触ってみよう」と思うものの、翌日のお肌に悪いのは明らか。 悩ましい選択ではあります。 生活に不可欠になった生成AI 生成AIについての話は尽きることはありませんが、もう昨今では無しでは生活できないようになってきています。特に開発者は。 コードの雛形生成 バグの原因特定 リファクタリングの提案 ドキュメント作成 設計の壁打ち相手 気がつくと、開発フローのあらゆる場面で生成AIが関わっています。 まるで「検索エンジンなしでは調べ物ができない」という状況になったのと同じように、生成AIなしでは開発が進まない状況になりつつあります。 BASIC・アセンブラ時代から見た天地の変化 私自身、BASICやアセンブラの頃からプログラミングやソフトウェア開発に勤しんできたし、幸いにもそれを仕事にして生業としてきました。 当時のプログラミング環境 昔のプログラミングといえば: エディタすらろくにない環境でのコーディング デバッガなんて贅沢品 ちょっとしたミスでシステム全体がハング リファレンスは紙の書籍のみ コピペすらできない(物理的にタイプするしかない) 今思えば、よくあんな環境で開発していたものです。 少年時代の無謀な挑戦 少年時代の私も「マリオやドラゴンクエストやFFのようなRPGを作りたい!」という夢を抱いていました。でも「どこから作ればいいんだ?」という状態。 今みたいに「スマホで写真を撮る」ような時代ではないから、ブラウン管の画面や借りたゲームの攻略本を紙に模写して設計していました。キャラクターのドット絵から、マップの構造から、すべて手作業で。 でも、それをどうしたらゲームのようにできるのか。手元にあるのはテキストエディタとBASIC(のちにFujitsu HighCコンパイラに昇格笑)だけ。 「やれるか。やってやる。」 「まずは道具作成からや!自分が一番使いやすいペイントエディタを作ったる!」 今から思えば少しぶっ飛んだ子供だったかもしれません。何にしろ生きてる世界そのものがifとfor文とgoto文で構成されているような感覚でした。 道を歩いていても「この標識バグってんな!」とか、「こっちの道は遠いけど確率で行くと早いだろうな」とか、完全にキモいやつだったかもしれません。 友達が「ゲーム買ってもらった」と言えば、「じゃあ俺は作る」。「YAMAHAシーケンサー(音源作る道具)買えんから、似たようなもん作るで!」。母親に「お手伝いして」と言われても「開発逆にデバック手伝ってくれん?」 完全にヤバい子供でした。 インターネットもないから、ひたすら誤植だらけの書籍と格闘しながら夜な夜な作ったものです。今思えば、あの頃の純粋な情熱と無謀さがあったからこそ、プログラミングの楽しさを知ることができたのかもしれません。 まさか30年後にPixnoteとしてオンラインで蘇らせることになるのは、知る由もないのでした。 段階的な進化を経験 その後、統合開発環境(IDE)の登場、インターネットでのドキュメント検索、Stack Overflowでの情報共有、GitHubでのコード管理…と、段階的な進化を肌で感じてきました。 でも、どれも既存の開発スタイルの延長線上にある進化でした。 天地がひっくり返るほどの革命 しかし、生成AIの登場は根本的に違います。 これまでの進化が「開発を楽にする」「効率を上げる」レベルだったのに対し、生成AIは「開発の本質を変える」レベルの変化です。 機械化革命から知能革命へ もっと俯瞰してみると、これまでの技術進化はあくまでも物理的な道具を作る機械化革命でした。 より速いプロセッサ(計算速度の向上) より大きなメモリ(記憶容量の拡大) より便利なエディタ(入力効率の改善) より高機能なIDE(作業環境の統合) すべて「人間の能力を物理的に補完・拡張する」ものでした。 ところが生成AIは違います。知能という人間が持ちうる特性を獲得してしまったため、これまでとは別世界に変わってしまったのです。 考える、判断する、創造する…これらは今まで「人間だけができること」だった領域。それをAIが担い始めた瞬間、開発という行為の前提そのものが変わってしまいました。 ...