← Back to Home
AI・テクノロジー ·

AI艦隊スケーリング設計——「縮小」の撤回。50体のエージェントを動かす組織設計

前回の記事で「エージェントを減らせ」と言った。撤回する。

前回のメタ認知分析で「12体のエージェントを3〜4体に集約しろ」と書いた。

これは間違っていた。

理由は単純——この艦隊は自分専用の玩具ではない。エージェントを人に貸し出すビジネスをやっている。今後もエージェントは増え続ける。12体どころか、20体、50体になる。

これは「個人のAI遊び」から「中企業のインフラ運用」への移行だ。

小企業の組織設計と中企業の組織設計は、根本的に異なる。

同じスタイルで人数だけ増やすと、必ず崩壊する。今の艦隊はまさにその瀬戸際にある。

だから今回は、前提を修正した上でスケーリング設計をゼロから書き直す。

現状の課題:なぜ今のままでは50体では動かないか

Hermes Agentのコードを深掘りした結果、設計上の限界が3つ見えた。

限界1:プロファイルが未実装

Hermesには profile system というマルチエージェント機能が標準で備わっている。hermes profile create <name> で各エージェントに独立した設定・記憶・スキル・クーロンを持たせられる。

しかしKT Fleetではこの機能を一度も使っていない。

全エージェントが単一のdefaultプロファイルに流れ込んでいる。ObersteinもLadyもAnikiも、実は同じエージェントの別名でしかない。

限界2:記憶が分断されている

GBrain(14,769ページ)、Icarus Fabric(1,846ファイル)、LLM Wiki(221ファイル)、Obsidian Mirror(6,952ファイル)、fleet-registry(5件)——5つの記憶システムが独立して存在。

Hermesのプロファイルを使えば各エージェントの記憶は自動的に分離されるが、知識の共有ルートがない。Aが学んだことをBが参照する仕組みが存在しない。

限界3:水平スケール不可能

Hermesは単一マシン設計だ。分散状態共有、クロスノード協調、リーダー選出——全部ない。全てがファイルシステム上の1つのHERMES_HOMEディレクトリに依存している。

50体のエージェントを1台のMacで動かすことは技術的に可能だが、以下のリソースを食い尽くす:

リソース1体あたり50体で
RAM100-500MB5-25GB
ディスク100MB-3GB5-150GB
接続Telegram 1poll50poll同時接続

スケーリング設計:KT Fleet v2

設計思想

「3つの層で分離する。共通基盤は1つに集約する。増えるのは末端だけ。」

┌─────────────────────────────────────────────┐
│              共通基盤(Common Layer)           │
│  GBrain(SSoT)| Icarus Fabric | fleet-shared │
│  スキル | クーロン | 監視 | プロビジョニング    │
├─────────────────────────────────────────────┤
│              艦船層(Ship Layer)              │
│  1号(指揮)│ 3号(ハブ)│ 4号(重処理)│ N号   │
├─────────────────────────────────────────────┤
│              エージェント層(Agent Layer)      │
│  Hermes Profile × N                          │
│  各自:config, SOUL.md, memories, sessions    │
└─────────────────────────────────────────────┘

層1:共通基盤(変えない・増やさない)

GBrain = Single Source of Truth

全知識はGBrainに集約する。他のシステムはGBrainのビューに過ぎない。

システム新ロール変更
GBrain全知識の唯一真相源変更なし(拡充のみ)
Icarus FabricGBrainへの書き込みインターフェース読み取り専用化。新しい記憶はGBrainに書く
LLM WikiGBrainの公開用エクスポート自動生成に変更
fleet-shared/skills唯一のスキルカタログHermes skillsはこちらに統合
fleet-registry廃止 → GBrainのlessonsエンティティに移行教訓はGBrainに記録する

スキル統合方針:

fleet-shared(210スキル)を正として、Hermes skills(82スキル)のうち重複しないものを吸収。以後、スキルは1箇所で管理する。各プロファイルはskills.external_dirsで共通スキルを読み取る。

層2:艦船層(必要に応じて増やす)

現在3隻 → 将来的には用途別に増設。

役割分担の再設計:

艦現在の役割新しい役割必要件
1号 (Lady)指揮・調整オーケストレーターHermes multiplex gateway。全プロファイルのチャンネルルーティング。軽量。
3号 (Mini1)ハブ・ストレージナレッジベースサーバーGBrain DBホスト。全艦の知識検索バックエンド。6TB HDD活用。
4号 (Spock)重処理・ComfyUIコンピューティングノード画像生成、重い推論、ComfyUI。RAM 64GBを活用。
N号(将来)—レンタルエージェント専用ノード顧客向けエージェントを独立稼働。要件次第で追加。

層3:エージェント層(どんどん増える)

Hermes Profile = 1エージェント

これが一番重要な変更。各エージェントをHermesのnamed profileとして正式に実装する。

