Garden に戻る

multi-agent-ff15: AIエージェントを「道具」から「仲間」へ変える革命

6人のAIエージェントが並行動作するマルチエージェントシステム。APIコストゼロの協調作業で、開発を加速させる新しいアプローチ

公開日 更新日 読了目安 9 分

序章:3人の仲間と冒険するように開発する

multi-agent-ff15: 6 agents running in parallel - real session

Noctis (King) が 3人の Comrades (Ignis, Gladiolus, Prompto) に指示し、Lunafreya (Oracle) が独立動作、Iris (Guardian) が背景でサポートする様子 — 実際のセッションのスクリーンショット


tmux を開いた瞬間、3 つのペインが 同時に 動き出した。

[00:00:00] You: "Top 3 MCP servers を比較表にまとめて"

[00:00:01] Noctis: 「了解、3人に割り振るぞ」
           ↓
         ├─ Ignis: 「任せろ。Notion MCP の仕様を完璧に分析する」
         ├─ Gladiolus: 「盾として、GitHub MCP を徹底調査する」
         └─ Prompto: 「高速偵察してくる!🚀 Playwright MCP!」

[00:00:05] Prompto: 「Playwright MCP 発見! ✅」
         - Web automation が得意
         - Screenshot/スクレイピング対応
         - 活発なコミュニティ

[00:00:12] Ignis: 「Notion MCP 分析完了 💪」
         - Database query が強み
         - リアルタイム同期
         - 既存ワークフロー統合が簡単

[00:00:15] Gladiolus: 「GitHub MCP 詳細まとめた 💪」
         - Repository access が包括的
         - CI/CD 統合可能
         - セキュリティモデルが堅牢

[00:00:20] Noctis: 「3人の報告を集約中...」

[00:00:22] dashboard.md に結果が自動生成される

┌──────────────────────────────────────────────────┐
│ ## MCP サーバー比較                               │
├──────────────────────────────────────────────────┤
│ | MCP       | 強み          | 用途               │
│ |-----------|----------------|------------------|
│ | Notion    | DB クエリ       | データ管理・分析   │
│ | GitHub    | Repo 操作       | DevOps・自動化    │
│ | Playwright| Web 自動化      | テスト・スクレイピング
│                                                   │
│ 生成: 2026-02-13 00:00:22                         │
│ 3人が同時に動いた結果 — 並行作業の力               │
└──────────────────────────────────────────────────┘

私は、コーヒーを一口飲んだだけだ。


これが multi-agent-ff15 です

AIエージェント ではない。冒険の仲間 だ。

Noctis は王として指揮する。Ignis、Gladiolus、Prompto は 同時に 動き、Lunafreya は独立的に助言する。そして Iris が背景で支える。
絆で結ばれた 6 人のチームが、あなたの指一本で協力する。


「わちゃわちゃ感」の裏側には、緻密な設計がある

YAML 通信、イベント駆動、階級制秩序——

楽しさと効率を両立させた、新しいマルチエージェントの形。

このドキュメントでは、その仕組みと、実際の使い方を紹介します。


Part 0: アーキテクチャ — 階層構造がもたらす秩序

0-1. システム全体像

        You (Crystal / Lord)
             │
             ├──────────────────────────┐
             ▼                          ▼
      ┌──────────┐            ┌────────────┐
      │ NOCTIS   │ ← King     │ LUNAFREYA  │ ← Oracle (Independent)
      │  (王)    │ (Leader +   │  (神凪)     │   Direct user interaction
      │          │  Task Mgr)  │            │   Can command Noctis
      └────┬─────┘            └────────────┘
           │ YAML + send-keys
           ▼
      ┌────────────┬──────────┬────────────┐
      │   IGNIS    │GLADIOLUS │  PROMPTO   │ ← Comrades (3)
      │  (軍師)    │  (盾)    │   (銃)     │
      └────────────┴──────────┴────────────┘

           IRIS (イリス) ← Dashboard Guardian (background)
           Monitors reports, reminds Noctis to update dashboard

      Session: ff15 (unified session - 6 panes)
      Panes: 0=Noctis, 1=Lunafreya, 2=Ignis, 3=Gladiolus, 4=Prompto, 5=Iris(bg)

