人工知能は急速に進化していますが、ほとんどのAIツールは依然としておなじみのパターンに従っています。つまり、モデルにプロンプトを与えると、それに応答を生成します。
しかし、ここ数年で、多くのAIエージェントが共有のデジタル環境内で互いに相互作用する、**マルチエージェントシミュレーション**という新しいカテゴリのAIシステムが注目を集め始めています。
単一のモデルが答えを予測したり生成したりするのではなく、これらのシステムは、情報を交換し、意見を形成し、互いに影響を与え合う自律エージェントのグループ全体をシミュレートします。
この分野で最近最も話題になっているプロジェクトの1つは、数千ものAIエージェントを使用して現実世界のシナリオをシミュレートするように設計されたオープンソースのスウォームインテリジェンスエンジンである**MiroFish**です。このプロジェクトは、金融市場、世論の変化、政策への反応、さらには架空の物語といった複雑な出来事を、現実世界で起こる前にシミュレートできるデジタルサンドボックスを作成するという野心的な目標により、開発者やAI愛好家の間で急速に注目を集めています。
答えを直接生成する従来のAIツールとは異なり、MiroFishは**AIエージェントのデジタル社会**全体を構築します。各エージェントは独自の記憶、性格特性、意思決定ロジックを持っています。速報ニュース、政策提言、金融シグナルといった新しいイベントが導入されると、エージェントたちは互いに情報に反応し、互いの行動に影響を与えながら相互作用を開始します。
時間経過とともに、それらの相互作用は、実際の人間集団がイベントにどう反応するかを彷彿とさせるパターンを作り出します。これらのパターンは、起こりうる結果、出現する物語、感情の変化を明らかにすることができ、このシステムを実験と予測のための強力な環境にしています。

ソース: X
MiroFishとは?

その核となるのは、マルチエージェント人工知能を中心に構築された**スウォームインテリジェンスシミュレーションエンジン**であるMiroFishです。
単一のAIモデルに依存するのではなく、このプラットフォームは、シミュレートされたデジタル環境内に存在する多数の自律エージェントを生成します。これらのエージェントはそれぞれ、仮想社会における個々の参加者を表します。
各エージェントは独自の以下を持っています:
- 性格特性
- 行動ルール
- 長期記憶
- 社会関係
- 意思決定プロセス
エージェントが互いに相互作用する際、彼らは情報を交換し、意見を形成し、イベントに反応します。これにより、多くの個々の相互作用から大規模な結果が自然に生じる**創発的行動**が生まれます。
このコンセプトは、現実の人間社会を反映しています。現実世界では、世論、市場の動き、社会のトレンドは、多くの場合、何百万もの個々の意思決定から生まれます。MiroFishは、これらの相互作用をデジタルでシミュレートすることにより、イベントが起こる前にどのように展開するかをモデル化しようと試みています。
簡単に言えば、このプラットフォームは、**「もし〜ならば」シナリオを探求するためのデジタルサンドボックス**として機能します。
ビジョン:集合知の鏡

MiroFishの背後にあるビジョンは、開発者が**現実世界の集合知の鏡**と表現するものを創造することです。
従来の予測システムは、多くの場合、履歴データと統計モデルに大きく依存しています。これらのアプローチは安定した環境ではうまく機能しますが、人間の行動が予測不能になると、しばしば苦戦します。
多くの現実世界の出来事は、数値パターンだけでなく、社会的相互作用によって形成されます。
例えば:
- 金融市場は投資家心理によって変動する
- ソーシャルメディアのトレンドは予測不能に広がる
- 政策に対する世間の反応は急速に変化する
MiroFishは予測に異なるアプローチを取ります。データから直接未来を計算しようとするのではなく、このシステムは**個人が互いに相互作用し、影響を与え合うデジタル環境**を再現します。
複雑な結果は、これらの相互作用から自然に現れるという考えです。
シミュレートされたエージェントがイベントにどのように反応するかを観察することで、このプラットフォームは潜在的な現実世界の結果に関する洞察を生成できます。
シードデータからデジタル世界へ

