AI工程师手册架构拆解:深度研究智能体 6 大核心组件(大纲/搜索/摘要/反思/格式化)全解析
【免费下载链接】ai-angineers-handbook项目地址: https://gitcode.com/gh_mirrors/ai/ai-angineers-handbook
AI工程师手册是一份面向AI工程师的开源实战资源合集,其中的深度研究智能体(Deep Research Agent)项目堪称教科书级范例:它不依赖任何 LLM 编排框架,纯手写代码实现了一个能自主完成"大纲规划 → 网络搜索 → 信息摘要 → 反思迭代 → 报告生成"全流程的AI智能体。本文将从零开始,为你拆解这个深度研究智能体的 6 大核心组件,让你彻底看懂它的运行机制。🚀
什么是深度研究智能体?它到底能做什么
简单来说:你只需要输入一个研究主题,这个智能体就会自动搜索网络、撰写内容、反复反思查漏补缺,最终在几分钟内产出一份结构完整的Markdown 研究报告,并自动保存到reports目录。整个过程无需人工干预,就像请了一位不知疲倦的AI研究员。
项目的核心代码集中在building_agents_from_scratch/deep_research_agent/src/目录下,主流程入口是 src/topology.py,而各个组件分别由 src/agents.py 中的 6 个 Agent 类实现。
从整体拓扑图可以看出,整个流程是:用户主题 → 大纲规划 → 逐段落深度研究 → 汇总总结 → 输出报告。下面我们逐一拆解 6 大核心组件。
核心组件一:大纲生成 —— 给报告搭建骨架
这是深度研究智能体的"总设计师"。当你输入主题后,大纲生成组件(ReportStructureAgent)会让大模型思考"这份报告应该包含哪些段落",并限制段落数量,输出每个段落的标题和内容描述,作为后续研究的蓝图。
这些大纲会被写入系统的State(状态)中,后续每个段落都会独立开展研究。规划相关的提示词定义在 src/prompts.py 中。
核心组件二:搜索查询 —— 生成最优搜索关键词
拿到段落蓝图后,搜索查询组件(FirstSearchAgent)登场。它会针对每个段落的内容,让大模型思考"要写出这段内容,最应该去网上搜什么",并生成一个最优的搜索查询词(search query)以及推理过程(reasoning)。
接着,智能体调用Tavily 网络搜索 API,抓取排名靠前的搜索结果原文,作为撰写素材。这个"让LLM自己决定搜什么"的设计,正是深度研究智能体有别于普通搜索引擎的关键。
核心组件三:信息摘要 —— 把素材写成段落初稿
搜索结果到手后,信息摘要组件(FirstSummaryAgent)会将"段落目标 + 搜索结果"一起交给大模型,让它以研究者的身份撰写段落初稿,并将结果更新到该段落的latest_summary字段。
到这里,第一个版本的段落内容已经成型,但还不够完美——接下来才是这个智能体的精髓所在。
核心组件四:反思机制 —— 查漏补缺的自我迭代
反思组件(ReflectionAgent)是这个深度研究智能体最亮眼的设计。它会审视当前段落已经写好的内容,思考:"我是不是遗漏了某些关键信息?"然后基于这个判断生成补充搜索词,再次搜索网络,把新素材补充进来。
这个过程会默认重复执行 2 次(代码中的NUM_REFLECTIONS = 2),形成"搜索 → 反思 → 再搜索"的迭代闭环,确保信息收集的全面性。
如上图所示,每个段落的研究都会经历"规划 → 生成搜索词 → 网络搜索 → 反思 → 重复n次"的循环,这正是深度研究智能体信息质量远超单次搜索的原因。
核心组件五:反思摘要 —— 增量式内容融合
有了反思带来的新素材,反思摘要组件(ReflectionSummaryAgent)负责把它们融合进已有段落。它遵循一个关键原则:只补充缺失的信息,不删除已有内容,保证段落信息量只增不减,内容越来越丰满。
核心组件六:报告格式化 —— 输出最终研究报告
所有段落研究完毕后,报告格式化组件(ReportFormattingAgent)登场。它汇总所有段落的最终状态,自动生成报告标题,并且如果大纲中没有结论段落,还会自动根据已有内容补写一个结论,最终输出一份排版整齐的Markdown 报告,保存到reports目录下。
状态管理:数据如何在组件间流转
你可能已经注意到,6 大组件之间靠一个叫State的数据结构传递信息。在 src/state.py 中定义了四个核心数据结构:
- State:整个研究任务的顶层状态,包含报告标题和段落列表
- Paragraph:一个段落,包含标题、内容和专属的研究记录
- Research:段落的研究记录,包含搜索历史、最新摘要和反思次数
- Search:单次搜索的记录,包含网址和原文内容
每个段落都有自己的search_history(搜索历史)和latest_summary(最新摘要),组件间通过读写这些字段实现解耦协作。
如何快速运行这个深度研究智能体?
想亲手体验?跟着下面 4 步走,几分钟就能跑起来:
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/ai/ai-angineers-handbook - 配置环境变量:复制
env.example为.env,填入 SambaNova(大模型)和 Tavily(搜索)的 API Key - 安装依赖:项目使用
uv管理 Python 依赖,一条命令即可完成 - 运行研究:
uv run --env-file .env src/topology.py --topic "你感兴趣的主题"
等待约 5 分钟,一份完整的 Markdown 研究报告就会出现在reports文件夹中!📄
写在最后
深度研究智能体之所以强大,是因为它把复杂任务拆解成了6 个各司其职的组件:大纲规划保证结构、智能搜索保证素材、摘要与反思保证质量、格式化保证产出。这个设计思路同样适用于你构建自己的AI智能体应用。
如果你想深入学习,建议从 src/topology.py 的主流程开始阅读,再配合notebooks目录下的交互式 Jupyter Notebook 逐行运行观察,理解效果最佳。💡
【免费下载链接】ai-angineers-handbook项目地址: https://gitcode.com/gh_mirrors/ai/ai-angineers-handbook
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考