💡

AIによるシステム開発支援のレベル分類

に公開

AIコーディングツールについて調べていた所、自動車の自動運転に似ていると思ったのでGeminiさんに聞いてみました。

以下が結果。

レベル0:手動支援(No Automation)

このレベルでは、AIによる支援はほとんどなく、人間が全てのコーディング作業を行います。ツールは主に基本的なテキスト編集機能を提供します。

特徴

  • AIの介入なし
  • 開発者がすべてのコードを自分で書く

Webシステム開発におけるツール

  • 基本的なテキストエディタ
    • Notepad、Sublime Text(AI機能なし)
    • HTML、CSS、JavaScript、サーバーサイド言語(Python, Node.js, PHPなど)のコードを記述する際
  • 手動でのGit操作
    • AIの支援なしで、バージョン管理コマンドを直接実行

レベル1:部分的なアシスト(Driver Assistance / Feature-Specific Automation)

AIがコードの文脈を理解し、推論や学習に基づいた「知的」な支援を提供し始めます。コードの品質向上や開発効率化を目的とした提案が中心です。AIは開発者の「副操縦士」として機能し始めます。

特徴

  • AIによる限定的な知的支援
  • コードのコンテキストを理解し、次の行動を推測・提案

Webシステム開発におけるツール

  • IDE内蔵の高度なコード補完・静的解析
    • Visual Studio Code (IntelliSense)
      • React、Vue、AngularなどのWebフレームワークにおけるコンポーネントプロパティ、イベントハンドラー、API呼び出しの補完
    • JetBrains WebStorm/IntelliJ IDEA Ultimate
      • 高度なコードインスペクション(例: Reactフックの依存関係不足検出)
      • 自動的なリファクタリング支援(例: コンポーネント抽出、変数名変更)
  • コード品質・フォーマットツール
    • ESLint, Stylelint, Prettier
      • JavaScript/TypeScript、CSS/SCSSのコードスタイル統一と自動修正
      • 潜在的なバグ警告

レベル2:条件付きの自動化(Partial Automation)

AIが自然言語の指示などに基づいて、まとまったコードブロックや機能を自動生成・最適化します。AIの提案はより具体的で大規模になりますが、最終的な判断や承認は人間が行います。

特徴

  • AIによる具体的なコード生成と最適化
  • 人間の承認が必須

Webシステム開発におけるツール

  • AIコード生成・補完ツール
    • OpenAI Codex
      • 自然言語からのコードスニペットや関数生成
      • GitHub Copilotの初期の基盤モデル
        • 現在はレベル3の機能も提供している
    • GitHub Copilot
      • コメントや既存コードから、Reactコンポーネントのロジック、Vueのテンプレート、HTML構造、REST APIエンドポイント、データベースCRUD操作などを提案
    • Amazon CodeWhisperer
      • 同様の機能に加え、AWS関連のWebサービス(Lambda関数、API Gateway設定など)のコード生成に強み
    • Tabnine
      • 高度なコード補完とWeb関連のコード生成
  • 汎用LLMのチャットインターフェース
    • Google Gemini / OpenAI GPT-4
      • 自然言語でのWebシステム要件から、フロントエンドやバックエンドのコードスニペット、データベーススキーマ定義、簡単なデプロイスクリプトの提案
  • AI統合型IDE
    • Cursor
      • AIチャットとWebコード編集が統合され、より高度なWebコード生成やリファクタリングを支援
    • VS Code + Cline
      • 様々なAIモデルを選んで利用でき、コード生成、リファクタリング支援、テストコード生成などを行う
    • IntelliJ IDEA + Junie
      • 開発者のWebコーディング作業に深く寄り添い、Webフレームワーク特化のコード生成、文脈認識型支援を行う

レベル3:特定のドメインにおける高度な自動化(Conditional Automation / High Automation in Specific Domains)

AIが特定のドメインやタスクにおいて、自律的にコードを生成、デバッグ、修正します。AIは一連の作業を計画・実行し、人間は主に監視役となります。

特徴

  • AIによる特定の領域での自律的な開発作業
  • 人間は監視と最終承認

Webシステム開発におけるツール

  • AI強化型ノーコード/ローコードプラットフォーム
    • Microsoft Power Apps / Power Pages (Copilot機能)
      • 自然言語でWebアプリケーションの目的を記述すると、AIがWebページのレイアウト、入力フォーム、データベース構造、ビジネスロジックを自動生成
    • OutSystems AI Forge
      • エンタープライズWebアプリ開発において、特定のビジネス要件やデータモデルから、Web UI、API、データベース連携コードを自律的に生成
    • Google AppSheet AI
      • スプレッドシートやデータベースのデータから、AIがWebベースの業務用アプリケーションを自動生成
    • Bubble (AI機能)
      • ノーコードWebアプリ構築で、AIが複雑なワークフロー、データベース連携、UI要素の生成を支援
  • AIを活用したWebテスト自動生成・修正ツール
    • Applitools Autonomous
      • Web UIテストスクリプトをAIが自動生成し、UIの変更に追従してテストケースを自律的に修正
    • Cypress (AI統合機能)
      • WebアプリケーションのE2Eテストにおいて、AIがテストケースの生成や、UI変更に対するテストスクリプトの適応を支援
  • 要件定義からのWebシステム生成に特化したAI
    • JITERA
      • Webアプリケーション開発に特化しており、要件定義からコード生成、テストまでAIが支援
    • Anthropic Claude Code
      • プロジェクト全体のコンテキストを理解し、コードの編集、リファクタリング、バグ修正、テストコードの自動生成・実行、Git操作などを自律的にこなす

レベル4:完全な自律コーディング(Full Automation in Defined Operational Design Domain)

定義された運用設計領域(ODD)内であれば、AIが人間による介入なしに、設計、実装、テスト、デプロイメントまでの一連のコーディングプロセスを完遂します。人間は最終的な承認やシステムの運用・監視を行うのみです。

特徴

  • AIによる特定領域での開発プロセスの完全な自律化
  • 人間は最終承認と監視のみ

Webシステム開発におけるツール

  • Google Jules
    • GitHubリポジトリ内のWebシステムに対し、バグ修正、新機能実装、依存関係の更新といったタスクを自律的に計画・実行
  • Devin (Cognition AI)
    • 自然言語の指示からWebアプリケーションのプロトタイプ作成、特定の機能の実装、デバッグ、テスト、デプロイまでを一貫して自律的にこなす
  • Autonomous AI Agents
    • GPT-Engineer, MetaGPT, ChatDevなど
    • Webシステム開発のシナリオを与えると、AIが開発チームの役割分担、設計からコード実装、テストまでを自律的に行う

レベル5:汎用的な完全自律コーディング(Full Automation - All Driving Conditions / General AI Coder)

あらゆる種類のソフトウェア開発、特にあらゆる複雑なWebシステム開発において、人間と同等かそれ以上の能力で、完全な自律性を持ってコーディングを行います。人間は目標設定や高レベルな戦略に関与するのみです。

特徴

  • あらゆるWebシステムの開発を人間なしで完遂できる

Webシステム開発におけるツール

  • 現在のところ、該当する実用的なツールは存在しません
  • これはSFの世界や、汎用人工知能(AGI)の実現が待たれる、研究段階の最終目標です

まとめ

現在はレベル2が浸透している段階だと思いますが、1年後どうなっているか楽しみです。

Discussion