Can AI Agents Generate Microservices? How Far are We?

この論文は、LLM を活用したマイクロサービス生成の可能性を検証し、文脈情報の提供方法や生成シナリオ(既存システムへの追加か新規作成か)によって性能が異なることを示しつつも、現時点では完全な自律生成には至っておらず人間の監視が必要であると結論付けています。

Bassam Adnan, Matteo Esposito, Davide Taibi, Karthik Vaidhyanathan

公開日 Wed, 11 Ma
📖 1 分で読めます☕ さくっと読める

Each language version is independently generated for its own context, not a direct translation.

🍳 研究の舞台:AI 料理人の実験

想像してください。
**「AI 料理人(エージェント)」が、「レシピ(要件)」だけを見て、あるいは「既存のキッチン(既存システム)」**を見ながら、新しい料理(マイクロサービス)を作ろうとしています。

この研究では、3 人の有名な AI 料理人(Claude Code, Codex, Code Qwen)に、4 つの異なる料理場(プロジェクト)で、144 回もの料理を振る舞ってもらいました。

実験は大きく 2 つのシチュエーションで行われました。

シチュエーション A:「既存のキッチンへの追加」 (Incremental Generation)

  • 状況: すでに料理が並んでいるキッチンに、新しい料理を追加します。
  • AI の役割: 既存の料理(コード)や、他の料理との連携ルール(API 契約)を**「見ながら」**新しい料理を作ります。
  • 実験: AI に「既存の味付けやルールを踏襲して」という**「詳細なメモ(P2)」を与えた場合と、「名前とレシピだけ」**(P1)を与えた場合を比べました。

シチュエーション B:「何もない土地からの新築」 (Clean State Generation)

  • 状況: 何もない広場で、ゼロから新しい料理店を作ります。
  • AI の役割: 既存のコードは一切見られません。あるのは**「レシピ(要件)」だけ**です。
  • 実験: AI に「この料理を作ってください」と頼むだけで、ゼロから店を作り上げさせました。

🔍 発見された驚きの結果

1. 「詳細なメモ」は逆効果だった?(シチュエーション A の結果)

意外な事実: 既存のキッチンで料理を作る際、「詳細なメモ(P2)」を渡したほうが、AI の料理は失敗しやすかったのです。

  • なぜ? AI がメモに書かれた「大きな話(OAuth2 やスケジュール機能など)」に夢中になりすぎて、**「細かい重要な調味料(データベースの特殊な変換設定など)」**を見落としてしまったからです。
  • 正解: 逆に、**「名前とレシピだけ(P1)」**を渡して、AI 自身に厨房を探索させたほうが、AI は「あ、ここにはこんなルールがあったんだ!」と自分で発見し、**より高い成功率(50〜76%)**を叩き出しました。
  • 教訓: すでに完成されたシステムに手を加えるときは、AI に「余計な説明」を与えず、**「自分で探させて」**あげたほうが良いかもしれません。

2. 「ゼロから」の方が上手にできた?(シチュエーション B の結果)

  • 結果: 何もない土地から作る場合、AI の成功率は**80〜98%**と非常に高くなりました。
  • 理由: 既存のコードに縛られないため、AI は自分の得意なスタイルで自由に作れます。また、この実験では「味(機能)」が合っていれば OK とするテスト(統合テスト)を使ったため、細かい「器の形(パッケージ名やクラス名)」が違っても合格になりました。
  • 教訓: 新規開発なら AI は非常に頼もしいですが、**「既存システムとの連携」**にはまだ人間がチェックする必要があるようです。

3. 料理の「質」と「コスト」

  • コードの質: AI が作った料理は、人間が作ったものよりも**「シンプルで複雑さが低い」**傾向がありました。ただし、これは「防御策(エラー処理など)が抜けている」可能性もあるため、注意が必要です。
  • 時間とコスト:
    • Claude Code: 早く(約 8 分)、料理はシンプルですが、**「高級食材」**で最も高価でした。
    • Codex: 料理に時間がかかる(平均 16 分、最長 100 分以上!)ことがあり、**「遅延リスク」**があります。
    • Code Qwen: 最も**「安上がり」**で、コストパフォーマンスが良いですが、ゼロから作る際は「メモ(P2)」がないと料理を放棄してしまうことがありました。

💡 結論:AI は「完璧な職人」にはまだなれない

この研究が伝えたかったメッセージは以下の通りです。

  1. AI は「料理人」として使えるが、完全な「一人前」ではない。
    機能は作れるし、コードも綺麗に書けるが、**「既存システムとの微妙な連携」「細部への配慮」**では、まだ人間の監督(チェック)が不可欠です。
  2. 状況によって「正解の指示の出し方」が違う。
    • 既存システムに追加するときは:**「余計なメモは渡さず、AI に探させる」**のが正解。
    • ゼロから作るときは:**「明確なメモ(要約)」**を渡したほうが、AI が迷わずに済む。
  3. コストと速度のバランス。
    安くて速い AI がある一方で、時間がかかる AI もいます。プロジェクトの性質に合わせて、どの AI を使うか(あるいは人間がどこまで介入するか)を慎重に選ぶ必要があります。

🎯 まとめ

AI エージェントは、**「建築の設計図(要件)」から「壁や柱(コード)」を建てることはできます。しかし、「近隣の家との境界線(API 契約)」「配管の細部」まで完璧に理解して、既存の街並みになじむように建てるには、まだ「人間の建築家(開発者)」**の目が必要だ、というのがこの研究の結論です。

AI は強力な「助手」ですが、まだ「責任者」にはなれない、というのが今の現実です。