引言
"传统预测工具失败的地方,不是因为缺少数据,而是因为它们忽略了个体交互涌现出的集体行为。"
这是「每日一个开源项目」系列的第 184 篇。今天的项目是 MiroFish —— 盛大集团支持的开源多 Agent 仿真预测引擎,2025 年 12 月发布,2026 年 3 月登顶 GitHub 全球趋势榜,现有 69,800 颗 Star。
MiroFish 的出发点很具体:给你一篇新闻报道或一份政策文件,你想预测接下来会发生什么,不是统计回归,而是"这件事在真实社会里会怎么演化"。MiroFish 的方案是建一个数字孪生世界——数千个 AI Agent 各有性格、记忆和社会关系,放进去模拟交互,看涌现出什么结果,最后给你一份带有深度分析的预测报告,你还可以直接和任何一个模拟中的 Agent 对话。
"预测任何事情的简单通用群体智能引擎"——这是它的口号。
69,800 Stars,10,900 Forks,AGPL-3.0。
你会学到什么
- 群体智能预测的核心逻辑:为什么要模拟个体交互
- MiroFish 的四步工作流:图构建 → 环境配置 → 仿真 → 报告生成
- GraphRAG + Zep 长期记忆:Agent 的"认知基础设施"
- 三个已验证的使用场景:舆情仿真、文学续写、未来预测
- ReportAgent + 深度交互:和模拟结果"对话"
- 安装和配置:Docker 或源码部署
前提知识
- 了解 LLM 和 AI Agent 的基本概念
- 熟悉 Docker 基础操作
- 对知识图谱(知道节点和边是什么)有基本认知
问题背景:预测为什么难
天气预报失效的地方不是缺少算力,是因为蝴蝶效应——初始条件的微小差异导致结果完全不同。社会预测的难度本质上也是这个:
- 一条政策发布,各行各业的人会有不同反应,这些反应会互相影响,最终涌现出一个谁也没有单独"设计"的宏观结果
- 一篇新闻在不同圈子里的传播路径完全不同,情绪演化、信息变形、群体分化,这些都不是简单的线性预测能捕捉的
传统预测工具(统计模型、专家系统)的局限在于:它们描述的是"平均行为",而真实结果往往是极端尾部和涌现现象。
MiroFish 的方案:不预测平均,模拟个体。把数千个有差异的 Agent 放进一个数字世界,让它们互相作用,观察涌现出的集体行为。
核心工作流:四步 + 深度交互
Step 1:图构建(Graph Building)
输入种子材料:新闻文章、研究报告、小说章节……任何文本都行。
引擎用 GraphRAG 从种子材料里提取知识图谱:
- 识别实体(人物、组织、地点、事件)
- 提取实体间的关系
- 注入个体记忆和集体记忆
种子材料(武汉大学新闻报道)
→ GraphRAG 实体提取
→ 构建社交关系网络
→ 注入历史背景记忆
→ 输出:知识图谱 + 记忆基础Step 2:环境配置(Environment Setup)
基于知识图谱生成仿真环境的各个组件:
- 实体关系提取:从图谱里确定谁和谁有关联
- 人格生成:为每个 Agent 生成独立的性格、立场、价值观
- Agent 配置:把人格、记忆、社会关系写入每个 Agent 的初始状态
每个 Agent 是真正独立的个体,不是同一个模板的副本。一个保守派中年教授和一个活跃的大学生在面对同一则新闻时,会有截然不同的反应和传播行为。
Step 3:仿真(Simulation)
双平台并行仿真,底层基于 CAMEL-AI 团队的 OASIS 框架:
- 自动解析预测需求:从你的目标描述里提取仿真参数
- 动态时序记忆更新:Agent 的记忆随仿真时间推进而更新,早期事件影响后期决策
- "上帝视角"变量注入:仿真进行中可以动态注入新事件,观察扰动后的演化路径
仿真过程中,数千个 Agent 在平行时间线上交互,产生海量的对话、决策和行为记录。
Step 4:报告生成(Report Generation)
仿真结束后,ReportAgent 接管:
- 分析仿真全程的数据
- 识别关键转折点和驱动因素
- 使用 ReACT 工具集做深度推理(包括 web_search 工具,可以把仿真预测和现实数据交叉验证)
- 输出结构化预测报告:趋势分析、风险点、概率评估
Step 5:深度交互
报告不是终点。你可以直接和任何一个仿真中的 Agent 对话:
用户:你在这次事件里为什么选择转发这条消息?
Agent(张教授):我看到消息的时候正在开会,第一反应是
这和我去年研究的一个案例很像……也可以和 ReportAgent 对话,追问报告里的任何细节,或者要求它重新分析某个角度。
技术架构
前端(Node.js 18+)
↕
后端(Python 3.11-3.12)
├── GraphRAG 模块 ← 知识图谱构建
├── OASIS 仿真引擎 ← CAMEL-AI 开源框架
├── Zep Cloud ← Agent 长期记忆存储
├── LLM 接口 ← OpenAI 兼容 API
└── ReportAgent ← ReACT 工具集推理关键组件说明:
OASIS(CAMEL-AI):开源的大规模多 Agent 社会仿真框架,专门为"数千 Agent 并发互动"场景设计,是 MiroFish 的仿真引擎底座。
Zep Cloud:专为 AI Agent 设计的长期记忆服务,让 Agent 在跨越多个时间步的仿真里保持记忆一致性。免费 tier 足够基本使用。
GraphRAG:微软开源的基于知识图谱的 RAG 方案,在 MiroFish 里负责从种子材料里结构化提取知识,为 Agent 提供背景记忆。
推荐 LLM:官方推荐阿里云 Qwen-plus,也支持任何 OpenAI 兼容接口(GPT-4o、Claude、本地 Ollama 等)。
三个验证场景
场景一:舆情演化仿真
种子:武汉大学某事件的新闻报道
目标:预测社交媒体上的舆论走向
MiroFish 生成了代表不同群体的 Agent(学生、教师、媒体、管理层),模拟信息在不同圈子里的传播、变形、放大过程,输出舆论演化路径预测。
场景二:文学结局推断
种子:《红楼梦》前 80 回
目标:推断后 40 回(曹雪芹原稿遗失部分)的可能结局
这个案例很有意思:MiroFish 把《红楼梦》里的人物作为 Agent,基于前 80 回的人物关系和性格设定,让他们继续"活着"互动,观察故事的自然演化走向。
场景三:金融和政治预测
标注为"即将支持"。已有 demo 展示基于财经新闻的市场情绪演化仿真。
安装和快速上手
环境变量准备
cp .env.example .env编辑 .env,填入:
LLM_API_KEY=your_api_key
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 # 阿里云 Qwen
LLM_MODEL_NAME=qwen-plus
ZEP_API_KEY=your_zep_cloud_key # zep.us 注册,免费 tier 够用Docker 部署(推荐)
docker compose up -d
# 前端:http://localhost:3000
# 后端:http://localhost:5001源码部署
npm run setup:all # 安装前后端所有依赖
npm run dev # 启动开发模式项目地址与资源
- 🌟 GitHub: 666ghj/MiroFish
- 🌐 官网: mirofish.ai
- 🎮 Live Demo: 666ghj.github.io/mirofish-demo
- 💬 Discord: discord.gg/ePf5aPaHnA
- 🐦 Twitter/X: @mirofish_ai
- 📧 团队邮箱: mirofish@shanda.com(招募全职和实习)
- 🔧 仿真引擎: CAMEL-AI/OASIS
总结
MiroFish 代表的是一种预测范式的转变:从"统计历史数据推断趋势"到"模拟社会个体交互观察涌现"。
这两种方式各有适用场景。统计模型在趋势延续的场景里准确而高效。但当你面对的是一个高度非线性的社会系统——新政策冲击、突发事件扩散、复杂的群体博弈——线性外推往往在关键时刻失效,因为它捕捉不到个体异质性和互动产生的涌现行为。
MiroFish 的技术路线图里也反映了这个判断:舆情和文学续写只是起点,金融和政治预测才是更有价值的应用目标,也是技术真正接受检验的地方。
2025 年 12 月发布,2026 年 3 月登顶 GitHub 全球趋势,这个速度说明"可仿真的预测"这件事击中了很多人的想象。
探索 PrimeSkills —— 精选 AI Agent 与技能的市场,每一个都经过真实企业工作流验证,去掉浮夸,留下真正有用的。
欢迎访问我的个人主页,发现更多有价值的见解和有趣的产品。