Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ /
Atlas Architecture Center
/ / /

迅速な AI エージェントの配置を可能にするフレームワーク

MongoDB Atlas は、業界を問わず AI エージェントの迅速な開発を可能にします。

ユースケース: アプリ駆動型分析生成系AI

業種: 製造・モビリティ金融サービス保険小売医療通信

製品: MongoDB Atlas, Atlas Vector Search, Atlas Database

パートナー: LangChainCohereAWS Bedrock

2025では、エージェントAIアプリケーションは単なる趣味のプロジェクトではなくなりました。世界中の会社が、AIエージェントをビジネスワークフローに組み込むためのソフトウェアに投資しています。AIエージェントの最も一般的な用途は、調査分析やコード作成を支援することです。LangChain が複数の業界の 1,000 人以上の専門家を対象にした 最近の調査 では、51% 以上がすでに本番環境にエージェントを配置しており、そのうち 60% が調査や要約タスクにエージェントを使用していることが示されました。

ただし、調査や要約よりも複雑なタスクに AI エージェントを使用する場合、特に大規模に実装する場合は、特定の課題が生じます。

  • 複雑なデータ統合と処理: AI エージェントは、構造化ログ、非構造化テキスト、センサー ストリームなど、異なるデータソースやフォーマットに依存することが多く、リアルタイムな意思決定のためには、これらのデータの統合が不可欠です。すべての関連データを 1 つのデータベースに保存することで、エージェントによる消費が可能になり、開発プロセスの迅速化に貢献します。

  • 高い同時実行性と低レイテンシ: 本番環境で稼働するエージェントは、大量のリクエストを取り扱い、迅速に応答する必要があります。そのため、スループットやパフォーマンスに最適化されていないデータベースでは容易に処理能力を超えてしまう可能性があります。LLM 推論によって遅延が発生する場合でも、データベースの性能は依然として重要です。特にエージェントがスケールする段階では、その重要性がさらに増します。本番環境のエージェントは、並列で動作し、複数のツール コールを実行し、最新の情報に基づいて意思決定を行います。データベースが遅いと、応答全体の時間が長くなり、ボトルネックとなってエージェントのリアルタイムな処理能力を損なう要因となります。

  • データ ガバナンスとセキュリティ: ユーザーのログ、センサーの読み取り値、個人識別情報(PII)などの機微なデータは、安全に保管・アクセスされる必要があり、その間もGDPR や SOC 2 などのコンプライアンスを維持しなければなりません。MongoDB Atlas のようなセキュアなデータベースは、クライアント サイドのフィールド レベル暗号化、クエリ可能な暗号化、広範な監査機能といった高度なセキュリティ制御を標準で提供します。これらの機能により、エージェントは認可されたデータのみにアクセスできるようになり、可視性とトレーサビリティが維持されます。

図 1 は、AI エージェントの主要コンポーネントを示しています。エージェントはまず、人間からのタスク指示や自動トリガーによって起動され、その後 LLM を活用して思考の連鎖を生成するか、あらかじめ定義されたワークフローに従って処理を進めます。エージェントは、実行中にさまざまなツールやモデルを使用し、MongoDB Atlas のようなメモリプロバイダーからデータを読み書きしながらタスクを遂行します。

このソリューションの主な目的は、柔軟かつ拡張可能な基盤を提供することで、AI 主導のワークフローの開発を加速させることにあります。このフレームワークは、固定されたツールや機能のセットを提供するのではなく、さまざまな業界における特定のユースケースに適したインテリジェント エージェントを構築するための出発点として設計されています。

このソリューションに沿って操作することで、MongoDB Atlas と LangGraph を活用したツールキットを簡単にセットアップし、それを使用してリニアなワークフローを持つ多数のエージェントを作成できます。このソリューションのシンプルさにより、ユーザーは設定ファイルを操作するだけで、基本的なエージェントの構築方法をすばやく理解できます。より複雑なユースケースやエージェントに対応するために、新しいツール、ノード、条件、またはワークフローを追加して、このフレームワークを拡張することが可能です。

