AI駆動開発の企業導入が進まない3つの要因とは?

生成AIがさまざまな業務で活用される中、ソフトウェア開発の現場でもAI導入が急速に進んでいる。 Stack Overflowの調査によれば、世界的に76%の開発者が何らかの形でAIツールを活用しているという。 コーディング支援はもちろん、既存コードを解析してドキュメントを生成するリバースエンジニアリングなど、その用途は多岐にわたる。
しかし、個人レベルでの活用が進む一方で、大手SIerやユーザー企業における組織的な導入にはまだまだ課題があるのが実情だと、新田氏は指摘する。 これを受けて森重氏は、企業導入を妨げる要因の一つとして、品質面の課題を挙げた。 現在のモデルでは、実際の現場で運用をされているような、複雑な仕様や分量の多いソースコードを編集させようとしても、うまく動作しないことも多い。そこで、本番環境で通用する高品質な開発を実現するには、業務プロセスを理解し、システム内で必要なドメインを整理したうえで、しっかりとしたレイヤー設計を行う必要がある。
また、企業利用において避けて通れないのが、セキュリティとライセンスのリスクだ。 AIが生成したコードには、GPLのようなライセンスを持つソースコードが意図せず混入するリスクがある。このようなライセンス感染のリスクは、特にプロプライエタリな自社ソフトウェアを開発する企業にとって大きな懸念材料となる。 森重氏は、AnthropicやOpenAIのような一般的なモデルを使用する限り、ライセンス感染のリスクを完全に排除することはできないと指摘する。 企業におけるAI駆動開発では、このリスクをいかに最小化してツールやモデルを選定するかが、常に議論の焦点になる。
加えて、AI人材の育成にあたっても課題が存在する。 新田氏自身、AI駆動開発を試す中で、生成したコードが動作しないといった問題に頻繁に直面したという。「動かないので何とかしてほしい」といった漠然としたプロンプトでは解決しないことが多く、例えば利用しているフレームワークの仕様に違反しているなど、問題点を明確化する必要がある。
つまり、限られたコンテキストウィンドウの中で問題解決するには、技術的なスキルが必要だ。これは、特に初心者や非エンジニアがAI駆動開発に取り組むうえで妨げとなる。初心者は、技術的な問題点をソースコードから読み取れないことがあるため、AIとのやり取りが一種の無限ループに陥ってしまうケースがある。その結果、肥大化した履歴によってAIの精度を悪化してしまいがちだ。

現場プロが明かすAI駆動開発の実践的ノウハウ

これらの課題を踏まえて、新田氏と森重氏は、AI駆動開発を現場で活用するためのいくつかの実践的ノウハウを紹介した。
森重氏は、まず現在主流のAI駆動開発ツールとそのユースケースを紹介した。森重氏によれば、中堅エンジニアの多くは、GitHub Copilotという拡張機能やCursorというIDEを使用しており、文章の補完やチャットベースでのコード修正、テスト作成、ドキュメント作成に最適だという。
自律型のAIエージェントについては、Claude Codeのコード生成品質が非常に高く、CLI中心で開発しているエンジニアにとっては最も親和性が高いツールと評価する一方、Devinは開発フェーズよりも保守運用のほうが適していると述べる。

これを受け新田氏は、GitHub CopilotなどAIと対話しながらプロセスを確認しつつ開発するスタイルを好むと述べる一方で、DevinやClaude CodeのようなAIエージェントについては、プロセスを把握するのが難しく、全面的に信頼を置くことには抵抗があると、懸念を明かす。
森重氏は、現状ではDevinやClaude Codeだけで開発プロセスを完結させるのは難しいと指摘したうえで、次のように述べる。
「誰がAI駆動開発ツールを使用するのかによって、適切なツールとユースケースは異なる。使用する場面や目的によって使い分けることが重要だ。また今後AIの精度が上がり、非エンジニアによる市民開発がさらに普及すれば、AIエージェントによる自律開発が主流になる可能性も十分にある」(森重氏)
AIの精度に関連して、新田氏は、コンテキストウィンドウ(AIの短期記憶量)の制約にどう対処するかが、AI駆動開発を実践する上で重要だと指摘する。新田氏は、AIエージェントとの対話を続けるうちにコンテキストウィンドウが限界に達し、突然それまでの文脈が失われてしまう経験を語った。「優秀な同僚が突然記憶喪失になったような感覚だ」と新田氏は語り、AIと愚直に対話を続けるだけでは生産性は向上しないという重要な教訓になったという。
そこで新田氏と森重氏は、AI駆動開発で自身が実践するノウハウをいくつか紹介した。AIに与えるTo-Doを細分化し作業範囲を限定的かつ具体的に指定すること。タスクごとにチャットのスレッドを分けて指示を行うこと。動作環境やライブラリのバージョン、データベースのスキーマなどをMarkdown形式で記述しGitHub CopilotのInstructionsフォルダに配置すること、問題のあるコードや命名規則違反のコードをドキュメント化して記録することなどだ。
「AIは決して全知全能ではないため、生産性向上のためにはコンテキストウィンドウとどう付き合っていくかが重要だ」(新田氏)

