0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DataRobotの「Talk to My Docs Agent」テンプレートで、マルチエージェントRAGアプリを爆速構築

Last updated at Posted at 2025-11-14

1. はじめに

こんにちは。DataRobot 流通・通信・メディア事業部長の城です。

生成AIの活用が急速に進み、「自社のドキュメントやナレッジと対話できるRAG (Retrieval Augmented Generation) 」の需要が非常に高まっている、もしくはすでに活用を進められている方がいらっしゃいます。しかし、簡単なRAGを作るのは容易になった一方で、エンタープライズレベルのRAGアプリを構築しようとすると、下記のような多くの課題に直面します。

  • 複数のドキュメント(PDF、PPTX、Excel、Wordなど)を横断して、複雑な質問に高精度で答えたい。
  • Box、Google Drive、SharePointなど、社内の様々なデータソースに接続したい。
  • 役割ベースのアクセス制御(RBAC)や監査証跡など、企業のガバナンス要件を満たしたい。
  • 専門的な技術者がいなくても、業務部門がすぐに使えるアプリが必要。

今回ご紹介するDataRobotの「ナレッジアシスタントAI エージェント」(通称: Talk to My Docs Agent)は、これらの課題を解決するために設計された、DataRobot CodeSpace上で動作するアプリケーションテンプレートです。
本記事では、この「Talk to My Docs Agent」が従来のRAGと何が違うのか、その技術的な仕組みとビジネス上の価値について解説します。

2. 「ナレッジアシスタントAIエージェント」とは?

このエージェントは、AI活用の「アプリとエージェントの時代」を体現するソリューションです。

従来の「ベクトルDB型RAG」が単一の検索・回答フローだったのに対し、ナレッジアシスタントAIエージェントは、複数のAIエージェントが協調して動作する「マルチエージェント・アーキテクチャ」を採用しています。

ビジネス上の主な価値

  • 即時利用可能な高精度: ファイルをアップロードするだけで、チューニングなしでも高精度な回答が得られます。
  • 高度なインサイト抽出: 複数のドキュメントや表計算データから、要約やインサイトを瞬時に抽出します。
  • エンタープライズ・ガバナンス: RBAC(役割ベースのアクセス制御)、監査証跡、モデルの交換可能性といった高度な管理機能が標準で提供されます。
    多様なデータソース接続: Box, Google Driveなど既存のナレッジと安全に接続できます。

3. アーキテクチャと技術スタック

「Talk to My Docs Agent」は、GitHubで公開されているアプリケーションテンプレートがベースとなっています。エンジニアにとって魅力的なのは、これが単なるブラックボックスではなく、非常にモジュール化されたモダンな技術スタックで構築されている点です。

  • エージェント・フレームワーク: CrewAI (agent_retrieval_agent/README.md)
  • バックエンド: FastAPI (web/README.md)
  • フロントエンド: React + Vite (frontend_web/README.md)
  • インフラ (IaC): Pulumi (README.md)

このアプリの最大の特徴は、タスクごとに専門化したAIエージェントチームです。

agent_retrieval_agent/custom_model/agent.py のコードを見ると、このマルチエージェント・アーキテクチャがそのまま実装されていることがわかります。

1. ファイル検索エージェント (agent_file_searcher):
  • アップロードされたファイル群から、質問に関連するファイルを見つけ出します。
  • デフォルトで claude-sonnet-4 を使用するように設定されています。
2. ナレッジ専門エージェント (knowledge_base_agent):
  • 事前に登録された「ナレッジベース」内の情報を検索・要約します。
  • デフォルトで gemini-2.5-flash を使用します。
3. 文書質問回答エージェント (document_in_question_agent):
  • プロンプト内に直接貼り付けられた長文のドキュメント内容を読み解いて回答します 。
  • デフォルトで gpt-4o を使用します。
4. 最終回答作成エージェント (finalizer_agent):
  • 上記すべてのエージェントからの情報を収集・統合し、一貫性のある最終的な回答を生成します。
  • デフォルトで gemini-2.5-flash を使用します。

単一のLLMにRAGをさせるのではなく、タスクを分割し、各タスクに最適なLLMを割り当てたエージェントが協働する(CrewAI)ことで、従来のRAGよりも複雑な指示に強く、高精度な回答生成を実現しています。

4. 実際のコードとカスタマイズ

このテンプレートの強力な点は、その高いカスタマイズ性にあります。