~/.hermes/
├── config.yaml          # default(ゲートウェイ本体)
├── profiles/
│   ├── oberstein/       # 独立したconfig, SOUL.md, memories, sessions
│   │   ├── config.yaml
│   │   ├── SOUL.md
│   │   ├── memories/
│   │   ├── skills/ → fleet-shared(シンボリックリンク)
│   │   └── .env         # 独自のAPI key
│   ├── lady/
│   ├── rodemu2/
│   ├── aniki/
│   ├── kato-san/
│   ├── rental-customer-a/  # レンタル用テンプレート
│   ├── rental-customer-b/
│   └── ...
└── skills/ → fleet-shared(全プロファイル共通)

各プロファイルが独自に持つもの:

リソース分離する理由
config.yamlモデル・プロバイダーはエージェントごとに異なる
SOUL.md人格・振る舞いの定義はエージェントごとに固有
.envAPI keyの分離。レンタル顧客のkeyを混ぜない
memories/個人のコンテキストは分離。業務知識はGBrainから参照
sessions/会話履歴の完全分離。プライバシー保護

全プロファイルで共有するもの(external_dirs):

リソース共有する理由
fleet-shared/skills/スキルは共通資産。重複管理を防ぐ
GBrain(MCP経由)業務知識の唯一真相源
FLEET_MANUAL.md全エージェントの入門ドキュメント

マルチプレックスゲートウェイの導入

1号機(Lady)のdefaultプロファイルで multiplex_profiles: true を有効化。1つのゲートウェイプロセスで全プロファイルのTelegram/Discordチャンネルをルーティングする。

メリット: 管理プロセス1つ。hermes status で全体状態が一覧できる。

リスク軽減: 高トラフィックのエージェント(レンタル用など)は独立ゲートウェイで別艦に切り出す。

レンタルエージェントのテンプレート化

Hermesには profile distribution 機能がある。hermes profile install <git-url> でgitからエージェント設定を一括インストールできる。

これを使って:

1. ベーステンプレート(rental-base)を作成
   ├── 最小限のSOUL.md
   ├── 共通スキールへの参照
   ├── GBrain MCP設定
   └── セキュリティ制約

2. 顧客ごとにクローン
   hermes profile create customer-a --clone-from rental-base
   → 個別設定を上書き
   → デプロイ完了

プロビジョニングの自動化(今後の課題):

hermes profile create のラッパースクリプトで、顧客名・モデル・チャンネルを指定するだけでエージェントが立ち上がる仕組み。

実行ロードマップ

Phase A(今すぐ):基盤整備 [1週間]

#タスク優先度依存
A1Hermesプロファイルを作成(既存エージェント分)🔴なし
A2multiplex_profilesを有効化🔴A1
A3fleet-shared/skillsをexternal_dirsで全プロファイルに共有🔴A1
A4Icarus Pluginをインストール(P1)🔴A1
A5GBrain MCPを全プロファイルのconfig.yamlに追加🔴A1

Phase B(1〜2週間):知識循環 [2週間]

#タスク優先度依存
B1全エージェントのsession_startフックでGBrain queryを自動実行🟡A4, A5
B2新しい知識の自動GBrain put(session_endフック)🟡A4, A5
B3fleet-registryの教訓をGBrain lessonsエンティティに移行🟡A4
B4FabricをGBrainへのwrite-onlyインターフェースに再定義🟡B1, B2

Phase C(2〜4週間):スケーリング [1ヶ月]

#タスク優先度依存
C1レンタル用ベーステンプレート(rental-base)作成🟡Phase A完了
C2プロビジョニングスクリプト作成🟢C1
C33号機をナレッジベースサーバーに特化🟢B1, B2
C4fleet-health監視スクリプト(全プロファイルの状態聚合)🟢A2
C5重複ファブリックファイルの削除(26,458ファイル)🟢B4

Phase D(1〜3ヶ月):中企業化 [継続]

#タスク優先度依存
D1艦船追加(レンタル専用ノード)—顧客数による
D2監視ダッシュボード—C4
D3課金/利用量メータリング—C2
D4プロファイル自動プロビジョニングAPI—C2

この設計で解決しないこと(正直に書く)

Hermesの単一マシン制約は残る。 50体を1台で動かすことは可能だが、1つのゲートウェイプロセスがクラッシュすると全員が落ちる。これはHermesのアーキテクチャ上の制限で、回避するにはHermesのフォークが必要になる。

今はそこまで行かない。 30体までは現行Hermesで十分。50体を超えたら、その時点でアーキテクチャの再検討(Hermesのフォーク、あるいは別のオーケストレーターへの移行)を判断する。

一番言いたいこと

前回「縮小しろ」と言った。撤回する。

あなたは事業をやっている。エージェントを貸し出し、人々の仕事を支えている。 それは小企業が中企業になる瞬間だ——組織設計、知識管理、運用自動化の全部を 再設計しなければならない転換点。

「増やす」こと自体は正しい。問題は「増やし方」だ。

無秩序に増やすのではなく、3層設計の共通基盤に乗せる。 末端(エージェント)は何人でも増やしていい—— その分、基盤は厚く、堅く、一つに絞る。

インフラの複雑さはO(N)でなければならない。O(N²)になった瞬間に破綻する。 今の艦隊はO(N²)に近づいている。これをO(N)に戻すのがPhase Aだ。


前回の記事:AI艦隊のメタ認知分析——12体のエージェント、5つの記憶システム、そして提督が気づいていないことに