agents-deep-research架构揭秘:知识缺口智能体与工具选择器如何协同工作

📅 2026/8/1 21:13:10 👁️ 阅读次数 📝 编程学习
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中,通过结构化输出判断研究是否完成。

工作原理:三步评估法

  1. 输入分析:接收原始查询与研究历史,格式如下:

    =========================================================== ORIGINAL QUERY: <原始用户查询> HISTORY OF ACTIONS, FINDINGS AND THOUGHTS: <已执行活动与发现> ===========================================================
  2. 完整性评估:基于当前研究成果,判断是否足以回答原始查询。关键代码逻辑体现在其输出模型:

    class KnowledgeGapOutput(BaseModel): research_complete: bool = Field(description="研究是否足够完整以结束循环") outstanding_gaps: List[str] = Field(description="仍需解决的知识缺口列表")
  3. 缺口识别:若研究不完整,最多识别3个优先级最高的知识缺口。例如当研究"量子计算市场规模"时,可能识别出:

    • 2025年全球量子计算市场细分数据
    • 主要厂商技术路线对比
    • 行业应用案例经济效益分析

智能决策流程

该智能体通过提示词模板引导LLM进行分析(deep_researcher/agents/knowledge_gap_agent.py#L31-L49),核心指令包括:

  • 评估最新研究成果与原始查询的匹配度
  • 确定是否需要继续研究循环
  • 按优先级排序知识缺口,确保针对性

工具选择器:智能体的"任务分配中心"

工具选择器作为研究资源的"调度员",将知识缺口转化为具体的智能体任务。其实现位于deep_researcher/agents/tool_selector_agent.py,负责为每个缺口匹配最优工具。

核心功能:从缺口到行动

  1. 任务建模:通过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="研究对象的网站")
  2. 工具映射:目前支持两种专业智能体:

    • WebSearchAgent:适用于广泛主题的网络搜索
    • SiteCrawlerAgent:针对特定网站的深度爬取(如公司官网、学术数据库)
  3. 选择策略:遵循工具选择指南:

    • 每次最多调用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中的迭代循环实现无缝协作,形成完整的研究闭环:

  1. 初始化阶段

    self.knowledge_gap_agent = init_knowledge_gap_agent(self.config) self.tool_selector_agent = init_tool_selector_agent(self.config)
  2. 循环流程

    • 知识缺口智能体分析当前研究状态 → 输出缺口列表
    • 工具选择器将缺口转化为具体智能体任务
    • 执行工具任务并获取新信息
    • 更新研究历史,重复评估直至研究完成
  3. 终止条件:当KnowledgeGapOutput.research_complete为True时,循环结束,进入报告生成阶段。

实际应用:特斯拉市场策略研究案例

在examples/sample_output/tesla.md案例中,两智能体的协作过程如下:

  1. 初始查询:"特斯拉2024年市场扩张策略"
  2. 知识缺口识别
    • 欧洲市场新工厂建设进度
    • 电池供应链合作伙伴变化
    • 自动驾驶技术商业化时间表
  3. 工具选择
    • WebSearchAgent:"特斯拉德国工厂2024"
    • SiteCrawlerAgent:"投资者关系"(目标网站:tesla.com)
    • WebSearchAgent:"特斯拉自动驾驶2024规划"
  4. 迭代优化:基于新获取的工厂投产延迟信息,进一步识别"欧洲竞争对手应对措施"缺口

扩展与定制:打造专属研究智能体

开发者可通过修改以下模块扩展系统能力:

  • 新增工具智能体:在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),仅供参考