项目利用多个专门的 AI 智能体(Agent)协同工作,github地址为
wuud/multi-agent-deep-research: 多智能体协作式deep research
,根据用户提供的查询,通过网络搜索、内容提取、信息验证、动态摘要和最终报告生成,来完成一个小型研究任务。系统的核心是 PlannerAgent,它负责协调整个流程,动态生成搜索策略,并决定何时结束研究。
主要特性
-
多智能体架构: 将复杂的任务分解给不同的智能体,每个智能体专注于特定功能(规划、搜索、抓取、分析、验证、摘要、报告)。
-
迭代式研究: 通过多轮搜索和信息处理,逐步深入和完善研究结果。
-
动态查询生成: PlannerAgent 能根据当前研究进展和初步计划,智能地生成后续的搜索查询,或判断研究是否完成。
-
内容抓取与解析: 利用 Jina AI RAG API 高效抓取网页内容并提取主要文本。
-
上下文分析与验证: AnalyzerAgent 提取与查询相关的信息,ValidatorAgent 进一步评估信息片段的质量和相关性,确保最终报告基于可靠内容。
-
滚动摘要: 当收集到的信息过多时,SummarizerAgent 会介入,对累积的上下文进行压缩和整合,防止超出后续处理的限制。
-
自动化报告: ReporterAgent 根据所有验证过的上下文,自动生成一份包含引用来源的结构化中文研究报告。
-
可配置性:
-
支持 Serper 和 SerpApi 两种搜索引擎。
-
可以为不同的 Agent 配置不同的 LLM 模型。
-
可调整内容处理、上下文长度等多种限制参数。
-
-
异步执行: 利用 asyncio 和 aiohttp 进行高效的并发网络请求(搜索、抓取)。
系统架构与工作流程
系统由以下几个核心 Agent 组成:
PlannerAgent: 流程的“大脑”,负责:
-
接收用户查询和设置。
-
生成初步研究计划(可选)。
-
生成初始和后续的搜索查询。
-
协调其他 Agent 的工作。
-
管理研究状态(已处理 URL、已用查询、累积上下文)。
-
判断研究是否完成或达到迭代上限。
-
触发滚动摘要。
-
调用 ReporterAgent 生成最终报告。
SearcherAgent: 执行网络搜索,使用配置的搜索引擎(Serper/SerpApi)获取相关网页 URL。
FetcherAgent: 使用 Jina AI RAG API 抓取指定 URL 的网页内容。
AnalyzerAgent: 分析 FetcherAgent 获取的页面内容,提取与用户原始查询和当前搜索查询相关的信息片段。
ValidatorAgent: 评估 AnalyzerAgent 提取出的信息片段,判断其是否真实相关、内容充实且非冗余。
SummarizerAgent: 当累积的验证后上下文过长时,负责将其与新获取的上下文进行整合与摘要,生成更精简但信息丰富的版本。
ReporterAgent: 在研究结束后,整合所有通过验证的上下文片段,生成最终的结构化研究报告,并附带引用来源列表。
流程图
项目流程图