適応性とモジュール性を重視することで、このエージェント型フレームワークは、開発者に対し、業界やプロジェクト固有の要件に柔軟に対応できる、効率的かつ高いカスタマイズ性を備えた AI エージェントの構築を可能にします。

風力タービンのリアルタイム診断

図 1. AI エージェントの基本構成要素

エージェントフレームワークは、データを理解し、LangGraph を使用して多段階の診断ワークフローを実行し、実用的なインサイトを生成するように設計された、AI 主導の多用途レコメンデーションアシスタントです。複数のテクノロジーをシームレスに統合し、CSV ファイルまたは MongoDB(さまざまなデータソースをシミュレート)から時系列データを読み取り、テキスト埋め込みを生成し、ベクトル検索を実行して過去の類似クエリを識別します。また、フレームワークはセッションデータと実行データを永続化し、最終的に診断の推奨事項を生成します。

MongoDB は、エージェント プロファイル、履歴の推奨事項、時系列データ、セッション ログを保存するバックボーンとして機能し、診断プロセスの完全な追跡可能性を確保しつつ、効率的なクエリと過去のインサイトの再利用を可能にします。

風力タービンのリアルタイム診断

図 2。エージェント型 AI リファレンス アーキテクチャ

MongoDB は、エージェント型 AI の実現において重要な役割を果たします。MongoDB が持つ柔軟性、パフォーマンス、スケーラビリティの独自の組み合わせは、人工知能を活用するための理想的な選択肢です。MongoDB の document model は、構造化データ、半構造化データ、非構造化データのネイティブなストレージと取得を可能にし、多様で複雑なデータセットをシームレスに取り扱います。MongoDB は、AI エージェントが新しい情報に動的に対応し、内部状態をリアルタイムで維持し、継続的に学習し進化することを可能にします。

柔軟なデータモデル: MongoDB のアーキテクチャは、データス トレージにおいて比類のない柔軟性を提供し、エージェント AI システムの強力な基盤を構築します。ドキュメント モデルは、時系列ログ、エージェント プロファイル、推奨出力などの多様なデータを単一の統一フォーマットで保存することを可能にします。この柔軟性により、データ要件が進化するたびにデータベース スキーマを再設計する必要がありません。MongoDB の柔軟なスキーマにより、AI エージェントは、エージェントの特性やインタラクションの文脈の変化に動的に適応できるネストされたドキュメントを含む、複雑で階層的なエージェント状態を保存することができます。MongoDB は、複数のインタラクションにわたって複雑なエージェントの状態を維持するための理想的な選択です。バージョン管理とエージェントの進化を追跡し、エージェントのコンテキストをシームレスに一時停止および再開する能力をサポートしています。

ベクトル検索: MongoDB Atlas はネイティブのベクトル検索をサポートしており、ベクトル埋め込みに対する高速かつ効率的な類似性検索を可能にします。これは、現在のクエリを過去のデータと照合するために不可欠であり、診断の精度を高め、より関連性の高い推奨事項を提供します。ベクトル検索は、パターン認識とコンテキスト検索をサポートし、AIエージェントの品質と意思決定を大幅に向上させることができます。ベクトル検索により、類似性アルゴリズムを使用した高度な情報検索が可能になり、より正確な結果が得られ、LLM のハルシネーションを軽減します。MongoDB は、セマンティック マッチング、コンテキスト検索、多次元データ分析を効率的に取り扱うことができます。これらはすべて AI エージェントの意思決定ワークフローにとって重要です。

スケーラビリティ、パフォーマンス、高可用性: MongoDB は水平方向にスケールするように設計されており、大量のリアルタイムデータ処理できます。MongoDB のシームレスな水平方向のスケーラビリティは、分散型 AI アプリケーションにおける拡大するデータ要件や AI ワークロードを、分散およびシャーディング アーキテクチャを通じてサポートします。MongoDB を使用することで、AI エージェントは水平方向にスケールし、ストレージおよび計算負荷を分散し、高可用性を維持することができ、データ量が指数関数的に増加しても、一貫したパフォーマンスを確保できます。MongoDB のレプリカセットは、即時に利用可能な堅牢な高可用性を提供し、AI エージェントの信頼性と回復力を支えます。

