「AIを導入した」は出発点にすぎない——AI駆動開発が本当に要求するもの

CursorやGitHub Copilotを導入した。ChatGPTでコードレビューをさせている。「うちはもうAI開発をやっている」——そう言えてしまうのが、今の状況の厄介なところだ。

Qiitaに投稿されたエンジニア @Naoto7124 氏の記事が、この「ズレ」を丁寧に言語化している。要点を先に言うと、AI駆動開発の本質は「AIを導入すること」ではなく、「AIが自律的に開発を進められる環境を整備すること」にある。読めばあたり前に聞こえる。だが、それを実現するために何が必要かをリストアップし始めると、話は一気に重くなる。


「AIを使っている」と「AI駆動開発」は別の話

AI駆動開発(AIDD: AI-Driven Development)という言葉は、今やバズワードに近い。「AIエージェントを使った開発」くらいのニュアンスで使われることが多く、「コードを生成させた」「プルリクの要約をAIにやらせた」あたりで満足感が生まれやすい。

だが筆者が指摘するAIDDの本質は、もっと踏み込んだところにある。

「AIは『コードを書く補助者』ではなく、開発プロセスの一部を担うエージェントとして機能する」

具体的には、AIが次のような工程を反復的かつ自律的に回すフィードバックループ(Agentic Loop)を実現すること、と定義されている。

  • 仕様をもとにしたドキュメント生成
  • 実装コードの生成
  • テストコード生成・実行
  • 静的解析・セキュリティチェック
  • 自律的なエラー修正(Self-Healing)
  • Pull Request作成とレビュー結果の反映

ツールを「入れた」状態と、このループが「回っている」状態は、まったく別物だ。


成熟モデルで「自分たちの現在地」を確認する

記事では、AI活用の成熟段階を3つのレベルで整理している。

レベル スタイル AIの役割
Level 1: AI支援開発 人間主体、AIは補助ツール コーディング支援・調査支援
Level 2: AI協調開発 各工程で人とAIが協調 工程ごとの作業支援・品質向上
Level 3: AI駆動開発 AIを前提にプロセスを再設計 実装・検証・改善を自律的に実施

「現在、多くの企業が目指しているAI活用は、Level 2に位置付けられることが多い」と筆者は書いている。読んで納得感があった。CursorやCopilotを各工程に組み込んでいる状態は、確かにLevel 2だ。

ここからが重要なのだが、Level 2とLevel 3の間には、ツールの差ではなくプロセスの設計哲学の差がある。Level 2は「既存の開発プロセスにAIを適用する」。Level 3は「AIを前提として、開発プロセスそのものを再設計する」。この違いは小さく聞こえるが、実際の組織変革という意味では断絶に近い。

なお、このモデルは筆者が整理した概念モデルであり、業界標準ではない点も明記されている。類似のフレームワークとして、ELEKSの「AI-SDLC Maturity Model」(5段階)やCarnegie Mellon大学SEIとAccentureによる「AI Adoption Maturity Model(2026年)」などが存在するが、それらはガバナンスや組織戦略まで含んだより大規模なモデルだ。本記事のモデルは「現状把握とAIDD成立への道筋を分かりやすく示すための簡略版」として読むのが適切だろう。


AIが機能するための「地盤」が整っているか

ここが読んでいて一番刺さった部分だ。

自動テストが存在しない環境でAIを使うとどうなるか。筆者はこう説明する。

AIがコードを生成 → 人間が手動テスト → 修正箇所を判断 → AIが再生成 → 人間が再度手動テスト

AIの生成速度はどれだけ速くても、確認が人力に依存している以上、ボトルネックは消えない。AIを入れても開発全体のリードタイムは縮まらない。

同様の論理はCI/CDとDevSecOpsにも適用される。

  • CI/CDがない場合:AIがコード修正案を数分で出せても、ビルド・テスト・デプロイが手作業なら、リリースまでのリードタイムはほぼ変わらない。
  • DevSecOpsがない場合:AIが生成したコードに含まれる脆弱性を継続的に検証できなければ、AIは「品質保証の仕組み」ではなく「品質問題を高速に量産するエンジン」になりかねない。

AIの本質は性能ではなく、AIが能力を発揮できる開発基盤とプロセスの成熟度にある」というのは、煽り文句ではなくエンジニアリングの話だ。

