前言
你有没有想过,如果能提前预知一条政策发布后网民的反应,或者一场公关危机可能带来的连锁影响?
传统舆情分析依赖历史数据和专家经验,本质上是「向后看」。但 MiroFish 给了我们一个全新的思路:让 AI 构建一个高保真的数字平行世界,让成千上万个具备独立人格、长期记忆的智能体在其中自由交互,然后观察群体行为的涌现。
这就是所谓的「群体智能」(Swarm Intelligence)。
MiroFish 是 2025 年开源的多智能体预测引擎,底层由 OASIS 仿真引擎驱动。它可以接收任意种子材料(新闻稿、分析报告、甚至小说情节),自动构建数字世界,然后输出预测报告。
我们今天就从零开始,部署 MiroFish 并构建一个简单的舆情推演系统。
核心概念
在动手之前,我们先理解几个关键概念。
种子信息
种子信息是预测的起点。可以是一篇新闻报道、一份金融分析报告、一段小说情节,甚至是一段社交媒体上的热门讨论。MiroFish 会从这些材料中提取关键实体、人物关系和事件背景。
数字平行世界
这是 MiroFish 最核心的创新。它不是简单让 AI 生成一段文字,而是真正构建一个「世界」:
- 每个智能体有独立的人格、记忆和行为逻辑
- 智能体之间会交互、传播信息、形成派系
- 整个系统会涌现出个体行为无法预测的群体特征
想象一下,你投放一条假新闻到这个世界,观察它如何发酵、反转、最终形成舆情——这就是数字平行世界的力量。
工作流程
MiroFish 的完整工作流程分为 5 步:
- 图谱构建:从种子材料中提取实体、关系,构建知识图谱
- 环境搭建:生成智能体人设,配置仿真参数
- 模拟运行:双平台并行模拟,动态更新记忆
- 报告生成:ReportAgent 分析模拟结果,生成预测报告
- 深度互动:你可以与模拟世界中的任意角色对话
环境准备
MiroFish 是一个全栈项目,前端 + 后端分开部署。
硬件要求
| 配置 | 推荐 | 最低 |
|---|---|---|
| CPU | 8 核 | 4 核 |
| 内存 | 16 GB | 8 GB |
| 存储 | 50 GB SSD | 20 GB |
| GPU | 可选 | N/A |
WARNING
如果你要运行超过 40 轮模拟,内存最好 16GB 以上。模拟过程中每个智能体都会维护独立记忆,内存消耗会快速增长。
软件依赖
| 工具 | 版本要求 | 说明 |
|---|---|---|
| Node.js | 18+ | 前端运行环境 |
| Python | ≥3.11, ≤3.12 | 后端运行环境 |
| uv | 最新版 | Python 包管理器 |
检查一下你的环境:
node -v # 应该 >= 18.0.0
python --version # 应该在 3.11 - 3.12 之间
uv --version
快速部署
我们用源码部署方式来演示,这样你可以更灵活地定制。
1. 克隆项目
git clone https://github.com/666ghj/MiroFish.git
cd MiroFish
2. 配置环境变量
cp .env.example .env
编辑 .env 文件,填入你的 API 配置。这里有两种选择:
方案 A:使用阿里百炼(官方推荐)
LLM_API_KEY=your_aliyun_api_key
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL_NAME=qwen-plus
方案 B:使用其他 OpenAI 兼容 API
LLM_API_KEY=your_api_key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL_NAME=gpt-4o
还需要配置 Zep Cloud(用于智能体记忆管理):
ZEP_API_KEY=your_zep_api_key
TIP
Zep Cloud 每月有免费额度,足够入门使用。注册地址:https://app.getzep.com/
3. 安装依赖
npm run setup:all
这会同时安装:
- 根目录的 Node 依赖
- 前端依赖
- Python 依赖(自动创建虚拟环境)
如果网络慢,可以分步执行:
npm run setup # 前端
npm run setup:backend # 后端
4. 启动服务
npm run dev
服务启动后:
- 前端:
http://localhost:3000 - 后端 API:
http://localhost:5001
Docker 部署备选
如果你想快速上手,也可以用 Docker:
# 1. 配置环境变量
cp .env.example .env
# 2. 启动容器
docker compose up -d
Docker 方式会自动映射 3000(前端)和 5001(后端)端口。
实战演练
现在我们来创建一个舆情推演任务。
1. 访问 Web UI
浏览器打开 http://localhost:3000,你会看到 MiroFish 的主界面。
2. 创建预测任务
点击「新建预测」,选择「舆情推演」类型。
3. 输入种子材料
在文本框中输入一段新闻素材,比如:
某知名互联网公司今日宣布将裁员 10% 的员工,理由是业务调整需要更加聚焦核心领域。
消息一出,立刻在社交媒体上引发热议。部分员工表示不满,
认为公司没有提前沟通;也有网友表示理解企业的经营压力。
该公司 CEO 在内部信中强调,这是艰难但必要的决定,
公司将提供优厚的离职补偿并帮助员工推荐新的工作机会。
4. 描述预测需求
用自然语言描述你想预测什么:
预测这条裁员消息发布后,网民的反应会如何演变?
是否会形成负面舆情?可能会持续多久?哪些群体会持什么立场?
5. 开始模拟
点击「开始模拟」,系统会:
- 从种子材料中提取关键实体(公司、CEO、员工、网友)
- 构建知识图谱
- 生成多个智能体,赋予不同人设(同情员工的网友、理性分析者、吃瓜群众等)
- 开始模拟交互
TIP
首次模拟建议先用 20-30 轮,观察效果后再增加。
6. 查看预测结果
模拟完成后,你会看到一份详细的预测报告,包括:
- 舆情发展趋势曲线
- 主要观点分布
- 关键转折点预测
- 建议的应对策略
7. 深度互动
这是 MiroFish 最有趣的地方。你可以:
- 与任意智能体一对一对话:「你是那个同情员工的网友,你怎么看这件事?」
- 让 ReportAgent 回答具体问题:「如果公司发布公开信回应,舆情会怎么变?」
AI Provider 配置
上面我们用了阿里百炼的模型。但如果你想降低成本或者使用其他模型,可以考虑 Defapi 平台。
Defapi 是 API 中转服务,价格只有官方的 半价,支持:
- OpenAI (GPT-4o, GPT-4.5)
- Anthropic (Claude Sonnet, Claude Opus)
- Google (Gemini)
而且完全兼容 OpenAI SDK,只需要修改两个参数:
# 使用 Defapi
LLM_API_KEY=你的Defapi-Key
LLM_BASE_URL=https://api.defapi.org/v1
LLM_MODEL_NAME=openai/gpt-4o-mini
或者在代码中使用:
from openai import OpenAI
client = OpenAI(
api_key="你的Defapi-Key",
base_url="https://api.defapi.org/v1"
)
response = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": "Hello!"}]
)
TIP
Defapi 的接口完全兼容 OpenAI SDK,MiroFish 无需任何修改,直接改环境变量即可。
常见问题排查
1. npm install 失败
检查 Node.js 版本:
node -v
必须是 18+。如果版本正确但安装失败,尝试:
npm cache clean --force
npm install --legacy-peer-deps
2. Python 依赖安装卡住
确认 Python 版本在 3.11-3.12 之间:
python --version
如果不在这个范围,需要用 pyenv 或 conda 来管理 Python 版本。
3. 后端启动报 "Model not found"
检查 LLM_MODEL_NAME 是否正确。不同 API provider 的模型名称格式不同:
- 阿里百炼:
qwen-plus - OpenAI:
gpt-4o - Defapi:
openai/gpt-4o-mini
4. 模拟运行很慢
几个优化方向:
- 减少模拟轮数(从 40 降到 20)
- 使用更小的模型
- 减少智能体数量
- 确保网络通畅(API 调用有延迟)
5. 内存占用过高
如果机器内存不够 16GB,可以在 .env 中限制并发数:
MAX_CONCURRENT_AGENTS=10
或者减少每轮交互的智能体数量。
6. 前端页面空白
检查后端是否正常运行:
curl http://localhost:5001/health
如果返回错误,检查 .env 配置是否正确加载。
进阶方向
自定义智能体人格
MiroFish 支持在创建任务时自定义智能体的人设。你可以指定:
- 年龄、职业、性格特征
- 立场倾向(支持/反对/中立)
- 背景故事
通过精细的人设调整,可以让模拟更贴近真实场景。
接入更多数据源
目前支持文本种子材料。未来可以接入:
- 社交媒体 API(爬取真实舆情数据)
- 新闻 RSS 源
- 金融数据库
扩展应用场景
不只是舆情推演,MiroFish 还可以用于:
- 金融预测:模拟市场情绪演变
- 政策推演:预测政策发布后的社会反应
- 创意写作:推演小说情节走向(比如让 AI 预测《红楼梦》后 40 回)
- 危机模拟:演练公关危机应对策略
进阶阅读
- GitHub 仓库:https://github.com/666ghj/MiroFish
- 在线 Demo:https://666ghj.github.io/mirofish-demo/
- 官方文档:https://deepwiki.com/666ghj/MiroFish
- Defapi 平台:https://defapi.org
- OASIS 引擎:https://github.com/camel-ai/oasis
如果你对多智能体系统感兴趣,想亲自体验「让 AI 预测未来」的感觉,MiroFish 是一个很好的起点。