下一代 AI 搜索引擎 MindSearch:多智能体 + 系统2,模拟人类认知过程的 AI 搜索引擎
- 提出背景
- 解法拆解
- 实验评估
- 开放集
- 封闭集问答
- 论文大纲
- 怎么进一步改进 MindSearch?
- 1. 组合(Combination)
- 2. 拆开(Disassembly)
- 3. 转换(Transformation)
- 4. 借用(Borrowing)
- 5. 联想(Association)
- 6. 反向思考(Reverse Thinking)
- 7. 问题(Question)
- 8. 错误(Mistake)
- 9. 感情(Emotion)
- 10. 模仿(Imitation)
- 量产创意的方法应用
- AI 医疗搜索
论文:https://arxiv.org/pdf/2407.20183
代码:https://github.com/InternLM/MindSearch
MindSearch框架是一种多智能体系统,其核心思想是将复杂查询分解为更小的、可管理的子问题,并通过并行处理来提高效率。
包括WebPlanner和多个WebSearcher。
WebPlanner负责规划和组织查询的分解,而WebSearcher负责执行具体的搜索和信息收集任务。
提出背景
LLMs和搜索引擎的结合提供了一个引人注目的机会,其中LLMs的推理能力可以通过搜索引擎提供的丰富网络信息得到增强,这可能会彻底改变网络信息搜集和整合的解决方案。
以往的研究将信息搜集和整合任务简单地视为一种标准的检索增强生成(RAG)任务。
这种直接的方法虽然简单,但往往因为对网络信息检索的深度和复杂性缺乏深入理解,导致性能不佳,尤其是在处理更复杂的用户查询时面临三个主要挑战:
- 首先,现实世界的问题通常需要深入分析并在检索相关信息之前对问题进行适当的分解,这不是一次性检索网页就能解决的;
- 其次,大量被检索的网页和信息噪声对LLMs进行高效信息整合构成了巨大挑战;
- 最后,网络搜索内容的迅速扩散可能会很快超出LLMs的最大上下文长度,进一步降低信息整合的性能。
受到人类专家解决现实问题方式的启发,我们提出了MindSearch(思·索),这是一个简单而有效的基于LLMs的多智能体框架,包括WebPlanner和多个WebSearcher。
WebPlanner首先将用户查询分解为可以并行解决的多个原子子问题,并将它们分派给相应的WebSearcher。
为了增强推理能力,WebPlanner采用迭代图构建的方式,通过预定义的一系列标准代码接口,逐步将问题分解为顺序或并行的子问题。
与此同时,每个WebSearcher针对各自的子问题,采用分层检索过程提取有价值的数据,这在处理大量搜索页面时显著提高了信息聚合的效率。
MindSearch通过将推理和检索过程的不同方面分配给专门的智能体,有效减轻了每个智能体的负担,使其能够更有效地处理长上下文信息。
它无缝地连接了搜索引擎的原始数据检索能力和LLMs的上下文理解能力。
MindSearch的这种多智能体架构能够在短时间内并行处理大量网页,效率远超人工操作。
无论是基于GPT-4o还是InternLM2.5-7B模型,MindSearch在回答封闭和开放问题时都展现出了在深度和广度上的显著提升。
更值得一提的是,基于InternLM2.5-7B的MindSearch在用户偏好上超过了 Perplexity.ai 的 Pro 版本以及带有搜索插件的ChatGPT,这表明MindSearch即使使用开源模型也能提供与商业AI搜索引擎相媲美的服务。
这张图描述的是MindSearch框架的工作原理和工作流程,它由两个主要部分组成:WebPlanner和WebSearcher。
-
WebPlanner:作为高层规划器,WebPlanner负责组织推理步骤和协调多个WebSearcher的活动。
它通过创建和扩展一个动态图(InitGraph和Add node and edge)来模拟问题的解决过程。
图中展示了如何将用户查询分解为多个子问题(Node1, Node2, … Node-N),并逐步构建图谱以解决问题。
-
WebSearcher:负责执行细粒度的网络搜索,根据WebPlanner的指示,搜索相关信息,并将有价值的信息摘要反馈给WebPlanner。
图中展示了三个WebSearcher实例,它们分别搜索有关《原神》(Genshin Impact)的不同方面,如背景(Background)、角色和关系(Roles and Relationships)以及游戏特色(Horners)。
-
搜索和信息整合:WebPlanner首先根据用户查询“中国制作的视频游戏”重写搜索请求,并通过网络搜索API获取相关页面的内容。
图中提到了页面1和页面6,分别提供了关于《原神》的背景信息和其他中国视频游戏的概述。
-
多节点和多边的添加:WebPlanner根据搜索结果向图中添加多个节点和边,以构建问题的推理拓扑结构。
-
并行执行:WebSearcher以并行方式工作,分别搜索和整合有关《原神》的不同信息,然后将这些信息汇总到WebPlanner。
-
最终响应:在收集和整合了所有相关信息后,WebPlanner生成最终的响应,回答用户的原始问题。
这是一个框架图,展示了MindSearch如何通过WebPlanner和WebSearcher的协同工作来处理复杂的查询和信息整合任务。
以“中国高铁发展”为主题进行搜索。
用户查询:
用户想要了解中国高铁技术的发展情况。
WebPlanner的行动:
- 理解查询:WebPlanner识别出用户想要了解的是中国高铁技术的发展。
- 查询重写:将查询细化为“中国高铁技术的发展历程”、“中国高铁网络的现状”和“中国高铁技术的未来规划”。
- 构建动态图:创建一个动态图,将查询分解为子问题,比如“技术起源”、“关键技术”、“国际合作”、“现有网络”和“未来展望”。
WebSearcher的行动:
- 搜索执行:WebSearcher根据WebPlanner的指示执行搜索,找到相关的网页和信息。
- 信息收集:
- WebSearcher #1 搜索并收集中国高铁技术的起源和早期发展情况。
- WebSearcher #2 搜索并收集中国高铁的关键技术特点和创新。
- WebSearcher #3 搜索并收集中国高铁的国际合作案例和影响力。
- WebSearcher #4 搜索并收集中国高铁现有网络的规模和覆盖情况。
- WebSearcher #5 搜索并收集关于中国高铁技术未来发展的规划和预测。
信息整合与响应生成:
- 并行处理:五个WebSearcher并行工作,收集和摘要信息。
- 信息汇总:WebPlanner接收来自各个WebSearcher的信息,并整合它们。
- 生成响应:WebPlanner根据整合的信息生成最终的响应,回答用户的查询。
最终响应:
WebPlanner整合所有信息,生成一份详细的介绍,包括:
- 中国高铁技术的起源和早期发展里程碑。
- 关键技术创新,如列车设计、轨道建设和信号系统。
- 国际合作项目,展示中国高铁技术的全球影响力。
- 现有高铁网络的规模,覆盖的城市和区域。
- 未来发展规划,包括新的线路和技术升级。
解法拆解
MindSearch 拆解:
目的:MindSearch 的主要目的是提供一个基于大型语言模型(LLMs)的多智能体框架,用于处理复杂的网络信息搜索和整合任务,提高响应质量和效率。
问题:在现有的信息检索系统中,存在几个问题:
- 复杂查询难以一次性准确检索;
- 需要整合的信息分散在多个网页上,并伴有大量噪声;
- 网页内容的迅速增加可能超出LLMs的处理能力。
解法:MindSearch 解法的核心是一个多智能体系统,它通过以下子解法来解决上述问题:
-
子解法1 - WebPlanner(因为需要高层次规划和组织推理步骤)
- 之所以使用 WebPlanner 子解法,是因为它能够模拟人类思维进行问题推理,将复杂问题分解为可并行解决的子问题,并通过动态图构建过程(DAG)来组织这些问题。
-
子解法2 - WebSearcher(因为需要执行细粒度的网络搜索)
- 之所以使用 WebSearcher 子解法,是因为它能够根据 WebPlanner 的指示执行分层检索,从大量网页中提取有价值的信息,并通过并行执行提高效率。
-
子解法3 - 多智能体设计(因为需要分布式处理和减少单个智能体的负载)
- 之所以采用多智能体设计,是因为它可以将不同的推理和检索任务分配给专门的智能体,从而减轻每个智能体的负担,提高处理长上下文信息的能力。
-
子解法4 - 迭代图构建(因为需要模拟复杂问题解决过程)
- 之所以使用迭代图构建子解法,是因为它能够逐步细化问题,通过添加节点和边来构建问题解决的拓扑结构,从而更有效地导航和整合信息。
-
子解法5 - 层次化信息检索(因为需要从大量网页中提取相关信息)
- 之所以使用层次化信息检索子解法,是因为它通过从粗到细的搜索策略,先广泛搜集信息再逐步聚焦到最有价值的页面,以提高信息整合的准确性和深度。
逻辑链:MindSearch 的逻辑链是一个多层次、网络状的结构,可以以决策树的形式表示:
MindSearch
│
├── WebPlanner - 高层次规划和问题分解
│ ├── 动态图构建(DAG)
│ └── 子问题分发
│
├── WebSearcher - 细粒度搜索和信息提取
│ ├── 分层检索策略
│ └── 并行执行
│
├── 多智能体设计 - 分布式任务处理
│ └── 认知负荷分散
│
├── 迭代图构建 - 模拟问题解决过程
│ └── 逐步细化问题
│
└── 层次化信息检索 - 提取和整合信息
└── 从粗到细的搜索
在这个决策树中,每个节点代表一个子解法,而节点的子节点则展示了该子解法的具体实施步骤或特征。
这种结构清晰地展示了 MindSearch 如何通过一系列相互关联的子解法来解决复杂的信息检索问题。
实验评估
开放集
我们通过问答任务的两大类别——封闭集和开放集——来评估MindSearch的性能,这同时也反映了对MindSearch的主观和客观评价。
为了保证评估的公正性,所有参与评估的模型都只能通过BING搜索API访问互联网,并且不使用其他参考资料。
为了更准确地衡量MindSearch的效用和搜索性能,我们精心挑选了100个真实世界中人类提出的问题,并收集了 MindSearch、Perplexity.ai 的 Pro 版本以及带有搜索插件的 ChatGPT 给出的答案。
我们还邀请了五位人类专家根据答案的深度、广度和事实性三个方面来手动选择他们认为最佳的答案。
- 深度:指答案的详尽程度和深度,一个好的深度答案会提供详尽的信息,深入探讨问题的复杂性。
- 广度:指答案覆盖的范围和多样性,一个好的广度答案会涉及问题的多个方面或多个相关领域,提供多元化的视角或解决方案。
- 事实性:指答案的准确性和事实依据,一个好的事实性答案应该基于可靠的数据和信息,避免错误或误导性内容,确保信息的真实性和可信度。
评估的最终结果是基于多数专家的投票。
在评估过程中,为了确保公正性,专家们并不知道每个答案对应的方法。
MindSearch在答案的深度和广度上都有显著提升,这证明了我们提出的WebPlanner的有效性。
通过在DAG构建阶段整合代码,LLM能够逐步将复杂问题分解为可执行的查询,同时在时间效率和搜索空间探索之间取得平衡。
此外,MindSearch对问题的搜索更为细致,因此相比其他模型,它提供了更精确和详细的答案。
然而,在事实性方面,MindSearch并没有表现出更好的性能。我们推测,过于详细的搜索结果可能会分散模型对原始问题的注意力,特别是当LLM在处理长上下文信息时能力不足的情况下。
因此,MindSearch未来的一个自然发展方向是减少网络浏览过程中的误导问题。
除了定量结果,我们还提供了Perplexity.ai Pro和MindSearch之间的定性答案比较,以直观展示它们的性能差异。
可以看到MindSearch提供了更具体和详细的答案。
我们的实证发现,MindSearch之所以能提供更好的答案,是因为其搜索路径规划得当,这也表明正确分解人类意图是解决问题的关键步骤。
封闭集问答
我们还在包括Bamboagle、Musique和HotpotQA在内的多种封闭集问答任务上广泛评估了我们的方法。
为了进一步验证我们方法的普适性,我们选择了封闭源的LLM(GPT-4o)和开源的LLM(InternLM2.5-7b-chat)作为后端模型。
鉴于我们的方法采用了零样本实验设置,我们使用了一个主观的LLM评估器(GPT4-o)来评估HotpotQA的答案正确性。
与两个简单的基线进行了比较:没有使用搜索引擎的原始LLM,以及将搜索引擎作为外部工具并采用ReAct风格交互的方法。
结果表明,MindSearch在很大程度上显著优于这些基线,证实了我们提出方法的有效性。
论文大纲
├── 1 引言【描述背景和问题】
│ ├── 信息检索与整合的复杂性【背景介绍】
│ │ ├── 信息检索在分析和决策制定中的必要性【重要性】
│ │ └── 传统搜索引擎在处理复杂人类意图时的不足【问题描述】
│ ├── 大型语言模型(LLMs)的进展【技术背景】
│ └── 现有方法的局限性【问题描述】
│ ├── 搜索引擎一次性检索的不准确性【具体挑战】
│ ├── 信息整合中的噪声问题【具体挑战】
│ └── 长内容网页超出LLMs的最大上下文长度【具体挑战】
├── 2 MindSearch框架介绍【技术解决方案】
│ ├── WebPlanner的角色与功能【子系统介绍】
│ │ ├── 用户查询的多步分解【功能描述】
│ │ └── 动态图构建过程【功能描述】
│ ├── WebSearcher的角色与功能【子系统介绍】
│ │ ├── 分层信息检索【功能描述】
│ │ └── 信息收集与摘要【功能描述】
│ └── 多智能体设计的优势【设计优势】
│ ├── 并行信息检索【优势描述】
│ ├── 长上下文处理能力【优势描述】
│ └── 减少单个智能体的负载【优势描述】
├── 3 实验【验证方法有效性】
│ ├── 开放式问答(Open-Set QA)【任务类型】
│ │ ├── 实施细节【实验设置】
│ │ ├── 结果与分析【实验结果】
│ │ └── MindSearch与现有应用的比较【对比分析】
│ └── 封闭集问答(Closed-Set QA)【任务类型】
│ ├── 实施细节【实验设置】
│ ├── 结果与分析【实验结果】
│ └── MindSearch的性能提升【性能对比】
├── 4 相关工作【领域内技术发展】
│ ├── LLM与工具的集成【技术趋势】
│ ├── RAG与LLM的结合【技术趋势】
│ └── Web代理的演进【技术趋势】
└── 5 结论【研究贡献与未来方向】
├── MindSearch的创新点【研究贡献】
├── 在AI驱动的搜索引擎中的竞争优势【市场定位】
└── 对未来研究的启示【未来方向】
怎么进一步改进 MindSearch?
让我们分析MindSearch框架,寻找可能的创新点:
1. 组合(Combination)
现有元素:WebPlanner和WebSearcher的结合。
创新点:将MindSearch与其他AI工具(如自然语言理解、情感分析)结合,提供更深入的语义分析和用户意图理解,增强搜索的相关性和个性化。
2. 拆开(Disassembly)
现有元素:多智能体系统中的单一功能。
创新点:将WebSearcher的搜索功能进一步细化,为不同类型的查询(如时间敏感、事实查找、深度分析)设计专门的搜索代理。
3. 转换(Transformation)
现有元素:WebPlanner的动态图构建。
创新点:将动态图构建过程转换为一个可视化工具,允许用户实时看到查询分解和信息整合的过程,提供更直观的交互体验。
4. 借用(Borrowing)
现有元素:现有的信息检索方法。
创新点:借鉴推荐系统中的算法,如协同过滤,为用户推荐相关信息,提高信息检索的个性化和准确性。
5. 联想(Association)
现有元素:信息检索和整合。
创新点:开发一个联想引擎,它能够根据检索到的信息,自动关联到其他知识领域或数据源,以提供更全面的答案。
6. 反向思考(Reverse Thinking)
现有元素:传统的信息检索流程。
创新点:设计一个反向信息检索流程,从用户最不期望得到的信息开始搜索,以突出显示常见的偏见和盲点。
7. 问题(Question)
现有元素:用户查询的处理。
创新点:开发一个更深层次的问题解析器,它不仅理解用户的直接查询,还能够识别和提问以进一步细化用户的需求。
8. 错误(Mistake)
现有元素:搜索过程中的错误处理。
创新点:创建一个系统,它能够从搜索错误中学习,比如用户对搜索结果的不满意反馈,以优化未来的搜索性能。
9. 感情(Emotion)
现有元素:信息的客观呈现。
创新点:引入情感分析,使搜索结果能够根据用户的情感状态或查询的情感色彩进行调整,提供更有同理心的回答。
10. 模仿(Imitation)
现有元素:现有的搜索算法和技术。
创新点:模仿人类专家的决策过程,创建一个模拟专家系统,它能够在特定领域提供专业深度的搜索和分析。
量产创意的方法应用
- 联想:使用随机联想术,将MindSearch与完全不同领域的技术(如量子计算)联系起来,探索新的计算模型。
- 最渴望联结:确定用户最渴望的搜索体验,比如实时更新的信息流,然后将这一渴望与MindSearch的搜索结果呈现方式结合。
- 空隙填补:识别信息检索中的空隙,比如对非文本内容(如图像、视频)的搜索,开发新的功能来填补这些空隙。
以上创新点可以根据以下关键标准进行评估和选择:
- 创新性:解决方案的独特性和新颖性。
- 实用性:解决方案对实际问题的解决能力。
- 用户价值:解决方案对用户需求的满足程度。
- 技术可行性:解决方案在当前技术条件下的实现可能性。
- 成本效益:解决方案的实施成本与预期效益的比较。
根据这些标准,我们可以对每个创新点进行深入分析,比较它们的优劣,并选择最佳的创新点来进一步开发和实施。
AI 医疗搜索
内科医生负责诊断和开药,他们给病人提供综合治理;外科医生负责手术和手术相关的护理事物。
据统计趋势,内科医生年龄越大,他的病人的死亡率就越高,外科则相反。
人普遍的趋势是年龄越大学习新事物的能力和意愿就越低。
对内科来说,最新知识比临床经验更有用。
年长的医生无疑有更丰富的经验,但是年轻医生的疗效更好。
因为年轻医生更能掌握最新的药物、疗法和技术。
他们刚刚从住院医师培训中毕业,他们刚学过最新的医学知识。
知识要越新越好,技能要越熟练越好。
内科医生需要多学习新知识,外科医生需要多练习自己的技能。
内科引入 AI 医疗搜索,不是这个医生在给你看病,而是医学界的「当前科学理解」在给你看病。