MiroFish 调研报告

MiroFish 调研报告

基于 GitHub 开源项目 666ghj/MiroFish 的深度技术调研

调研日期:2026-03-17


一、项目概述

1.1 基本信息

属性 信息
项目名称 MiroFish (迷鱼)
GitHub https://github.com/666ghj/MiroFish
开发者 666ghj (独立开发者)
技术基础 OASIS (CAMEL-AI)
核心定位 群体智能预测引擎
开源状态 开源
融资情况 盛大集团 3000 万人民币天使投资

1.2 一句话介绍

MiroFish 是一个基于 OASIS 框架构建的群体智能预测引擎,能够模拟数百万个具有独立人格和社交关系的 AI Agent,通过构建高保真平行数字世界来预测社会趋势和舆情走向。

1.3 发展历程

2024 年
├── BettaFish (微舆) 发布 - 舆情分析工具
├── MiroFish 开发启动 - 基于群体智能的预测引擎
└── 获得盛大集团 3000 万天使投资

2025 年
├── 集成 OASIS 框架 (CAMEL-AI)
├── 支持 GraphRAG 知识图谱
└── GitHub 开源发布

1.4 核心价值

  • 预测能力:通过大规模 Agent 模拟预测舆情和社会趋势
  • 数字孪生:构建现实世界的高保真平行数字世界
  • 深度洞察:理解群体行为背后的驱动因素
  • 交互探索:可与模拟世界和报告 Agent 对话

二、核心功能

2.1 功能概览

功能模块 描述 应用场景
图谱构建 从现实数据提取种子,构建知识图谱 数据驱动的模拟初始化
人设生成 为每个 Agent 生成独立人格和背景 真实的群体行为模拟
社交模拟 模拟社交平台上的互动行为 舆情传播分析
趋势预测 预测话题热度和舆情走向 危机预警、市场预测
报告生成 自动生成分析报告 决策支持
深度互动 与模拟世界对话探索 因果分析、假设验证

2.2 核心功能详解

2.2.1 大规模 Agent 模拟

规模能力:
├── 支持同时运行 1,000,000+ 个 Agent
├── 每个 Agent 具有独立的人格特征
├── 基于真实人口统计数据建模
└── 动态社交网络演化

Agent 特征维度: - 人口统计信息(年龄、性别、职业、地区) - 心理特征(性格、价值观、兴趣) - 社交关系(关注/被关注关系) - 行为模式(活跃时间、互动偏好)

2.2.2 GraphRAG 知识注入

知识图谱构建:
┌─────────────────────────────────────────────┐
│  现实数据源                                  │
│  ├── 新闻报道                                │
│  ├── 社交媒体                                │
│  ├── 用户画像                                │
│  └── 历史事件                                │
└──────────────────┬──────────────────────────┘
                   ▼
┌─────────────────────────────────────────────┐
│  GraphRAG 处理                               │
│  ├── 实体抽取                                │
│  ├── 关系抽取                                │
│  ├── 知识融合                                │
│  └── 图谱存储                                │
└──────────────────┬──────────────────────────┘
                   ▼
┌─────────────────────────────────────────────┐
│  Agent 记忆注入                              │
│  ├── 个体记忆 (Personal Memory)              │
│  ├── 群体记忆 (Collective Memory)            │
│  └── 时序记忆 (Episodic Memory)              │
└─────────────────────────────────────────────┘

2.2.3 双平台并行模拟

MiroFish 支持同时在多个社交平台进行模拟:

平台类型 模拟内容 特点
微博类 短文本、转发、评论 舆情爆发快、传播广
推特类 国际化、话题标签 跨文化、实时性强
论坛类 深度讨论、主题帖 观点沉淀、意见领袖

2.2.4 ReportAgent 深度交互

交互模式:
┌─────────────────────────────────────────────┐
│           ReportAgent                        │
│  ├── 分析模拟结果                            │
│  ├── 生成结构化报告                          │
│  └── 回答用户问题                            │
└──────────────────┬──────────────────────────┘
                   │
        ┌──────────┴──────────┐
        ▼                     ▼
┌───────────────┐     ┌───────────────┐
│  与模拟世界对话  │     │  与报告Agent对话 │
│  - 探索特定话题  │     │  - 深入分析原因  │
│  - 追踪个体Agent │     │  - 验证假设     │
│  - 观察传播路径  │     │  - 获取洞察     │
└───────────────┘     └───────────────┘

三、技术架构

3.1 整体架构

