agents-deep-research架构揭秘:知识缺口智能体与工具选择器如何协同工作
agents-deep-research架构揭秘:知识缺口智能体与工具选择器如何协同工作
【免费下载链接】agents-deep-researchAn implementation of iterative deep research using the OpenAI Agents SDK项目地址: https://gitcode.com/gh_mirrors/ag/agents-deep-research
agents-deep-research是基于OpenAI Agents SDK实现的迭代深度研究框架,通过智能体协作自动完成知识探索与内容生成。本文将深入解析其核心组件——知识缺口智能体(Knowledge Gap Agent)与工具选择器(Tool Selector Agent)的协同机制,揭示AI如何像人类研究员一样识别信息缺口并选择最优工具填补。
知识缺口智能体:研究完整性的"质量检察官"
知识缺口智能体是迭代研究过程的"导航系统",负责评估当前研究状态并识别待填补的信息空白。其核心逻辑定义在deep_researcher/agents/knowledge_gap_agent.py中,通过结构化输出判断研究是否完成。
工作原理:三步评估法
输入分析:接收原始查询与研究历史,格式如下:
=========================================================== ORIGINAL QUERY: <原始用户查询> HISTORY OF ACTIONS, FINDINGS AND THOUGHTS: <已执行活动与发现> ===========================================================完整性评估:基于当前研究成果,判断是否足以回答原始查询。关键代码逻辑体现在其输出模型:
class KnowledgeGapOutput(BaseModel): research_complete: bool = Field(description="研究是否足够完整以结束循环") outstanding_gaps: List[str] = Field(description="仍需解决的知识缺口列表")缺口识别:若研究不完整,最多识别3个优先级最高的知识缺口。例如当研究"量子计算市场规模"时,可能识别出:
- 2025年全球量子计算市场细分数据
- 主要厂商技术路线对比
- 行业应用案例经济效益分析
智能决策流程
该智能体通过提示词模板引导LLM进行分析(deep_researcher/agents/knowledge_gap_agent.py#L31-L49),核心指令包括:
- 评估最新研究成果与原始查询的匹配度
- 确定是否需要继续研究循环
- 按优先级排序知识缺口,确保针对性
工具选择器:智能体的"任务分配中心"
工具选择器作为研究资源的"调度员",将知识缺口转化为具体的智能体任务。其实现位于deep_researcher/agents/tool_selector_agent.py,负责为每个缺口匹配最优工具。
核心功能:从缺口到行动
任务建模:通过AgentTask模型定义具体行动:
class AgentTask(BaseModel): gap: Optional[str] = Field(description="待解决的知识缺口") agent: str = Field(description="使用的智能体名称") query: str = Field(description="智能体的具体查询(3-6个词)") entity_website: Optional[str] = Field(description="研究对象的网站")工具映射:目前支持两种专业智能体:
- WebSearchAgent:适用于广泛主题的网络搜索
- SiteCrawlerAgent:针对特定网站的深度爬取(如公司官网、学术数据库)
选择策略:遵循工具选择指南:
- 每次最多调用3个智能体任务
- 可重复使用WebSearchAgent进行多角度查询
- 查询需简洁精准(3-6个词)
- 已知研究对象网站时必须指定
- 避免重复历史中已尝试的无效方法
决策示例
当面对"2025年量子计算市场细分数据"这一缺口时,工具选择器可能生成:
AgentSelectionPlan(tasks=[ AgentTask( agent="WebSearchAgent", query="2025量子计算市场报告", gap="2025年全球量子计算市场细分数据" ), AgentTask( agent="SiteCrawlerAgent", query="市场分析", entity_website="https://www.gartner.com", gap="2025年全球量子计算市场细分数据" ) ])协同工作流程:迭代研究的"双引擎"
知识缺口智能体与工具选择器通过deep_researcher/iterative_research.py中的迭代循环实现无缝协作,形成完整的研究闭环:
初始化阶段:
self.knowledge_gap_agent = init_knowledge_gap_agent(self.config) self.tool_selector_agent = init_tool_selector_agent(self.config)循环流程:
- 知识缺口智能体分析当前研究状态 → 输出缺口列表
- 工具选择器将缺口转化为具体智能体任务
- 执行工具任务并获取新信息
- 更新研究历史,重复评估直至研究完成
终止条件:当KnowledgeGapOutput.research_complete为True时,循环结束,进入报告生成阶段。
实际应用:特斯拉市场策略研究案例
在examples/sample_output/tesla.md案例中,两智能体的协作过程如下:
- 初始查询:"特斯拉2024年市场扩张策略"
- 知识缺口识别:
- 欧洲市场新工厂建设进度
- 电池供应链合作伙伴变化
- 自动驾驶技术商业化时间表
- 工具选择:
- WebSearchAgent:"特斯拉德国工厂2024"
- SiteCrawlerAgent:"投资者关系"(目标网站:tesla.com)
- WebSearchAgent:"特斯拉自动驾驶2024规划"
- 迭代优化:基于新获取的工厂投产延迟信息,进一步识别"欧洲竞争对手应对措施"缺口
扩展与定制:打造专属研究智能体
开发者可通过修改以下模块扩展系统能力:
- 新增工具智能体:在deep_researcher/agents/tool_agents/目录下实现新的工具调用逻辑
- 调整评估策略:修改knowledge_gap_agent.py中的INSTRUCTIONS模板
- 扩展工具选择:更新tool_selector_agent.py中的可用智能体列表
总结:AI驱动的研究自动化新范式
agents-deep-research通过知识缺口智能体与工具选择器的协同,实现了研究过程的智能化与自动化。这种架构不仅大幅提升了信息收集效率,更保证了研究的系统性与完整性。无论是学术探索、市场分析还是技术调研,该框架都能作为强大的AI助手,帮助研究者聚焦创造性思考而非机械性工作。
要开始使用这个强大的研究工具,只需克隆仓库并安装依赖:
git clone https://gitcode.com/gh_mirrors/ag/agents-deep-research cd agents-deep-research pip install -r requirements.txt通过examples/iterative_example.py可快速体验完整的迭代研究流程,见证AI如何像专业研究员一样思考、探索与发现。
【免费下载链接】agents-deep-researchAn implementation of iterative deep research using the OpenAI Agents SDK项目地址: https://gitcode.com/gh_mirrors/ag/agents-deep-research
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考