エージェント定義のコード例

例えば、agent_retrieval_agent/custom_model/agent.py には、CrewAIを使ったエージェント定義が明記されています。

# (抜粋) agent_retrieval_agent/custom_model/agent.py

    @property
    def agent_file_searcher(self) -> Agent:
        return Agent(
            role="File Searcher",
            goal='Find the most closely related filenames and their contents from a list of files on the topic: "{topic}" as it relates to the question: "{question}". Your services aren\'t needed if the document is in the question already.',
            backstory="You are an expert at searching and reading files for helpful information. You can identify the most relevant"
            "file from a list of files. You are given a list of files and a topic. ",
            allow_delegation=False,
            verbose=self.verbose,
            max_iter=3,
            llM=self.model_factory(
                model="datarobot/bedrock/anthropic.claude-sonnet-4-20250514-v1:0", #
                use_deployment=True,
            ),
        )

このようにロジックが公開されているため、特定のニーズに合わせてエージェントのroleやgoalを日本語でより詳細にチューニングしたり、max_iter(最大ステップ数)を調整したりすることが容易です。

柔軟なLLMの切り替え

README.md や infra/main.py に記載されている通り、このテンプレートはDataRobotのLLMにロックインされません。

  • DataRobot LLM Gateway(デフォルト)
  • DataRobot上のデプロイ済みモデル
  • Azure OpenAI, Vertex AI, Bedrockなどの外部LLM
  • NVIDIA NIM のような登録済みモデル

これらを環境変数や設定ファイルのシンボリックリンク切り替えだけで、使用するLLMを柔軟に変更可能です。

機能の拡張

標準のエージェント構成に加え、「web検索エージェント」を独自に追加するカスタマイズも可能です。
「ツール関数の拡張」や「エージェント設計」、「タスクフロー構成」をカスタマイズすることで、単なるQ&Aボットを超えた、特定の業務ドメインに特化した実務分析アプリへと発展させることが可能です。

5. ビジネスにおけるTalk to My Docs Agentの活用例

このテンプレートは、そのまま使うこともできますが、真価は「特定業務特化型アプリへの発展」にあります。
以下に、具体的な業務アプリの発展例を示します。

  • 契約リスク分析:
    大量の契約書PDFを読み込ませ、「契約リスク分析エージェント」がリスク条項を自動で分類・スコアリングし、法務レビューを効率化する。
  • 財務インサイト:
    決算書PDFから売上、利益率、ROEといった重要指標を抽出し、グラフ付きのレポートを自動生成する。
  • 技術仕様比較:
    複数のシステム設計書やAPI仕様書を構造的に比較し、不整合やリスクを検知する。
  • 競合他社対策:
    競合企業の製品資料を比較させ、強み・弱みをまとめた表やグラフを提示させる。

これらはすべて、CodeSpace上で「Talk to My Docs Agent」テンプレートをベースに、専用のツールやエージェントを追加開発することで実現できます。

6. 「Talk to My Docs Agent」テンプレートのまとめ

本記事では、DataRobotの「Talk to My Docs Agent」テンプレート(ナレッジアシスタントAI エージェント)について解説しました。

このテンプレートは、単なるRAGアプリのデモではなく、

  1. CrewAIによる高精度なマルチエージェント・アーキテクチャを採用し、
  2. FastAPI + React + Pulumi というモダンな技術スタックで構築され、
  3. エンタープライズ・ガバナンスLLMの柔軟性を両立した、
  4. 業務特化型AIアプリを構築するための強力な土台(テンプレート)である

ということがお分かりいただけたかと思います。

DataRobot CodeSpaceを活用することで、こうした高度なAIエージェントアプリのプロトタイピングから本番デプロイまでを、単一のプラットフォーム上でシームレスに実行できます。

ご興味のある方は、ぜひGitHubリポジトリをチェックして、自分だけのカスタムAIエージェント構築を試してみてください。

参考リンク:
GitHubリポジトリ: datarobot-community/talk-to-my-docs-agents

AI Experience 2025 Tokyo 開催

記事の内容をより詳しく知りたい方は、AI Experience 2025 Tokyoにご参加ください。筆者によるセッション「実践!マルチエージェントRAGアプリ「エージェント型ナレッジアシスタント」の性能と内部構造」で詳細をご説明いたします。

お申し込み・詳細はこちらから!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?