7. 自动化深度研究智能体系统
7.1 TODO 驱动的研究范式
核心思想:将复杂研究主题分解为可执行的子任务,通过"规划→执行→整合"流程完成。
三阶段流程:
- 规划阶段:将研究主题分解为 3-5 个子任务,每个包含 title、intent、query
- 执行阶段:对每个子任务执行搜索和总结,生成结构化知识
- 报告阶段:整合所有子任务总结,生成最终研究报告
优势:可控性强、质量可靠、易于调试、可扩展性好。
7.2 三 Agent 协作系统
Agent 职责划分:
- TODO Planner(研究规划专家):将研究主题分解为子任务,输出 JSON 格式
- Task Summarizer(任务总结专家):总结搜索结果,提取关键信息,添加来源引用
- Report Writer(报告撰写专家):整合所有子任务总结,生成结构化 Markdown 报告
协作模式:顺序协作,线性流程,每个 Agent 的输入来自上一个 Agent 的输出。
设计要点:
- 每个 Agent 专注单一职责
- 为每个 Agent 定制专门的 Prompt
- 通过清晰的接口协作,易于维护和扩展
7.3 ToolAwareSimpleAgent 扩展
设计动机:SimpleAgent不支持工具调用监听,需要扩展以记录工具调用情况。
核心功能:
- 通过
tool_call_listener回调函数监听每次工具调用 - 记录 Agent 名称、工具名称、参数、结果等信息
- 用于调试、日志、进度展示等场景
实现方式:继承SimpleAgent,重写_execute_tool_call方法,在执行工具后通知监听器。
7.4 工具系统集成
SearchTool 扩展:
- 支持多种搜索引擎:Tavily、DuckDuckGo、Perplexity、SearXNG 等
- 提供统一的搜索接口,通过配置选择搜索引擎
- 实现结果去重、Token 限制、错误降级等处理
NoteTool 使用:
- 持久化研究进度,每个子任务的总结保存为 Markdown 笔记
- 支持研究中断后恢复,方便审计和分析
- 笔记结构:任务信息、搜索结果、总结、来源引用
ToolRegistry 管理:
- 统一管理所有工具的注册和调用
- Agent 通过工具调用指令使用工具
- 支持工具的动态注册和扩展
7.5 服务层实现
四个核心服务:
- PlanningService:调用规划 Agent,解析 JSON,验证子任务格式
- SummarizationService:调用总结 Agent,格式化搜索结果,提取来源引用
- ReportingService:调用报告 Agent,整合总结,生成最终报告
- SearchService:调度搜索引擎,处理结果(去重、Token 限制),支持缓存
设计原则:服务层连接 Agent 和工具,各司其职,通过清晰接口协作。
7.6 前端交互设计
全屏模态对话框 UI:
- 沉浸式体验,清晰的层次结构
- 包含顶部栏、进度区域、内容区域、底部栏
- 响应式设计,适配不同屏幕尺寸
SSE 实时进度展示:
- 使用 Server-Sent Events 实现服务器主动推送
- 实时展示研究进度(规划、执行、报告)
- 推送任务列表、任务总结、最终报告等事件
Markdown 结果可视化:
- 使用
marked库将 Markdown 转换为 HTML - 自定义样式,美观展示研究报告
- 特殊处理来源引用,便于查看和验证
7.7 关键要点总结
- 研究范式:TODO 驱动,三阶段流程,系统化研究
- Agent 设计:职责清晰,Prompt 优化,易于维护
- 工具集成:SearchTool 多引擎支持,NoteTool 持久化,ToolRegistry 统一管理
- 服务架构:四层服务,连接 Agent 和工具,清晰接口
- 用户体验:全屏模态、SSE 实时进度、Markdown 可视化

评论(没有评论)