┌─────────────────────────────────────────────────────────────────────────┐
│                          MiroFish 系统架构                               │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐  ┌────────────┐        │
│  │  前端界面   │  │  可视化层  │  │  交互层    │  │  报告层    │        │
│  │  (React)   │  │ (D3/Chart) │  │  (Chat)    │  │ (Markdown) │        │
│  └─────┬──────┘  └─────┬──────┘  └─────┬──────┘  └─────┬──────┘        │
│        │               │               │               │                │
│        └───────────────┴───────────────┴───────────────┘                │
│                                │                                         │
│  ┌─────────────────────────────┴─────────────────────────────────────┐  │
│  │                        API Gateway (FastAPI)                        │  │
│  └─────────────────────────────┬─────────────────────────────────────┘  │
│                                │                                         │
│  ┌─────────────────────────────┼─────────────────────────────────────┐  │
│  │                             │            OASIS 框架层               │  │
│  │  ┌──────────────┐  ┌────────┴────────┐  ┌──────────────┐          │  │
│  │  │ Environment  │  │ Recommendation  │  │    Agent     │          │  │
│  │  │    Server    │  │     System      │  │   Module     │          │  │
│  │  └──────────────┘  └─────────────────┘  └──────────────┘          │  │
│  │  ┌──────────────┐  ┌─────────────────┐  ┌──────────────┐          │  │
│  │  │ Time Engine  │  │   Scalable      │  │   GraphRAG   │          │  │
│  │  │              │  │   Inferencer    │  │              │          │  │
│  │  └──────────────┘  └─────────────────┘  └──────────────┘          │  │
│  └───────────────────────────────────────────────────────────────────┘  │
│                                │                                         │
│  ┌─────────────────────────────┴─────────────────────────────────────┐  │
│  │                         基础设施层                                  │  │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐          │  │
│  │  │  Redis   │  │ MongoDB  │  │ Neo4j    │  │   LLM    │          │  │
│  │  │ (Cache)  │  │  (Log)   │  │ (Graph)  │  │  (GPT-4) │          │  │
│  │  └──────────┘  └──────────┘  └──────────┘  └──────────┘          │  │
│  └───────────────────────────────────────────────────────────────────┘  │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

3.2 核心模块说明

Environment Server (环境服务器)

# 环境服务器负责管理模拟环境
class EnvironmentServer:
    """
    功能:
    - 维护模拟世界的状态
    - 管理社交图谱
    - 处理 Agent 交互
    - 记录历史数据
    """
    def __init__(self, config):
        self.social_graph = SocialGraph()
        self.content_store = ContentStore()
        self.time_manager = TimeManager()

    def step(self, actions):
        """执行一个时间步的所有动作"""
        pass

Recommendation System (推荐系统)

# 推荐系统决定 Agent 看到什么内容
class RecommendationSystem:
    """
    功能:
    - 基于兴趣推荐内容
    - 基于社交关系推荐
    - 模拟算法偏见
    - 控制信息流
    """
    def get_feed(self, agent_id, context):
        """为 Agent 生成个性化信息流"""
        pass

Agent Module (Agent 模块)

# Agent 模块定义个体行为
class Agent:
    """
    特征:
    - 独立的人格系统
    - 记忆和知识库
    - 决策和行为生成
    - 社交能力
    """
    def __init__(self, profile, memory, personality):
        self.profile = profile          # 人口统计
        self.memory = memory            # GraphRAG 记忆
        self.personality = personality  # 大五人格

    def decide(self, observation):
        """基于观察做出决策"""
        pass

    def act(self, decision):
        """执行决策,生成行为"""
        pass

Scalable Inferencer (可扩展推理器)

# 可扩展推理器支持大规模并行推理
class ScalableInferencer:
    """
    特点:
    - 支持百万级 Agent 并行
    - 批量 LLM 调用优化
    - 分布式部署支持
    - 成本控制
    """
    def batch_infer(self, agent_states):
        """批量推理优化"""
        pass

3.3 数据流

┌─────────────────────────────────────────────────────────────────────────┐
│                        MiroFish 数据流                                   │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  1. 图谱构建阶段                                                          │
│  ┌─────────┐    ┌─────────┐    ┌─────────┐    ┌─────────┐              │
│  │ 现实数据 │ -> │ 实体抽取 │ -> │ 关系抽取 │ -> │ 图谱构建 │              │
│  └─────────┘    └─────────┘    └─────────┘    └─────────┘              │
│                                                                          │
│  2. 环境搭建阶段                                                          │
│  ┌─────────┐    ┌─────────┐    ┌─────────┐    ┌─────────┐              │
│  │ 人口数据 │ -> │ 人设生成 │ -> │ 关系建立 │ -> │ 环境初始化│              │
│  └─────────┘    └─────────┘    └─────────┘    └─────────┘              │
│                                                                          │
│  3. 模拟运行阶段                                                          │
│  ┌─────────┐    ┌─────────┐    ┌─────────┐    ┌─────────┐              │
│  │ 时间推进 │ -> │ Agent观察│ -> │ 决策推理 │ -> │ 行为执行 │              │
│  └─────────┘    └─────────┘    └─────────┘    └─────────┘              │
│       │                                                 │               │
│       └─────────────────────────────────────────────────┘               │
│                        循环                                               │
│                                                                          │
│  4. 报告生成阶段                                                          │
│  ┌─────────┐    ┌─────────┐    ┌─────────┐    ┌─────────┐              │
│  │ 数据聚合 │ -> │ 趋势分析 │ -> │ 洞察提取 │ -> │ 报告生成 │              │
│  └─────────┘    └─────────┘    └─────────┘    └─────────┘              │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