米国最大の暗号通貨取引所の1つである Coinbaseは、MongoDB を効果的に活用して、700 の MongoDB クラスター全体でプラットフォームのスケーラビリティを大幅に強化し、予測不可能な市場トラフィックの急増に対応しました。

時系列コレクション: MongoDB の時系列コレクションは、高性能かつスケーラビリティの高い方法で、大量のデータを効率的に取り込むように設計されています。これらの専門的なコレクションは、AI エージェントが連続的なインタラクション、学習パターン、状態変化を時間の経過とともに追跡および分析することを可能にします。これは、コンテキストの維持、行動パターンの理解、および適応的な意思決定プロセスの実装に不可欠です。自動データ圧縮、ストレージ効率の向上、高速な時間ベースのクエリ応答などのネイティブな時系列最適化を提供することで、MongoDB は演算性能やデータの整合性を損なうことなく、AI エージェントがその対話、学習のイテレーション、パフォーマンス メトリクスの現在および過去の記録を広範に保持できるようにします。

シームレスな統合:MongoDB と LangGraph のようなエージェントフレームワークとのシームレスな統合は、複雑でステートフルな AI エージェントシステムの開発を迅速化します。MongoDB は、JSON のようなドキュメントのネイティブサポート、動的スキーマ、強力なインデックス機能を通じて、LangGraph を活用した AI エージェントが高度なデータおよびメモリ構造を維持し、複数ステップの推論プロセスを追跡し、セッションをまたいで永続する高度な状態管理を実装し、AIの意思決定プロセスの包括的な監査可能性を提供することを可能にします。

1

データはお客様のユースケースに関連しており、次のガイドラインを遵守する必要があります。

  • CSV ファイルには、列名を含むヘッダー行が含まれている必要があります。

  • 最初の列は「timestamp」と名付け、YYYY-MM-DDTHH:MM:SSZ 形式のタイムスタンプを含める必要があります。例:2025-02-19T13:00:00Z

  • 残りの列には、ユースケースに関連するデータを入力する必要があります。

  • 列や行の制限はありませんが、フレームワークのテスト目的では、データ サイズをできるだけ小さくすることをお勧めします。

サンプル データ:

timestamp,gdp,interest_rate,unemployment_rate,vix
2025-02-19T13:00:00Z,2.5,1.75,3.8,15
2025-02-19T13:05:00Z,2.7,1.80,3.7,18
2025-02-19T13:10:00Z,2.6,1.85,3.9,22
2025-02-19T13:15:00Z,2.4,1.70,4.0,10
2025-02-19T13:20:00Z,2.3,1.65,4.1,20

同じフォルダ内にクエリファイルを追加する必要があります。このファイルには、エージェントのワークフローの一部としてベクトル検索機能を紹介するために使用されるクエリが含まれます。ファイルは次のガイドラインを遵守する必要があります。

  • CSV ファイルには、列名を含むヘッダー行が含まれている必要があります。

  • 最初の列は「query」と名付け、クエリを含める必要があります。

  • 2 列目の列は「recommendation」という名前にし、期待される推奨内容を含める必要があります。

  • 列や行の制限はありませんが、フレームワークのテスト目的では、データサイズをできるだけ小さくすることをお勧めします。

サンプル データ:

query,recommendation
GDP growth slowing,Consider increasing bond assets to mitigate risks from potential economic slowdown.
GDP showing strong growth,Increase equity assets to capitalize on favorable investment conditions.
Interest rates rising,Shift focus to bond assets as higher rates may impact borrowing-sensitive sectors.
Interest rates falling,Increase real estate assets to take advantage of lower borrowing costs.
Unemployment rate increasing,Reduce equity assets to account for potential economic weakness and reduced consumer spending.
Unemployment rate decreasing,Increase equity assets to benefit from improved economic conditions and corporate profits.
VIX above 20,Reduce equity assets to manage risks associated with high market volatility.
VIX below 12,Increase equity assets to capitalize on low market volatility and investor confidence.
VIX within normal range (12-20),Maintain current asset allocation as market conditions are stable.
Combination of rising interest rates and high VIX,Focus on bond assets to hedge against market volatility and borrowing cost impacts.
2

