MiroFish 多智能体世界推演系统增强
仓库地址: github.com/yycopy/MiroFish-Enhanced-Agent
时间: 2026.02 - 至今
基于 MiroFish 开源多智能体仿真框架进行工程化增强,扩展主动信息采集、长期记忆写入、多 Agent 可信评审与 ReAct 报告生成链路,实现从外部信息采集、图谱记忆构建、Agent 推演到可追溯预测报告输出的完整 Agent 应用系统。
系统架构
┌─────────────────────────────────────────────────────────────────┐
│ MiroFish Enhanced Agent │
├─────────────┬──────────────┬──────────────┬────────────────────┤
│ 信息采集层 │ 记忆存储层 │ 推演引擎层 │ 报告生成层 │
│ │ │ │ │
│ APScheduler │ MySQL 结构化 │ camel-oasis │ ReAct ReportAgent │
│ Celery │ Chroma 向量 │ 多 Agent 协作 │ 工具调用链路 │
│ RabbitMQ │ Zep GraphRAG │ 可信评审机制 │ 证据链追溯 │
└─────────────┴──────────────┴──────────────┴────────────────────┘
│ │ │ │
└──────────────┴──────────────┴──────────────┘
Flask RESTful API核心工作
1. 主动采集链路
设计 APScheduler + Celery + RabbitMQ 主动采集链路,支持周期搜索、清洗去重、摘要压缩、任务状态记录与入库写入。
关键设计:
- APScheduler 按配置间隔触发采集任务
- Celery Worker 消费 RabbitMQ 队列,执行搜索与清洗
- 去重策略:基于内容哈希 + 语义相似度双重过滤
- 摘要压缩:LLM 对原始文本生成结构化摘要
2. 多层世界记忆
构建 MySQL + Chroma 多层世界记忆结构,结合时间衰减、重要性评分和按需召回,实现历史信息持续沉淀与动态注入。
记忆分层:
- 短期记忆:最近采集的原始新闻,存储于 MySQL
- 长期记忆:经过 Embedding 后存入 Chroma,支持语义检索
- 图谱记忆:实体关系图谱,存储于 Zep GraphRAG
3. 图谱记忆建模
基于 Zep GraphRAG 建模人物、组织、事件、观点等实体关系,将非结构化文本转化为 Agent 可感知的图谱记忆。
实体类型:
- 人物 (Person):政治人物、企业家、学者
- 组织 (Organization):政府、企业、国际组织
- 事件 (Event):政治事件、经济事件、社会事件
- 观点 (Opinion):专家观点、市场预期
4. 多 Agent 可信评审
设计多 Agent 可信评审机制,引入事实核查、支持方、反对方、风险审查等角色,输出支持证据、反对证据、冲突点与置信度。
评审角色:
- Fact Checker:核查事实准确性,标记未验证声明
- Proponent:寻找支持预测的证据
- Opponent:寻找反对预测的证据
- Risk Auditor:评估风险因素和不确定性
5. ReAct 报告生成
增强 ReAct ReportAgent,使其可自主调用图谱检索、主动搜索、Agent 采访和历史记忆召回工具,生成具备证据链和可追溯性的结构化预测报告。
工具调用链路:
- 图谱检索 → 获取实体关系上下文
- 向量检索 → 召回相关历史记忆
- 主动搜索 → 补充最新信息
- Agent 采访 → 获取多角度观点
- 报告合成 → 生成带证据链的预测报告
技术选型与考量
| 决策点 | 选择 | 理由 |
|---|---|---|
| Web 框架 | Flask | 轻量级,适合 AI Agent 服务,快速原型迭代 |
| 任务队列 | Celery + RabbitMQ | 解耦采集与处理,支持分布式扩展和失败重试 |
| 定时调度 | APScheduler | 支持 Cron、间隔等多种调度策略,与 Flask 集成简单 |
| 向量数据库 | Chroma | 开源、轻量、支持本地部署,适合原型阶段 |
| 图谱存储 | Zep GraphRAG | 专为 LLM 应用设计的图谱记忆方案,自动实体抽取 |
| 多 Agent 框架 | camel-ai | 中文友好,支持多 Agent 协作场景 |
| LLM 接入 | OpenAI-Compatible | 统一接口,可切换不同模型提供商 |
技术栈
PythonFlaskOpenAI-Compatible LLMZep GraphRAGChromaRabbitMQCeleryAPSchedulerMySQLDockercamel-ai / camel-oasis
| 技术 | 用途 |
|---|---|
| Flask | 轻量级 Web 框架,提供 RESTful API |
| OpenAI-Compatible LLM | Agent 推演、评审、摘要生成的核心推理引擎 |
| Zep GraphRAG | 构建知识图谱,建模人物、组织、事件、观点等实体关系 |
| Chroma | 向量数据库,存储文本嵌入并支持语义相似度检索 |
| RabbitMQ | 消息队列,解耦采集任务的生产与消费 |
| Celery | 分布式任务队列,执行后台采集和数据处理任务 |
| APScheduler | 定时调度器,按配置的时间间隔触发采集任务 |
| MySQL | 结构化数据持久化,存储新闻、记忆、用户数据 |
| Docker | 容器化部署,统一开发和生产环境 |
| camel-ai / camel-oasis | 多智能体框架与中文 NLP 工具,用于文本清洗和实体提取 |