はじめに
こんにちはデータ分析エンジニアの木介です。
今回は、Hugging Faceより公開されたオープンソースのAIエージェントOpen Deep Researchを実際に動かしていきたいと思います。
1. 概要
Deep Researchとは、ウェブ検索をしながら自律的に情報を収集し、詳細なレポートを出力してくれるサービスのことを指します。
現在、「Deep Research」という名称が付けられている代表的なサービスとして、以下のものがあります。
サービス名 | OpenAI Deep Research |
Google Gemini Deep Research |
Perplexity Deep Research |
Open Deep Research |
プロバイダー | OpenAI | Perplexity AI | Hugging Face | |
値段 | ChatGPT Pro(月額200ドル) ChatGPT Plus(月額20ドル)でも回数制限付きで利用可能 |
Gemini Advanced(月額20ドル) | 無料(未登録ユーザーは1日5回制限) | 無料(オープンソース) |
精度 | GAIAベンチマーク67%、Humanity's Last Exam26.6%(GPT-4系「o3」採用) | 公式ベンチマークなし。高精度な医療・市場調査レポート生成が可能と評価 | Humanity's Last Exam21.1%。検索・読解性能が高いが、一部誤りあり | オープンモデルの性能に依存(o1モデルを利用することでGAIA55%、Humanity's Last Exam8.5%) |
特徴 | ChatGPT内で動作。検索・推論を組み合わせた詳細な調査レポートを5~30分で生成 | 50以上のWebサイトから情報収集。プラン編集、進捗可視化、Googleドキュメント出力が可能 | 反復検索・推論により短時間で包括的なレポートを生成。検索対象の指定やエクスポート機能あり | オープンLLMのみで実行可能。完全オフライン運用やプライバシー保護に適する |
上記の中でも今回は特にHugging Faceが開発したオープンソースのOpen Deep Researchについて説明していきたいと思います。
こちらのサービスではOpenAIのDeep Researchの再現を目指しており、OpenAI Deep Researchと同様に大規模言語モデル(LLM)とエージェントフレームワークを組み合わせて情報検索や推論を行うことができます。
OpenAIのDeep Researchは、ウェブ検索を活用しながら複雑な問題に対処するためのツールですが、そのエージェントフレームワークの詳細は非公開となっています。これに対し、Hugging Faceのチームは、オープンな代替手段としてこの「Open Deep Research」を開発し、誰でも利用・改良できるシステムを構築している形となります。
Open Deep Researchの仕組み
Open Deep Researchは、以下の2種類のエージェントが協調して情報検索や推論を行います。
- CodeAgent
- ユーザーの質問を受け取り、検索の計画を立案する
- 検索タスクを別エージェント(SearchAgent)に渡す
- SearchAgent
- 実際にウェブ検索を実施し、情報を収集・整理する役割を担当します。
具体的なフローは以下のようになります。
特に、CodeAgent→SearchAgentへの指示の出し方が、以下のようなコードベースとなっており、これにAgentがより複雑なアクションを指示として渡せるようになっています。
Open Deep Research のリクエスト例
search_results = search_agent(task="『Open Deep Research』に関する情報をインターネットで検索して、どのような組織あるいは活動内容なのかを調べてください。") print(search_results)
2. Open Deep Researchを動かす
では早速、Open Deep Researchを実際に動かしていきたいと思います。
準備
以下の3つのAPIキーを取得します。
- Hugging Face APIキー
- SERPAPI APIキー
- OpenAI APIキー
また今回はo1モデルを利用してDeep Researchを行っていきます。
構築方法
以下の手順で環境を構築します。
git clone https://github.com/huggingface/smolagents.git cd smolagents/examples/open_deep_research pip install -r requirements.txt pip install smolagents[litellm] export OPENAI_API_KEY="取得したキーを設定" export HF_TOKEN="取得したHugging Faceのトークン" export SERPAPI_API_KEY="SERPAPIのキー"
検索実行
以下のコマンドを用いて実行しました。
python run.py --model-id "o1" "Open Deep Researchについて教えてください"
実行プロセス(途中経過)
検索を実行すると、以下のような処理が内部で行われます。
Here is the plan of action that I will follow to solve the task:
```
1. Review the task “Open Deep Researchについて教えてください” and the known facts.
2. Use the search_agent to learn about “Open Deep Research.”
3. Summarize key information from the search results, such as background, objectives, or notable works.
4. Present the findings using final_answer.
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Step 1 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Output message of the LLM: ────────────────────────────────────────────────────────────────────────────────────────────
Thought: I need to find information about "Open Deep Research." I will ask the search_agent to perform a web search in
Japanese to get relevant information.Code:
```py
search_results = search_agent(task="『Open Deep
Research』に関する情報をインターネットで検索して、どのような組織あるいは活動内容なのかを調べてください。")
print(search_results)
```
─ Executing parsed code: ────────────────────────────────────────────────────────────────────────────────────────────
search_results = search_agent(task="『Open Deep
Research』に関する情報をインターネットで検索して、どのような組織あるいは活動内容なのかを調べてください。")
print(search_results)
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────…
CodeAgentがSearchAgentにpythonのコードベースでリクエストを送り、それをもとにSearchAgentが検索を行っていることがわかります。
回答結果
得られた回答: 以下に、『Open Deep Research』に関する概要をまとめました。
【概要】
『Open Deep Research』とは、オープンソースのプロジェクトで、AI技術やウェブ検索機能を用いて大量の情報を取り込み、要約や レポート作成、リサーチ業務を支援することを目的としています。GitHub上には複数のリポジトリが存在し、オープンソースとして 開発・改善が進められています。また、公式サイトやデモ版なども公開されており、誰でも導入や拡張が可能です。
【背景・特徴】
・元々は OpenAI が発表した “Deep Research” をベースに、コミュニティ主導で「オープンソース化」された点が特徴です。
・インターネット上に存在する大規模なテキストデータをAIエージェントが検索・解析し、要約やレポートを自動生成する機能を備 えています。
・Firecrawlなどのクローラー技術を組み合わせて検索精度を高めるアプローチも見られます。
【活用例】
・研究資料の自動作成や情報整理など、ウェブ上の膨大な情報を効率的に扱う必要がある場面での利用が想定されます。
・非営利のコミュニティ活動であるため、開発者やユーザーが協力して機能を拡充・改善しながら発展しているとみられます。
【注意点】
・2025年ごろにまとめられた情報がヒットしており、正式な企業組織などは固まっていない可能性があります。実際に利用する場合 は、GitHubリポジトリや公式サイト(https://opendeepresearch.vercel.app など)を確認することを推奨します。
・ライセンス形態や継続的な開発状況についても最新情報をチェックしておくとよいでしょう。
以上が、『Open Deep Research』に関する主な情報です。
最新の情報をもとに、検索対象についてのレポートを生成できました。
OpenAI Deep Researchとの比較
同様の質問をOpenAI Deep Researchに対して行った結果が以下になります。
OpenAI Deep Researchの回答結果
了解しました。「Open Deep Research」の概要について調査し、その目的や活動内容、関連する組織やプロジェクトなどの情報をまとめます。
調査が完了しましたらお知らせします。
# Open Deep Researchの概要
## 概要
Open Deep Research(オープン・ディープ・リサーチ)は、OpenAIが開発した高度な調査エージェント「Deep Research」のオープンソース代替を目指すプロジェクトです。Hugging Face社の共同創業者トーマス・ウルフ氏らが中心となり、**誰もが自分の好きな言語モデルを組み合わせて**ローカル環境で高度な調査エージェントを利用できるようにすることを目的としています。具体的には、OpenAIが公開しなかったエージェント制御部分(ウェブ閲覧やツール使用を指示するフレームワーク)を独自に実装・公開し、閉鎖的な最先端AI機能の民主化を図るミッションを掲げています。
## 主要な研究分野・活動内容
Open Deep Researchは、Deep Researchと同等の**ウェブリサーチ機能**を実現することに焦点を当てています。ユーザーの質問に対し、インターネット上から情報を自動収集・分析し、論理的な推論を行って長文の回答を生成します。その特徴的な機能は次の3点にまとめられます:
- **コンテンツの発見**: ユーザーの質問に関連する情報をウェブ検索で収集します(自動的に検索クエリを生成し、最新の情報を探索)。
- **コンテンツの統合**: 複数の情報源から得た内容を要約・統合し、重要なポイントを抽出します。
- **情報の推論**: 集めた情報に基づいて論理的な推論を重ね、質問に対する結論や詳細な説明を導き出します。
こうしたプロセスにより、**人間が数時間かけて行う調査を数分〜数十分で遂行し**、専門家レベルの詳細なレポートを生成できるとされています。
技術的には、Open Deep Researchは以下の要素を組み合わせて実現されています:
1. **検索エンジン** – 外部の検索サービスを用いて関連情報を検索し、該当ページのURLを取得(例: DuckDuckGo APIなど)
2. **リーダー(Webページ内容抽出)** – 検索結果のURLからページ本文を抽出し、テキストデータ化するモジュール
3. **大規模言語モデル(LLM)** – 抽出したテキストに基づき要約・質問応答・推論を行うAIモデル(現在は主にOpenAIのモデルo1などを利用)
4. **エージェント制御ロジック** – LLMにウェブ閲覧やファイル読込などのツール使用を指示し、複数ステップの操作を管理するフレームワークです。Hugging Face版ではPython製の軽量エージェントライブラリ「**smolagents**」を用いてこのロジックを実装し、OpenAIのLLM(o1モデル)のAPIと組み合わせてDeep Research相当の動作を再現しています。
## 関連する組織やプロジェクト
Open Deep Researchは**Hugging Face社**の研究者チームによって推進されているプロジェクトです。特にトーマス・ウルフ氏(Hugging Face共同創業者)やAymeric Roucher氏らが24時間のハッカソン的取り組みでプロトタイプを構築し、その成果を公開しました。このプロジェクトはOpenAIのDeep Research(元のクローズドなエージェント)に触発されたものであり、オープンソースコミュニティによる協力が特徴です。同様の目的を持つ関連プロジェクトも複数存在します。例えば、**Jina AI社**はTypeScript/Node.jsで実装された「node-DeepResearch」というオープン版エージェントを開発し、GoogleのPaLM 2やGeminiモデルをバックエンドに用いるアプローチを取っています。また、個人開発者によるクローン実装も登場しており、Hugging Faceの報告によれば*dzhng*氏や*nickscamara*氏などがそれぞれ独自にDeep Researchのオープンソース版を公開しています。これらの取り組みは相互に刺激を与えあい、エージェントAI分野全体の発展に寄与しています。
## 公式サイトや情報源
Open Deep Researchに関する公式情報やリソースは以下の通りです。
- **公式ブログ記事(Hugging Faceブログ)** – 2025年2月4日にHugging Faceが公開した記事「*Open-source DeepResearch – Freeing our search agents*」で、Open Deep Researchの背景や実装、成果が解説されています。
- **デモサイト(Hugging Face Spaces)** – Hugging Faceの提供するデモページ上でOpen Deep Researchを試用できます。ブラウザから質問文を入力すると、エージェントが自動で検索・回答を行います。現在このデモには世界中から多数のリクエストが殺到しており、応答待ち時間が長くなる場合があります。
- **ソースコード(GitHub)** – Open Deep Researchの実装コードは**GitHub**上で公開されており、Hugging Faceの`smolagents`リポジトリ内の`open_deep_research`サンプルとして参照できます。誰でもコードを閲覧・利用でき、Issueやプルリクエストを通じたフィードバックや貢献も歓迎されています。
なお、この他にもTechCrunchやArs Technicaなどのテックメディアが本プロジェクトについて詳細なレポートを公開しており、日本語ではQiitaやGIGAZINEが背景解説やセットアップ方法を紹介しています。
## 最新の研究成果や発表
Open Deep Researchは公開直後から高い性能を示しており、OpenAI公式のDeep Researchに迫る成果が報告されています。具体的には、一般的なAIアシスタントの能力を問う**GAIAベンチマーク**において、Deep Research本家が**平均67.36%**の正解率を達成したのに対し、Open Deep Researchは**54%前後**のスコアに到達したと伝えられています。わずか1日程度で基本機能を再現し、本家の約8割に迫る性能を示したことは大きな成果です。Hugging Faceチームは「これは始まりに過ぎず、改善すべき点はたくさんあります」と述べており、引き続き性能向上に向けた開発を継続する意向を示しています。その後もOpen Deep Researchは着実にアップデートが加えられています。例えば**2025年3月時点**では、新機能としてエージェントの探索プロセスを視覚的に表現する「**Visual Flow**」機能が導入されており、複数段階にわたる深掘り調査の流れを把握しやすくする工夫がなされています。また、今後の計画として、OpenAIが発表したブラウザ操作エージェント「Operator」に匹敵するような**GUI操作対応エージェント**(画面を見てマウス・キーボードで操作するエージェント)の開発にも取り組むとされています。これらの最新発表から、Open Deep Researchプロジェクトはコミュニティと協力しながら進化を続けており、オープンソースAIエージェントの可能性を広げる最前線に立っていることが伺えます。
以下が簡単な比較になります。
比較項目 | Open Deep Research | OpenAI Deep Research |
参考サイト数 | 8サイト | 17サイト |
回答までの時間 | 約2分 | 約16分 |
レポート品質 | 検索結果を反映しているが簡潔である。 | 検索結果の詳細にまで触れられている。 |
結果としては、やはりOpenAI Deep Researchの方がより多くのサイトを参照しており、レポートとしても充実していました。
ただ、Hugging Face の場合、OSSとして公開されているため、任意のLLMを組み合わせたり、自社のサービスなどに組み込むことができるのは良いですね。