四、OASIS 框架

4.1 框架介绍

OASIS (Open Agent Social Interaction Simulations) 是 CAMEL-AI 团队开发的开源社交模拟框架,MiroFish 基于此框架构建。

属性 信息
开发者 CAMEL-AI
GitHub https://github.com/camel-ai/oasis
论文 OASIS: Open Agent Social Interaction Simulations
定位 社交媒体模拟通用框架

4.2 OASIS 核心特性

OASIS 框架能力:
├── 可扩展性
│   ├── 支持 1,000,000+ Agent
│   └── 分布式部署
├── 真实性
│   ├── 基于真实人口数据
│   ├── 真实社交图谱
│   └── 真实行为模式
├── 完整性
│   ├── 多平台支持
│   ├── 完整社交功能
│   └── 时间动态演化
└── 开放性
    ├── 模块化设计
    ├── 插件扩展
    └── 研究友好

4.3 OASIS vs MiroFish 关系

┌─────────────────────────────────────────────────────────────────┐
│                         MiroFish                                 │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │  增强功能:                                                 │  │
│  │  ├── GraphRAG 知识注入                                      │  │
│  │  ├── 中文语境优化                                           │  │
│  │  ├── 舆情预测模型                                           │  │
│  │  ├── 报告生成 Agent                                         │  │
│  │  └── 用户交互界面                                           │  │
│  └───────────────────────────────────────────────────────────┘  │
│                              │                                   │
│                              ▼                                   │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │                      OASIS 框架                             │  │
│  │  ├── Environment Server                                     │  │
│  │  ├── Recommendation System                                  │  │
│  │  ├── Agent Module                                           │  │
│  │  ├── Time Engine                                            │  │
│  │  └── Scalable Inferencer                                    │  │
│  └───────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────┘

五、使用场景

5.1 适用场景

场景 描述 价值
舆情预测 预测话题传播和舆论走向 危机预警、公关策略
政策模拟 模拟政策发布后的社会反应 政策优化、风险评估
市场研究 模拟消费者群体行为 产品定位、营销策略
危机演练 模拟危机事件传播 应急预案、响应训练
学术研究 社会行为、传播学研究 理论验证、数据生成

5.2 典型用例

用例 1:新品发布舆情预测

输入:
- 产品信息
- 目标用户群体画像
- 初始传播策略

模拟过程:
1. 构建目标用户群体的数字孪生
2. 模拟产品信息在社交网络传播
3. 观察 Agent 的反应和互动
4. 分析舆情走向和关键节点

输出:
- 预计传播范围
- 潜在负面反应
- 关键意见领袖识别
- 优化建议

用例 2:危机事件应对演练

输入:
- 危机事件描述
- 企业/机构背景
- 应对方案选项

模拟过程:
1. 注入危机事件到模拟世界
2. 观察不同应对方案的效果
3. 分析舆论演化路径
4. 识别关键时间窗口

输出:
- 各方案效果对比
- 最佳响应时机
- 风险点预警
- 沟通策略建议

5.3 不适用场景

  • 需要精确预测的场景:模拟结果为概率性预测,非确定性
  • 实时响应场景:大规模模拟需要较长时间
  • 小规模群体:小群体用传统方法更高效
  • 完全封闭系统:需要外部数据输入

六、对比分析

6.1 与其他 Multi-Agent 框架对比

特性 MiroFish LangGraph CrewAI AutoGen OpenAI Swarm
核心定位 群体智能预测 工作流编排 团队协作 多 Agent 对话 轻量级 Swarm
Agent 规模 1,000,000+ 10-100 3-10 2-10 10-100
社交模拟 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐
人设系统 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐⭐
知识注入 GraphRAG 向量库 向量库 向量库 无内置
可视化 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐
开箱即用 ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
中文支持 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐

6.2 技术栈对比

                    MiroFish          行业通用方案
                    ─────────         ──────────────
框架层              OASIS             LangGraph/CrewAI
知识层              GraphRAG          Vector RAG
人格系统            大五人格 + 人口统计  简单 Prompt
社交网络            动态图谱           静态拓扑
推理优化            批量推理           单次推理
规模                百万级             十/百级

6.3 选型建议

