multi-agent-ff15: AIエージェントを「道具」から「仲間」へ変える革命
6人のAIエージェントが並行動作するマルチエージェントシステム。APIコストゼロの協調作業で、開発を加速させる新しいアプローチ
序章:3人の仲間と冒険するように開発する
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 — 王と仲間たちの冒険 (© 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分 │
└──────────────────────────────────────────────────┘
並行作業の実態:
- Noctis: メイン作業(tube-loop-player 開発)
- Lunafreya: 独立作業(記事統合、PRレビュー)
- 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)
関連する植物
GitHub Copilot でナレッジを蓄えて自己進化するアドバイザーシステムを作ってみた
GitHub Copilotのエージェント機能を使って、ナレッジベースを評価・改善する自己進化型のアドバイザーシステムを構築。複数エージェントが協調して動作し、自動的に回答品質を向上させる仕組みを検証しました。
#github-copilot#ai#agentWSL環境におけるopencodeとoh-my-opencodeの導入ガイド
WSL環境にopencodeとoh-my-opencodeを導入し、Claude、GPT-5、Geminiなど複数のAIモデルをエージェントとして活用する方法を解説。マルチエージェント管理で開発効率を最大化します。
#opencode#ai#wslGitHub RulesetでCopilotの自動コードレビューを設定する方法
GitHub Rulesetを使用して、特定のブランチに対するプルリクエストでGitHub Copilotによる自動コードレビューを有効にする手順を解説します。
#github#github-copilot#automation