Deep Research Agents
基本实现
流程

- 基于初步的理解、检索来询问用户了解用户意图(进行初步推理分析,识别当前知识储备中的信息缺口。)
- understand the user's intent
- 查询改写
- prompt
- You will be provided with a user query. Your goal is to extract a few keywords from the text to perform a search. Keep the search query to a few keywords that capture the user's intent. Only output the keywords, without any additional text.
- 类型
- DeepRetrieval: 强化学习在查询改写领域的通用有效性
- Literature Searching (文献检索)
- Evidence-Seeking Retrieval (证据寻找检索)
- Classic Sparse Document Retrieval (经典稀疏文档检索)
- Classic Dense Document Retrieval (经典密集文档检索)
- Classic Dense Document Retrieval (经典密集文档检索)
- prompt
- 初次广度搜索
- 划分章节
- 比如:概述、分析(市场份额)、对比、总结
- 需要返回title、description
对每个章节的(深度、广度)搜索:根据输入生成多个问题进行search
-
动态检索决策阶段,search的实现
- 先思考,后生成
- 先思考,使用search工具,循环;生成
- 基于model的实现:
- 思考中间插入search调用,循环;生成(自主触发检索机制,通过
<search>查询内容</search>格式生成精准搜索指令。)
- 思考中间插入search调用,循环;生成(自主触发检索机制,通过
-
内容整合,提取关键信息:
- 传统 RAG 直接插入大量文档;Search-o1 经过精炼后仅保留关键信息
- Search-R1,搜索引擎返回的结果会被结构化封装在
<information>信息标签内,为后续推理提供可靠的外部知识输入。
-
搜索的
-
整合所有检索结果为一个章节
-
工具
- 搜索关键词
生成报告
- 整合所有检索结果为一个report
- 引用生成
- 对于confluence可以通过text来quote文字
- 从之前的实验观测到的问题:
- quote的文字太长无法显示
- quote到了一些code block内容无法显示
- 从之前的实验观测到的问题:
- 对于confluence可以通过text来quote文字
深入实现
流程
- user:提出问题
- supervisor:负责与user沟通、了解规划scope、划分章节调用另一个search agent去查询
- researcher:负责调查研究某一个章节
