はじめに

日本時間2026年3月、GitHubのGlobal Trendingで1位を獲得したプロジェクトがあります。その名は MiroFish

開発したのは、北京郵電大学の4年生・郭航江氏。わずか 10日間のVibe Coding でプロトタイプを完成させ、複数の中国語メディアの報道によると、公開から 24時間以内に盛大グループ創業者の陳天橋氏から約6億円(3,000万元)の出資 を獲得したとされています。

MiroFishは、ニュース記事や政策草案などの現実世界の情報を入力すると、数千〜最大 100万のAIエージェント が仮想のSNS空間で議論・投稿・フォローを自律的に行い、世論の変化を予測するという 群体智能(Swarm Intelligence)予測エンジン です。

「そんなことが本当にできるのか?」

この記事では、 MiroFish の技術的な仕組みを徹底的に解剖し、実際にどこまで使えるのか、正直に検証していきます。


MiroFishとは?

MiroFish は、現実世界の情報から高忠実度のデジタル並行世界を構築し、AIエージェントたちに社会シミュレーションを行わせる予測エンジンです。

例えば「新しいAI規制法案」というニュース記事を入力すると、こんなことが起きます。

  1. 記事から登場人物・組織・概念を抽出してナレッジグラフを構築

  2. 「保守的な投資家」「テック起業家」「ジャーナリスト」など多様なペルソナを持つAIエージェントを数千体生成

  3. 仮想のTwitterとRedditで、エージェントたちが自律的に投稿・議論・フォロー

  4. 世論がどう動いたかのレポートを自動生成

  5. 気になるエージェントに「なぜ意見を変えたの?」と質問できる

MiroFishの公式ドキュメントには「確率推定ではなく、妥当なシナリオを生成するシステム」と明記されています。


5ステップのパイプライン

MiroFishは、入力から予測レポートの出力まで5つのステップで動作します。

ステップ1:GraphRAGで知識グラフを構築する

最初のステップでは、入力テキスト(ニュース記事、金融レポートなど)から GraphRAG という技術で知識グラフを自動構築します。

そもそもGraphRAGとは?

GraphRAGは、Microsoftが2024年2月に発表した技術です。通常のRAG(Retrieval-Augmented Generation)がテキストをチャンク(断片)に分割してベクトル検索するのに対し、GraphRAGはテキストからナレッジグラフ(エンティティと関係性の構造データ)を自動構築します。
GraphRAGなら、エンティティ間の関係をグラフとしてたどることで、この間接的なつながりを発見できます。MiroFishでは、入力テキストからこのナレッジグラフを自動構築し、シミュレーション世界の「土台」にしています。


ステップ2:エージェントに「個性」と「記憶」を与える

次に、ナレッジグラフの登場人物や概念をもとに、多様なAIエージェントを生成します。ポイントは3つの要素です。

固有の性格(ペルソナ):

例)
エージェントA: 60代、保守的な投資家、リスク回避傾向エージェント
B: 25歳、テック系スタートアップ起業家、楽観的エージェント
C: 40代、新聞記者、批判的思考、事実重視

Zep Cloudによる長期記憶: ここが技術的に最も重要な部分です。

なぜ「記憶」が必要なのか

LLMは本質的に ステートレス (状態を持たない)で、会話が終わると前回の内容を忘れてしまいます。しかしシミュレーションでは、エージェントが「3日前にAさんと議論して考えが変わった」ことを覚えている必要があります。

Zep Cloud は、この問題を解決する外部メモリサービスです。各エージェントの経験・意見変化を 時間軸付きのナレッジグラフ として記録します。

エージェントBの記憶(Zep Cloudに保存):
 ラウンド3: AI規制に反対(イノベーション阻害を懸念)
 ラウンド7: Aさんの安全性の指摘に一部納得 → 条件付き賛成に
 ラウンド12: Cさんの海外事例で立場を微修正 → 規制範囲の限定を条件に賛成

これにより、100ラウンド以上のシミュレーションでも各エージェントが一貫した人格と記憶を持って行動し続けられます。


ステップ3:仮想SNSで並列シミュレーション

ここからがMiroFishの核心部分です。 OASIS (CAMEL-AIチーム開発)というオープンソースのSNSシミュレーターで、 Twitter風とReddit風の2つのプラットフォームを同時に稼働 させます。

なぜ「2つ」のプラットフォームなのか

Twitter風とReddit風では、情報の広がり方が根本的に異なるからです。

同じテーマでも、Twitter的な環境では 感情的・短絡的な意見が広がりやすく 、Reddit的な環境では 論理的な議論が深まりやすい 。両方を同時に走らせることで、多角的な予測が得られます。

エージェントができること

OASISでは、エージェントが 23種類のアクション を実行できます。投稿、リプライ、いいね、リツイート、Upvote/Downvote、フォロー、アンフォロー、ブロック、検索——通常のSNSで人がやることをほぼすべてシミュレートします。


ステップ4:ReportAgentが自動分析

シミュレーションが終わると、数千〜数万件の投稿・リプライ・フォロー関係の変化データが残ります。 ReportAgent がこれを3つの観点で自動分析します。

意見シフト: いつ、なぜ、どのくらい意見が動いたかを特定します。

提携形成: フォロー関係やリプライのパターンから、自然発生したグループとそのリーダーを検出します。

新興パターン: 入力データにはなかった、シミュレーション中に自然発生した新しい論点を検出します。これがMiroFishの「予測」の核心部分で、エージェントたちが自発的に生み出す予想外の展開を捉えます。


ステップ5:エージェントに質問し、シナリオを再実行

レポートを読んだ後、ユーザーは2つのことができます。

エージェントとの対話: 気になるエージェントに直接質問できます。

ユーザー → エージェント#142(法律家):
 「なぜラウンド7で賛成に転じたのですか?」
エージェント#142:
 「エージェント#089が共有したEUのAI Actの運用実績データを見て、 規制があっても技術革新は止まらないと判断しました」


実践:MiroFishを動かしてみよう

料金

MiroFish自体は無料のオープンソースですが、LLMのAPIを使用するため、そのコストが発生します。

前提条件

  • Node.js 18以上

  • Python 3.11〜3.12

  • uv(Pythonパッケージマネージャ)

  • OpenAI SDK互換のAPIキー

  • Zep CloudのAPIキー

セットアップ手順

以下のようにClaude Codeに全部丸投げできますが、詳細解説も載せておきます。

詳細解説
1. リポジトリのクローンと環境設定
git clone https://github.com/666ghj/MiroFish.git cd MiroFish cp .env.example .env

2. APIキーの設定
`.env`ファイルを開き、LLMのAPIキーとZep CloudのAPIキーを設定します。
LLM_API_KEY=your_api_key_here ZEP_API_KEY=your_zep_api_key_here

3. 依存関係のインストールと起動
npm run setup:all npm run dev
フロントエンドは `http://localhost:3000`、バックエンドは `http://localhost:5001` で起動します。

Dockerを使う場合:
docker compose up -d

実際に使ってみます

予測したいテーマに関するテキスト(ニュース記事など)を入力

使ってみる

  • ブラウザで `http://localhost:3000` にアクセス

  • 予測したいテーマに関するテキスト(ニュース記事など)を入力

  • エージェント数やシミュレーションラウンド数を設定(初回は40ラウンド以下を推奨)

  • シミュレーションを実行

  • 生成されたレポートを確認し、必要に応じてエージェントと対話


【実証実験】MiroFishは「メディアの記事チェックツール」として使えるのか?