
生成AIはソフトウェア開発業務をどこまでできるようになるのか?
2025年に入り、生成AIを筆頭とする技術革新のスピードは異常なまでの早さで進化・発展をしてきています。
直近では「GPT-o3」「Deep Seek」「Deep Research」「Copilot Agent」「Operator」など、さまざまなキーワードで語られる技術革新を目の当たりにしている方も少なくないと思います。
私は、ソフトウェア開発の現場で15年近く過ごしてきました。
最近の開発エンジニアでよく話題に上がるのは「AIによってエンジニアの仕事はなくなるのか?」という話です。
これには多くの意見や考え方があり、未来の捉え方次第でどんな表現にもなり得ますし、楽観的に考えるか悲観的に考えるかで答えは大きく変わります。
ただ、これまでの歴史でも技術革新は起こっていて、それに合わせてエンジニアの存在価値は変わってきました。
今この時代まで、開発の現場が時代がどう変化してきて、それに合わせて技術がどう進化してきたのか。
これからのさらなる技術の進化で果たしてエンジニアはどうなっていくのか。
開発現場で過ごしてきた経験から、これまでの変化とこれからの進化を「主観的」に意見を述べていくのが本noteになります。
今回のテーマは
「生成AIはソフトウェア開発業務をどこまでできるようになるのか?」
です。
よりソフトウェア開発業務の具体的な内容に追求していきます。ぜひ続きをご覧ください!
現在:コーディングくらいは生成AIができる
コーディング単体は既に生成AIができる
すでに体感している方も多いと思いますが、純粋なコーディング業務は生成AIができるようになりました。
例えば「郵便番号、住所、氏名を入れるフォームと登録ボタンを持つウェブページを作ってほしい」と具体的にやりたいことを伝えるとHTMLコードを生成してくれます。
もっと指示の抽象度が高くても良いです。「ユーザー新規登録のWEBページを作ってほしい」のように具体的な入力フォームを指示せずとも、作って欲しいもののニュアンスを伝えるだけでもそれなりにコーディングしてくれます。
対話形式でのコーディングに限らず、最近ではエージェント的に自律して考えながらコーディングしてくれるツールも増えてきました。
「このチケットのタスクをこなして」とGitHub Issueを伝えるだけで内容を解釈して何を作ればいいか判断し、自律的にコーディングからテストまでを繰り返しPull Requestを提出するまでしてくれます。
このように、コーディングにおいては、プロダクトコードからテストコードまで幅広くできるようになっています。
生成AIがコーディングしたものを人間が評価する
ただ、今時点では、生成AIがコーディングしたものを人間が評価しています。
現時点では生成AIの出力したコードの確からしさを人間が評価するフェーズの企業が多いためです。
2024年6月のポストですが、Googleの社内ソフトウェア開発において、生成AIのコードの受け入れ率は37%に達しているとのことです。
裏を返すと、まだ60%以上はそのまま受け入れるには品質に課題があるということです。
プロダクトドメインの理解力がどうしても不足していることが大きな要因だろうと考えられます。
事業特有の処理やロジックなどは、一般的な生成AIの学習モデルの中にはないため、RAGなどのナレッジベースを構築しない限り、特有の機能要件を十分に満たすコード生成は実現できないためです。
なので人間が評価するフェーズを確保しておくことは、品質の担保に対する強い意味を持ちます。
テストコードやリファクタリングで強力な実力を発揮する
ただ、現在の生成AIが人間よりも得意としているコーディング領域があります。
それが、テストコードとリファクタリングです。
テストコードに関しては、どこまでも限りなく網羅したり、大量のテストデータを用意して実行したりなど、人間でもできるが時間がかかるようなことを一気に生成できるという強みがあります。
リファクタリングにおいても同等で、ロジックの最適化にはじめ、ライブラリバージョンアップ対応など、誰が行っても同等の作業になることかつ機能的に影響の少ない(非機能の要素が強い)ものであれば、生成AIで一気にコーディングしてもらうことができます。
少し未来:人間がレビューしなくなる
ドメイン知識を得てコーディングの質が高まる
現在地点から少し未来においては、生成AIはドメイン知識を得ます。
というよりも、今よりも簡単にドメイン知識を得る手法が確立すると考えられます。
OpenAIが発表しているAI進化の5段階でいうレベル3(AIエージェント)相当の状態です。
作りたい機能に対して、必要な情報をナレッジベースから参照し、ドメイン知識をもとに最適なコーディングを行うようになります。
その結果、生成AIのコードの品質が高まり、受け入れ率が格段に向上します。
生成AIのコードを人間がレビューしなくなる
一番大きな変化点はここになるだろうと考えられます。
生成AIのコードの質が高まる、テストコードも大量に自動生成して豊富である、多少の動作確認であれば自前で環境構築して確認することまで可能である。
そうなったときに、生成AIがPull Requestしてくる高品質なコードとテスト結果を、人間がリジェクトする場面は相当少なくなります。
生成AIが大量に作成するPull Requestを人間が無理に捌こうとすることでボトルネックとなってしまい、プロダクトの改良スピードを阻害してしまいます。
人間がレビューをすることでスピードを阻害するくらいなら、生成AIのコードを信頼して受け入れて、その後のテストフェーズを自動で回して不具合を生成AIに検知させ改修させてさらにPull Requestをあげなおしてもらう、というサイクルを高速高回転で繰り返すほうがよっぽど成長の速度に寄与します。
人間がレビューを行う価値が限りなく低くなってしまうわけです。
このフェーズにくると、人間がレビューをすることは人間のエゴであり現状維持バイアスが強く働いてしまっているだけです。
生成AIに委ねないことで成長速度の機会損失をしているという事実を受け入れなければいけないです。
品質のチェックも高度に自動化される
生成AIがドメイン知識を得ることによって、テストコードや自動テストもより多くのテストケースを自動で生成するようになり、品質チェックも今よりも高度に自動化されます。
複雑なテストケースにおいても網羅的に自動テストを実行してくれるようになるでしょう。
開発、レビュー、テスト、修復(開発)の正のフィードバックサイクルが高速に回ることによって品質が上がり続けます。
ここから先は
¥ 499
よろしければ応援お願いします!いただいたチップは未来を描くための活動費として利用させていただきます。