GPT Researcher 快速指南:如何搭建一个会自主搜索、输出带引用研究报告的深度研究代理
【免费下载链接】gpt-researcherAn autonomous agent that conducts deep research on any data using any LLM providers项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-researcher
GPT Researcher 是一款开源的自主深度研究代理(deep research agent)。你只需给它一个研究问题,它会自动拆解子问题、并行搜索网页和本地文档、筛选聚合 20 多个信息源,最终产出一份带引用链接的结构化研究报告。读完本文,你能在 10 分钟内跑起一个带界面的研究服务,并知道如何按自己的场景定制报告来源、语气和深度。
🚀 快速上手:三步跑通第一条研究报告
先让它在浏览器里"动起来",建立正反馈后再谈原理。
第一步,拿到代码。克隆仓库并进入目录:
git clone https://gitcode.com/GitHub_Trending/gp/gpt-researcher cd gpt-researcher这条命令把整个项目(包括前端、后端和核心库)下载到本地。
第二步,配两个密钥。创建一个.env文件,写入你的 LLM 密钥和搜索 API 密钥(官方推荐 OpenAI + Tavily,其他提供商也可以):
OPENAI_API_KEY=你的OpenAI密钥 TAVILY_API_KEY=你的Tavily密钥这两行决定了"大脑用哪家 LLM"和"眼睛用哪个搜索引擎",是整个项目最少但必须的配置。
第三步,装依赖并启动:
pip install -r requirements.txt python -m uvicorn main:app --reload启动后打开浏览器访问http://localhost:8000,输入一个研究问题(比如"AI 对远程办公的影响"),几分钟后你就能看到一份带引用的 Markdown 报告,并且可以导出为 PDF 或 Word。
如果你不需要 Web 界面,只想要一条命令行出报告,项目根目录提供了 cli.py:
python cli.py "气候变化的主要成因" --report_type research_report报告会自动保存到outputs目录,research_report是约 2 分钟的快速摘要型,detailed_report是约 5 分钟的深入型,二选一即可上手。
🧠 工作原理:编辑部模式的计划-执行架构
把它想象成一个小型新闻编辑部,而不是一个"会搜索的聊天框"。
- 策划(Planner):拿到你的研究问题后,先生成一组"合在一起能形成客观结论"的子问题。这一步直接决定了报告覆盖面。
- 采编(执行代理):每个子问题分派给一个爬虫代理,并行抓取网页、摘要内容并记录来源。并行化是它比单线程搜索快得多的原因。
- 主编(Publisher):把所有子主题的摘要去重、聚合,写成一份连贯的报告,每个论点都挂上出处。
上图展示了规划环节:研究问题被拆分成一组互补的子问题,再交给各自的搜索代理
这套"先规划、后执行、再聚合"的设计(受 Plan-and-Solve 思路启发)带来两个实际好处:一是多源交叉让单个网站的错误或偏见被稀释;二是子任务并行,速度接近"1 个问题"的耗时。核心逻辑都集中在 gpt_researcher/ 目录,各搜索源实现在 gpt_researcher/retrievers/,内置了 Tavily、Google、Bing、DuckDuckGo、ArXiv 等二十余种检索器。
🔍 典型用法:按需求选择三条研究路径
同一条流水线,换几个参数就是三种用法。下面每条路径对应一个真实场景。
路径一:网页研究 + 前端实时跟踪(默认路径)
就是快速上手里跑起来的那个界面。适合"我要一份随时可查的行业综述"的场景:提交问题后,界面会实时展示"正在规划 → 正在搜索 → 正在撰写"的阶段进度,报告支持继续追问(Chat),相当于给报告开了个讨论区。
路径二:本地文档研究——让代理只读你的资料
如果你有内部知识库(PDF、Word、Excel、Markdown 等),可以指定代理只在这些文档上做研究,不碰网络。只需两步:
export DOC_PATH="./my-docs"然后在界面下拉框选 "My Documents",或在代码里传report_source="local"。更常见的是混合模式:本地文档打底 + 网络搜索补充,两边来源都会进入报告的引用列表。
上图展示混合研究流程:本地文档与网络来源在同一研究任务中并行处理
这个模式很适合"基于公司历史材料写竞品分析"这类既要内部事实、又要外部动态的任务。
路径三:Deep Research 递归深研
把报告类型设为deep,代理会切换成树状探索:每个层面向外铺开多条子研究线,再沿线索逐层下钻,并发执行、自动聚合上下文。一次约 5 分钟、成本约 0.4 美元(按官方基准),产出接近人工深度调研的信息密度。想理解它的参数(广度deep_research_breadth、深度deep_research_depth),可以看深度研究文档或示例目录 backend/report_type/deep_research/。
⚙️ 定制与接入:把研究代理变成你的专属工具
控制信息来源
- 域名过滤:传一个
domains列表,搜索就被限定在你信任的站点内,例如只看 forbes.com 和 techcrunch.com。做法和更多接口见域名过滤文档。 - 指定具体 URL:
source_urls可以让代理只围绕你给的网页做研究;再加complement_source_urls=True,允许它顺藤摸瓜找相关页面。 - 自定义报告指令:用
custom_report类型,把query直接写成一句完整指令(比如"用 APA 格式写一份综述并附来源"),报告的版式和侧重点都听你的。
以上三项集中在定制研究文档里有完整示例。
换搜索源不换代码
改.env里的RETRIEVER就能切换搜索引擎(tavily、google、bing、duckduckgo等),本地模型则通过OPENAI_BASE_URL指向任何 OpenAI 兼容接口。搜索与模型解耦,是它适配私有部署的关键设计。
接入多代理流水线
想要更"重"的研究流程,multi_agents/ 提供了一整套基于 LangGraph 的分工团队:规划、研究、撰写、事实核查、编辑、发布各司其职,还能接入人工审核节点,一次运行通常产出 5–6 页、多格式(PDF/Docx/Markdown)的报告。
上图是多代理协作架构:研究、写作与事实核查由不同代理接力完成
接入自己的数据源(MCP)
设置RETRIEVER=tavily,mcp并传入mcp_configs,代理就能同时访问 GitHub 仓库、数据库等 MCP 数据源,实现"网络 + 私有数据"的混合研究,MCP 文档有完整配置说明。
🛠️ 避坑与调优:常见问题一次讲清
- 跑起来但报告质量差?九成是搜索源问题。Tavily 免费额度小、DuckDuckGo 无需密钥但结果质量波动大——优先给报告质量敏感的查询配一个稳定的商业搜索 API。
- 想换 LLM 提供商?所有模型相关行为由
LLM_PROVIDER与环境变量控制,默认配置集中在 gpt_researcher/config/variables/default.py,改环境变量即可,不必动代码。 - 并发与速度:子问题默认并发抓取,Deep Research 的并发上限由
DEEP_RESEARCH_CONCURRENCY控制;遇到搜索 API 限流时,优先降并发而不是降数量。 - 看不清代理在干什么?两个手段:一是把 LangChain 追踪打开(
LANGCHAIN_TRACING_V2=true+ API Key),每个 LLM 调用、每步代理状态都能在 LangSmith 面板里回放;二是项目自带日志系统,运行日志落在logs/目录,日志细节见日志文档。 - 成本预期:普通详细报告消耗有限,Deep Research 约 0.4 美元/次(o3-mini high 推理)。批量跑评测前先小样本试水。
上图是在 LangSmith 中查看研究代理执行链路的效果,便于定位慢在哪一步
📚 深入与延伸:下一步去哪里
- 入门文档:从官方文档首页进入,覆盖安装、配置、Docker 部署(Linux 部署指南)。
- 示例代码:docs/docs/gpt-researcher/examples/ 下有自定义提示、样本报告、纯来源输出等可直接运行的脚本。
- 想读懂内部:核心入口是 gpt_researcher/agent.py,配合 gpt_researcher/prompts.py 就能看到每一步喂给 LLM 的提示词,是最快的源码阅读路线。
- 想做评测:evals/ 提供了 SimpleQA 等基准的现成脚本,deep_agents/benchmark_results/ 里还有历次基准跑出的数据,可以对照你自己的结果做回归。
- 想玩更多形态:仓库内还有 NextJS 前端(frontend/nextjs/)、轻量静态前端(frontend/)和 Docker 一键全栈方案(
docker-compose.yml),按团队需要取用即可。
从一条python cli.py到一条多代理发布流水线,GPT Researcher 的能力上限取决于你愿意定制到哪一层——而每一层的改动,都不超过改一个环境变量。
【免费下载链接】gpt-researcherAn autonomous agent that conducts deep research on any data using any LLM providers项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-researcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考