MongoDB Atlas にログインし、「agentic_<YOUR_USE_CASE>」という名前のデータベースを作成します。たとえば、「agentic_macro_indicators」。名前が環境変数に反映されていることを確認してください。

次のコレクションを作成します。

  • Agent_profiles(エージェント プロファイルの保存用): このファイルを使用して、このコレクションにいくつかのサンプル データをインポートできます。

  • クエリ(保存用): ステップ 1 で作成された queries.csv ファイルからインポートする必要があります。

3

config フォルダーに移動し、JSON config.json ファイルを新規作成または更新してください。そのファイルには、以下の構造を含める必要があります。

{
"CSV_DATA": "data/csv/<YOUR_FILE_NAME>.csv",
"MDB_DATABASE_NAME": "<YOUR_MONGODB_DATABASE_NAME>",
"MDB_TIMESERIES_COLLECTION": "<YOUR_MONGODB_TIMESERIES_COLLECTION_NAME>",
"DEFAULT_TIMESERIES_DATA": [
{
"timestamp": "<DEFAULT_TIMESTAMP_IN_YYYY-MM-DDTHH:MM:SSZ>"
// Your default data here, check config_example.json for better understanding
}
],
"CRITICAL_CONDITIONS": {
// Below is an example of a critical condition for GDP growth
"gdp": {"threshold": 2.5, "condition": "<", "message": "GDP growth slowing: {value}%"}
// Other critical conditions for your use case here, check config_example.json for better understanding
},
"MDB_TIMESERIES_TIMEFIELD": "<YOUR_TIMESTAMP_FIELD_NAME>",
"MDB_TIMESERIES_GRANULARITY": "<YOUR_TIMESERIES_GRANULARITY>",
"MDB_EMBEDDINGS_COLLECTION": "queries", // Using "queries" collection name for storing queries
"MDB_EMBEDDINGS_COLLECTION_VS_FIELD": "query_embedding", // Using "query_embedding" field for storing embeddings
"MDB_VS_INDEX": "<YOUR_MONGODB_DATABASE_NAME>_queries_vs_idx", // Replace <YOUR_MONGODB_DATABASE_NAME> with your MongoDB database name
"MDB_HISTORICAL_RECOMMENDATIONS_COLLECTION": "historical_recommendations", // Using "historical_recommendations" collection name for storing recommendations
"SIMILAR_QUERIES": [
// Below is an example of default similar queries for GDP growth
{
"query": "GDP growth slowing",
"recommendation": "Consider increasing bond assets to mitigate risks from potential economic slowdown."
}
// Other similar queries for your use case here, check config_example.json for better understanding
// This ones are going to be used for the vector search tool in case something is not found in the queries collection
],
"MDB_CHAT_HISTORY_COLLECTION": "chat_history", // Using "chat_history" collection name for storing chat history
"MDB_CHECKPOINTER_COLLECTION": "checkpoints", // Using "checkpoints" collection name for storing checkpoints
"MDB_LOGS_COLLECTION": "logs", // Using "logs" collection name for storing logs
"MDB_AGENT_PROFILES_COLLECTION": "agent_profiles", // Using "agent_profiles" collection name for storing agent profiles
"MDB_AGENT_SESSIONS_COLLECTION": "agent_sessions", // Using "agent_sessions" collection name for storing agent sessions
"AGENT_PROFILE_CHOSEN_ID": "<YOUR_AGENT_PROFILE_ID>", // Replace <YOUR_AGENT_PROFILE_ID> with the agent profile ID you want to use, check config_example.json for better understanding
// Below is an example default agent profile for Portfolio Advisor
"DEFAULT_AGENT_PROFILE": {
"agent_id": "DEFAULT",
"profile": "Default Agent Profile",
"role": "Expert Advisor",
"kind_of_data": "Specific Data",
"motive": "diagnose the query and provide recommendations",
"instructions": "Follow procedures meticulously.",
"rules": "Document all steps.",
"goals": "Provide actionable recommendations."
},
"EMBEDDINGS_MODEL_NAME": "Cohere Embed English V3 Model (within AWS Bedrock)", // Describing the embeddings model used for creating the chain of thought
"EMBEDDINGS_MODEL_ID": "cohere.embed-english-v3", // Model ID for the embeddings model
"CHATCOMPLETIONS_MODEL_NAME": "Anthropic Claude 3 Haiku (within AWS Bedrock)", // Describing the chat completions model used for generating responses
"CHATCOMPLETIONS_MODEL_ID": "anthropic.claude-3-haiku-20240307-v1:0", // Model ID for the chat completions model
// Below is a sample agent workflow graph that uses the tools defined in the agent_tools.py file
// PLEASE BE CAREFUL WHEN MODIFYING THIS GRAPH, CONSIDER THAT THE TOOLS DEFINED IN THE AGENT TOOLS FILE ARE USED HERE AS WELL AS THE IMPORTS
"AGENT_WORKFLOW_GRAPH": {
"nodes": [
{"id": "reasoning_node", "tool": "agent_tools.generate_chain_of_thought_tool"},
{"id": "data_from_csv", "tool": "agent_tools.get_data_from_csv_tool"},
{"id": "process_data", "tool": "agent_tools.process_data_tool"},
{"id": "embedding_node", "tool": "agent_tools.get_query_embedding_tool"},
{"id": "vector_search", "tool": "agent_tools.vector_search_tool"},
{"id": "process_vector_search", "tool": "agent_tools.process_vector_search_tool"},
{"id": "persistence_node", "tool": "agent_tools.persist_data_tool"},
{"id": "recommendation_node", "tool": "agent_tools.get_llm_recommendation_tool"}
],
"edges": [
{"from": "reasoning_node", "to": "data_from_csv"},
{"from": "data_from_csv", "to": "process_data"},
{"from": "process_data", "to": "embedding_node"},
{"from": "embedding_node", "to": "vector_search"},
{"from": "vector_search", "to": "process_vector_search"},
{"from": "process_vector_search", "to": "persistence_node"},
{"from": "persistence_node", "to": "recommendation_node"},
{"from": "recommendation_node", "to": "END"}
],
"entry_point": "reasoning_node"
}
}

