はじめに
こんにちは。皆さん、普段の開発でAIは使っていますか?私はClaude Codeをメインに、Gemini, GitHub Copilot, Devin, Codex, Warp Codeなどなど使っています。AIを使いながら開発を進めているのですが、ここでふと、AI同士で開発を行わせてみることでより開発を効率化できるのでは?と思い立ち、複数のAIを協調させた開発を検証してみることにしました。
今回試したコードは以下にありますので、ご自由にお使いください。
github.com
概要
この検証では、単一のAIを使うのではなく、複数のAIにそれぞれ役割を持たせ、役割の異なるAI同士が協調して動くようにしました。
以下のような構成にしました。
| 役割 |
AI |
内容 |
| オーケストレーター |
Claude Code |
他のAIへ指示を出し、進行管理を担当 |
| 要件分析、調査 |
Gemini |
ユーザー要求をまとめ、システム要件や仕様まとめを担当 |
| 設計 |
Claude Code |
システム設計を担当 |
| 実装 |
GitHub Copilot |
実際のコード生成を担当 |
| ビルド、テスト |
Warp Code |
出来上がったアプリのビルド・テストを担当 |
| レポート |
Claude Code |
ユーザーに対して、完成したアプリのレポーティングを担当 |
システム構成
オーケストレーター(Claude Code)が司令塔となり、SDK呼び出しやCLIコマンド実行を通じて他のAIエージェントを順番に実行します。
各エージェントの出力結果を、次のエージェントが入力として利用することで、シンプルなパイプライン連携をしています。

