はじめに
あなたはこんな光景を目にしたことがあるでしょう。ある企業が新しい方針を発表する。有名人が物議を醸す発言をする。誰も予想しなかったニュースが飛び込んでくる。ソーシャルメディアは爆発的に広がり、その影響は誰も予測できなかった形で波及していきます。
もし、現実世界で何かが起こる前に、そのシナリオがどのように展開するかを見ることができたらどうでしょうか?
MiroFishは、ソーシャルメディアに関する「もしも」の問いに答えるマルチエージェントAIシミュレーションプラットフォームです。 これは、それぞれ異なる個性、記憶、行動パターンを持つ何百ものAIエージェントが自由に交流するデジタルパラレルワールドを作り出します。ニュース記事、政策草案、研究論文などの元となる資料をアップロードすると、MiroFishは時間の経過とともに異なるオーディエンスがどのように反応するかをシミュレートします。
この説明では、MiroFishの機能、マルチエージェントシミュレーションの仕組み、およびその使用時期について説明します。
MiroFishが解決する問題とは?
予測のギャップ
ソーシャルメディアは急速に変化し、予測不可能な方法で反応します。従来の分析ツールは過去を見ています。
- 感情分析は、人々が今何を考えているかを示します
- トレンドモニタリングは、今日何が人気があるかを示します
- エンゲージメント指標は、すでに何が起こったかを測定します
これらはいずれも、その発表を公開したり、そのレポートをリリースしたり、その論争に対応したりした場合に、何が起こりうるかを見るのに役立ちません。
代替案:デジタルパラレルワールド
MiroFishは異なるアプローチをとります。実際のソーシャルメディアを分析する代わりに、シミュレートされたバージョンを作成します。
- ソースドキュメントからナレッジグラフを構築します
- エンティティ(人物、組織、メディア媒体)を抽出し、AIエージェントに変換します
- 抽出された情報(活動レベル、影響力、立場)に基づいてパーソナリティを割り当てます
- シミュレートされた時間または数日間にわたってエージェントが投稿、コメント、反応するシミュレーションを実行します
- 物語がどのように形成され、どの声が支配的になり、どのような対抗運動が出現するかを分析するために結果を分析します
ソーシャルメディアのシナリオのためのフライトシミュレーターだと考えてください。
MiroFishの仕組み:5段階のワークフロー
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ ステップ1 │ ──► │ ステップ2 │ ──► │ ステップ3 │ ──► │ ステップ4 │ ──► │ ステップ5 │
│ オントロジー │ │ GraphRAG │ │ 環境 │ │ シミュレーション│ │ レポート │
│ 生成 │ │ 構築 │ │ 設定 │ │ 実行 │ │ 生成 │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
ステップ1:オントロジー生成
システムは入力ドキュメントとシミュレーション要件を分析し、LLMを使用してカスタムオントロジーを生成します。これは以下を定義します。
- 10種類のエンティティタイプ(例:学生、教授、大学、メディア媒体、政府機関)
- 10種類の関係タイプ(例:WORKS_FOR(~に勤務する)、COMMENTS_ON(~にコメントする)、RESPONDS_TO(~に応答する))
- 各タイプの属性
オントロジーは2層構造を強制します。コンテンツに基づいた8つの特定のタイプに加えて、他のどこにも当てはまらないものを捕捉するための2つのフォールバックタイプ(PersonとOrganization)があります。
ステップ2:GraphRAG構築
ドキュメントはチャンク化され(500文字、50文字の重複あり)、バッチでZep Cloudに送信されます。システムは以下の処理を行います。
- 一意のIDを持つスタンドアロングラフを作成します
- カスタムオントロジーを設定します
- エンティティと関係の抽出のためにテキストバッチを送信します
- Zepが各エピソードを処理するのを待ちます
- ノードとエッジを含む最終的なグラフを取得します
結果:関係によって接続された数百または数千のエンティティを持つナレッジグラフ。
ステップ3:環境設定
シミュレーション設定ジェネレーターはナレッジグラフを分析し、詳細なエージェントパラメータを作成します。
- 中国のタイムゾーンパターンに基づいた時間設定(ピーク時間19-22時、休止時間0-5時)
- 最初の投稿とホットなトピックを含むイベント設定
- エージェント活動設定(1時間あたりの投稿数、応答遅延、影響力)
- 異なる拡散しきい値を持つTwitterとReddit用のプラットフォーム設定
ステップ4:シミュレーション実行
エージェントは活動スケジュールに従って覚醒し、投稿、コメント、反応を開始します。システムはTwitterとRedditで並行してシミュレーションを実行し、すべてのアクションをJSONLファイルにリアルタイムで記録します。
典型的な72時間のシミュレーションでは、両プラットフォームで数千のアクションが生成されます。
ステップ5:レポート生成
レポートエージェントは、何が起こったかを分析するために3つの主要な検索ツールを使用します。
- InsightForge:質問をサブクエリに分解する詳細検索
- PanoramaSearch:期限切れ/無効な履歴的事実を含む全体像の表示
- InterviewAgents:IPCを介したアクティブエージェントとのリアルタイムインタビュー
最終レポートには、物語の進化、重要な瞬間、影響力のある声、そして対抗運動が示されます。
MiroFishにおけるAIエージェントとは?
MiroFishの各エージェントは、以下の特徴を持つ独立したAIエンティティです。
| 属性 | 説明 | 例 |
|---|---|---|
| アイデンティティ | 名前、ユーザー名、自己紹介 | 「@ZhangWei_学生」 |
| ペルソナ | 個性と背景 | 「AI倫理を研究する大学院生」 |
| 活動レベル | 投稿頻度(0.0~1.0) | 0.8 = 非常に活発 |
| 活動時間帯 | オンラインになる時間 | [8, 9, 10, 11, 18, 19, 20, 21, 22, 23] |
| 応答遅延 | 反応速度(分) | 5~30分 |
| 影響力 | 他者がその投稿を見る可能性 | 0.8(低)~3.0(高) |
| スタンス | トピックに対する立場 | 支持、反対、中立、傍観者 |
| 記憶 | 過去の行動と交流 | Zep Cloudグラフに保存 |
エージェントは自律的に意思決定を行います。彼らは、自身の個性とシミュレーションの現在の状態に基づいて、いつ投稿するか、何にコメントするか、どのように反応するかを選択します。
何がシミュレートできるか?
ニュースと政策発表
政策草案やニュース記事をアップロードします。異なる利害関係者グループがどのように反応するかを確認します。
- どの声がメッセージを増幅させますか?
- どのような批判が現れますか?
- 24~72時間で物語はどのように進化しますか?
学術研究
研究論文をアップロードします。学術的および一般からの受け止め方をシミュレートします。
- どの発見が注目を集めますか?
- どのような誤解が生じますか?
- 専門家と一般人の反応はどのように異なりますか?
危機シナリオ
インシデントレポートや背景資料をアップロードします。対応戦略をテストします。
- すぐに対応した場合と待機した場合で、物語はどのように変化しますか?
- どのような対抗物語が出現しますか?
- どのインフルエンサーが会話を主導しますか?
文学的・歴史的分析
小説や歴史文書をアップロードします。「もしも」のシナリオを探求します。
- 登場人物は原作の結末を超えた出来事にどう反応するでしょうか?
- どのような代替結果が考えられますか?
- どの関係が主要なプロットポイントを推進しますか?
MiroFishの独自性とは?
単一エージェントではなく、群知能
多くのAIツールは、「ユーザー」をシミュレートするために単一のエージェントを使用します。MiroFishは、それぞれ異なる個性を持つ何百ものエージェントを使用します。これにより、事前にプログラムされたスクリプトからではなく、相互作用から生じる創発的な行動、つまり物語や動きが生まれます。
デュアルプラットフォームシミュレーション
TwitterとRedditは異なるダイナミクスで並行して実行されます。
- Twitter:急速な拡散、高いインフルエンサーの影響
- Reddit:スレッド形式の議論、コミュニティ主導の物語
両プラットフォームを比較することで、プラットフォームの仕組みが結果にどのように影響するかがわかります。
時間的ナレッジグラフ
MiroFishの関係には時間メタデータがあります。
valid_at:関係が有効になった時点invalid_at:関係が無効になった時点expired_at:関係が置き換えられた時点
これにより、現在の状態だけでなく、関係がどのように進化するかを追跡できます。
ライブエージェントインタビュー
シミュレーション中または後に、アクティブなエージェントにインタビューできます。
質問
エージェント12(学生)
これは、定量的な指標を超えた質的な洞察を提供します。
技術アーキテクチャの概要
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ フロントエンド │ │ バックエンド │ │ 外部 │
│ (Vue.js) │ ◄─► │ (FastAPI) │ ◄─► │ サービス │
│ │ │ │ │ │
│ - グラフビルダー│ │ - REST API │ │ - Zep Cloud │
│ - シミュレーション│ │ - サブプロセス │ │ - LLM API │
│ モニター │ │ 管理 │ │ - OASIS │
│ - レポートビューアー│ │ - JSONLストリーム│ │ フレームワーク│
└─────────────────┘ └─────────────────┘ └─────────────────┘
バックエンドスタック
- RESTエンドポイント用のPython FastAPI
- エージェントシミュレーション用のOASIS Framework
- ナレッジグラフの保存と検索用のZep Cloud
- シミュレーション状態データベース用のSQLite
フロントエンドスタック
- リアクティブUI用のVue.js 3
- リアルタイム更新用のWebSocket
- グラフ可視化用のD3.js
ApidogによるAPI設計
MiroFishのバックエンドは、5つの主要サービスにわたって40以上のエンドポイントを公開しています。
| サービス | エンドポイント | 目的 |
|---|---|---|
| グラフ構築 | 8 | オントロジー生成、バッチアップロード、ステータスポーリング |
| エンティティリーダー | 4 | エンティティフィルタリング、タイプ選択、エクスポート |
| 設定ジェネレーター | 6 | 時間/イベント/エージェント/プラットフォーム設定生成 |
| シミュレーションランナー | 12 | 開始、停止、監視、インタビュー、状態管理 |
| レポートジェネレーター | 5 | 検索、分析、要約生成 |
Apidogは、すべてのエンドポイントの設計、フロントエンド開発用のモックレスポンス、APIドキュメントの生成に使用されました。これにより、スキーマの不一致が早期に発見され、開発全体を通してチーム間の連携が保たれました。
MiroFishはいつ使うべきか?
良い使用例
- シナリオ計画:「来週Xを発表したらどうなるか?」
- 利害関係者分析:「異なるグループはYにどう反応するか?」
- 物語追跡:「Zに対するどのような反論が現れるか?」
- 研究検証:「オーディエンスの行動に関する私たちの仮説は妥当か?」
- 教育的探求:「これらの歴史上の人物は現代の出来事にどう反応するだろうか?」
適さない使用例
- 正確な予測:MiroFishは保証された未来ではなく、もっともらしい結果を示します
- リアルタイム監視:仮説的なシナリオをシミュレートするものであり、ライブのソーシャルメディアを追跡するものではありません
- 小規模分析:このシステムは何百ものエージェントで輝きます。単純な調査には過剰です
- 非社会現象:経済システムや物理システムではなく、ソーシャルメディアのダイナミクスをモデル化します
MiroFishを始めるには
要件
- Python 3.10以上
- Node.js 18以上
- Zep Cloud APIキー
- LLM APIアクセス(OpenAI互換)
クイックスタート
# リポジトリをクローンする
git clone https://github.com/666ghj/MiroFish.git
cd MiroFish
# 依存関係をインストールする
pip install -r requirements.txt
npm install
# 環境を設定する
cp .env.example .env
# .envファイルをAPIキーで編集する
# バックエンドを起動する
python backend/app/main.py
# フロントエンドを起動する
npm run dev
最初のシミュレーション
- ドキュメントをアップロード:ソース資料を含むPDF、TXT、またはMDファイル
- シミュレーション要件を定義:どのような問いを探求しますか?
- オントロジーを生成:システムにエンティティタイプを分析・提案させます
- ナレッジグラフを構築:エンティティと関係を抽出します
- 設定と実行:シミュレーション期間を設定し、開始します
- 監視とインタビュー:リアルタイムでアクションを監視し、エージェントにインタビューします
- レポートを生成:何が起こったかの要約を取得します
一般的な最初のシミュレーションは、エンドツーエンドで30~60分かかります。
よくある質問
シミュレーションの精度はどのくらいですか?
MiroFishは、入力データと行動モデルに基づいて、もっともらしいシナリオを生成します。特定の予測結果ではなく、可能性のある空間を探求するものだと考えてください。その価値は、あなたが予期していなかったダイナミクスを浮き彫りにすることにあります。
MiroFishは何人のエージェントをシミュレートできますか?
このシステムは50~200人のエージェントを快適に処理できます。より大規模なシミュレーション(500人以上)も可能ですが、より多くの計算能力を必要とし、処理に時間がかかります。
エージェントの行動をカスタマイズできますか?
はい、可能です。活動パターン、影響力、スタンスの分布を変更できます。上級ユーザーは、シミュレーションを実行する前にエージェント設定を直接編集できます。
MiroFishは中国以外のシナリオもサポートしていますか?
デフォルトのタイムゾーン設定は、中国のソーシャルメディアの行動に合わせて最適化されています。他の地域の活動パターンは、時間設定を変更することでカスタマイズできます。
私のデータはプライベートに保たれますか?
ドキュメントはローカルで処理され、エンティティ抽出のためにZep Cloudに送信されます。Zepはサービス規約に従ってデータを保持します。機密性の高い資料については、ローカルのグラフデータベースの代替案の使用を検討してください。
結論
MiroFishは、現実世界で起こる前にソーシャルメディアのシナリオをテストできるデジタルパラレルワールドを作り出します。それぞれ異なる個性と行動パターンを持つ何百ものAIエージェントをシミュレートすることで、従来の分析ツールでは見落とされがちな、創発的な物語、対抗運動、影響力のある声が明らかになります。
政策発表の計画、オーディエンスの行動調査、あるいは文学的な「もしも」の探求など、MiroFishは複雑な社会ダイナミクスを理解するための新しい視点を提供します。
