「AIが開発を丸ごとやってくれる」は誤解だった|AI駆動開発を調べてわかったこと
最近、よく聞くようになったAI駆動開発についてご紹介します。
はじめに
こんにちは、NTTテクノクロス株式会社の河野と申します。
最近、社内で「AI駆動開発」という言葉を耳にする機会が増え、 「これって具体的に何ができるんだろう?」と気になって調べ始め、AI駆動開発について調べてまとめました。
「名前は聞いたことあるけど、実際何なの?」という方の参考になれば嬉しいです。
目次
・AI駆動開発について調べたきっかけ
・AI駆動開発とは何か
・AI駆動開発でできること
・AI駆動開発のメリット
・AI駆動開発の注意点
・代表的なAI駆動開発サービスの比較
・AI駆動開発における人の役割
・まとめ/おわりに
AI駆動開発について調べたきっかけ
初めて聞いたときの素朴な疑問と本記事の目的
AI駆動開発と聞いて最初に持ったイメージは、「AIが開発工程を全部やってくれるのか?」でした。確かにそんなことができたら、今までの開発が大きく変わるのではと思いました。
一方で、次のような疑問もありました。
・AIが全部やってくれるなら、開発者は要らなくなるのでは?
・品質は同様に担保されるのか?
・どこまでAIに任せて良いものなのか?
これらの疑問を、調べながら少しずつ解決していきたいと思います。
このブログの目的は、まずAI駆動開発の概要を押さえることです。
私自身が調べながら学んだ内容を、感想も交えてわかりやすくまとめました。AI駆動開発という言葉を初めて聞いた方向けの内容となっています。
実際にAI駆動開発のツール(Google AntigravityやClaude Codeなど)を試してみたブログも、次回書ければと思っています。
基本的な定義
AI駆動開発とは、AIに開発を丸ごと任せることではなく、要件整理・設計・実装・テスト・運用などの各工程でAIを活用し、開発効率・品質を向上させる開発手法です。
具体的には、生成AIや機械学習などを活用して、要件定義から設計、実装、テスト、運用までの開発プロセス全体を効率化することを指します。
従来の開発フローと比較すると、以下のようなイメージです。
図1:従来の開発とAI駆動開発の比較
従来のAI活用は、コーディングなど定型作業の効率化が主な目的でした。
一方、AI駆動開発では、コード生成やレビュー支援だけでなく、情報整理・設計案の提案・優先順位付けといった、より上流の工程まで対象としています。設計やテストの自動化まで行えるとなると、開発速度や開発コストの削減にもつながりそうです。
「AIがすべてを行う」というよりも、「AIと一緒に考える」というイメージが近いのではないかと感じました。
「生成AIを使った開発」
最近は、生成AIを使ってコードを作成してもらう機会も増えてきました。
「生成AIを使った開発」と「AI駆動開発」は同じものなのか、と疑問に思いましたが、以下のような違いがありそうです。
※「AI駆動開発」という言葉には、厳密な統一定義があるわけではないため意味合いが異なる点には注意が必要
AI駆動開発でAIを活用できる場面
AI駆動開発では、開発工程のさまざまな場面でAIを活用できます。
各開発工程でいくつか例を挙げ説明します。
〇要件定義
AIに要件や課題を入力することで、情報を整理できます。
・要件を機能単位に分解する
・要件の抜け漏れを確認する
・機能の優先順位を整理する
〇設計
システム構成やデータモデル、APIなどの設計案を提案してもらえます。
・システム構成の案を出してもらう
・データベースのテーブル構成を考えてもらう
・設計上のリスクを確認する
〇実装
コードを一から書く時間を短縮できるだけでなく、既存コードの説明や改善案の提示も依頼できます。
・コードの生成
・既存コードの修正
・エラー処理の追加
〇テスト
人だけでテストケースを考えると、抜け漏れが発生してしまう可能性があります。AIに確認してもらうことで、想定していなかった入力値や異常系のパターンに気づける可能性があります。
・テストケースの作成
・単体テストのコード生成
・境界値・異常系の洗い出し
〇ドキュメント作成
ドキュメント作成はかなり時間のかかる作業です。AIを活用することで、作成の負担を軽減し、情報を残しやすくなります。
・設計書の作成
・設計書の要約
・変更履歴の整理
〇運用・保守
長期間運用されているシステムでは、属人化している場合があります。AIに既存コードやドキュメントを読み込ませることで、システム理解をサポートしてもらえる可能性があります。
・ログの分析
・エラー原因の調査
・改善案の提案
AI駆動開発のメリット
AI駆動開発には、さまざまなメリットが期待できます。
1. 開発速度の向上
コード作成やドキュメント作成、エラー調査・修正をAIに支援してもらうことで、開発にかかる時間を短縮できる可能性があります。設計立案や実装後のレビューといった工程でも効果が見込めそうです。
2. 品質の向上
コードの一貫性の確認や、バグ・不要な処理の早期検出にも活用できる可能性があります。
ただし、AIを使えば必ず品質が向上するわけではありません。AIの出力にも誤りがあるため、テストや人によるレビューと組み合わせることが重要です。
3. コスト削減
コード作成やドキュメント作成の効率化により、開発コストの削減につながる可能性があります。
ただし、AIサービスの利用料や、導入・教育にかかるコストもあるため、「AIを使えば必ず削減できる」とは限りません。
4. 開発者体験の向上
AIの活用によって、開発者が単純作業から解放され、設計や改善などより創造的な作業に集中できる可能性があります。また、分からないことをすぐに質問できるため、学習のサポート役としても活用できます。
初心者にとっては、エラーメッセージや既存コードの内容を分かりやすく説明してもらえることで作業に取り組みやすくなるかもしれません。
AI駆動開発の注意点
AI駆動開発には多くのメリットがある一方で、注意すべき点もあります。AI駆動開発に限った話ではありませんが、代表的な5つの注意点を紹介します。
1. AIの出力が正しいとは限らない
AIによる提案内容が必ずしもあっているとは限りません。要件を誤解したまま、一見動作しそうなコードを生成する場合などもあります。
そのため、AIが生成したコードは必ず人が確認し、テストを行う必要があります。「AIが作ったから大丈夫」ではなく、「AIが作ったものを人が検証する」という流れが重要です。
2. セキュリティと情報漏えい
AIサービスに入力する情報には注意が必要です。以下のような情報は不用意に入力してはいけません。
・顧客情報
・個人情報
・パスワード
・社外秘のソースコード
・社内限定の設計資料
・未公開のサービス情報
サービスによってデータの保存方法や学習への利用有無が異なるため、利用規約や社内ルールを事前に確認する必要があります。
3. ライセンスや著作権
AIが生成したコードを利用する場合、ライセンスについても確認が必要です。
生成されたコードが既存のコードに似ていないか、使用しているライブラリのライセンスに問題がないか、OSSの利用条件に違反していないか、などAIに任せるだけでなく、既存の開発ルールや法務面の確認も必要です。
4. エンジニアのスキル低下
AIに頼りすぎると、コードの内容や設計意図を理解しないまま開発を進めてしまう可能性があります。
AIが生成したコードをそのまま使うのではなく、なぜこのコードになるのか、どのような処理をしているのかなどを理解することが重要です。
5. コストの把握
AIサービスを継続的に利用する場合コストがかかるため、月額料金や使用人数、どの程度利用するのか、費用対効果があるのかを確認しておく必要があります。
AI駆動開発を支援する代表的なツール/サービスの比較
AI駆動開発を支援するツールには、さまざまな種類があります。ツールごとに得意なことや利用方法が異なるため、「どれが一番良いか」ではなく、開発環境や目的に合わせて選ぶことが重要です。
※機能などは変更となる可能性があるため、以下は執筆時点での概要として整理しています。
各ツール/サービスについて
〇GitHub Copilot
GitHub Copilotは、コードエディタに組み込んで使うAIコーディング支援ツールです。
VS Codeなどの統合開発環境上で動作し、入力中のコードに応じて次に書くべきコードを提案してくれます。
インライン提案やチャットによるサポート、コードレビュー支援など、開発ワークフローに直結する機能を幅広く提供しています。
普段使っているエディタに拡張機能として追加できるため、導入のハードルが低い点が特徴です。
〇Cursor
Cursorは、AI機能を組み込んだコードエディタです。
VS Codeをベースとして作られており、コードベース全体を参照しながら、複数のファイルにまたがる修正や既存コードの説明を依頼できます。
AIを中心に開発するスタイルを試したい人に向いていますが、普段使っているエディタから乗り換える必要がある点は考慮が必要です。
〇Google Antigravity
Google Antigravityは、AIを中心に据えた開発プラットフォームです。プロジェクト全体の情報を踏まえながら、設計から実装までを支援してくれる点が特徴です。
AIがコードを書き、ターミナルで実行し、ブラウザで動作確認まで進める、という一連の流れをAI主体で進められるように設計されています。
人間はプロンプトを通じてAIを補助しながら、開発タスクをAIに委任していく形になります。
〇Claude Code
Claude Codeは、ターミナル上で利用するAIコーディングアシスタントです。
ファイルの確認やリポジトリ全体の構成理解、複数ファイルにまたがる変更など、コードベース全体を踏まえた作業を得意としています。コマンドライン操作に慣れているユーザーにとっては扱いやすいツールです。
機能の構築やバグ修正、開発タスクの自動化まで、複数のファイルやツールを横断して目標達成をサポートしてくれます。
4つのツール/サービスの違い
GitHub CopilotやCursorは、人間の入力をAIが補助するという設計思想に基づいています。あくまで開発の主体は人間であり、AIはその作業を助ける役割です。
一方、Google AntigravityやClaude Codeは、AIが主体となって計画・実装・検証まで進めるという点で、これまでのツールとは異なるアプローチをとっています。人間は指示や確認を行う立場となり、開発の進め方そのものが変わってきます。
図3:AI駆動開発ツールの立ち位置(人間主体 ⇔ AI主体)
AI駆動開発における人の役割
私から見たAI駆動開発における人の役割
ここまで見てきたように、AI駆動開発には注意すべき点も多くありますが、それでも今後主流になっていく可能性は十分にあると感じました。
では、AI駆動開発が広がれば開発者の役割はなくなるのでしょうか。
そうではないと考えます。むしろ、AIが生成したものを確認し、適切に判断する役割がより重要になるはずです。
人が担うべき役割として、次のようなものが挙げられます。
・何を作るのかを決める
・ユーザーやビジネスの課題を理解する
・要件の優先順位を決める
・AIに依頼する範囲を判断する
・AIの出力を検証する
・セキュリティや品質を確認する
AIは、与えられた情報をもとに提案や生成を行うことができます。 しかし、最終的な設計・実装を決定し、開発成果物に責任を持つのは人です。
そのため、AI駆動開発では、プログラミング能力だけでなく、要件を整理する力や生成物を評価する力も重要になりそうです。
おわりに
今回、AI駆動開発について調べてみて、最初に想像していた「AIが開発をすべて行う」というイメージとは少し違うことが分かりました。
AI駆動開発は、AIに開発を丸投げすることではなく、要件定義・設計・実装・テスト・運用といった開発工程のさまざまな場面でAIを活用する考え方です。
特に、次のような作業ではAIの効果を期待できそうです。
・コード生成
・テストコード作成
・エラー調査
・ドキュメント作成
・要件や設計の整理
・コードレビューの支援
一方で、AIが生成した内容には誤りが含まれる可能性があります。情報漏えい・セキュリティ・スキル低下などのリスクもあるため、人による確認やルール作りは欠かせません。
今回の調査を通じて、AI駆動開発は、
「AIが開発者の代わりになるものではなく、開発者の作業や判断を支援するもの」
という印象を持ちました。
どのサービスを使うかによって、できることや使い勝手も異なります。
今後は実際にAI開発サービスを使い、簡単な機能を開発しながら、どの工程で役立つのか、どのような修正が必要になるのかを試してみたいと思います。
本件に関するお問い合わせ

[著者プロフィール]
フューチャーネットワーク事業部 第一ビジネスユニット
KONO HIROMASA

