当前位置: 首页 > news >正文

AI工程师手册实战:从零构建 Deep Research Agent,自动生成研究报告的完整教程

AI工程师手册实战:从零构建 Deep Research Agent,自动生成研究报告的完整教程

【免费下载链接】ai-angineers-handbook项目地址: https://gitcode.com/gh_mirrors/ai/ai-angineers-handbook

如果你正在寻找一份AI工程师手册级别的实战教程,想搞懂 AI Agent 是如何工作的,那么本文非常适合你。我们将基于开源项目ai-angineers-handbook中的 Deep Research Agent 子项目,一步步拆解它是如何自动生成研究报告的——从用户输入一个主题开始,经过规划、搜索、反思、总结四个阶段,最终产出一份完整的 Markdown 报告,全程无需任何 LLM 编排框架,代码简洁到新手也能看懂。

上图展示了 Deep Research Agent 从"用户提问"到"交付报告"的端到端架构,来源:deep_research_agent/README.md

Deep Research Agent 是什么?它能自动做什么?

Deep Research Agent 是一个"深度研究型" AI Agent。与传统聊天机器人不同,它不只靠模型记忆回答问题,而是真正具备自主搜索网页、反复反思、迭代补全信息的能力,就像一位认真负责的研究助理:

  • 🧠自主规划:先为你的问题设计报告大纲
  • 🔍主动搜索:针对每个章节生成搜索词并调用网页搜索
  • 🤔反思迭代:检查已有内容是否遗漏关键信息,补充搜索
  • 📝自动成稿:把分散的资料整理成结构化研究报告

项目完整源码位于 deep_research_agent/src,全部核心逻辑只有 6 个文件,非常适合作为 AI Agent 入门教材。

Deep Research Agent 工作流程:5 步自动生成研究报告

整个系统采用经典的"规划—执行—总结"流水线,你只需要运行一条命令,剩下的交给 Agent:

  1. 输入主题:用户提供想要研究的话题(Query)
  2. 生成大纲:LLM 根据主题规划报告结构,输出若干段落的标题与内容要点
  3. 逐段深研:每个段落独立进入研究流程,获取充足素材
  4. 汇总成稿:所有段落的研究结果汇总,由 LLM 组装成最终报告
  5. 输出报告:以 Markdown 文件形式交付给用户

这套顶层调度逻辑写在 topology.py 中,主流程清晰易懂,是理解 AI Agent 工作流的绝佳范例。

深入研究环节:Agent 反思机制如何提升报告质量

Deep Research Agent 最精彩的部分在于"单段落研究"环节,它体现了AI Agent 反思机制的核心思想:

针对每一个段落,Agent 会执行以下循环:

  • ① LLM 基于段落要点设计最优搜索词,并说明推理过程
  • ② 调用 Tavily 执行网页搜索,获取前几名相关结果
  • ③ 把搜索结果交给 LLM 生成段落初稿
  • ④ 进入反思步骤:LLM 审视初稿,判断是否遗漏关键角度,生成补充搜索词
  • ⑤ 将补充结果合并进段落内容,重复反思若干轮(默认 2 轮),直到信息足够完整

这种"搜索 → 总结 → 反思 → 再搜索"的闭环,正是深度研究 Agent 与传统问答的关键区别,相关代码可参考 agents.py 中的ReflectionAgentReflectionSummaryAgent

AI 工程师手册项目结构一览

本项目是 "Building Agents from Scratch"(从零构建 AI Agent)系列的一部分,整个手册循序渐进地覆盖了构建 Agent 的核心能力:

模块学习内容项目路径
Tool Use让 LLM 调用外部工具tool_use
Reflection反思与自我纠错planning/reflection
Deep Research Agent深度研究 + 自动成稿deep_research_agent

记忆(Memory)与评估(Evaluation)模块也在规划中。想从宏观上理解 AI Agent 的组成(核心、规划、记忆、工具),可以查看项目总览图 agent.png。

快速上手:一键安装与运行 Deep Research Agent

项目使用 uv 管理 Python 依赖,安装与运行都非常简单:

第 1 步:克隆仓库

git clone https://gitcode.com/gh_mirrors/ai/ai-angineers-handbook

第 2 步:复制环境变量文件

进入building_agents_from_scratch/deep_research_agent目录,将env.example复制为.env

cp env.example .env

第 3 步:运行深度研究

uv run --env-file .env src/topology.py --topic "人类有哪些有趣的特性"

大约 5 分钟后,一份完整的 Markdown 研究报告就会生成到reports目录下。

配置 API 密钥:SambaNova 与 Tavily 的完整配置方法

运行前需要准备两个免费的 API 密钥,并填入.env文件:

  • SAMBANOVA_API_KEY:用于调用推理模型(DeepSeek-R1 系列)
  • TAVILY_API_KEY:用于网页搜索

