在本章中,我们从零开始构建了一个完整的自动化深度研究智能体系统。让我们回顾一下核心要点:
(1)TODO 驱动的研究范式
我们提出了一种新的研究范式——TODO 驱动的研究。这种范式将复杂的研究主题分解为可执行的子任务,通过三个阶段完成研究:
- 规划阶段:将研究主题分解为 3-5 个子任务,每个子任务包含标题、意图和搜索查询
- 执行阶段:对每个子任务执行搜索和总结,生成结构化的知识
- 报告阶段:整合所有子任务的总结,生成最终的研究报告
这种范式的优势在于:
- 可控性强:每个子任务都有明确的目标和范围
- 质量可靠:通过专门的 Agent 保证每个环节的质量
- 易于调试:可以单独调试每个子任务
- 可扩展性好:可以轻松添加新的子任务或修改现有子任务
(2)三 Agent 协作系统
我们设计了三个专门的 Agent,各司其职:
- TODO Planner(研究规划专家):负责将研究主题分解为子任务
- Task Summarizer(任务总结专家):负责总结每个子任务的搜索结果
- Report Writer(报告撰写专家):负责整合所有子任务的总结,生成最终报告
这种设计的优势在于:
- 职责清晰:每个 Agent 专注于一个特定的任务
- Prompt 优化:可以为每个 Agent 定制专门的 Prompt
- 易于维护:修改一个 Agent 不会影响其他 Agent
- 质量保证:每个 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 之间的复杂交互和协作模式。敬请期待!