MiroFishでシミュレーションを実行することは、システムが**シードマテリアル**と呼ぶものから始まります。
シードマテリアルとは、シミュレートされるシナリオを定義する情報です。これには以下が含まれます:
- 速報ニュース記事
- 財務報告書
- 政策文書
- 研究論文
- ソーシャルメディアでの議論
- あるいは架空の物語
ユーザーは資料をアップロードし、自然言語で予測目標を記述します。
例えば、誰かがシステムに以下をシミュレートするよう依頼するかもしれません:
- 新しい政策発表に市場がどう反応するか
- 物議を醸す発言に世論がどう反応するか
- 欠落している章が完成した場合、物語がどのように展開するか
この情報を使用して、MiroFishはエージェントが相互作用を開始できるデジタル環境を構築します。
このシステムは本質的に、シナリオが展開できる**並行デジタル世界**を創造します。
MiroFishのワークフロー:シミュレーションパイプラインの仕組み

舞台裏では、MiroFishは現実世界のデータを動的なシミュレーション環境に変換する構造化されたパイプラインに従います。各ステージは、エージェントが相互作用し、意味のある結果を生み出すために必要な情報を準備します。
1. ナレッジグラフの構築

最初の段階では、**現実世界のデータソースからシード情報**が抽出されます。
これらのソースには以下が含まれます:
- 速報ニュースイベント
- 財務報告書
- 政策草案
- 研究文書
- 社会的議論
その後、システムはGraphRAGアーキテクチャを使用して**ナレッジグラフ**を構築します。このグラフは、シミュレーション中にエージェントが使用するエンティティ、関係、およびコンテキスト情報を整理します。
構造化データに加えて、エージェントが履歴コンテキストを保持できるように、**個々の記憶構造とグループ記憶構造**の両方がシミュレーションに注入されます。
2. 環境生成

ナレッジグラフが構築されると、プラットフォームはシミュレーション環境を構築します。
この段階で、システムはいくつかのタスクを実行します:
- エンティティと関係の抽出
- エージェントペルソナの生成
- ソーシャルネットワークの構築
- シミュレーションパラメータの設定
エージェントには、ID、背景、行動ルールが割り当てられます。これにより、エージェント間の相互作用が実際の社会力学に似たものになります。
3. 並列シミュレーション実行
環境の準備が整うと、シミュレーションが開始されます。
何千ものエージェントが環境全体で同時に動作し、イベントに反応し、互いに相互作用します。プラットフォームは並列システム間でシミュレーションを実行し、多数のエージェントが同時に動作できるようにします。
このフェーズでは、システムは自動的に以下を実行します:
- 予測リクエストを解釈する
- 社会的相互作用をシミュレートする
- 各エージェントの時間ベースの記憶を更新する
- 環境を動的に進化させる
その結果、物語、意見、行動が時間とともに進化する生きたシミュレーションが生まれます。
4. レポート生成
シミュレーションが複数のサイクルを経て進行すると、**ReportAgent**と呼ばれる特殊なAIコンポーネントが結果を分析します。
ReportAgentは豊富な分析ツールにアクセスでき、シミュレーション環境と深く相互作用することができます。それは以下の内容をまとめた構造化された予測レポートを生成します:
- 主要な結果
- 新たなトレンド
- 行動に関する洞察
- 潜在的なリスク
このレポートは、ユーザーがシミュレーション中に何が起こったかを解釈し、潜在的な現実世界への影響を理解するのに役立ちます。
5. シミュレーションとの深い対話