新田氏の問題提起を受けて、森重氏は先日AWSが発表したAIエージェント内蔵のエディタKiroについて紹介した。Kiroは、ユーザーの受け入れ条件を定義してから設計を行い、ドメインやレイヤーの設計を経てタスクリストに落とし込んで実装する「振る舞い(ビヘイビア駆動開発)」や「仕様駆動開発(スペック駆動開発)」などのアプローチを採用している。AWSがKiroを開発したのは、コンテキストウィンドウの課題に対する新たなアプローチという側面もあるのではないかと、森重氏は話す。
AI時代に求められる人材と育成の課題
AIによって開発の生産性が向上する中、エンジニアに求められる価値も変化していく。新田氏によれば、AIの性能を最大限に引き出すためには、質の高いドキュメント作成能力、明確な指示を出す能力、適切なテストコードを書く能力といった、エンジニアの基礎的なスキルが重要だという。同時に、AIによる開発支援で生まれた余力により、エンジニアの仕事は、ユーザーの行動やニーズの探求といったビジネス的な側面に重点を置くようになりつつあると、新田氏は付け加える。
「以前は、実装したい機能についてエンジニアに相談すると、難色を示されることがよくあった。しかし最近では、エンジニアがビジネス側やユーザーに寄り添う姿勢に変わってきた。話を聞くと、コーディングは裏でAIにやらせているからだという」(新田氏)
また森重氏は、AIを効果的に活用するためにも、これまで以上に上流工程を担う人材が重要になると予測する。優れた設計力を持つエンジニアが、企画から要件定義、設計までの上流工程を担うことで、AIが理解しやすく、開発と保守が容易な良いシステムを構築できるからだ。
しかし問題は、そのような人材をどう育成するかだ。AI駆動開発は、熟練者がAIと共同作業することで圧倒的な生産性をもたらす。しかしそれは、初心者が学ぶ機会が失われてしまうことも意味する。コーディング経験なくして、良いシステム設計ができないのは当然のことだ。AIの普及によって、エンジニア未経験者や初心者を、上流工程を担う人材に育てることが難しくなると、新田氏は指摘する。
そこで新田氏は、あえて学びのためにAIではなく人間に任せる部分を作ることを提案する。その際、エンジニアとしての基礎スキルだけでなく、顧客に寄り添えるエンジニアを増やしていくことが重要だ。局所最適に捉われすぎず、長期的な視野で、戦略的なエンジニアの育成への投資を行うべきだと、新田氏は訴える。
森重氏は、高速で改善サイクルを回しながら、AIネイティブ時代に最適な研修のあり方を企業として模索し続ける必要があると提言する。加えて、上流工程では、論理的思考力だけでなく、言葉の裏にある意図や感情を汲み取るEQ(感情的知能)も重要になるという。このようなスキルはAI時代でも決して廃れることはなく、むしろAI駆動開発に欠かせない、良質なドキュメントや要件定義につながると、森重氏は言う。

最後に新田氏は「AI駆動開発はまだ黎明期にあり、1〜2年後には状況が変化している可能性がある。しかしソフトウェア開発においては、顧客やユーザーと向き合うこと、そしてエンジニアとビジネスサイドの垣根をなくして、ともに物づくりを進めることは、今後も重要であり続ける」と述べ、セッションを終えた。