Google ADKで「Deep Research」を自作する

null ・ @codesmith_xyz(推定) ・ 💻 AI/開発

Google ADKで「Deep Research」を自作する

**投稿者:** @codesmith_xyz(推定)

**元記事著者:** xxkuboxx (Zenn)

**投稿日時:** 2025年12月頃

**記事URL:** https://zenn.dev/xxkuboxx/articles/7c9f7c70987770

**GitHub:** https://github.com/xxkuboxx/ADK-DeepResearch

---

概要

Google Agent Development Kit (ADK) を使用して、ChatGPTやGeminiのDeep Research機能を自作。「深掘り回数を変えたり検索対象を限定したり、もっと挙動を制御したい」というエンジニアの欲求を満たす。

---

なぜADKで自作するのか?

1. Google検索が標準装備

Deep Researchタスクでは「検索品質」が命綱。ADKはGoogle検索が標準でサポートされており、現代において最も信頼性が高く広範な検索を、エージェントがツールとして自然に使いこなせる。

2. ブラックボックスを開けたい

既製品の不満:

自作すれば、これらのパラメータを完全に制御下に置ける。

3. RAGチャットボットのDeep Research化への応用

特定のドキュメントのみを参照するRAGチャットボットのDeep Research化が可能に。

---

設計思想:「広さ」より「深さ」

「クエリを叩く → 結果を分析する → その結果からさらにクエリを叩く」というシーケンシャルなプロセス。

人間が本気で調査する時と同じように、一つ判明した事実から次の疑問を見つけ、真相に迫っていく動きを再現。

---

エージェント構成:対立構造を作る

| エージェント | 役割 |

|-------------|------|

| **Research Agent(調査役)** | 一生懸命情報を探してくる |

| **Questioner Agent(質問役)** | 調査結果に「ここが足りない」「もっと詳しく」と執拗に深掘りを要求 |

| **Reporter Agent(報告役)** | 上記2者のやり取りを最終的に綺麗なレポートにまとめる |

あえて「調査役 vs 質問役」という対立構造を作ることで、妥協のないリサーチ結果を得る。

---

技術的知見

Sub Agent vs Agent as a Tool

Streamlit連携

参照元(Citations)の明示

rate_limitエラー回避

---

まとめ

この「調査役と質問役を戦わせて、深さを追求するアーキテクチャ」は、あらゆるドキュメント検索RAGチャットボットにもそのまま応用できる。

---

参考リンク

---

*保存日: 2026-01-30*