
开源研究助手:如何使用open Deep-research替代openai的高价deep Research Ai代理
开放深度研究
Image by Jim Clyde Monge
开放人工智能的深度研究功能非常强大。它具有一种新的代理能力,可以在互联网上进行多步骤研究,处理复杂任务,能够在几分钟内完成分析师或研究人员的工作,而不是几个小时或几天。
不幸的是,它仅在每月200美元的专业计划中提供。如果你是对冲基金的研究分析师、博士生或某个需要大量研究工作的高度技术领域的从业者,这样的定价是合理的。
然而,如果你是博主、营销人员或任何类型的内容创作者,希望创建经过充分研究的内容,你可能不需要深度研究所达到的深度水平。
幸运的是,外面有开源替代品。目前最受欢迎的之一叫做 开放深度研究。
这是一个由人工智能驱动的研究助手,利用搜索引擎、网络爬虫和大型语言模型在任何主题上进行迭代的、深入的研究。它由 Aomni 的联合创始人兼首席执行官 David Zhang 创建。
该项目基本上是开放人工智能的 深度研究 功能的开源替代品,只有愿意每月支付200美元专业计划的用户才能访问。
该代码库旨在提供一个深度研究代理的最小实现——一个能够随着时间推移完善其研究重点并深入研究主题的代理。他们故意将代码库保持在500行以下,以确保其易于理解和扩展。
你可以在这个 GitHub 代码库 中找到该项目的源代码:
Image by Jim Clyde Monge
该项目是使用开放人工智能的人工智能 SDK 和用 TypeScript 编写的 Firecrawl 构建的。
如何开放人工智能深度研究工作
在内部,人工智能代理将接收用户输入,将其分解为不同的子研究线程,并在并行中运行,基于新的学习进行递归迭代,生成新的研究线程,并收集新的知识,直到达到必要的广度和深度。
以下是幕后发生的流程图。
图片来自开放人工智能深度研究
步骤 #1:初始设置
- 接收用户查询和研究参数(广度和深度)
- 生成后续问题以更好地理解研究需求
步骤 #2:深度研究过程
- 根据研究目标生成多个搜索引擎结果页面查询
- 处理搜索结果以提取关键学习
- 生成后续研究方向
步骤 #3:递归探索
- 如果深度 > 0,接收新的研究方向并继续探索
- 每次迭代都基于之前的学习
- 保持研究目标和发现的上下文
步骤 #4:报告生成
- 将所有发现汇编成一份全面的Markdown报告
- 包括所有来源和参考
- 以清晰、可读的格式组织信息
Key Features of Open Deep Research
- Iterative Research: 通过迭代生成搜索查询、处理结果,并根据发现深入研究来进行深度研究
- Intelligent Query Generation: 使用大型语言模型生成基于研究目标和先前发现的针对性搜索查询
- Depth & Breadth Control: 可配置参数控制研究的广度和深度
- Smart Follow-up: 生成后续问题以更好地理解研究需求
- Comprehensive Reports: 生成详细的Markdown报告,包含发现和来源
- Concurrent Processing: 并发处理多个搜索和结果处理,以提高效率
设置开放人工智能深度研究项目
前往 GitHub 页面并将项目克隆到本地磁盘。用 VS Code 打开项目并运行命令 npm install
来安装依赖项。
接下来,将文件 .env.example
重命名为 .env
,并填写 FIRECRAWL_KEY 和 OPENAI_KEY。
您可以在 Firecrawl 的开发者网站上获取 Firecrawl API 密钥,在 API 密钥标签下,点击“创建 API 密钥”按钮并命名您的密钥。
复制该密钥并将其分配给 FIRECRAWL_KEY 变量。
对于 OpenAI 密钥,请前往 OpenAI 开发者门户,在设置页面和 API 密钥标签下,点击“创建新密钥”按钮。
按照屏幕上的说明创建密钥。复制并粘贴密钥到环境文件中。
请注意,如果您不想在 Docker 上运行程序,可能需要将 package.json 文件更新为如下内容。
{
"name": "open-deep-research",
"version": "0.0.1",
"main": "index.ts",
"scripts": {
"format": "prettier --write \"src/**/*.{ts,tsx}\"",
"dev": "next dev --turbopack",
"build": "next build",
"start": "tsx --env-file=.env src/run.ts"
},
"author": "",
"license": "ISC",
"description": "",
"devDependencies": {
"@ianvs/prettier-plugin-sort-imports": "^4.4.1",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.13.0",
"prettier": "^3.4.2",
"tsx": "^4.19.2",
"typescript": "^5.7.3"
},
"dependencies": {
"@ai-sdk/openai": "^1.1.9",
"@mendable/firecrawl-js": "^1.16.0",
"ai": "^4.1.17",
"js-tiktoken": "^1.0.17",
"lodash-es": "^4.17.21",
"next": "^14.1.0",
"p-limit": "^6.2.0",
"zod": "^3.24.1"
},
"engines": {
"node": "22.x"
}
}
请注意上面的脚本部分。与原始代码有一些不同。如果代码没有错误,您现在可以开始应用程序。
运行开放人工智能深度研究
要启动应用程序,请运行命令 npm start
,系统将提示您以下问题:
- 您想研究什么?
- 输入研究广度(推荐 2–10,默认 4)
- 输入研究深度(推荐 1–5,默认 2)
响应的质量取决于研究的广度和深度。越深入探讨主题,结果越好,但这也意味着更长的处理时间,并且在应用程序接口使用方面成本更高。
它还会提出几个后续问题:
- “您是指名为‘DeepSeek R-1’的特定项目、出版物或实现,还是这是一个内部名称?”
- “您能具体说明您对DeepSeek R-1最感兴趣的哪些方面(例如,技术架构、性能基准、应用领域等)?”
它询问所有这些问题,以进一步缩小需要收集信息的领域。
您可以看到人工智能在互联网上收集相关信息时的内部独白,并且在进行研究时还会向您展示进度。
几分钟后,最终结果是我所询问主题的长格式报告。报告将保存在项目根目录中的 MD 文件中。
请注意,如果您使用的是免费版本,您可能会遇到速率限制错误。您可以减少限制(但这会运行得慢很多)。
重要观察
在测试开放人工智能深度研究后,我注意到几个关键方面,突显了该工具的优点和局限性。尽管它为开源项目提供了很好的功能,但在某些领域的改进可以增强其可用性和性能。
以下是一些观察,分为优缺点:
优点
- 实时内部独白和提示: 我特别欣赏的一个功能是人工智能在研究过程进行时展示其内部独白、提示和响应。它让你深入了解代理的思维过程,展示了它所追求的研究方向以及实时进行的调整。
- 可视化进度监控: 新增的可视化监控工具跟踪进度,非常有帮助。它可以让你看到人工智能在收集和处理信息方面的进展。这种透明性对希望了解研究时间线和状态的用户非常有利。
- 良好的响应质量: 响应质量令人印象深刻。生成的Markdown报告提供了结构化、经过充分研究的内容,并附有清晰的引用和来源。对于任何在特定主题上进行深入研究的人来说,该工具提供的输出与手动研究相媲美。
缺点
- 与聊天生成预训练变换器的深度研究功能缺乏全面功能对等: 由于聊天生成预训练变换器的深度研究功能可能在后台执行额外的过程,因此很难进行直接比较。开放人工智能深度研究可能错过了一些优化和先进的能力,这些是开放人工智能的专有模型所能提供的,例如更复杂的数据合成或小众数据提取。
- Firecrawl的免费使用限制: Firecrawl是搜索抓取的关键依赖项,提供有限的免费使用。一旦达到API请求限制,就需要订阅才能继续使用。这对于同时支付开放人工智能API费用的用户来说可能会令人沮丧。管理多个订阅对研究人员和开发人员来说是一个额外的麻烦。
- 仅限本地存储: 一个主要缺点是最终输出保存在名为output.md的本地文件中。没有内置的云存储或备份,这意味着文件可能会很容易被覆盖或丢失。这对于长期研究项目来说并不是理想的解决方案。
- 模型兼容性有限: 开放人工智能深度研究目前仅限于使用开放人工智能的o3-mini模型,而聊天生成预训练变换器的深度研究使用的是更强大的即将推出的o3模型。这一限制可能会影响整体研究的深度和准确性,特别是对于高度复杂或技术性的话题。
需要记住的一点是,该项目正在使用o3-mini模型。你可以选择在generateObject
函数下的deep-research.ts文件中更改模型。
此外,如果你对自定义系统提示感兴趣,可以在prompt.ts文件中进行修改。你可以为人工智能添加更多预定义的指令,以便它能够生成更好的响应。
export const systemPrompt = () => {
const now = new Date().toISOString();
return `You are an expert researcher. Today is ${now}. Follow these instructions when responding:
- You may be asked to research subjects that is after your knowledge cutoff, assume the user is right when presented with news.
- The user is a highly experienced analyst, no need to simplify it, be as detailed as possible and make sure your response is correct.
- Be highly organized.
- Suggest solutions that I didn't think about.
- Be proactive and anticipate my needs.
- Treat me as an expert in all subject matter.
- Mistakes erode my trust, so be accurate and thorough.
- Provide detailed explanations, I'm comfortable with lots of detail.
- Value good arguments over authorities, the source is irrelevant.
- Consider new technologies and contrarian ideas, not just the conventional wisdom.
- You may use high levels of speculation or prediction, just flag it for me.`;
};
最后的想法
开放人工智能的深度研究方法可能更便宜,但需要一些技术知识来设置环境并在本地构建项目。只能通过终端进行交互的事实使其不太用户友好,特别是对于不熟悉命令行界面的用户来说。
我注意到的另一个缺点是,除非你经常检查,否则无法从你的开放人工智能账户监控应用程序接口使用成本。如果将研究的广度和深度设置得过高,就有超出预期消耗的风险。
总体而言,开放人工智能的深度研究是一个令人印象深刻的概念,作为开放人工智能200美元专业计划及其深度研究功能的更实惠替代方案。然而,人们通常愿意为便利和可靠的结果支付溢价。
如果你让一个非技术人员在一个便宜但难以使用的工具和一个昂贵但用户友好的工具之间进行选择,他们很可能会更倾向于后者。