用多 Agent 协作构建品牌舆情监测系统,展示了 Agent 间分工与协作的架构设计。
这是为 n8n 和 Bright Data 举办的 AI Agents 挑战赛的投稿。
我创建了 BrandGuard AI — 一个综合性的多智能体品牌声誉监控系统,从根本上改变了公司追踪和响应在线提及的方式。这不仅仅是又一款社交媒体监控工具 — 它是一个智能的、完全自动化的平台,通过复杂的 AI 流程管道处理品牌提及。
该系统解决了一个至关重要的问题:在当今的超连接数字世界中,品牌提及遍布无数平台,传播速度之快使得人力团队根本无法有效追踪。传统方法速度太慢、太依赖人工,且缺乏从噪音中分离关键信号的深度。
BrandGuard AI 通过以下方式解决这个问题:
从主要社交平台(Twitter、Reddit、LinkedIn)自动收集有意义的品牌提及,使用可靠的 BrightData 数据流,并提供简单机制添加新数据源
通过 Google Gemini AI 智能分析每个重要提及,提取情感、紧急程度、商业影响和危机指标
自动生成日报和周报战略总结,这通常需要数小时的分析工作
通过理解自然查询(如"显示今天的关键提及"或"显示关于 Apple 的最新动态")的会话式 Slack 机器人即时访问
通过具有交互式可视化的动态网页仪表板实时传送见解
该系统的独特之处在于其多智能体架构 — 每项关键功能(数据收集、分析、报告生成、用户界面)都由独立的专业智能体处理,作为单独的 n8n 工作流构建。这种模块化设计确保了卓越的弹性、可扩展性和可维护性。
BrandGuard AI 是一个基于 n8n 构建的综合性、完全自动化品牌声誉监控系统。它的设计目标是:
🕷️ 从 Twitter、Reddit 和 LinkedIn 等主要社交平台收集品牌提及。
🧠 使用 Google Gemini AI 分析每个提及的情感、紧急程度和商业影响。
🗄️ 将丰富的数据存储在结构化 MongoDB 数据库中。
📊 生成自动化的日报和周报分析报告,提供战略见解。
🖥️ 通过动态网页仪表板可视化数据。
💬 通过理解自然语言查询的智能 Slack 机器人与用户交互。
🚨 就关键提及向团队发出警报。
该系统是相互连接的 n8n 工作流集合,形成完整的数据处理管道,从收集到面向用户的界面。
graph TD
subgraph "Data Collection
该系统已完全投入使用并部署在生产环境中。完整的源代码包含所有 n8n 工作流、Docker 配置和设置文档。
BrandGuard AI 系统建立在相互连接的 n8n 工作流的模块化架构之上。每个工作流在整个数据处理管道中执行专门的功能。
Brand Monitoring Step 1 - 计划来自 BrightData 的数据收集并创建处理任务
Brand Monitoring Step 1 - 计划来自 BrightData 的数据收集并创建处理任务
Brand Monitoring Step 2 - 通过适配器将原始数据规范化为统一格式
Brand Monitoring Step 2 - 通过适配器将原始数据规范化为统一格式
Brand Monitoring Step 3 - 通过 Google Gemini 执行 AI 分析并保存到 MongoDB
AI Daily Summary - 生成日常分析总结
AI Weekly Summary - 创建周期战略报告
BrandGuard AI - Dashboard - 具有交互式分析的网页仪表板
BrandGuard AI bot - 支持自然语言的 Slack 机器人
Brand Mention Report - 详细提及查看
模块化:每个智能体都是独立的工作流
可扩展性:适配器模式便于添加新数据源
弹性:集中式错误处理和状态监控
可扩展性:通过 MongoDB jobs 集合的任务管理
完整的工作流 JSON 文件:位于 GitHub 仓库的 /workflows 文件夹中
该系统通过 n8n 中的标准节点使用 Google Gemini 作为主要 AI 模型。每个智能体都配置了针对特定任务的专门系统指令:
提及分析智能体:
系统指令:"分析品牌提及并返回结构化 JSON,字段包括:sentiment_score、confidence、urgency_level (1-10)、key_topics、crisis_indicators、business_impact、severity、recommended_action"
模型:Google Gemini Flash 和 Pro,用于深层上下文理解
内存:无状态 - 每个提及都独立分析
工具:用于结构化输出的 JSON 解析器
系统指令:"您是品牌声誉分析助手。解释用户查询并将其转换为 MongoDB 查询。可用功能:help、today、brand、search、critical、summary"
模型:Google Gemini Flash,用于自然语言处理
内存:单个请求内的会话上下文
工具:MongoDB 连接器、Slack 消息格式化
系统指令:"根据指定时期的品牌提及创建执行摘要。包括趋势、关键时刻、建议"
模型:Google Gemini Pro,用于见解生成
内存:该时期的汇总数据
工具:MongoDB 聚合管道
BrightData 是 BrandGuard AI 整个数据收集管道的基础。我使用了 n8n 中官方认证的 BrightData 节点来集成其数据生态系统:
设置和配置:
数据集使用:Twitter Posts、Reddit Posts、LinkedIn Posts,能够添加新数据集
过滤:按品牌关键词、参与度指标(点赞数、转发数)
频率:通过 n8n 调度程序每 n 小时自动收集一次
数据格式:包含丰富元数据的 JSON(作者、时间、参与度指标)
关键 BrightData 优势:
数据质量:结构化、清洁的数据,无需复杂预处理
可靠性:稳定的数据交付,无间隙或重复
可扩展性:在无基础设施负担的情况下处理大量提及
合规性:所有收集的数据均符合平台服务条款
采用适配器的架构解决方案: 我为使用不同的 BrightData 数据源实现了适配器模式。每个数据源(Twitter、Reddit、LinkedIn)在 Brand Monitoring Step 2 工作流中都有其适配器,将特定的数据结构规范化为统一格式。这允许轻松从 BrightData 市场添加新数据集,而无需对核心系统逻辑进行更改。
BrandGuard AI 的开发是一个迭代过程,从自动化提及监控的简单想法开始,演变成了综合性的多智能体系统。
阶段 1 - MVP(最小可行产品): 从基本的 n8n 工作流开始,该工作流从一个数据源收集数据并保存到 MongoDB。很快意识到需要更复杂的架构来处理异构数据源。
阶段 2 - 架构设计: 在研究了单体方法的局限性后,决定采用多智能体架构。将系统分为具有明确责任范围的专业智能体。
阶段 3 - Slack 机器人实现: 让 Slack 机器人正常工作是主要挑战。它需要付出大量努力来设置适当的 webhooks、身份验证和消息处理,以创建无缝的会话体验。
挑战 1:异构数据源
问题:每个平台(Twitter、Reddit、LinkedIn)返回不同格式的数据
解决方案:使用 n8n 中的 Switch 节点实现适配器模式,其中每个数据源都有其适配器用于数据规范化
挑战 2:大规模性能瓶颈
问题:当 MongoDB 集合超过 1000 个提及时,一次性获取所有文档的工作流因过度内存消耗而导致服务器挂起
解决方案:通过重新配置 n8n 工作流以分块处理数据、向控制 MongoDB 查询中 limit 和 skip 值的 webhook 添加 page 和 size 参数来实现服务器端分页
挑战 3:处理可扩展性
问题:随着数据量增加,系统开始变慢
解决方案:实现基于 job 的架构,使用 MongoDB 中的状态跟踪和异步处理
挑战 4:Slack 机器人用户体验
问题:想要与机器人进行自然对话,而不是使用刚性命令
解决方案:使用 Google Gemini 进行 NLU(自然语言理解),使机器人能够理解自由格式的问题
n8n 作为编排器的强大功能: n8n 因其可视化编程和丰富的集成生态系统,被证明是创建复杂多智能体系统的理想工具。
数据质量的重要性: 与 BrightData 的合作表明了清洁、结构化数据对 AI 分析的关键重要性。
AI 提示工程: 为结构化输出创建有效的提示是一门需要多次迭代的艺术。
模块化至上:将系统分为独立的智能体大大简化了开发、调试和扩展。
状态监控的重要性:基于 job 的架构,在 MongoDB 中进行跟踪,能够创建透明且可调试的系统。
该项目向我展示了现代 no-code/low-code 平台如何能用最少的时间和资源投入创建企业级的 AI 解决方案。
附注:在这个项目之前,我从未使用过 n8n,甚至不知道 BrightData 的存在。这个挑战成为了对两个杰出产品的真正发现。
n8n 以其灵活性和可视化编程的强大功能给我留下了深刻印象。看起来复杂的多个 AI 智能体编排任务变成了创建相互连接的工作流的直观过程。
BrightData 被证明正好是数据质量收集所需的缺失环节。他们数据集的可靠性、结构和丰富性大大简化了系统架构。
感谢 DEV.to 组织了这次挑战!没有它,我永远不会发现这些出色的产品,也不会能够创建 BrandGuard AI。这是一个很好的例子,说明了技术竞赛如何促进学习新技术和创建创新解决方案。
某些评论可能仅对已登录的访问者可见。登录以查看所有评论。
如需进一步行动,您可以考虑屏蔽此人和/或举报滥用。