引言:多智能体舆情分析的新范式
在信息爆炸的数字化时代,舆情分析已从简单的关键词监控演进为需要多维度、深层次理解复杂社会情绪的综合性系统。BettaFish(微舆)作为一款从零实现的多智能体舆情分析助手,其创新的 "论坛协作机制" 为多 Agent 协调提供了全新的工程化解决方案。
与传统单一模型的舆情分析不同,BettaFish 通过五个专业化 Agent 的协同工作,特别是 ForumEngine 的论坛式协调机制,实现了从数据采集到洞察生成的全链路智能化处理。本文将深入探讨其多智能体协调机制与情感分析架构的设计理念与工程实现。
核心架构:五 Agent 分工与论坛协作机制
BettaFish 系统采用模块化多智能体架构,核心由四个分析 Agent 和一个协调引擎组成:
专业化 Agent 设计
QueryEngine(搜索引擎 Agent):专注于全网广度搜索,使用 Tavily 搜索 API 进行国内外信息的精准检索,具备强大的网页和新闻搜索能力。其独特的关键词优化中间件能够智能调整搜索策略,确保信息获取的全面性和准确性。
MediaEngine(多模态分析师):专门处理图片、视频等非文本内容,可配置 Gemini 等多模态大模型,深度解析短视频内容并提取结构化信息卡片(天气、股票、日历等),实现真正的多模态舆情理解。
InsightEngine(数据库侦探):深度挖掘项目私有舆情数据库,配合 sentiment_analyzer.py 模块进行情感分析。该 Agent 可使用 Kimi 等对中文和长文本理解更出色的模型,专门处理已有数据的深度分析。
ReportEngine(报告撰写者):负责将所有分析结果整合为结构化报告,内置多种报告模板,支持动态模板选择和 HTML 报告生成。
ForumEngine:论坛协作的协调中枢
BettaFish 最巧妙的创新在于 ForumEngine 的设计,它模拟了专业分析团队的会议讨论模式。与传统多 Agent 系统使用复杂消息队列不同,ForumEngine 采用基于文件的异步通信机制,通过 forum.log 文件实现 Agent 间的解耦协作。
协调流程如下:
- 发布任务:用户通过 Flask 应用提交查询请求
- 并行启动:三个分析 Agent 同时开始各自领域的研究
- 论坛发言:每个 Agent 有阶段性结果时,将分析写入自己的日志文件
- 主持总结:ForumEngine 实时监控日志文件,使用 LLM 进行冲突识别和研究方向引导
- 会议纪要:主持人将总结和引导性发言写入公共 forum.log 文件
- 迭代深化:各 Agent 通过 forum_reader 工具 "刷论坛",根据新引导调整研究
- 结果整合:ReportEngine 收集所有分析和讨论记录,生成最终报告
这种 "主持 - 参与者" 模式比僵硬的 "A 到 B" 链条或混乱的 "全体 @全体" 广播更优雅和可控,每个 Agent 只需要 "向论坛发言" 和 "从论坛获取指引",无需知晓彼此存在。
情感分析模块:多模型融合的工程实现
情感分析模型集成
BettaFish 的 InsightEngine 集成了多种情感分析方法,通过 sentiment_analyzer.py 实现统一的分析接口:
- 多语言情感分析模型:支持中英文混合文本的情感倾向判断
- 微调 BERT 模型:针对微博等特定平台优化的 BERT 模型
- 小参数 Qwen3 微调:轻量级但效果显著的专门化模型
- 传统机器学习方法:包括 SVM、随机森林等经典算法
配置参数包括:
SENTIMENT_CONFIG = {
'model_type': 'multilingual',
'confidence_threshold': 0.8,
'batch_size': 32,
'max_sequence_length': 512,
}
论坛机制中的情感分析整合
在 ForumEngine 的协作流程中,情感分析不是独立执行的模块,而是贯穿整个分析过程:
- 实时情感监控:在 Agent 搜索和分析过程中,sentiment_analyzer.py 实时对获取的文本进行情感分析
- 情感趋势识别:通过多轮讨论的 forum.log,ForumEngine 能够识别情感变化趋势
- 多角度情感验证:不同 Agent 使用不同情感模型进行交叉验证,提高分析准确性
- 情感驱动的协调:ForumEngine 根据情感分析结果调整讨论方向和重点
工程创新:协调机制的技术实现
基于文件的异步通信
BettaFish 选择文件系统作为 Agent 间通信的媒介,这一设计选择具有以下优势:
- 解耦性:Agent 完全独立,通过文件实现松耦合通信
- 持久性:所有交互过程完整保存,支持断点恢复和结果追溯
- 容错性:单点故障不会影响整体系统运行
- 可观察性:论坛日志提供完整的协作过程追踪
LLM 异构配置
系统为不同 Agent 配置了最适合的 LLM:
- InsightEngine:使用 Kimi 处理中文和长文本
- MediaEngine:配置 Gemini 处理多模态内容
- QueryEngine:使用 Tavily API 进行搜索
- ForumEngine:使用通用 LLM 进行协调和总结
这种异构配置避免了单一模型的局限性,实现性能与成本的最优平衡。
状态持久化与断点恢复
每个 Agent 的工作状态通过 State 类实时保存为 JSON 格式,即使任务中途失败,也能从断点恢复。这种设计确保了系统的健壮性和可靠性。
实际应用:武汉大学舆情分析案例
以系统自带的 "武汉大学品牌声誉分析" 为例,25 页的分析报告展示了该架构的强大能力:
- 多维度分析:涵盖图书馆事件、甲醛宿舍等热点事件的完整时间线
- 情绪波动追踪:细分为 "愤怒"、"恐惧"、"焦虑"、"愤懑" 四种情绪流向
- 传播路径还原:清晰展现每个节点的情绪转换过程
- 决策支持:提供 SWOT 分析等战略性洞察
技术优势与创新价值
相比传统舆情分析系统的突破
- 超越简单监控:不仅告诉 "发生了什么",更解释 "为什么发生、接下来会怎样"
- 多模型协同:结合微调模型、统计模型与 LLM,实现多角度交叉验证
- 论坛式协作:避免单一模型的思维局限,催生集体智能
- 公私域融合:无缝整合内部业务数据库与外部舆情数据
工程化部署与扩展
- 轻量化框架:全 Python 模块化设计,支持一键部署
- 高扩展性:开发者可轻松集成自定义模型与业务逻辑
- 跨平台兼容:支持 Windows、Linux、macOS 多种操作系统
- 容器化支持:提供完整的 Docker 部署方案
未来发展方向
BettaFish 的开发者计划在现有 "三板斧" 基础上,增加预测功能模块。通过时序模型、图神经网络、多模态融合等预测模型技术,实现真正基于数据驱动的舆情预测,从 "事后分析" 向 "事前预警" 的转变。
总结
BettaFish 通过创新的论坛协作机制和模块化的情感分析架构,为多智能体舆情分析提供了全新的工程化解决方案。其基于文件的异步通信设计、异构 LLM 配置和状态持久化机制,不仅确保了系统的稳定性和可扩展性,更通过多 Agent 的专业化分工实现了超越单一模型的深度分析能力。
这种 "小而强大、不畏挑战" 的设计理念,不仅在舆情分析领域具有重要价值,其工程化经验也为其他多智能体系统的设计提供了宝贵参考。随着预测功能的加入,BettaFish 有望成为企业决策的重要 "外脑",在更广泛的应用场景中发挥价值。