以下のような流れで、各AIが処理を進めます。
1. Claude Code が起点となり、Gemini に仕様調査を依頼
2. Gemini が要求分析、要件定義を行う
3. Claude Code がその結果を受け取りシステム設計を行う
4. Copilot が設計内容を受け取り、アプリを実装
5. Warp Code がそのアプリビルド、実行し、テストと改善提案を実施
6. 最後に Claude Code が全体の成果をまとめ、レポーティング
動作確認
それでは試しに実行してみたいと思います。
依頼文:「Flutterで簡易なタスク管理アプリを作ってください、タスクの登録・完了・削除ができ、進捗を一覧で見られるようなシンプルな構成で構いません。」
python orchestrator.py
🚀 Multi-AI Cooperationシステムを開始します!
'quit'または'exit'で終了します
新しいフェーズベースアーキテクチャを使用
⚙️ システム設定
==============================
📄 詳細表示モード (各フェーズの内容を詳しく表示) [y/N]: y
🔍 詳細表示モードが有効です:
- 各フェーズの実行内容を詳細に表示
- AI の応答内容を抜粋表示
- ファイル作成・検証結果の詳細
※ より多くの情報が表示されます
💬 実行したいタスクを入力してください: Flutterで簡易なタスク管理アプリを作ってください、タスクの登録・完了・削除ができ、進捗を一覧で見られるようなシンプルな構成で構いません。
🎯 タスク開始: Flutterで簡易なタスク管理アプリを作ってください、タスクの登録・完了・削除ができ、進捗を一覧で見られるようなシンプルな構成で構いません。
🤖 AI協調フロー: Gemini → Claude → Copilot → WarpCode → Claude
🔍 詳細表示モードで実行中...
======================================================================
🚀 Multi-AI協調ワークフローを開始します
📝 リクエスト: Flutterで簡易なタスク管理アプリを作ってください、タスクの登録・完了・削除ができ、進捗を一覧で見られるようなシンプルな構成で構いません。
============================================================
実行中の様子
🔄 Phase 1/5: REQUIREMENT - 実行中...
📋 Geminiが要件分析・情報収集を実行中...
・・・・・・・・・・・・・・・・・・・・
🔄 [requirement] 要件分析開始...
✅ [requirement] フェーズ完了: dict
✅ Phase 1 完了: requirement (17秒)
📄 REQUIREMENTフェーズ詳細結果:
🔍 Gemini分析結果 (抜粋):
## Flutter 簡易タスク管理アプリ開発 ユーザーリクエスト詳細分析
### 【ユーザーリクエスト】
Flutterで簡易なタスク管理アプリを作ってください、タスクの登録・完了・削除ができ、進捗を一覧で見られるようなシンプルな構成で構いません。
### 【分析項目】
#### 1. 機能要件
... (続きあり、総157行)
📋 要件分析完了
──────────────────────────────────────────────────────────────────────
🔄 Phase 2/5: DESIGN - 実行中...
📐 Claude Codeが技術設計・仕様変換を実行中...
・・・・・・・・・・・・・・・・・・・・
🔄 [design] 設計フェーズ開始...
✅ [design] フェーズ完了: dict
✅ Phase 2 完了: design (0秒)
📄 DESIGNフェーズ詳細結果:
📐 技術設計仕様 (抜粋):
# 技術設計仕様書
## 1. プロジェクト概要
**ユーザーリクエスト**: Flutterで簡易なタスク管理アプリを作ってください、タスクの登録・完了・削除ができ、進捗を一覧で見られるようなシンプルな構成で
## 2. 要件分析結果の整理
## Flutter 簡易タスク管理アプリ開発 ユーザーリクエスト詳細分析
### 【ユーザーリクエスト】
### 【分析項目】
#### 1. 機能要件
... (詳細仕様あり、総240行)
📐 技術設計完了
──────────────────────────────────────────────────────────────────────
🔄 Phase 3/5: IMPLEMENTATION - 実行中...
💻 Copilotが実装・コード生成を実行中...
・・・・・・・・・・・・・・・・・・・・
🔄 [implementation] 実装フェーズ開始...
🔄 [implementation] プロジェクトフォルダ作成: generated_projects/20251111_182807_Flutterで簡易なタスク管理アプリを作ってくださいタス
✅ [implementation] フェーズ完了: dict
✅ Phase 3 完了: implementation (7分54秒)
📄 IMPLEMENTATIONフェーズ詳細結果:
💻 プロジェクト作成完了:
📁 保存場所: generated_projects/20251111_182807_Flutterで簡易なタスク管理アプリを作ってくださいタス
📄 作成ファイル (1個):
- my_task_app (544 bytes)
🤖 Copilot応答 (抜粋):
I'll implement a Flutter task management app based on the technical sp...
✓ Check current directory structure
$ pwd && ls -la
↪ 5 lines...
💻 実装完了: 1 ファイル作成
📁 保存先: generated_projects/20251111_182807_Flutterで簡易なタスク管理アプリを作ってくださいタス
──────────────────────────────────────────────────────────────────────
🔄 Phase 4/5: VERIFICATION - 実行中...
🧪 WarpCodeが自動検証・実行テストを実行中...
・・・・・・・・・・・・・・・・・・・・
🔄 [verification] 自動検証フェーズ開始...
⚠️ Warp agent timed out (took longer than 90s).
✅ [verification] フェーズ完了: dict
🔄 [verification] 一部の検証項目で問題が検出されました
✅ Phase 4 完了: verification (1分30秒)
📄 VERIFICATIONフェーズ詳細結果:
🧪 検証結果: ⚠️ 一部問題あり
🔬 実行テスト詳細:
1. ❌ Project Structure Check: プロジェクト構造に問題あり
2. ❌ WarpCode Execution Test: WarpCode実行失敗
3. ❌ Basic Tests: 基本テストで問題検出
🧪 検証完了: 3 テスト実行 - 一部テスト失敗
──────────────────────────────────────────────────────────────────────
🔄 Phase 5/5: REPORT - 実行中...
📊 Claude Codeがレポート・改善提案を生成中...
・・・・・・・・・・・・・・・・・・・・
🔄 [report] レポート生成フェーズ開始...
🔄 [report] プロジェクトレポート保存: generated_projects/20251111_182807_Flutterで簡易なタスク管理アプリを作ってくださいタス/PROJECT_REPORT.md
✅ [report] フェーズ完了: dict
✅ Phase 5 完了: report (15秒)
📄 REPORTフェーズ詳細結果:
📊 生成されたレポート:
📋 プロジェクト概要:
## プロジェクト基本情報
- **リクエスト**: Flutterで簡易なタスク管理アプリを作ってください、タスクの登録・完了・削除ができ、進捗を一覧で見られるようなシンプルな
- **作成日時**: 2025-11-11 18:27:50
- **プロジェクトパス**: generated_projects/20251111_182807_Flutterで簡易なタスク管理アプリを作ってく
## フェーズ実行結果
📈 実行分析結果:
## 実行分析
- **全体成功率**: 75.0% (3/4)
- **検証結果**: 要改善
- ❌ Project Structure Check: プロジェクト構造に問題あり
🔮 Geminiベンチマーク分析 (抜粋):
## Flutterタスク管理アプリ プロジェクト分析 (外部ベンチマークとの比較)
この分析では、提示されたFlutterタスク管理アプリのプロジェクト概要に基づいて、類似プロジェクトとの比較、技術的品質評価、改善提案、学習・参考資料
📊 プロジェクトレポート生成完了
──────────────────────────────────────────────────────────────────────
============================================================
🎉 Multi-AI協調ワークフロー完了
📈 実行統計:
- 実行フェーズ数: 5
- 作成ファイル数: 0
- エラー数: 0
- 総実行時間: 9分56秒
⏱️ フェーズ別実行時間:
- 要件・調査: 17秒
- 設計・仕様: 0秒
- 実装: 7分54秒
- 検証・実行: 1分30秒
- レポート: 15秒
- システムオーバーヘッド: 0秒
📁 プロジェクトフォルダ: generated_projects/20251111_182807_Flutterで簡易なタスク管理アプリを作ってくださいタス
🎯 総合成功率: 80.0%
======================================================================
🎉 タスク完了!
⏱️ 総実行時間: 9分56秒
📊 フェーズ別実行時間:
- 要件・調査: 17秒
- 設計・仕様: 0秒
- 実装: 7分54秒
- 検証・実行: 1分30秒
- レポート: 15秒
📁 プロジェクト保存先: generated_projects/20251111_182807_Flutterで簡易なタスク管理アプリを作ってくださいタス
======================================================================
出力されたファイル
├── PROJECT_REPORT.md
└── my_task_app
├── IMPLEMENTATION.md
├── README.md
├── analysis_options.yaml
├── android
│ ├── app
│ │ ├── build.gradle.kts
│ │ └── src
│ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── io
│ │ │ │ └── flutter
│ │ │ │ └── plugins
│ │ │ │ └── GeneratedPluginRegistrant.java
│ │ │ ├── kotlin
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── my_task_app
│ │ │ │ └── MainActivity.kt
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ ├── drawable-v21
│ │ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── values
│ │ │ │ └── styles.xml
│ │ │ └── values-night
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
│ ├── build.gradle.kts
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── local.properties
│ ├── my_task_app_android.iml
│ └── settings.gradle.kts
├── ios
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ ├── Generated.xcconfig
│ │ ├── Release.xcconfig
│ │ ├── ephemeral
│ │ │ ├── flutter_lldb_helper.py
│ │ │ └── flutter_lldbinit
│ │ └── flutter_export_environment.sh
│ ├── Podfile
│ ├── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── GeneratedPluginRegistrant.h
│ │ ├── GeneratedPluginRegistrant.m
│ │ ├── Info.plist
│ │ └── Runner-Bridging-Header.h
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
│ └── RunnerTests
│ └── RunnerTests.swift
├── lib
│ ├── main.dart
│ ├── models
│ │ └── task.dart
│ ├── screens
│ │ ├── add_task_screen.dart
│ │ └── home_screen.dart
│ ├── services
│ │ └── task_service.dart
│ └── widgets
│ ├── task_item.dart
│ └── task_list.dart
├── my_task_app.iml
├── pubspec.lock
├── pubspec.yaml
└── test
└── widget_test.dart
作成されたアプリのデモ
シンプルなタスク管理アプリが作成されました。
学び・気づき
単純なアプリの例でしたが、要件定義〜検証までの一連のプロセスを複数AIを組み合わせて動かせることを知りました。
もちろん単一のAIでも同様のことは可能と思いますが、複数のAIの視点を組み合わせることと合わせて、
AIに指示するプロンプトや、CLAUDE.mdなどコンテキストファイルのカスタマイズもすることで、よりアウトプットの質の向上を見込めると感じました。
今回のように広い工程をAIにやらせるのではなく、たとえば設計工程だけに絞って、あるAIのアウトプットを別のAIが批判的観点でレビューして、それをさらにまた別のAIがレビューして・・を繰り返した結果を参考にすることで、人間1人では詰めきれない、思考の幅を広げることにも寄与できるかもと思いました。
今後の展望
次のステップとしては以下を考えています。
- 検証フェーズのテスト実行がうまくいっていない箇所があるので調査
- OpenAIなど他のAIの組み合わせも検証し、AIごとの得意領域を検証し、ワークフローに組み込んでみる
- 設計工程など、単一の工程に限定したワークフローを組んでみる
- 実プロジェクトでの部分適用(リサーチ+テスト自動化など)
終わりに
AIを“複数人チーム”のように動かしてみると、単体では見えなかった協働の難しさと面白さが見えてきました。
全工程をまるまる担当させるのはまだまだ厳しいと思いますが、一部工程で活用してみるなどはアリかなと感じました。
今後も少しずつ改良しながら、より実践的なAIオーケストレーションの形を探っていきたいと思います。
今回の内容が何かご参考になれば幸いです。