MiroFish:一款简单通用的群体智能预测引擎,能让未来在数字世界里先跑一遍
摘要
MiroFish 是一个基于多智能体的 AI 预测与仿真系统,只需上传现实世界的种子材料(新闻、报告、小说、政策草案等)并用自然语言描述想预测什么,它就能自动构建包含上千个独立人格智能体的数字平行世界,让这些智能体自由交互、产生群体涌现,最终输出详细预测报告并提供可深度对话的仿真环境。目前版本 v0.1.0,主要在 Mac 上开发与验证,推荐使用阿里通义千问 qwen-plus 模型驱动。
为什么我们需要这样一款“预测万物”的工具?
很多人都有过这样的时刻:
-
看到一条突发新闻,想知道这件事半年后会演变成什么样子 -
写小说写到关键节点,不确定主角做了 A 选择还是 B 选择,故事走向会差多远 -
公司要推一个新政策,但不敢直接全量上线,想先看看舆论和行为会怎么反应 -
对某个历史事件或文学经典的结局有全新脑洞,想看看“如果当时……”会发生什么
传统的数据分析、统计模型或者单一大模型问答,都很难很好地回答这类高度开放、充满社会交互和长期演化的“如果”问题。
MiroFish 试图用一种更贴近真实世界的方式来回答:不再靠公式拟合,也不再只靠一个超级聪明的大脑推理,而是真的让几千个有记忆、有个性、会吵架、会妥协、会跟风的数字“人”在沙盘里活一遍。
MiroFish 到底在做什么?一句话解释
你给它现实世界的一小块“种子”(可以是一篇舆情分析报告、一段小说情节、几条金融新闻),再告诉它你想知道什么(“这件事三个月后舆论会怎样?”“主角选了另一条路结局会如何?”),它就会:
-
把种子里的角色、关系、事件抽取出来 -
给几百到几千个数字人分配独立的人设、长期记忆 -
让他们在同一个数字世界里按自己的性格和利益去互动、碰撞、演化 -
在这个过程中持续观察、记录关键指标的变化 -
最后给你一份结构化的预测报告 + 一个可以随便找里面任何人聊天的数字世界
简单说,它在用群体智能 + 社会计算 + 大模型角色扮演的方式,让“未来”在电脑里先预演一遍。
系统核心工作流程(5个主要阶段)
MiroFish 把整个预测过程切成了下面五个清晰的阶段:
-
图谱构建阶段
-
从你上传的种子材料里提取实体、关系、事件 -
利用 GraphRAG 技术构建知识图谱 -
为主要角色注入长期记忆(基于 Zep 记忆系统)
-
-
数字世界环境搭建阶段
-
实体关系进一步精炼 -
批量生成每个智能体的人设(性格、立场、背景、动机) -
配置仿真环境参数(时间流速、随机扰动强度等)
-
-
并行仿真阶段
-
启动双平台并行模拟(目前主要依赖 OASIS 框架) -
智能体按照自己的记忆和当前世界状态自主决策、行动、对话 -
系统自动识别你关心的预测目标,动态更新时序记忆
-
-
报告生成阶段
-
ReportAgent(专门的报告智能体)拥有丰富的分析工具 -
它会主动与仿真环境深度交互,提取关键事实、趋势、转折点 -
最终输出结构化、可读性强的预测报告
-
-
深度互动与追问阶段
-
用户可以随时找仿真世界里的任意一个智能体对话 -
也可以继续跟 ReportAgent 追问“为什么会这样?”“如果我改这个变量呢?”
-
这五个阶段基本覆盖了从“输入现实片段”到“得到可交互数字未来”的完整闭环。
前置硬件与软件环境要求(2025-2026 实测配置)
MiroFish 项目明确标注主要在 Mac 环境下开发与验证,Windows 兼容性还在测试中。
| 项目 | 要求 | 检测命令 | 备注 |
|---|---|---|---|
| 操作系统 | macOS(优先),Windows(测试中) | — | Linux 未明确提及 |
| Node.js | 18.x 及以上 | node -v |
前端 + 部分工具依赖 npm |
| Python | 3.11.x ~ 3.12.x | python --version |
不可使用 3.10 或 3.13 |
| 包管理器 | uv(推荐)或 pip | uv --version |
项目强烈推荐使用 uv 创建虚拟环境 |
| 内存 | 建议 ≥ 32GB(跑 1000+ 智能体时) | — | 小规模实验 16GB 可勉强运行 |
| LLM API 费用 | 按 token 计费,消耗较大 | — | 40 轮以内小实验较为经济 |
5分钟快速上手完整步骤(v0.1.0)
第一步:克隆仓库并复制环境变量文件
git clone https://github.com/666ghj/MiroFish.git
cd MiroFish
cp .env.example .env
第二步:填写必须的两个 API Key
用文本编辑器打开 .env,至少填入下面两项:
# 推荐阿里百炼 qwen-plus(性价比相对较高)
LLM_API_KEY=sk-你的百炼key
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL_NAME=qwen-plus
# Zep Cloud 记忆服务(每月免费额度够小规模使用)
ZEP_API_KEY=你的_zep_cloud_key
提示:如果暂时没有 Zep,可以先尝试不填,但长期记忆能力会大幅下降。
第三步:一键安装所有依赖
# 最推荐的方式(一次搞定前后端)
npm run setup:all
如果失败,可以分开执行:
npm run setup # 前端 + 根目录依赖
npm run setup:backend # 后端 Python 依赖(会自动创建 .venv)
第四步:启动服务
# 推荐:同时启动前后端
npm run dev
启动后访问:
-
前端交互界面:http://localhost:3000 -
后端 API:http://localhost:5001
你也可以分开启动:
npm run backend
# 另开一个终端
npm run frontend
系统截图一览(直观感受交互界面)
以下是官方 README 中提供的几张代表性截图,基本可以反映实际使用时的界面风格:
(此处应展示运行截图1-6)
-
第一张:整体 dashboard,左侧种子上传区,右侧世界概览 -
第二张:智能体列表,可查看当前在线人数、活跃度分布 -
第三张:单智能体详细记忆卡片与人设 -
第四张:时间线视图,关键事件自动标注 -
第五张:ReportAgent 生成的结构化预测报告 -
第六张:与任意智能体实时对话界面
目前已验证的典型使用场景
虽然项目还处于 v0.1.0 早期阶段,但官方已给出几个有代表性的演示方向:
-
高校舆情推演
输入:武大某事件舆情分析报告
预测:事件发酵3个月后的舆论走向、重点情绪关键词变化 -
文学/影视结局脑洞
输入:《红楼梦》前80回主要人物关系与关键情节
预测:如果贾宝玉最终选择不同道路,人物命运走向 -
金融/市场情绪模拟
输入:某公司突发利空新闻 + 近期研报
预测:散户、机构、媒体在接下来两周的可能反应链 -
政策影响预演
输入:某城市新交通政策草案全文
预测:不同收入阶层、不同年龄段市民的接受度与行为改变
项目的愿景与边界(官方原文提炼)
官方用两句话概括了 MiroFish 的定位:
于宏观:我们是决策者的预演实验室,让政策与公关在零风险中试错
于微观:我们是个人用户的创意沙盘,无论是推演小说结局还是探索脑洞,皆可有趣、好玩、触手可及
目前明确的边界与限制:
-
智能体数量建议控制在几百到两三千,再多对内存和 API 费用压力很大 -
时间跨度最长验证到数月级别,超长周期(几年以上)尚未充分测试 -
目前最稳定、最推荐的模型是 qwen-plus,其他模型兼容性需自行验证 -
Windows 支持还在测试,优先使用 Mac
常见问题(FAQ)
Q1:跟直接问大模型相比,MiroFish 的优势到底在哪里?
A:单一大模型倾向于“逻辑自洽的单线程推理”,而 MiroFish 是“多线程社会级碰撞”。很多出乎意料的群体涌现现象,只有真正让大量个体交互后才会出现,这是单模型很难模拟的。
Q2:跑一次仿真大概要花多少钱?
A:高度依赖你设定的智能体数量、对话轮数和模型单价。以 qwen-plus + 1000 智能体 + 40 轮仿真为例,费用通常在几十到两百多元人民币之间。小规模实验(200-300 智能体,20 轮以内)可以压到 10-30 元。
Q3:能不能只用本地模型跑?
A:目前官方文档没有提供纯本地部署方案,所有仿真都依赖远程 LLM API。但理论上只要是 OpenAI 兼容接口的本地模型(Ollama、vLLM 等)都可以替换。
Q4:我只想随便玩玩,能不能不用 Zep?
A:可以,但没有长期记忆,每个智能体的行为一致性会明显下降,适合做短周期、趣味向的快闪实验。
Q5:仿真结果可信吗?
A:MiroFish 目前更像一个“高质量的条件生成式社会沙盘”,而不是严格的科学预测工具。它的价值在于提供“一种可能性的完整展开路径”以及“意料之外的涌现现象”,而不是给出确定性的概率数值。
最后:谁适合现在就去试试 MiroFish?
如果你符合下面任意一条,很可能用得上它:
-
对多智能体(Multi-Agent)系统特别感兴趣,想亲手玩一个完整的开源实现 -
经常写小说、剧本,需要快速验证多种分支结局 -
做舆情分析、品牌公关,需要看更长期、更立体的社会反应 -
喜欢“如果……会怎样”这类思想实验,并且愿意自己动手配置环境
项目目前还在快速迭代早期(v0.1.0),代码、文档、示例都会持续更新。官方交流群和招聘通道也已打开。
想让未来先在数字世界里跑一遍,再决定要不要在现实里下注?
MiroFish 可能就是你现在能找到的最直接、最有趣的工具之一。
(全文完,约 3400 字)
