14.7 本章小结
在本章中,我们从零开始构建了一个完整的自动化深度研究智能体系统。让我们回顾一下核心要点:
<strong>(1)TODO 驱动的研究范式</strong>
我们提出了一种新的研究范式——TODO 驱动的研究。这种范式将复杂的研究主题分解为可执行的子任务,通过三个阶段完成研究:
- <strong>规划阶段</strong>:将研究主题分解为 3-5 个子任务,每个子任务包含标题、意图和搜索查询
- <strong>执行阶段</strong>:对每个子任务执行搜索和总结,生成结构化的知识
- <strong>报告阶段</strong>:整合所有子任务的总结,生成最终的研究报告
这种范式的优势在于:
- <strong>可控性强</strong>:每个子任务都有明确的目标和范围
- <strong>质量可靠</strong>:通过专门的 Agent 保证每个环节的质量
- <strong>易于调试</strong>:可以单独调试每个子任务
- <strong>可扩展性好</strong>:可以轻松添加新的子任务或修改现有子任务
<strong>(2)三 Agent 协作系统</strong>
我们设计了三个专门的 Agent,各司其职:
- <strong>TODO Planner(研究规划专家)</strong>:负责将研究主题分解为子任务
- <strong>Task Summarizer(任务总结专家)</strong>:负责总结每个子任务的搜索结果
- <strong>Report Writer(报告撰写专家)</strong>:负责整合所有子任务的总结,生成最终报告
这种设计的优势在于:
- <strong>职责清晰</strong>:每个 Agent 专注于一个特定的任务
- <strong>Prompt 优化</strong>:可以为每个 Agent 定制专门的 Prompt
- <strong>易于维护</strong>:修改一个 Agent 不会影响其他 Agent
- <strong>质量保证</strong>:每个 Agent 都是该领域的"专家"
<strong>(3)ToolAwareSimpleAgent 的设计</strong>
我们扩展了 HelloAgents 框架的SimpleAgent,实现了ToolAwareSimpleAgent。这个 Agent 具有工具调用监听能力,可以:
- <strong>监听工具调用</strong>:通过回调函数监听每次工具调用
- <strong>实时反馈</strong>:将工具调用信息实时推送给前端
- <strong>调试支持</strong>:记录所有工具调用,便于调试
这个 Agent 已经集成到 HelloAgents 框架中,可以在其他项目中复用。
<strong>(4)工具系统集成</strong>
我们充分利用了 HelloAgents 框架的工具系统:
- <strong>SearchTool</strong>:扩展支持更多种搜索引擎(Tavily、DuckDuckGo、Perplexity 等)
- <strong>NoteTool</strong>:持久化研究进度,支持恢复和审计
- <strong>ToolRegistry</strong>:统一管理所有工具,支持自定义扩展
通过配置化的设计,用户可以轻松切换搜索引擎,无需修改代码。
<strong>(5)核心服务实现</strong>
我们实现了四个核心服务,连接 Agent 和工具:
- <strong>PlanningService</strong>:调用规划 Agent,解析 JSON,验证格式
- <strong>SummarizationService</strong>:调用总结 Agent,处理搜索结果,提取来源
- <strong>ReportingService</strong>:调用报告 Agent,整合总结,生成报告
- <strong>SearchService</strong>:调度搜索引擎,处理结果,错误降级,结果缓存
这些服务各司其职,通过清晰的接口协作,实现了从研究主题到最终报告的自动化流程。
<strong>(6)前端交互设计</strong>
我们设计了用户友好的前端界面:
- <strong>全屏模态对话框</strong>:沉浸式体验,清晰的层次
- <strong>SSE 实时进度</strong>:实时展示研究进度,用户体验良好
- <strong>Markdown 可视化</strong>:美观的格式,清晰的结构
通过 Vue 3 + TypeScript + SSE 的技术栈,我们实现了一个现代化的 Web 应用。
这些知识不仅适用于深度研究助手,也可以应用到其他 AI 应用中。希望读者能够在本章的基础上,探索更多的可能性,构建出更强大的 AI 系统。
在下一章中,我们将构建一个与游戏引擎结合的多 Agent 系统——赛博小镇,探索 Agent 之间的复杂交互和协作模式。敬请期待!