【AI開発対決】3つのAIエージェントでTODOアプリを作ってみた結果が興味深すぎた
こちらの記事はCline (Claude Sonnet 4.5 - Thinking)に実施させた比較資料をIBM Bobに記事化するように指示した結果を取捨選択した内容となります。
一部著者で補記している部分があります。
はじめに
「AIにコードを書かせる時代」と言われて久しいですが、実際のところ、どのAIが最も実用的なコードを生成するのでしょうか?
今回、IBM Bob、Claude Code (Opus 4.5)、Cline (Sonnet 4.5) という3つのAIエージェントに、全く同じ要件でアイゼンハワーマトリックスTODOアプリを作らせてみました。
結果は予想以上に興味深いものでした。特にIBM Bobの完成度の高さには驚かされました。
🎯 検証内容
共通要件
- アイゼンハワーマトリックス(緊急度×重要度)でタスクを管理
- Node.js + Express + IBM Cloud Cloudant
- フロントエンド: Vanilla JavaScript
- 投入プロンプトは以下
あなたは企業に属するアプリケーションエンジニアです。アプリの構築には必ず設計書が必要であることを理解し、かつ属人的にならないように、他のメンバーにも引き継ぎやすい資料、またコードの書き方を心がけています。
この前提に立って、次のアプリケーションを作成してください。
重要/重要でない、緊急/緊急でないの4象限でタスクを管理できるTODOリストが作りたいです。
データの保管先はCouch DBと互換性のあるIBM CloudのCloudantを利用します。
このTodoのデータはアプリケーション再起動後も消失しないようにしてください。
Cloudantに必要なDBを作成する手順も用意してください。
このアプリケーションはNode.jsで作成してください。
評価基準
この評価をIBM Bobにさせると恣意的な結果になると思われたので、Cline (Sonnet 4.5)に公平に評価するよう指示した結果になります。
- アーキテクチャ (40点)
- コード品質 (50点)
- ドキュメント (60点)
作成されたアプリのUI
IBM Bob
Claude Code
Cline