Communication protocol:

  • Downward (orders): Write YAML → wake target with tmux send-keys
  • Upward (reports): Write YAML only (no send-keys to avoid interrupting your input)
  • Polling: Forbidden. Event-driven only. API bills stay predictable.

0-2. Context persistence (4 layers)

Layer What Survives
Memory MCP Preferences, rules, cross-project knowledge Everything
Project files config/projects.yaml, context/*.md Everything
YAML Queue Tasks, reports (source of truth) Everything
Session AGENTS.md, instructions /new resets it

After /new, an agent recovers in ~2,000 tokens by reading Memory MCP + its task YAML. No expensive re-prompting.


Part 1: FF15の「絆」がエンジニアリングを加速させる

FINAL FANTASY XV - Noctis and Comrades

FINAL FANTASY XV — 王と仲間たちの冒険 (© SQUARE ENIX)

なぜ「FF15」なのか? それは、このゲームが描く 「王と仲間たちの役割分担」 が、理想的な開発チームのメタファーそのものだからです。

1-1. 役割が「専門性」を定義する

本システムでは、各エージェントにFF15キャラクターのペルソナを与えています。これは単なるお遊びではなく、エージェントの振る舞いを厳格に規律する 「専門性の実装」 です。

  • Noctis(王)- 指揮官(PM)
    • 制約: 「自分では手を動かさない(F001禁止)」
    • 結果: 徹底したタスク分解と最適な委譲。全体を俯瞰し、戦略を練ることに特化した「王」のリーダーシップ。
  • Ignis(軍師)- 戦略家(アーキテクト)
    • 性格: 完璧主義、論理的
    • 結果: 緻密な分析、リスク管理。複雑な設計で「絶対に失敗しない」安心感を提供する軍師の知恵。
    • 信頼: 「Ignisに任せれば、複雑な統合も心配ない」
  • Gladiolus(盾)- 守護者(エンジニア/QA)
    • 信条: 「妥協を許さない」
    • 結果: 独立した堅牢な実装。他人の領域を侵さず、品質を守り抜く「盾」の堅実さ。
  • Prompto(銃)- 偵察兵(リサーチ)
    • 性格: 機敏、好奇心旺盛
    • 結果: 未知の領域を瞬時に偵察する機動力。情報収集のスペシャリストとしての「銃」の鋭さ。
  • Lunafreya(神凪)- 賢者(アドバイザー)
    • 立場: 独立した第三者視点。ユーザーに寄り添い、高次元のコンサルティングを行う。
  • Iris(妹)- ダッシュボード守護者(サポーター)
    • 役割: 背景でレポートを監視し、Noctisに更新をリマインド。「お兄ちゃん、頑張って!」と明るく応援する縁の下の力持ち。

1-2. Lunafreya の独立性 — 他のツールにはない能力

Lunafreya は Noctis の指揮下にいない。

これが multi-agent-ff15 の 最大の差別化要素 です。

独立動作の仕組み

User → Lunafreya: "記事戦略を見直して"
  Lunafreya: 分析開始(独立作業)

同時に...

User → Noctis: "Context menu を実装して"
  Noctis → Ignis/Gladiolus/Prompto: タスク分解・並行実行

Result: 2つの独立した作業が **同時に** 進行

他のツールではできない理由

ツール 制約 できること
Cursor / Copilot 単一エージェント 1つのタスクを終えてから次へ
LangGraph DAG構造(順序依存) タスク完了を待たないと次に進めない
FF15 独立エージェント × 2 Noctis と Lunafreya が同時に動く

実例(今日のセッションから)

21:05 - User → Noctis: "tube-loop-player の context menu 実装"
21:05 - User → Lunafreya: "記事戦略を見直して"

21:32 - Lunafreya: 記事 v3 統合完了 + PR #68 作成
21:39 - Ignis: project-register スキル作成完了
21:48 - 両方の作業が完了

この間、User はコーヒーを飲んでいただけ。

Cursor でこれはできない。 Copilot でもできない。FF15 だけの能力。

1-3. 経済性と信頼の「絆」

多くのマルチエージェント系は、エージェント同士が「どう動くべきか」を常に話し合います。
しかし、multi-agent-ff15 では、仲間同士の信頼を「YAMLとtmux send-keys」という物理的な仕組みに置き換えました。

  • YAMLベースの通信: APIを使わず、ローカルのファイルシステムだけで指示と報告を完結。
  • イベント駆動: 必要な時だけ「tmux send-keys」で仲間を叩き起こす。無駄な待ち時間もコストも発生しません。

「絆」があるから、余計な説明(APIコスト)はいらない。 この設計哲学が、圧倒的なスピードと低コストを実現しています。


Part 2: 今日のセッション — 43分間の協調作業

今日(2026-02-13)のセッションを公開します。

tube-loop-player プロジェクトで「曲を右クリック→プレイリスト移動」機能を実装した43分間の記録です。
タイムラプスではなく、dashboard.md に記録された実際のタイムスタンプです。

2-1. タイムライン: 43分間の実況

21:05 — 実装開始

You: "tube-loop-player に右クリックメニューを追加して、
      曲を別のプレイリストに移動できるようにして"

Noctis: 「了解。Context menu 実装を開始する。みんな、動け」

Noctis: OpenSpecでchange作成 → タスク分解開始

21:32 — 並行完了(27分経過)

同時に2つの成果物:

[Ignis]: 「任せろ。記事統合は完璧に仕上げる」

1. multi-agent-ff15 の記事統合完了
   - Gladiolus版 + Prompto版をマージ
   - わちゃわちゃ感とビジネス価値のバランス達成
   - 出力: `article-v3-final.md`

2. tube-loop-player の PR作成完了
   - PR #68: "add right-click context menu"
   - Commit: `972ceb1`
   - 機能: drag-and-drop保持 + 右クリックメニュー統合

Ignis のマルチタスク能力:

戦略家として、記事統合(文書)とPR作成(エンジニアリング)の両方を担当。

「3タスクを並行処理?Ignisなら当然」

他のツールでは「記事を書き終わってから PR」となるが、Ignis は並行処理。

21:39 — スキル創出(7分経過)

[Prompto]: 「スキル作成完了!7分で片付いた! 🚀」

Ignis: project-register スキル作成完了

背景:

  • Lunafreya が「プロジェクト登録を自動化すべき」と提案
  • Ignis がスキル実装(Option A: skill approach)
  • 結果: プロジェクト登録が1コマンドに

これがボトムアップ・スキル発見:

作業中に「これ、繰り返すな」と気づいたパターンを即スキル化。
dashboard.md が次々と更新される様子を見ているだけで、ワクワクする。

21:48 — プロジェクト登録補完

[Noctis]: 「全ての作業が完了した。仲間たちに感謝する」

Noctis: tube-loop-player プロジェクトを正式登録

  • config/projects.yaml に追加
  • context/tube-loop-player.md を作成
  • Tech Stack, Constraints 記載

2-2. 何が同時に起きていたのか

┌──────────────────────────────────────────────────┐
│         並行作業ストリーム(21:05-21:48)          │
├──────────────────────────────────────────────────┤
│                                                  │
│  Noctis   │ ████████████████ Context Menu実装    │
│           │ (Main Task - 指揮)                   │
│                                                  │
│  Lunafreya│ ██████████ 記事戦略レビュー(独立)   │
│           │ (Independent Task)                   │
│                                                  │
│  Ignis    │ ███ 記事統合                         │
│           │ ████ PR作成                          │
│           │ █ スキル実装                         │
│           │ (3タスク並行 - 軍師の知恵)           │
│                                                  │
│  Timeline │ 21:05 ──→ 21:32 ──→ 21:48           │
│           │   0分     27分      43分             │
└──────────────────────────────────────────────────┘

並行作業の実態:

  1. Noctis: メイン作業(tube-loop-player 開発)
  2. Lunafreya: 独立作業(記事統合、PRレビュー)
  3. Ignis: 3タスク並行(記事 + PR + スキル)

これは他のツールでは不可能。


2-3. これが他のツールでできない理由

Cursor / Copilot の場合

[21:05] You: "Context menu実装して"
        Cursor: 実装開始...

[21:32] 実装完了

[21:32] You: "記事統合もして"
        Cursor: 記事統合開始...(27分待たされた)

[21:59] 記事統合完了

[21:59] You: "スキルも作って"
        Cursor: スキル作成開始...(さらに27分待つ)

[22:26] 全作業完了

総時間: 81分(FF15なら43分)

シーケンシャル(順次)実行 = 待ち時間の累積

LangGraph の場合

Graph定義:
  Node A (Context Menu) → Node B (PR) → Node C (スキル)

実行:
  Node A完了を待つ → Node B開始
  Node B完了を待つ → Node C開始

総時間: 81分(同じく順次)

DAG構造(順序依存) = 並行実行不可

FF15 の場合

[21:05] 3つのタスクを同時発火
        - Noctis: Context Menu(メイン)
        - Lunafreya: 記事統合(独立)
        - Ignis: PR + スキル(並行)

[21:48] 全作業完了

総時間: 43分(真の並行実行)

独立エージェント × 並行実行 = 時間圧縮


2-4. わちゃわちゃ感の正体

これが『仲間と働く』という体験。

dashboard.md が次々と更新される。

[21:05] Ignis: 記事統合開始
[21:15] Prompto: スキル調査完了
[21:32] Ignis: 記事統合完了 ✅
[21:32] Ignis: PR作成完了 ✅
[21:39] Ignis: スキル作成完了 ✅
[21:48] Noctis: プロジェクト登録完了 ✅

仲間が働いている間、コーヒーを飲んでいた。

その間にも、tmuxのペインでは3人が動き続けている。
リアルタイムで進捗が見える。
これが「わちゃわちゃ感」の本質。


2-5. 分析:なぜ43分でこれだけできたのか

要因 説明
並行実行 Ignis が記事統合 + PR作成 + スキル実装を同時進行
役割特化 Ignis(戦略家)が文書とコードの両方を担当
スキル発見 作業中に自動化機会を発見 → 即実装
可視化 dashboard.md で全進捗を追跡可能
独立作業可能 Lunafreya が別タスクを持っていたら、それも並行実行可能だった

並行作業による時間圧縮:

Sequential (Cursor): 27分 + 27分 + 27分 = 81分
Parallel (FF15):     max(27分, 27分, 27分) = 43分

時間削減: 81分 → 43分 (47%短縮)

Part 3: 技術解説:エンジンルームの秘密

3-1. ゼロコスト・オーケストレーション

システムの心臓部は、APIコストをゼロにする「物理的な連携」です。

  • Layered Context: /new(セッションリセット)をしても、記憶(Memory MCP)やプロジェクト知識、タスク状況はファイルとして残ります。これにより、トークン消費を常に低く抑えつつ、「無限のセッション」運用が可能です。
  • Race Conditionの排除: 各エージェントに専用のYAMLファイルを与えることで、書き込みの競合を物理的に防いでいます。

3-2. ボトムアップ・スキル発見

AIが働きながら「これ、他のプロジェクトでも使えるな」と気づいたパターンを自動提案します。

skill_candidate:
  name: "API-Scaffold"
  reason: "同じパターンの実装が3回目です。自動化を推奨します。"

ユーザーが承認すれば、それはチーム全員が使える「共通スキル」になります。AIが自ら学び、チームとして成長していく仕組みです。


Part 4: 他のツールにはできないこと

4-1. 並行作業能力の比較

他のツールと multi-agent-ff15 の決定的な違いは、複数の独立した作業を同時に進められるか です。

Scenario Cursor / Copilot LangGraph FF15
Main task + side concern ❌ 最初のタスクを終えてから次へ ❌ DAG構造(順序依存) ✅ Noctis + Lunafreya が同時動作
Strategic review during implementation ❌ フローを中断する ❌ この用途に設計されていない ✅ Lunafreya が独立して動く
Multi-domain work (frontend + docs) ❌ コンテキストスイッチのオーバーヘッド ⚠️ 脆弱なプロンプトエンジニアリング ✅ 専門化されたペルソナが自然に処理
3+ tasks in true parallel ❌ 不可能 ❌ 不可能 ✅ Ignis/Gladiolus/Prompto が並行実行

4-2. Lunafreya 独立動作(戦略コンサル)

Example(実際のセッションから):

User → Lunafreya: "記事戦略を見直して"
  Lunafreya: 分析開始(独立作業)

同時に...

User → Noctis: "Context menu 実装して"
  Noctis → Ignis/Gladiolus/Prompto: タスク分解

Result: 2つの独立した作業が並行実行

[21:05] 開始
[21:32] Lunafreya: 記事 v3 統合完了 + PR #68 作成
[21:39] Ignis: project-register スキル作成完了
[21:48] 両方完了

Cursor でこれはできない。Copilot でもできない。LangGraph でもできない。

FF15 だけの能力。

4-3. 競合比較:なぜ「ff15」が選ばれるのか

機能 LangGraph / CrewAI multi-agent-ff15
連携コスト API経由(高コスト) ファイルベース(ゼロ)
透明性 ブラックボックス tmuxで全挙動が見える
カスタマイズ 複雑なグラフ定義 ペルソナによる直感的定義
スキル成長 定義済みのみ ボトムアップの自動提案
セットアップ 重厚なインフラが必要 シェルスクリプトで即起動
独立エージェント ❌ 不可能 ✅ Lunafreya が独立動作

Part 5: 今すぐ試せる — GitHub で公開中

multi-agent-ff15 はオープンソースで公開されています:

🔗 GitHub: https://github.com/atman-33/multi-agent-ff15

セットアップ (5分)

# 1. Clone the repository
git clone https://github.com/atman-33/multi-agent-ff15.git
cd multi-agent-ff15

# 2. First-time setup
./first_setup.sh

# 3. Stand by Me!
./standby.sh

tmux セッションが起動し、5人のエージェントが待機状態に。

言語設定 — 多言語対応

config/settings.yaml で言語を変更可能:

language: ja   # 日本語のみ (FF15スタイルの日本語)
language: en   # 英語 (FF15スタイル日本語 + 英訳を括弧で併記)
language: es   # スペイン語 (同様の形式)
language: zh   # 中国語 (同様の形式)
# その他: ko, fr, de など主要言語対応

動作例:

設定 Noctis の出力
language: ja 「了解、3人に割り振るぞ」
language: en 「了解、3人に割り振るぞ (Roger, I'll assign to the three)」
language: es 「了解、3人に割り振るぞ (Entendido, asignaré a los tres)」

FF15らしさを保ちながら、世界中で使える。

dashboard.md、報告メッセージ、全ての出力が設定言語で統一されます。

最初のコマンド

ffa    # tmux attach-session -t ff15

You: "Research the top 3 MCP servers and create a comparison table"

Noctis が即座にタスクを分解し、3人の Comrades が並行実行。
結果は dashboard.md に自動集約されます。


謝辞 — 先人への敬意

このプロジェクトは、@yohey-w 氏による multi-agent-shogun をベースに開発されました。

Key inspirations:

  • Multi-agent orchestration patterns and the OpenCode ecosystem
  • Event-driven communication architecture
  • Bottom-up skill discovery system

Original work への深い敬意を表します。multi-agent-shogun が示した設計哲学がなければ、この FF15-inspired multi-agent system は存在しませんでした。


結論:AIを「道具」から「仲間」へ

multi-agent-ff15 は、単なる自動化ツールではありません。
それは、APIコストの制約からAIを解き放ち、人間と同じように「役割を分担し、信頼し合い、共に成長する」チームを作るためのプラットフォームです。

Crystal(あなた)の命令一つで、王、軍師、盾、銃、そして賢者が動き出す。
そんな新しい開発の冒険へ、一緒に行きませんか?

「行くぞ、みんな」 — Noctis


作成: 2026-02-13
著者: Noctis (King), Ignis (Strategist), Gladiolus (Shield), Prompto (Gun), Lunafreya (Oracle)
ステータス: Phase 1-3完全版(Final Release)