MiroFishのユニークな機能の1つは、ユーザーが**シミュレートされた世界と直接対話できる**ことです。
予測レポートを読むだけでなく、ユーザーは以下を行うことができます:
- 個々のエージェントと話す
- 彼らの決定について質問する
- シミュレーション内の社会力学を探求する
ユーザーはReportAgentと通信して、追加の質問をしたり、より詳細な分析を要求したりすることもできます。
この対話型レイヤーにより、シミュレーション環境は従来の予測ツールよりもはるかに柔軟になります。
クイックスタート:MiroFishをローカルで実行する
このプラットフォームを試したい開発者は、**ソースデプロイ**または**Dockerデプロイ**のいずれかを使用してMiroFishをローカルにデプロイできます。
システム要件
プラットフォームをインストールする前に、開発者は以下のツールをインストールする必要があります:
| ツール | バージョン | 目的 |
|---|---|---|
| Node.js | 18+ | フロントエンド実行環境 |
| Python | 3.11–3.12 | バックエンド実行環境 |
| uv | 最新バージョン | Pythonパッケージマネージャー |
インストールを確認するには:
node -v
python --version
uv --version
ステップ1:環境変数を設定する
まず、設定ファイルの例をコピーします。
cp .env.example .env
次に、.envファイルを編集し、必要なAPIキーを追加します。
LLM API構成
MiroFishは、OpenAI SDK形式と互換性のある任意のLLM APIをサポートしています。
設定例:
LLM_API_KEY=your_api_key
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL_NAME=qwen-plus
ドキュメントでは、AlibabaのBailianプラットフォームの**Qwenモデル**を使用することを推奨しています。
大規模なシミュレーションはかなりの計算リソースを消費する可能性があるため、40ラウンド未満のシミュレーションから始めることをお勧めします。
メモリシステム構成
MiroFishは、エージェントの長期記憶を管理するためにZep Cloudを使用します。
設定例:
ZEP_API_KEY=your_zep_api_key
Zep Cloudの無料枠は、通常、小規模な実験には十分です。
ステップ2:依存関係をインストールする
開発者は、単一のコマンドですべての必要な依存関係をインストールできます:
npm run setup:all
あるいは、インストールは段階的に行うこともできます。
Nodeの依存関係をインストールする:
npm run setup
Pythonバックエンドの依存関係をインストールする:
npm run setup:backend
このコマンドは、必要なPython仮想環境を自動的に作成します。
ステップ3:プラットフォームを起動する
インストール後、開発者は単一のコマンドでフロントエンドとバックエンドの両方のサービスを開始できます。
npm run dev
実行すると、サービスは以下で利用可能になります:
フロントエンドインターフェース:
<http://localhost:3000>
バックエンドAPI:
<http://localhost:5001>
必要に応じて、開発者はサービスを個別に起動することもできます。
バックエンドのみを起動する:
npm run backend
フロントエンドのみを起動する:
npm run frontend
Dockerデプロイ
コンテナ化された環境を好むチーム向けに、MiroFishはDockerデプロイもサポートしています。
まず、前述のように環境変数を設定します。
cp .env.example .env
その後、Docker Composeを使用してコンテナを起動します。
docker compose up -d
デフォルトでは、プラットフォームは以下のポートをマッピングします:
- フロントエンドインターフェースには3000
- バックエンドAPIには5001
Docker設定ファイルには、必要に応じてコンテナイメージのダウンロードを高速化するために使用できる、コメントアウトされたミラーソースも含まれています。
終わりに

まだ開発の初期段階にあるものの、スウォームインテリジェンスプラットフォームは、AIシステムが複雑な社会環境をシミュレートできる未来を示唆しています。政策を実施する前にテストしたり、金融発表の前に市場の反応を探ったり、情報がソーシャルネットワークを通じてどのように広がるかを調査したりできることを想像してみてください。このようなツールは、企業、政府、研究者にとって強力な意思決定支援システムとなる可能性があります。もちろん、いかなるシミュレーションも、現実の人間の行動の複雑さを完全に捉えることはできません。予期せぬ出来事や文化的ニュアンスは常に結果に影響を与える可能性があります。
しかし、MiroFishのようなプラットフォームは、AIがいずれ質問に答えるだけでなく、社会全体をモデル化する方向に進化する可能性を示しています。実験的なオープンソースプロジェクトとして始まったこの取り組みは、すでに開発者や研究者の間で大きな議論を巻き起こしています。そして、マルチエージェントシミュレーションが進化し続ければ、MiroFishのようなツールは、現実世界で未来が展開する前にデジタル世界の中で未来を探求できる、新世代の予測技術に向けた初期の一歩となるかもしれません。