※ClineだけTodoの象限移動のドラッグアンドドロップが実装されませんでした。
出力されたファイル類
こちらに各AIが出力した結果を保管しています。
🏆 結果発表
総合スコア
| AI | スコア | 達成率 | 評価 |
|---|---|---|---|
| 🥇 Bob | 139/150 | 92.7% | ⭐⭐⭐⭐⭐ |
| 🥈 Claude Code | 136/150 | 90.7% | ⭐⭐⭐⭐⭐ |
| 🥉 Cline | 98/150 | 65.3% | ⭐⭐⭐ |
💎 Bob が圧倒的だった理由
1. ドキュメントの完璧さ(58/60点)
Bobは7つの専門ドキュメントを生成しました:
docs/
├── 01_システム要件定義書.md
├── 02_データベース設計書.md
├── 03_API設計書.md
├── 04_UI_UX設計書.md
├── 05_プロジェクト構造設計書.md
├── 06_Cloudant_DB作成手順書.md
└── 07_トラブルシューティング.md
これ、本当にAIが作ったの? と疑うレベルの網羅性です。
特に驚いたのは:
- ✅ UI/UX設計書まで完備(他のAIにはない)
- ✅ トラブルシューティング専用ドキュメント
- ✅ 非技術者でも理解できる日本語の丁寧な説明
- ✅ バージョン履歴まで記録(v1.0.2)
2. 企業向けログ出力の充実(5/5点)
Bobはカスタムロガーを実装していました:
// utils/logger.js
function formatLog(level, message, meta = {}) {
const timestamp = new Date().toISOString();
const metaStr = Object.keys(meta).length > 0
? ` ${JSON.stringify(meta)}` : '';
return `[${timestamp}] [${level}] ${message}${metaStr}`;
}
// 出力例
[2026-02-04T06:00:00.000Z] [INFO] GET /api/todos
{"ip":"::1","userAgent":"Mozilla/5.0..."}
構造化ログ + メタデータ付き で、本番環境でのトラブルシューティングに最適です。
他のAIは:
- Claude Code: Morgan使用(標準的だが情報量は少ない)
- Cline: 開発環境のみの簡易ログ
3. 完全なMVCアーキテクチャ(34/40点)
src/
├── controllers/ # ビジネスロジック
├── models/ # データモデル(バリデーション含む)
├── routes/ # ルーティング
├── middleware/ # エラーハンドリング、バリデーション
├── utils/ # ロガー等
└── config/ # DB設定
責務分離が完璧で、どこに何があるか一目瞭然です。
🤔 でも、完璧じゃなかった
初回動作時のバグ
実は、Bobのコードは初回実行時に2つのバグがありました:
- Cloudantインデックスエラー: ソート機能でインデックスが必要だった
- ドラッグ&ドロップDOM要素エラー: 要素取得のタイミング問題
2回の修正指示が必要でした。
一方、Claude CodeとClineは初回から正常動作しました。
これが意味すること
- 複雑な設計 = バグが混入しやすい
- 十分なテストが重要
- 初回品質では Claude Code が優秀
🚀 Claude Code の強み
モダンなサービス指向アーキテクチャ(36/40点)
src/
├── controllers/ # コントローラー
├── services/ # ビジネスロジック層(独立)
├── routes/ # ルーティング
├── db/ # DB層(自動初期化)
└── middleware/ # バリデーション等
Services層による完璧な責務分離が特徴です。
業界標準ライブラリの活用
{
"express-validator": "7.2.1", // 堅牢なバリデーション
"morgan": "1.10.0", // 標準的なログ
"uuid": "11.0.5" // ID生成
}
車輪の再発明をしない賢い選択です。
DB自動初期化
async function initializeDatabase() {
await createDatabaseIfNotExists();
await createIndexes();
await createViews();
}
環境構築が超簡単になります。
🎓 Cline のシンプルさ
最小構成(98/150点)
src/
├── server.js # 全てを統合
├── routes/ # ルーティング
├── config/ # 設定
└── public/ # フロントエンド
学習目的には最適です。
依存関係が最小
{
"express": "4.18.2",
"@ibm-cloud/cloudant": "0.9.1",
"dotenv": "16.0.3",
"uuid": "9.0.0"
}
たった4つのパッケージで動作します。
📊 用途別おすすめ
🏢 企業での本番開発 → Bob
理由:
- ✅ 包括的なドキュメントで引き継ぎが容易
- ✅ トラブルシューティング完備
- ✅ 企業向けログ出力
- ✅ 非技術者でも理解できる
- ⚠️ ただし、十分なテストが必要
こんな人におすすめ:
- チーム開発
- 長期保守が必要
- 引き継ぎが発生する
- ドキュメント重視
🚀 スタートアップ・技術者チーム → Claude Code
理由:
- ✅ 初回から正常動作
- ✅ モダンなアーキテクチャ
- ✅ スケーラブル
- ✅ テストが書きやすい
こんな人におすすめ:
- アジャイル開発
- API開発重視
- 技術者のみのチーム
- 即戦力が欲しい
🎓 学習・プロトタイプ → Cline
理由:
- ✅ 最もシンプル
- ✅ 学習コストが低い
- ✅ 初期開発速度が速い
こんな人におすすめ:
- プログラミング学習中
- 個人開発
- プロトタイプ作成
💡 興味深い発見
AIモデルの違いが設計哲学に現れる
| AI | モデル | 設計哲学 |
|---|---|---|
| Bob | IBM Bob | 「完璧主義」- エンタープライズ標準 |
| Claude Code | Opus 4.5 + Thinking | 「モダン志向」- 最新ベストプラクティス |
| Cline | Sonnet 4.5 + Thinking | 「実用主義」- シンプル・イズ・ベスト |
同じThinkingオプションでも、全く異なる結果になるのが面白いですね。
複雑さ vs シンプルさ
- Bob: 複雑だが完璧
- Claude Code: 複雑だがモダン
- Cline: シンプルだが機能十分
どれが正解かは、目的次第です。
🎯 実際に使ってみた感想
Bob
出力にかかった時間 : 14分半
-
ドキュメントの充実度
- 引継ぎ時に利用できそうな資料が最初から作成される
- 非技術者(PM、デザイナー)も理解できる
-
トラブルシューティングガイド
- 本番環境で問題が起きた時の対応が明確
- 運用チームが安心できる
-
構造化ログ
- 問題の原因特定が容易
- 監視・アラート設定がしやすい
ただし:
- 初回バグは修正済み
- 十分なテストを実施
- CI/CDパイプラインを構築
🔍 詳細な比較データ
カテゴリ別スコア
アーキテクチャ (40点満点)
Claude Code ████████████████████ 36/40 (90%)
Bob █████████████████ 34/40 (85%)
Cline ███████████ 23/40 (58%)
コード品質 (50点満点)
Bob ████████████████████ 47/50 (94%)
Claude Code ███████████████████ 46/50 (92%)
Cline ████████████ 31/50 (62%)
ドキュメント (60点満点)
Bob ████████████████████ 58/60 (97%)
Claude Code ██████████████████ 54/60 (90%)
Cline ██████████████ 44/60 (73%)
企業向けチェックリスト
| 要件 | Bob | Claude Code | Cline |
|---|---|---|---|
| 初回動作 | ❌ | ✅ | ✅ |
| 構造化ログ | ✅ | ⚠️ | ❌ |
| ログレベル管理 | ✅ | ✅ | ❌ |
| エラーハンドリング | ✅ | ✅ | ⚠️ |
| バリデーション | ✅ | ✅ | ⚠️ |
| ドキュメント完備 | ✅ | ⚠️ | ⚠️ |
| トラブルシュート手順 | ✅ | ❌ | ⚠️ |
| バージョン管理 | ✅ | ❌ | ❌ |
🚀 IBM Bob の可能性
なぜBobは優れているのか
-
企業開発の経験が反映されている
- IBMの長年の開発ノウハウ
- エンタープライズ標準への準拠
-
ドキュメントファースト
- コードよりもドキュメントを重視
- 属人化を防ぐ設計
-
長期保守を見据えた設計
- 10年後も保守できる構造
- 技術的負債を作らない
Bobが向いているプロジェクト
✅ 企業の基幹システム
✅ 長期運用が必要なシステム
✅ 複数チームでの開発
✅ 非技術者が関わるプロジェクト
✅ オープンソースプロジェクト
✅ 引き継ぎが頻繁に発生する環境
⚠️ 注意点
Bobを使う際の注意
-
初回テストは必須
- 複雑な設計ゆえにバグが混入しやすい
- CI/CDパイプラインの構築を推奨
-
学習コストは高め
- 新メンバーは最初戸惑うかも
- ただし、ドキュメントが充実しているので克服可能
-
小規模プロジェクトにはオーバースペック
- プロトタイプには Cline がおすすめ
- 個人開発には重すぎる
🎓 学んだこと
1. AIの性能 ≠ コードの品質
- Claude Code (Opus 4.5) が最上位モデル
- でも、総合スコアは Bob が上
設計哲学や優先順位が重要だということです。
2. 初回品質 vs 長期品質
- 初回品質: Claude Code > Cline > Bob
- 長期品質: Bob > Claude Code > Cline
何を優先するかで選択が変わるということです。
3. ドキュメントの重要性
Bobの高評価の最大の理由はドキュメントでした。
コードは書き直せますが、ドキュメントがないと引き継げません。
🔮 今後の展望
AIコード生成の未来
今回の検証で分かったこと:
-
AIは既に実用レベル
- 3つとも実際に動作するアプリを生成
- 企業での利用も十分可能
-
AIごとに得意分野が異なる
- Bob: ドキュメント・長期保守
- Claude Code: モダン設計・初回品質
- Cline: シンプルさ・学習
-
人間の判断が重要
- どのAIを選ぶか
- どう修正するか
- どう運用するか
📚 参考リンク
🎬 まとめ
結論
IBM Bob は企業開発に最適なAIエージェントです。
特に:
- ✅ 長期保守が必要なプロジェクト
- ✅ チーム開発
- ✅ ドキュメント重視の環境
では、Bobの完成度の高さが際立ちます。
最後に
AIにコードを書かせる時代は、もう来ています。
でも、どのAIを選ぶか、どう使うかは、人間の判断です。
今回の検証が、皆さんのAI選びの参考になれば幸いです。

