Agent 教程笔记(Task06)

1.459k 字  |  5 分钟

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 可视化

评论(没有评论)

谢谢你请我喝咖啡~

扫码支持
扫码打赏,支持一下
微信 微信支付
支付宝 支付宝

打开微信扫一扫,即可进行扫码打赏哦