MiroFish 调研报告
基于 GitHub 开源项目 666ghj/MiroFish 的深度技术调研
调研日期:2026-03-17
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 协作的场景
- 预算有限的个人开发者
- 需要开箱即用解决方案的团队
十、参考资料