DeepSearch
概述
深度研究代理系统社区版是一个基于工作流的深度研究系统,能够对复杂主题进行多轮迭代的网络搜索和综合分析。系统通过结合LLM智能分析和实时网络搜索,生成详细的研究报告。
依赖技能
- byted-web-search
工作流调用逻辑
系统架构
本系统是一个工作流描述文档,没有执行脚本。依赖以下外部技能:
-
byted-web-search skill: 执行网页搜索`
-
LLM技能: 用于智能分析和推理
工作流程
- 输入接收阶段
-
用户输入: 研究主题(sys.query)和研究深度(depth)
-
默认深度: 3(可配置)
- 初始化阶段
-
创建迭代数组,深度为指定的depth值
-
数组格式:[0, 1, ..., depth-1]
- 迭代搜索阶段(多轮执行)
每轮迭代执行以下步骤:
a) LLM智能分析
-
使用LLM分析当前研究状态
-
输入:用户查询、已收集的findings、已搜索的topics
-
输出:JSON格式,包含:
-
nextSearchTopic : 下一个搜索主题(字符串或None)
-
shouldContinue : 是否继续搜索(布尔值)
b) JSON解析
-
提取nextSearchTopic 和shouldContinue 字段
-
更新对话变量
c) 条件判断
-
如果shouldContinue 为True:
-
执行byted-web-search:python scripts/web_search.py "<nextSearchTopic>"
-
将搜索结果追加到findings数组
-
更新搜索进度显示
-
继续下一轮迭代
-
如果shouldContinue 为False:
-
结束当前迭代
-
输出中间结果
d) 变量管理
-
更新nextSearchTopic 和shouldContinue 变量
-
将nextSearchTopic 追加到topics 数组(记录已搜索主题)
-
避免重复搜索相同主题
- 综合分析阶段
-
所有迭代完成后,使用LLM综合分析所有收集到的findings
-
生成详细的综合分析报告
-
输出格式:Markdown格式的详细报告
- 报告生成阶段
-
输出最终的研究分析结果
-
包含重要洞察、结论和剩余不确定性
-
适当引用来源
变量说明
系统维护以下对话变量:
变量名 类型 描述
topics
array[string] 已搜索的主题列表
nextSearchTopic
string 下一个要搜索的主题
findings
array[string] 收集到的搜索结果列表
shouldContinue
string 是否继续搜索的标志
网页搜索集成
当需要进行网络搜索时:
-
使用nextSearchTopic 作为查询参数
-
运行byted-web-search技能:python scripts/web_search.py "<query>"
-
根据返回的摘要列表组织答案,不新增或臆造内容
-
将搜索结果追加到findings 数组
注意: 不要使用任何搜索参数配置(如search_depth、topic、max_results、country、time_range、days等),仅保留核心输入query。
进度跟踪
系统实时显示搜索进度:
-
格式:{index + 1}/{depth}th search executed.
-
例如:1/3th search executed.
使用场景
适用场景
-
复杂主题研究: 需要对特定主题进行深入、全面的研究
-
最新信息分析: 需要基于最新网络信息生成详细分析报告
-
多角度探索: 需要从不同角度和维度探索一个主题
-
系统化调查: 需要系统化的调查和证据收集
典型用例
-
市场趋势分析
-
技术发展研究
-
竞争对手分析
-
学术文献综述
-
产品调研
技术特点
智能特性
-
自适应搜索: 每轮搜索后由LLM分析结果,智能决定下一步搜索方向
-
避免重复: 系统记录已搜索主题,避免重复搜索相同内容
-
深度推理: 使用专门的推理模型进行综合分析
系统特性
-
多轮迭代: 支持指定深度的多轮搜索
-
并行能力: 支持最多10个并行搜索
-
状态管理: 完整的变量管理和状态跟踪
-
进度可视: 实时显示搜索进度和状态
集成特性
-
LLM集成: 结合GPT-4o进行智能分析,deepseek-reasoner进行深度推理
-
网络搜索: 集成byted-web-search技能获取实时网络信息
-
JSON处理: 使用JSON解析工具处理结构化数据
工作流示例
输入示例
用户查询: "人工智能在医疗领域的最新发展" 研究深度: 3
执行流程
第1轮:
-
LLM分析: 决定搜索"AI医疗诊断最新进展"
-
Web搜索: 执行搜索并收集结果
-
状态更新: 记录主题,决定继续搜索
第2轮:
-
LLM分析: 基于第1轮结果,决定搜索"医疗影像AI技术突破"
-
Web搜索: 执行搜索并收集结果
-
状态更新: 记录主题,决定继续搜索
第3轮:
-
LLM分析: 基于前两轮结果,决定搜索"AI药物研发应用"
-
Web搜索: 执行搜索并收集结果
-
状态更新: 记录主题,决定结束搜索
综合分析:
-
LLM综合分析所有收集到的findings
-
生成关于"人工智能在医疗领域的最新发展"的详细报告
输出示例
人工智能在医疗领域的最新发展研究报告
执行摘要
[基于三轮搜索的综合分析...]
主要发现
-
AI在医疗诊断方面的最新进展
- [具体发现1]
- [具体发现2]
-
医疗影像AI技术突破
- [具体发现3]
- [具体发现4]
-
AI在药物研发中的应用
- [具体发现5]
- [具体发现6]
结论与建议
[综合分析结论...]
未来研究方向
[基于研究发现提出的未来研究方向...]
注意事项
工作流限制
-
无执行脚本: 本skill是一个工作流描述文档,不包含可执行脚本
-
外部依赖: 依赖byted-web-search技能执行实际搜索
-
参数简化: 搜索时仅使用query参数,忽略其他搜索配置
使用建议
-
深度设置: 根据研究复杂度设置合适的depth值
-
查询优化: 提供清晰具体的研究主题
-
结果验证: 对生成的报告进行必要的事实核查
最佳实践
-
渐进式研究: 从宽泛主题开始,逐步深入具体方向
-
多源验证: 结合多个来源的信息进行交叉验证
-
及时更新: 对于快速发展的主题,建议定期重新研究
故障排除
常见问题
-
搜索无结果: 检查query是否过于具体或专业,尝试更通用的搜索词
-
迭代过早结束: 调整LLM的temperature参数或提供更多上下文
-
结果重复: 系统已内置避免重复机制,如仍出现可手动干预
性能优化
-
并行搜索: 充分利用系统的并行能力(最多10个并行)
-
缓存利用: 对于相同主题的多次研究,可考虑结果缓存
-
增量更新: 对于持续研究,可采用增量更新策略
重要提示: 本skill描述了一个深度研究工作流,实际执行需要依赖外部技能和配置。请确保已正确配置byted-web-search技能和相关LLM服务。