構成ファイルの更新が完了したら、環境変数の構成と、ベクトル埋め込みの生成を行う必要があります。最終的に、ベクトル検索インデックスも作成しなければなりません。

すべての手順の詳細な説明については、readme をご覧ください。

風力タービンのリアルタイム診断

図3。論理アーキテクチャ

エージェント型 AI は、データの加工方法を劇的に変えて、より豊かで効率的なビジネス データ プロセシング結果をもたらす能力を備えたまったく新しいタイプのソフトウェアの先駆けになります。ビジネス アプリケーション内でエージェントを活用するためには、ソフトウェア デリバリー チームが学ぶべきことがあります。

  • あらかじめ定義されたワークフローに従って、エージェントがどのように指示を受けて動作するかを確認します。

  • エージェントが API やデータベースなどのツールにアクセスして対話する方法。

  • エージェントが状態を永続化し管理する方法。

これらの項目の多くは、エージェントまたはエージェント ワークフローが配置される実際のユースケース、ワークフロー、業界の文脈に関係なく、ソフトウェア デリバリー チームの基本的な活動および設定とみなすことができます。

パフォーマンスの高いソフトウェア デリバリー チームの場合、ビジネス ソフトウェア ソリューションの開発と配置をスピードアップし、その後のメンテナンスの複雑さを軽減するために、一般的なタスクやコンポーネントを抽象化するフレームワークがよく使用されています。このエージェント フレームワークにより、ソフトウェア デリバリー チームは、共通の構成可能なコンポーネントやアセットを使用して、エージェント ソリューションの構築および保守を容易に開始できます。

このフレームワークで作業することは、ユーザーやそのソフトウェア チームがエージェント型ソリューションの構築を始める方法を学ぶだけでなく、ビジネスソリューションを長期的に拡大し、維持しやすくするための反復可能なパターンやコンポーネントを構築することにも役立ちます。

  • ジュリアン・ボロナト、MongoDB

  • Peyman Parsi, MongoDB

  • ジェフ・ニーダム、MongoDB

  • Luca Napoly、 MongoDB

  • Humza Akthar, MongoDB

戻る

自動車診断

項目一覧