GPT Researcher 深度调研报告
开源自主 AI 研究 Agent——规划、搜索、验证、成稿。卡内基梅隆大学 DeepResearchGym 排名第一的深度研究系统,MCP 协议赋能 LLM 应用进行真实深度研究。
项目概览
GPT Researcher 由 assafelovic 于 2023 年创建,是目前最成熟的开源自主研究 Agent 之一。它不是一个聊天机器人,而是一个全自动研究系统——接收一个主题,自动规划研究问题、并行搜索数十个来源、验证信息、合成并生成带引用的长文报告。
项目在 CMU DeepResearchGym 基准测试中排名第一,被数千个团队用于生产研究流程。核心代码库(assafelovic/gpt-researcher)在 GitHub 上获得超过 15k Stars,同时维护了独立的 MCP 服务器仓库(assafelovic/gptr-mcp)。
架构与工作流
GPT Researcher 的核心思想源于 Plan-and-Solve 论文,采用"规划器 + 执行器"双 Agent 架构:
- 规划器 Agent——分析研究主题,生成结构化的研究问题列表,确保覆盖全面
- 爬取 Agent——对每个问题并行搜索(支持 Tavily / Bing / Google / DuckDuckGo / SearXNG 等),抓取内容
- 摘要 Agent——对每个来源的内容进行摘要和来源追踪
- 出版 Agent——过滤、汇总所有摘要,生成最终研究报告(含引用)
整个过程是自动化的:从接收查询到输出报告无需人工干预。报告长度可超过 2000 字,聚合 20+ 来源。
Deep Research(递归研究)
最新版本引入了 Deep Research 工作流——采用树状探索模式,对子主题递归深入,同时保持对研究主题的全局视图。这使其能够在 CMU DeepResearchGym 上超越大多数商业方案(包括 GPT-4 的 Deep Research 模式)。
核心功能
- 自主研究——接收主题,自动完成规划→搜索→验证→写作全流程
- 并行多源搜索——同时从 20+ 个来源采集信息,确保客观性
- 内联引用——报告中每条结论附带来源链接,支持溯源验证
- 智能图片抓取——AI 自动筛选相关图片嵌入报告
- AI 生成插图——使用 Gemini 在报告中生成可视化插图
- MCP 集成——可连接 GitHub、数据库、自定义 API 等专用数据源
- 多 LLM 支持——OpenAI、Anthropic、Google、Mistral、DeepSeek、Ollama、LiteLLM
- 多格式导出——PDF、Word、HTML 等
- 流式输出——通过 WebSocket 和 SSE 实时流式传递研究进度
- 前端界面——轻量版(HTML/CSS/JS)和生产版(NextJS + Tailwind)
MCP 服务器
GPT Researcher 的 MCP 服务器(gptr-mcp)将其研究能力暴露为 MCP 工具,使 Claude Desktop、Cursor、OpenCode 等 MCP 客户端都能使用深度研究能力。
暴露的工具
| 工具名 | 用途 | 说明 |
|---|---|---|
| deep_research | 深度研究 | 自主多源研究,规划+搜索+验证+引用跟踪 |
| quick_search | 快速搜索 | 低延迟 Web 搜索,返回结果摘要 |
| write_report | 生成报告 | 从累积的研究上下文中生成长文报告 |
| get_research_sources | 查来源 | 列出研究过程中收集的所有来源 |
| get_research_context | 查上下文 | 返回完整的累积研究上下文 |
支持的传输协议
| 传输方式 | 适用场景 |
|---|---|
| STDIO | Claude Desktop、本地 MCP 客户端(默认) |
| SSE | Docker、Web 客户端、n8n 集成(自动启用) |
| Streamable HTTP | 现代 Web 部署 |
安装与使用
Python 包安装
BASHpip install gpt-researcher
# 基本使用
from gpt_researcher import GPTResearcher
researcher = GPTResearcher(query="主题", report_type="research_report")
context = await researcher.conduct_research()
report = await researcher.write_report()
MCP 服务器(推荐用于 OpenCode)
BASHgit clone https://github.com/assafelovic/gptr-mcp
cd gptr-mcp
pip install -r requirements.txt
# 设置环境变量
export OPENAI_API_KEY=sk-...
export TAVILY_API_KEY=tvly-...
# 启动 MCP 服务器
python server.py
当前系统使用的正是 gptr-mcp,通过 MCP 协议在 OpenCode 中提供 deep_research、quick_search 等工具。
Docker 部署
BASHdocker run -e OPENAI_API_KEY=... -e TAVILY_API_KEY=... ghcr.io/assafelovic/gpt-researcher
竞品对比
| 维度 | GPT Researcher | OpenAI Deep Research | Perplexity |
|---|---|---|---|
| 开源 | ✅ MIT | ❌ | ❌ |
| 自我托管 | ✅ pip / Docker | ❌ | ❌ |
| MCP 支持 | ✅ 官方 MCP 服务器 | ❌ | ❌ |
| LLM 可选 | ✅ 几乎全部 | ❌ 固定 | ❌ 固定 |
| 搜索后端可选 | ✅ 7+ 种引擎 | ❌ | ❌ 自有引擎 |
| 报告深度 | 高(20+ 来源) | 极高 | 中 |
| 速度 | 中(30-40 秒) | 慢(数分钟) | 快 |
优缺点分析
优势
- 真正自主——从规划到成稿全自动,不需要人工干预
- 开源自托管——数据不出网、不依赖第三方 API 做研究(搜索需 API Key)
- MCP 原生——gptr-mcp 是当前 MCP 生态中最成熟的研究工具
- 配置灵活——几乎每个环节都可自定义(LLM、搜索后端、报告类型)
- 学术认可——CMU 基准测试第一,方法论有论文支撑
不足
- 速度较慢——深度研究需 30-40 秒,不适合实时对话场景
- 依赖多个 API Key——需要 LLM API + 搜索 API 两个 Key
- 中文支持一般——默认搜索后端 Tavily 中文质量不如百度/必应
- 报告可能冗长——不加约束时会生成过多内容,需要后续提炼
总结
GPT Researcher 是目前开源领域中最成熟、最完整的自主研究 Agent。其 MCP 服务器(gptr-mcp)使其能够无缝嵌入任何 MCP 兼容的 AI 应用——包括 OpenCode。在配置了合适的 LLM 和搜索后端后,它能产出质量远超普通 Web 搜索的深度研究报告。
对于需要快速了解陌生领域、收集竞品信息、做技术调研的场景,GPT Researcher + OpenCode 是一个非常强大的组合。当前系统已经集成了 gptr-mcp,本报告就是其能力的产物之一。