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の町 Version4 完了まとめ ― マルチエージェント基盤の再構築と I/O 標準化、そして Version5(MCP 化)への布石 ―

0
Posted at

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

この記事では、私が開発している 自律型マルチエージェント基盤「AIの町」
Version4 までの進化をまとめます。

Version4 は単なるアップデートではなく、
Version5(MCP 化)に向けた“基盤の再構築フェーズ” でした。


🎯 Version4 のゴール

Version4 の目的は明確です。

「作業AIの入出力を完全に統一し、MCP 化に耐えられるアーキテクチャへ進化させる」

そのために以下の 6 点を重点的に改善しました。

  1. 入出力仕様の完全統一(I/O Standardization)
  2. context_layer の正式導入
  3. manager-api の安定化(タスクID分離・順序保証)
  4. UI の責務分離(ChatPanel / WorkerResultPanel)
  5. Memory の整理(conversation_ai のみ stateful)
  6. Version5(MCP 化)に向けた準備完了

🧩 Version4 の全体像

Version4 のアーキテクチャは以下のように整理されました。

UI(ChatPanel / WorkerResultPanel)
    ↓
manager-api(LLM呼び出し/I/O統一)
    ↓
conversation_ai(LLM)
    ↓(LLMの返答を受け取るだけ)
manager-api(作業AIタスクを発行)
    ↓
WorkerLauncher(従来の start_worker)
    ↓
作業AI(I/O統一済み Worker)

Version4 のポイントは 「MCP 化はまだしない」 という点です。
ただし、MCP 化に必要な I/O の統一と責務分離はすべて完了しました。


🧱 1. 入出力仕様の完全統一(I/O Standardization)

Version4 最大の成果はこれです。

✔ 作業AIの出力形式を統一

{
  "output": {
    "result": "...",   // 作業AIのメイン出力
    "reply": "...",    // conversation_ai 専用
  },
  "stdout": "...",
  "stderr": "..."
}

✔ UI 側の受け取りも統一

  • ChatPanel → result.output.reply
  • WorkerResultPanel → result.output.result

✔ replyHandled による二重表示防止

ChatPanel 側で:

  • conversation_ai の返答は 1 回だけ表示
  • 作業AIの返答は WorkerResultPanel へ分離

これにより UI の混乱が完全に解消されました。


🧱 2. context_layer の正式導入

Version4 の中核です。

context_layer = {
  goal,
  task_spec,
  constraints,
  world_model,
  user_state,
  conversation_summary,
  available_workers,
  ui_state,
  memory_extract
}

✔ conversation_ai(stateful)

→ context_layer を使って会話の一貫性を維持

✔ 作業AI(stateless)

→ context_layer を使ってプロンプト生成を安定化

✔ manager-api が context_layer を一元生成

→ Worker 間の文脈ズレが消滅


🧱 3. manager-api の安定化

Version4 では manager-api を大幅に整理しました。

✔ 会話AIと作業AIのタスクIDを分離

{
  "conversation_task_id": "...",
  "worker_task_id": "...",
  "worker_type": "code_ai"
}

✔ 会話AI → 作業AI の順序保証

非同期実行による逆転を防ぐため、
会話AI起動後に 0.4 秒の待機を追加。

✔ UI が正しくタスクを識別できるように

  • ChatPanel → conversation_ai のみ
  • WorkerResultPanel → 作業AIのみ

🧱 4. UI の責務分離(ChatPanel / WorkerResultPanel)

Version4 で UI は完全に整理されました。

✔ ChatPanel

  • conversation_ai のみ扱う
  • replyHandled で二重表示防止
  • memory 更新もここで実行

✔ WorkerResultPanel

  • 作業AIのみ扱う
  • ResultCard で統一表示
  • タスク完了をポーリングして自動表示

🧱 5. Memory の整理

Version4 では Memory の責務も明確化。

✔ conversation_ai のみ stateful

  • USER.md
  • MEMORY.md
  • SKILL.md
  • Hermes Memory(DB)

✔ 作業AIは stateless

→ MCP 化に最適な構造へ


🚀 Version5(MCP 化)への準備完了

Version4 の I/O 統一により、
Version5 の MCP 化に必要な前提条件がすべて揃いました。

Version5 で行うこと

  • 作業AIを MCP ツール化
  • WorkerLauncher を MCP サーバー化
  • manager-api を MCP クライアント化
  • mcp_tool.json(schema)を導入
  • start_worker() を廃止し MCP 呼び出しへ移行

Version5 のアーキテクチャ(予定)

UI
  ↓
manager-api(MCPクライアント)
  ↓
WorkerLauncher(MCPサーバー)
  ↓
作業AI(MCPツール)

Version4 は この Version5 のための基盤整備フェーズでした。


📌 Version3 → Version4 の主な差分まとめ

項目 Version3 Version4
I/O Workerごとにバラバラ 完全統一
context_layer なし 正式導入
manager-api タスクID混在 タスクID分離
UI 会話AIと作業AIが混在 責務分離
Memory Workerも参照 conversation_ai のみ stateful
MCP 化準備 不十分 完全に整った

📝 まとめ

Version4 は AIの町の内部構造を根本から整えるフェーズでした。

  • I/O の統一
  • context_layer の導入
  • manager-api の安定化
  • UI の責務分離
  • Memory の整理

これらにより、
Version5(MCP 化)に向けた準備がすべて整いました。

次はいよいよ、
作業AIの MCP ツール化 → WorkerLauncher の MCP サーバー化
という大きな進化に入ります。


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?