0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIの町 Version 5 — MCP化・Validation Layer 完成・短期改善ループ実装までの全記録

0
Posted at

※この記事は AI(Microsoft Copilot)によって生成され、筆者が内容を確認・調整しています。
※この記事は前回の記事
https://qiita.com/genkyoryo110/items/66ace09c0828ed3c90b6
の続編です。

AI の町プロジェクトは、複数の AI エージェントが協調してタスクを遂行する「自律型マルチエージェント基盤」です。
Version 5 では、アーキテクチャ全体を抜本的に再設計し、MCP(Model Context Protocol)化Validation Layer Version3短期改善ループなど、AI エージェントの品質保証と自律性を大幅に強化しました。

この記事では、Version 5 の全体像と技術的ポイントをまとめます。


🎯 Version 5 のゴール

Version 5 の目的は以下の 3 点でした。

  1. Worker を MCP ツールとして正式に標準化する(MCP化)
  2. Validation Layer Version3 を完成させ、Worker 出力の品質を保証する
  3. Critic による短期改善ループを実装し、AI が自律的に改善する仕組みを作る

これらはすべて達成され、Version 5 は「AI の町の基盤が完成したバージョン」と言える状態になりました。


🚀 Version 5 の主な変更点

1. MCP(Model Context Protocol)化の完了

Version 5 最大の変更点は、Worker を MCP ツールとして再構成したことです。

  • WorkerLauncher → MCPサーバー
  • manager-api → MCPクライアント
  • Worker → MCPツール(JSON Schema で定義)

これにより、Worker の追加・差し替え・拡張が極めて容易になりました。

MCP リクエスト例

POST /manager_mcp
{
  "tool": "code_ai.run",
  "args": {
    "description": "Write a fibonacci function",
    "language": "python",
    "context_layer": {
      "goal": "高速化",
      "task_type": "code_generation",
      "improvement": "前回の改善案:メモ化を追加"
    }
  }
}

2. Validation Layer Version3 の完成

Version 5 では、Worker 出力の品質を保証するために 4段階の検証レイヤを実装しました。

🔍 4つの検証

検証 内容
Semantic Similarity bge-m3 による意味類似度判定
Structure Validation Worker タイプ別の構造検証
Anomaly Detection IsolationForest による異常検知
Critic LLM による改善案生成

フロー

Semantic → Structure → Anomaly → Critic

Critic が改善案を返した場合のみ、短期改善ループに進みます。


3. 短期改善ループの実装(最大3回)

Validation NG の場合、Critic が改善案を返すと、
context_layer.improvement に改善案を注入して自動再実行します。

改善ループのコード(抜粋)

for attempt in range(1, MAX_RETRY + 1):
    result = call_mcp(...)
    validation = pipeline.run(...)

    if validation["ok"]:
        return result

    critic_improve = validation["details"]["critic"]["improvement"]
    if critic_improve:
        req.args["context_layer"]["improvement"] = critic_improve
        continue

    raise HTTPException(400, validation)

ポイント

  • 改善案が ない場合は retry しない(無限ループ防止)
  • 改善案がある場合のみ再実行
  • novel_ai / code_ai が改善案をプロンプトに反映

4. Worker の安定化

novel_ai

  • scenario_text fallback
  • outline / metadata / scenario_text の抽出強化
  • 改善案のプロンプト反映

code_ai

  • 改善案のプロンプト反映
  • 失敗ログ(failures/)
  • 改善ログ(improvements/)
  • Obsidian の style.md / preferences.md を参照

5. UI の責務分離

Version 5 では UI も大きく改善。

  • ChatPanel → conversation_ai 専用
  • WorkerResultPanel → 作業AI専用
  • ResultCard → 統一フォーマットで結果表示

これにより、会話と作業結果が混ざらない構造になりました。


🏗️ Version 5 のアーキテクチャ

UI(Next.js)
   ↓
manager-api(MCPクライアント)
   ↓ Validation Layer(Version3)
   ↓ 短期改善ループ
WorkerLauncher(MCPサーバー)
   ↓
Worker(code_ai / novel_ai / conversation_ai ...)
   ↓
llm-executor(Ollama / GPU)

特徴

  • Worker はすべて MCP ツールとして統一
  • manager-api が Validation と改善ループを担当
  • llm-executor が LLM 呼び出しを一元管理

📁 ディレクトリ構成(抜粋)

ai-town/
├── manager-api/
│   ├── validation/        ← Validation Layer Version3
│   ├── context_layer/
│   └── routers/
├── launcher/
│   ├── workers/           ← MCPツール化された Worker
│   ├── services/
│   └── validation/
├── llm-executor/
└── next-ui/

🧠 Obsidian 統合記憶システム

各 Worker は以下の Markdown を参照します。

  • preferences.md
  • style.md
  • failures/
  • improvements/

これにより、Worker が「ユーザーの好み」や「過去の失敗」から学習できます。


🔮 Version 6 に向けて

Version 5 で基盤が完成したため、Version 6 は Worker 増産フェーズに入ります。

予定されている Worker:

  • image_ai(画像生成)
  • data_ai(データ分析)
  • browser_ai(ブラウザ操作)
  • blender_ai(3D)
  • voice_ai(音声生成)

また、payload / context_layer の標準化も進める予定です。


📝 まとめ

Version 5 は AI の町にとって 基盤完成のバージョンでした。

  • MCP化で Worker が標準化
  • Validation Layer Version3 で品質保証
  • 短期改善ループで自律改善
  • Worker の安定化
  • UI の責務分離
  • Version 6 の準備完了

次のフェーズでは、より多くの Worker を追加し、
「AI の町」が本格的に拡張していく段階に入ります。


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?