需求场景 推荐选择 原因
大规模社交模拟 MiroFish 专为社交模拟设计,支持百万 Agent
工作流自动化 LangGraph 灵活的图编排,适合复杂流程
快速原型开发 CrewAI 开箱即用,学习曲线平缓
研究对话 Agent AutoGen 对话机制完善,研究友好
简单任务分发 OpenAI Swarm 轻量级,易于上手

七、安装配置

7.1 环境要求

工具 版本要求 说明
Node.js 18+ 前端运行环境
Python ≥3.11, ≤3.12 后端运行环境
uv 最新版 Python 包管理器
Redis 6.0+ 缓存和消息队列
MongoDB 5.0+ 日志和状态存储
Neo4j 4.4+ 知识图谱存储

7.2 安装步骤

# 1. 克隆仓库
git clone https://github.com/666ghj/MiroFish.git
cd MiroFish

# 2. 安装前端依赖
cd frontend
npm install

# 3. 安装后端依赖 (使用 uv)
cd ../backend
uv pip install -r requirements.txt

# 4. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入:
# - OPENAI_API_KEY
# - REDIS_URL
# - MONGODB_URL
# - NEO4J_URL

# 5. 启动服务
# 启动后端
cd backend
uvicorn main:app --reload

# 启动前端 (新终端)
cd frontend
npm run dev

7.3 配置说明

# config.yaml 示例
simulation:
  max_agents: 100000        # 最大 Agent 数量
  time_step: 3600           # 时间步长(秒)
  platforms:                # 模拟平台
    - weibo
    - twitter

agent:
  personality_model: "big5" # 人格模型
  memory_type: "graphrag"   # 记忆类型

llm:
  provider: "openai"
  model: "gpt-4-turbo"
  temperature: 0.7

inference:
  batch_size: 100           # 批量推理大小
  max_concurrent: 50        # 最大并发数

八、最佳实践

8.1 Agent 人设设计

# 好的人设设计应该包含多个维度
agent_profile = {
    # 人口统计
    "demographics": {
        "age": 28,
        "gender": "female",
        "occupation": "software_engineer",
        "location": "beijing"
    },

    # 心理特征 (大五人格)
    "personality": {
        "openness": 0.8,        # 开放性
        "conscientiousness": 0.7, # 尽责性
        "extraversion": 0.5,    # 外向性
        "agreeableness": 0.6,   # 宜人性
        "neuroticism": 0.3      # 神经质
    },

    # 兴趣标签
    "interests": ["technology", "gaming", "coffee"],

    # 行为模式
    "behavior": {
        "active_hours": [9, 23],  # 活跃时间
        "post_frequency": 3,       # 日均发帖
        "interaction_style": "thoughtful"  # 互动风格
    }
}

8.2 模拟参数调优

参数调优建议:

1. Agent 数量
   - 测试阶段:1,000 - 10,000
   - 生产环境:100,000 - 1,000,000
   - 注意:数量越大,成本越高

2. 模拟时长
   - 短期事件:7-30 天虚拟时间
   - 长期趋势:90-180 天虚拟时间
   - 建议:先短后长,逐步验证

3. 采样策略
   - 全量采样:结果准确,成本高
   - 分层采样:代表性采样,性价比高
   - 建议:先用分层采样验证,再全量确认

8.3 结果解读

解读模拟结果的注意事项:

1. 概率性结果
   - 模拟结果是概率预测,非确定性
   - 多次运行取平均
   - 关注趋势而非精确数值

2. 偏差来源
   - 人设数据偏差
   - LLM 固有偏见
   - 推荐算法模拟偏差
   - 需要交叉验证

3. 关键指标
   - 传播速度 (Reach Rate)
   - 情感分布 (Sentiment Distribution)
   - 关键节点 (Key Influencers)
   - 舆论转折点 (Tipping Points)

九、总结

9.1 优势

优势 说明
规模优势 支持百万级 Agent,行业领先
真实性 基于真实数据建模,高保真模拟
知识驱动 GraphRAG 注入领域知识
可交互 支持与模拟世界对话探索
开源 完全开源,可自由定制

9.2 劣势

劣势 说明
学习曲线 需要理解 OASIS 框架和 GraphRAG
资源需求 大规模模拟需要大量计算资源
LLM 成本 百万级 Agent 推理成本较高
部署复杂 依赖多个基础设施组件
文档 相比成熟框架文档较少

9.3 最终评价

推荐指数:⭐⭐⭐⭐ (4/5)

适合人群:
- 需要进行大规模社交模拟的研究者
- 舆情分析和预测从业者
- 对数字孪生技术感兴趣的开发者
- 社会科学计算研究者

不建议人群:
- 只需要简单 Agent 协作的场景
- 预算有限的个人开发者
- 需要开箱即用解决方案的团队

十、参考资料