14.7 本章小结

配套代码:code/chapter14

在本章中,我们从零开始构建了一个完整的自动化深度研究智能体系统。让我们回顾一下核心要点:

(1)TODO 驱动的研究范式

我们提出了一种新的研究范式——TODO 驱动的研究。这种范式将复杂的研究主题分解为可执行的子任务,通过三个阶段完成研究:

  • 规划阶段:将研究主题分解为 3-5 个子任务,每个子任务包含标题、意图和搜索查询
  • 执行阶段:对每个子任务执行搜索和总结,生成结构化的知识
  • 报告阶段:整合所有子任务的总结,生成最终的研究报告

这种范式的优势在于:

  1. 可控性强:每个子任务都有明确的目标和范围
  2. 质量可靠:通过专门的 Agent 保证每个环节的质量
  3. 易于调试:可以单独调试每个子任务
  4. 可扩展性好:可以轻松添加新的子任务或修改现有子任务

(2)三 Agent 协作系统

我们设计了三个专门的 Agent,各司其职:

  • TODO Planner(研究规划专家):负责将研究主题分解为子任务
  • Task Summarizer(任务总结专家):负责总结每个子任务的搜索结果
  • Report Writer(报告撰写专家):负责整合所有子任务的总结,生成最终报告

这种设计的优势在于:

  1. 职责清晰:每个 Agent 专注于一个特定的任务
  2. Prompt 优化:可以为每个 Agent 定制专门的 Prompt
  3. 易于维护:修改一个 Agent 不会影响其他 Agent
  4. 质量保证:每个 Agent 都是该领域的"专家"

(3)ToolAwareSimpleAgent 的设计

我们扩展了 HelloAgents 框架的SimpleAgent,实现了ToolAwareSimpleAgent。这个 Agent 具有工具调用监听能力,可以:

  • 监听工具调用:通过回调函数监听每次工具调用
  • 实时反馈:将工具调用信息实时推送给前端
  • 调试支持:记录所有工具调用,便于调试

这个 Agent 已经集成到 HelloAgents 框架中,可以在其他项目中复用。

(4)工具系统集成

我们充分利用了 HelloAgents 框架的工具系统:

  • SearchTool:扩展支持更多种搜索引擎(Tavily、DuckDuckGo、Perplexity 等)
  • NoteTool:持久化研究进度,支持恢复和审计
  • ToolRegistry:统一管理所有工具,支持自定义扩展

通过配置化的设计,用户可以轻松切换搜索引擎,无需修改代码。

(5)核心服务实现

我们实现了四个核心服务,连接 Agent 和工具:

  • PlanningService:调用规划 Agent,解析 JSON,验证格式
  • SummarizationService:调用总结 Agent,处理搜索结果,提取来源
  • ReportingService:调用报告 Agent,整合总结,生成报告
  • SearchService:调度搜索引擎,处理结果,错误降级,结果缓存

这些服务各司其职,通过清晰的接口协作,实现了从研究主题到最终报告的自动化流程。

(6)前端交互设计

我们设计了用户友好的前端界面:

  • 全屏模态对话框:沉浸式体验,清晰的层次
  • SSE 实时进度:实时展示研究进度,用户体验良好
  • Markdown 可视化:美观的格式,清晰的结构

通过 Vue 3 + TypeScript + SSE 的技术栈,我们实现了一个现代化的 Web 应用。

这些知识不仅适用于深度研究助手,也可以应用到其他 AI 应用中。希望读者能够在本章的基础上,探索更多的可能性,构建出更强大的 AI 系统。

在下一章中,我们将构建一个与游戏引擎结合的多 Agent 系统——赛博小镇,探索 Agent 之间的复杂交互和协作模式。敬请期待!