默认配置(见 env.example)已经非常贴心:

  • LLM_REASONINGDeepSeek-R1-Distill-Llama-70B,负责大纲规划与最终成稿(推理能力强)
  • LLM_REGULARMeta-Llama-3.3-70B-Instruct,负责搜索词生成与段落总结(速度快、成本低)

这种"强推理模型做规划、轻量模型做执行"的分工,是很多生产级 AI Agent 的通用设计,很值得学习借鉴。

查看生成结果:研究报告输出到哪里?

运行完成后,报告会以时间戳命名自动保存,例如:

reports/report_2026-08-19_08-00-00.md

报告内容包括:

  • 📄 根据各段落标题自动生成的总标题
  • 📑 结构化的章节内容
  • 🧾 自动补充的结论(Conclusion)段落

如果只想跟着代码逐步理解实现细节,项目还提供了 Jupyter Notebook 交互式教程,位于 notebooks,逐行运行即可观察 Agent 的每一步行为。

写在最后:下一步怎么学?

通过本文的拆解,你已经看到了一个真实可运行的Deep Research Agent是如何把"规划、搜索、反思、总结"串成完整工作流的。这也是AI工程师手册系列的核心价值——不依赖黑盒框架,用最简单的方式讲清楚 AI Agent 的本质。

接下来你可以尝试:

  • ✏️ 修改 topology.py 中的反思轮数NUM_REFLECTIONS,观察报告质量变化
  • 🔧 调整搜索结果的截断长度,控制信息量
  • 📖 继续学习同系列的工具使用(Tool Use)与反思(Reflection)模块,完善你的 Agent 知识体系

从零构建一个属于自己的 AI Agent,并没有想象中那么难,现在就去动手试试吧!

【免费下载链接】ai-angineers-handbook项目地址: https://gitcode.com/gh_mirrors/ai/ai-angineers-handbook

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4122622.html

相关文章:

  • 网盘直链下载完全上手指南:8 大网盘一个脚本全搞定
  • magvit2-pytorch训练调优秘诀:EMA、学习率预热与WB实验跟踪
  • 为什么无需CUDA内核?MaxEntScan score3 NPU 纯PyTorch算子前向传播原理详解
  • Java开发升级指南:从JDK 8到JDK 17的核心新特性与实践
  • Pangolin-NPU 避坑清单:CPU 回退禁令、HF32 时序要求与 5 个高频错误
  • TabSTAR源码深度导读:从forward()到argmax的完整推理链路
  • 中型企业勒索软件风险与供应链双向防御困境研究
  • Cobble多语言系统实现:JSON驱动本地化代码生成器原理解析
  • Puppeteer核心API速查手册:thal项目最常用的10个爬虫方法
  • 老款Mac重获新生:OpenCore Legacy Patcher升级macOS完整指南
  • lsp.vim 配置指南:30+ 种语言服务器注册代码全收录
  • 免费微调攻略:用Unsloth把Llama-3.1-8B-FP8-Dynamic变成专属模型
  • Lemonad源码深度解析:1200行代码背后的函数式编程设计智慧
  • 2026 西安 GEO 优化服务商口碑推荐:真实用户评价 + 核心优势 深度版
  • ufold-npu 环境搭建避坑指南:torch_npu 与 CANN 依赖配置全记录
  • Metaforce路线图解读:alpha阶段的Metroid Prime重制版还有多远?
  • 告别空白图标!QuickLookVideo 让 Mac 视频预览不再挑格式
  • standalone架构设计:ttm-r3-npu如何做到整体拷贝到任意主机即可运行
  • meta-glasses-api 安全合规指南:使用前必读的隐私红线与法律风险
  • Pyfa 离线配船工具实战指南:从零配出第一艘强力舰船
  • 零联网搞定语音转文字?faster-whisper-GUI 本地部署实战手册
  • InternVL3-78B-AWQ 流式输出实现:打造丝滑实时对话体验的终极指南
  • PS4金手指管理器完整上手攻略:1490款游戏作弊代码与补丁,一个应用全管好
  • Gradle 构建 JavaFX 完整教程:OpenJFX Samples 中 javafxplugin 与 jlink 插件实战
  • 深入 SoundCleod 暗黑模式实现原理:3 份 CSS 注入网页的完整方案
  • 我实测了 RevokeMsgPatcher:微信防撤回补丁 5 步装完,被撤回的消息照样能看
  • 人体姿态搜索完整指南:用浏览器三分钟找到你想要的任意姿势
  • 告别杂乱三角网格:用 QRemeshify 轻松搞定 3D 模型拓扑优化
  • 踩坑实录:Kairos-23M在NPU上报错EZ1001,complex64算子修复全过程
  • magvit2-pytorch快速开始:3步安装并跑通视频离散编码Demo