そしてもうひとつ重要な前提として、**機械可読な仕様(SSOT: Single Source of Truth)**がある。OpenAPI、データベーススキーマ、型定義、Terraform、Policy——これらが整備されていないと、AIへの入力が自然言語だけになり、解釈の揺れやコンテキスト不足が生じやすい。AIが再現性高く動くためには、「人間も厳密に解釈する仕様書」ではなく、「AIも厳密かつ一義的に解釈できる機械可読な仕様」が必要なのだ。


ウォーターフォールとAIDDの構造的摩擦

記事はウォーターフォール型開発を否定していない。「大規模システムや高い品質保証が求められる領域では、計画的な工程管理は現在でも重要」と明示している。ただし、構造的な摩擦があることは正直に指摘している

従来型の工程管理では、要件定義 → 基本設計 → 詳細設計 → 製造 → 単体テスト、という分離した工程管理が行われる。Excelベースの詳細設計書、工程ごとの承認フロー、手動テストと手動デプロイ——これらは品質管理上必要な側面もあるが、AIの高速なフィードバックループとの間には「速度差」が生まれる。

AIが数分でコード修正案を出せても、レビュー・承認・環境反映に数日かかるなら、開発全体の速度は人間側のプロセスに律速される。

さらに、成果物の形そのものが変化するという指摘も重要だ。AI駆動開発では、詳細設計・製造・単体テストの境界が徐々に曖昧になり、一つの反復ループへ統合されていく傾向がある。従来の詳細設計書に書かれていた情報が、以下のような機械可読な成果物へ移行するイメージだ。

  • OpenAPI定義
  • データベーススキーマ
  • 型定義
  • テストコード
  • Architecture Decision Record(ADR)

SIビジネスにおける人月工数・工程単位の見積もりとの相性が悪くなるのは、この構造上の変化が根っこにある。


実務への示唆:何を整えれば次のレベルに行けるか

ここからは、この記事を読んだあとの「自分ならどう考えるか」という話だ。

Level 2からLevel 3へ移行するために何が必要かを、記事は明確に列挙している。

  1. 機械可読な仕様(OpenAPI・スキーマ・型定義)の整備と標準化
  2. Infrastructure as Code(IaC)の導入
  3. 自動テストの整備
  4. CI/CDパイプラインの構築
  5. DevSecOpsの実装
  6. Platform Engineering(開発基盤のセルフサービス化)
  7. AIが利用可能なドキュメント・ナレッジの整備

これを見て「全部やる余裕はない」と思うのが正直なところだろう。ただ、優先順位のつけ方として考えると、「自動テストとCI/CD」が最初のボトルネックになるケースが多い。AIが生成したコードを人間が手動確認している限り、スピードの上限は人力に決まる。そこを自動化しないと、AIを入れるほど技術的負債と品質リスクが増えるという逆説に陥る。

開発者の役割変化についても、現実的に考えておきたい。記事では「コードを書く人」から「何を作るべきかを定義する」「仕様・制約を設計する」「AIの生成物を評価する」「システム品質を保証する」という役割へのシフトが語られる。

これは決して「エンジニアが不要になる」という話ではない。むしろ、コーディングの知識とシステム設計・品質保証の判断力を両方持つ人間の価値が上がる、という構造変化だ。AIが動く前提を設計できるかどうかが、エンジニアの差別化要因になっていく。


「ツールを入れたか」ではなく「ループが回っているか」を問う

AI駆動開発を評価するための判断軸を、ひとつ提示しておきたい。

「どんなAIツールを使っているか」ではなく、「AIが生成した成果物を自動的に検証・修正するループが存在しているか」を問うことだ。自動テストが走っているか、CI/CDが接続されているか、スペックが機械可読な形で管理されているか。これらが揃っているチームは、ツール名を問わずAIDDに近づいている。

逆に、最新のAIエージェントを導入していても、テストがなくCIもなく仕様書がExcelなら、それはLevel 1からLevel 2の間にいる。それ自体は悪ではないが、「AI駆動開発をやっている」と言うのは難しい。

次に同種の「AI開発手法」の話を見るとき、「そのAI、フィードバックループと接続されているのか」を確認する習慣が、この記事を読んだあとに残ると思う。


参考元: AI駆動開発とは、単にAIを使うことではない