MongoDB は、自動車会社がコネクテッドカーの車両群を管理し、ルート計画を最適化し、ドライバーの安全性を向上させる上で役立ちます。
業種: 製造およびモーション制御
製品およびツール: Atlas Database、Atlas Vector Search
ソリューション概要
自動車およびモビリティ業界は、車両のコネクティビティ、自律システム、共有モビリティ、電動化の進展により、大きな変革を遂げています。今日の車両は、膨大な量のデータを生成する高度な機械です。自動車需要は、今後 20 年間で年率 3 % で成長し、コネクテッドカーや電気自動車への選好が強まります。自動車業界のプレイヤーは、競争優位性を維持するために、人工知能(AI)、バッテリー電気自動車(BEV)、ソフトウェア定義車両(SDV)を採用しています。グローバル接続車両市場の規模は、2033 年までに 4466 億米ドルに達すると予想されており、2024 年から 2033 年の年平均成長率は 19.5% に達する見込みです。コネクテッド車両のフリートを管理することは挑戦です。自動車が高度化し、内部および外部システムと統合されるにつれて、データ量は大幅に増加します。このデータは、新たなビジネス機会を開拓するために、さまざまな下流アプリケーションによって保存、転送、消費される必要があります。世界のフリートマネジメント市場は 2030 年までに657 億米ドルに達すると予測されており、毎年ほぼ 10.8 %の割合で成長する見込みです。
Webfleet が実施した 2024 年の研究によると、車両管理者の 32% が、AI と機械学習が今後数年間で車両運用に大きな影響を与えると考えていることが明らかになりました。これは、EV が主なゲームチェンジャーであると答えた30% をわずかに上回っています。最も一般的には、ルートプランニングの最適化とドライバーの安全性の向上という 2 つの方法により、車両管理者は AI が仕事を変えると信じています。車両管理ソフトウェアプロバイダーが AI への投資を継続する中、リアルタイムの意思決定が可能な自律型システムであるエージェント型AIを統合することは、ルート最適化やドライバーの安全性の向上といったユースケースに大きく貢献する可能性があります。例として、AIエージェントはリアルタイムのトラフィック更新と気象条件を処理してルートを動的に調整し、必要に応じてドライバーの車の状態をアドバイスしながら、時間通りの配達を徹底できます。この先を見越したアプローチは従来の反応的なメソッドとは対照的であり、自動車の使用率を向上させ、運用と保守のコストを削減します。
エージェントとは、データやツールを活用しながら、環境を観察し、目標達成に向けて自律的に行動する運用アプリケーションです。「エージェント型」という用語は、AI エージェントのように、自律的に判断し、常に人間の監視なしでも目的を達成しようとする主体性のある行動を意味します。たとえば、接続された車両からのテレメトリーデータに基づき、単に異常を報告するだけでなく、エージェント型 AI システムは、自動でその異常を既知の問題と照合し、それが重大かどうかを判断し、必要に応じて整備予約まで自律的に行うことができます。
このソリューションでは、MongoDB Atlas、Voyage AI、OpenAI、LangGraph を活用し、AI を活用した接続型フリート アドバイザーを構築します。
システムは、ドライバーの苦情や車両管理者の問い合わせを受け取り、車両のテレメトリ データを処理し、思考の連鎖を生成し、類似の問題のベクトル検索を実行し、データを MongoDB に保持し、最後に OpenAI LLM を使用して診断推奨事項を生成します。
図 1. AI エージェントの基本構成要素
参照アーキテクチャ
以下に示すリファレンスアーキテクチャは、AI エージェントの内部動作とデータフローを示しています。ワークフローは、潜在的な問題(例:ノック音が聞こえるなど)についてユーザー(ドライバー)からのクエリを受け取ったときに開始します。このリクエストは、LangGraph ベースのエージェントオーケストレーターによって処理され、そのオーケストレーターは LLM(OpenAI GPT-4o)を使用してリクエストを解釈し、思考の連鎖(CoT)による推論とワークフローを作成します。その後、ワークフローはエージェントによって Atlas Vector Search などのツールを使用して実行されます。
エージェントは、次の方法で問題レポートを処理します。
テレメトリデータの読み取り:CSV ファイル(または本番環境の API)から車両センサーデータを取り込みます。
埋め込みの生成: Voyage AI の埋め込み API を使用して、苦情のテキストを数値表現に変換します。
Atlas Vector Search: 生成された埋め込みを使用して、MongoDB Atlasで類似の問題を検索します。
データ永続化: テレメトリー データ、セッション ログ、推奨事項などを MongoDB Atlas に保存します。
最終推奨事項: OpenAI のチャット API を使用して、実行可能な診断的アドバイスを生成します。
図2。提案されたソリューションのリファレンスアーキテクチャ
データモデルアプローチ
エージェントが機能するためには、さまざまな種類のデータが必要です。MongoDB のドキュメントモデルを使えば、これらのデータすべてを 1 つのデータベース上で柔軟に設計・管理することが可能です。以下に、フリート マネジメント向けのエージェント型 AI アプリケーションで使用される各種データ型に対し、それぞれの例を示します。ドキュメント モデルの柔軟性により、保存すべきデータのタイプに合わせて構造を自在に適応させることができます。
エージェントプロファイル
これには、指示、目標、制約など、エージェントの独自性が含まれます。
エージェントプロファイルの例
{ "_id": "67c20cf886f35bcb8c71e53c", "agent_id": "default_agent", "profile": "Default Agent Profile", "instructions": "Follow diagnostic procedures meticulously.", "rules": "Ensure safety; validate sensor data; document all steps.", "goals": "Provide accurate diagnostics and actionable recommendations." }
短期メモリ
これは、エージェントがリアルタイムで使用する一時的なコンテキスト情報(最近のデータ入力や進行中のやり取り)を保持します。たとえば、短期メモリは、過去数時間の車両活動のセンサーデータを保存できます。LangGraph のような特定のエージェント型 AI フレームワークでは、短期メモリはチェックポインタを通じて実装されます。チェックポインタは、エージェントのアクションおよび / または推論の中間状態を保存します。このメモリにより、エージェントは操作をシームレスに一時停止および再開できます。
短期メモリーの例: テレメトリー データを時系列コレクションに格納
{ "_id": "67cb23ee370eb8f40c9bf677", "timestamp": "2025-02-19T13:00:00", "vin":"5TFUW5F13CX228552", "engine_temperature": "90", "oil_pressure": "35", "avg_fuel_consumption": "8.5", "thread_id": "thread_20250307_125027" }
長期メモリー
ここには、エージェントが長期的に蓄積した知識が保存されます。保存される情報には、パターン、傾向、ログ、過去の推奨事項や意思決定などが含まれます。
長期メモリーの例: 接続された車両に関する過去の問題をベクトル化し、MongoDB に保存することで記録管理します
{ "_id": "67ca173679c7c286f44f4a24", "issue": "Engine knocking when turning", "recommendation": "Inspect spark plugs and engine oil.", "embedding": [ -0.021414414048194885, -0.0031116530299186707, 0.014275052584707737, -0.030444633215665817, 0.018614845350384712, 0.06425976008176804, 0.0060801152139902115, -0.012883528135716915, -0.007000760640949011, -0.04991862177848816, ... ] }
ソリューションを構築する
このソリューションは、いくつかの主要な技術を統合して実現されています。ビルドには以下の準備が必要です。
前提条件
Python 3.11+(バックエンド)
Node.js(Next.jsフロントエンド用)
MongoDB Atlas アカウント
OpenAI API キー
Voyage AI API キー
バックエンド
LangGraph を使用して、複数ステップで構成される診断ワークフローを実装します。バックエンドでは、CSV ファイルからテレメトリー データ(車両センサーの入力を模擬)を読み込み、Voyage AI を用いてテキスト埋め込みを生成。さらに、ベクトル検索により過去の類似事例を MongoDB 内から特定し、セッションと実行データを保持、最終的に診断結果を生成します。
MongoDB Atlas
柔軟な document model データベースには、エージェントのプロファイル、過去の推奨事項、テレメトリーデータ、セッションログなどが保存されます。この永続ストレージは、トレーサビリティのために診断プロセスのすべてのステップをログするだけでなく、過去のデータの効率的なクエリと再利用を可能にします。
Next.js フロントエンドは 2 列のビューを提供します。
左の列: 思考連鎖推論、更新メッセージ、最終的な提案事項など、エージェントのワークフローの更新をリアルタイムで表示します。
右の列: セッションの詳細、テレメトリログ、推奨履歴、エージェントのプロファイル、過去の問題のサンプルなど、エージェントの実行中に MongoDB に挿入されたドキュメントが表示されます。
システム アーキテクチャ
バックエンドワークフロー
エージェントは、ユーザーから問題について報告を受け取ります(例:「私の車の燃料消費量がこの 1 週間で大幅に増加しました。エンジンまたは燃料システムの問題として、何が考えられるでしょうか」)。
最初に、テレメトリデータ(ここでは CSV ファイルでシミュレート)を検索し、更新をログに記録します。
次に、Voyage AI voyage-3-large 埋め込み API を使用して、苦情の埋め込みを生成します。
次に、システムは MongoDB 内の過去の問題に対してベクトル検索を実行し、類似のケースを見つけます。
すべてのデータ(テレメトリ、埋め込み、セッションログ)は、トレーサビリティのために MongoDB に保存されます。
最後に、エージェントは OpenAI の ChatCompletion API を使用して最終的な推奨事項を生成します。
MongoDB のロール
MongoDB は、エージェント プロファイル、セッション ログ、テレメトリ データ、履歴の推奨事項、さらにはチェックポイントまで、すべてを保存します。これにより、システムの追跡可能性とスケーラビリティが大幅に向上します。
フロントエンド インターフェイス
2 列の UI には、リアルタイムのワークフローと、各ステップを検証する関連する MongoDB ドキュメントの両方が表示されます。
バックエンド設定
issue_index という名前と、embeddings というパスを指定した Atlas Vector Search インデックスの作成
ベクトル検索インデックス の設定方法の詳細については、このリンク を参照してください。
Next.js 開発サーバーを実行する
npm run dev
フロントエンドは現在、http://localhost:3000 でアクセス可能です。
main.py のプロンプトを自由に調整したり、telemetry_data.csv ファイル内のテレメトリデータを更新しても構いません。
ソリューションを実行する
新しい診断を開始します
フロントエンドを開き、[新しい診断] を選択します。
テキストボックスに問題の報告事項を入力します(例: すでに表示されているサンプルの苦情)。
プロンプト例:
低速で旋回しているときにノック音が聞こえます。
低速で加速すると、車から持続的にガタガタと音がします。
オイル圧の急激な低下と、それに伴うエンジン温度のわずかな上昇に気付きました。
私の車の燃料消費量は過去一週間で大幅に増加しました。エンジンまたは燃料システムにどのような問題がある可能性があるでしょうか。
最近ダッシュボードに警告灯が点灯し、車が加速しにくくなっています。
[Run Agent(エージェントを実行)] ボタンをクリックし、エージェントの実行が完了するまで 1~2 分待ちます。
ワークフローの閲覧
ワークフロー、思考の連鎖出力、最終的な推奨事項は左の列に表示されています。
このワークフローはリアルタイムで生成され、エージェントの意思決定プロセスを可視化します。
MongoDB ドキュメントのレビュー
右の列に表示されているドキュメントは、現在のエージェントの実行中に挿入されたレコードです。
agent_sessions: セッションのメタデータおよびスレッド ID を含んでいます。
historical_recommendations:最終的な推奨事項と関連する診断を保存します。
telemetry_data: テレメトリセンサーの読み取り値を保持します。
ログ: 診断プロセスのログエントリを含んでいます。
agent_profiles: 診断中に使用されたエージェントのプロファイルを表示します。
past_issues:(利用可能な場合)過去の問題のサンプルを表示します。
checkpoints: (チェックポイント用データベースから)最後に保存された状態を表示し、復旧に活用できます。
再開機能
必要に応じて、「診断を再開」機能をデモでご紹介できます。スレッド ID を入力すると、システムが該当セッションを取得して表示します。
図 3: AIエージェントワークフローのシーケンス図
キーポイント
モビリティ向けのエージェント AI ソリューションを構築するには、堅牢なデータインフラストラクチャが必要です。MongoDB Atlas には、これらの AI 主導のアーキテクチャの理想的な基盤となるいくつかの重要な利点があります。
スケーラビリティと柔軟性:フリートマネジメントシステムなどのコネクテッドカープラットフォームは、膨大なデータ量と多様性に対応する必要があります。MongoDB Atlas はクラウドクラスター間で容易に水平方向にスケールし、1分間に数百万件のテレメトリイベントを取り込み、テラバイトのテレメトリデータを簡単に保存できます。例えば、ZF SCALAR は MongoDB を使用して、数十万台のコネクテッドカーから 90,000 件の車両メッセージを1分間に処理します(1 日あたり50 GB以上のデータ)。このドキュメントモデルは、フリートの規模が拡大するにつれて、シームレスに適応します。開発者は、新しいセンサーや機能が追加されると、スキーマを進化させることができます。この柔軟性により、開発が迅速化され、データモデルがそれが表す実世界のエンティティ(車両、旅行、インシデント)と整合性を保ちます。
組み込みのベクトル検索: AI エージェントが機能するためには、堅牢なツールセットが必要です。最も広く使用されているツールの 1 つはベクトル検索であり、これによりエージェントはドライバーログ、エラーコードの説明、修理マニュアルなどの非構造化データに対してセマンティック検索を実行できます。MongoDB Atlas はベクトル検索をネイティブにサポートしており、高次元ベクトルを運用データと共に保存し、インデックスを作成して、それらに対して高速な類似性クエリを実行できます。実際には、これは AI 埋め込みがデータベース内の関連する車両テレメトリおよび運用データのすぐ隣に配置されることを意味します。これにより、コネクテッドカー・インシデント・アドバイザーなどのユースケースのアーキテクチャが大幅に簡素化され、LLM にコンテキストを渡す前に、問題を過去に発生した問題と照合できるようになります(自動車OEM が MongoDB Atlas Vector Search を使用して、音声ベースの診断にベクトル検索を活用する方法をご覧ください)。
時系列コレクションとリアルタイムデータ処理: MongoDB Atlas は、リアルタイムアプリケーション向けに設計されています。接続された車両のテレメトリー データを保存するために時系列コレクションを提供し、データの変化をリアルタイムに検知・反応できるチェンジ ストリームやトリガーも備えています。リアルタイムでの可視化は、最新のフリート マネジメント システムにおける重要な機能であり、MongoDB は最新情報に基づいた意思決定を可能にするインサイトを AI エージェントへ継続的に提供します。これは、エージェント型 AI のフィードバックループにとって極めて重要です。データの取り込みと学習が絶えず繰り返されるからです。
最高クラスの埋め込みモデルを提供する Voyage AI:MongoDB は最近、埋め込みモデルと再ランク付けモデルのリーダーである Voyage AI を買収しました。Voyage AI の埋め込みモデルが MongoDB Atlas に統合されることで、開発者はもはや外部の埋め込み API や、単独のベクトル ストア、複雑な検索パイプラインを個別に管理する必要がなくなります。AI による検索機能はデータベースにビルドされ、セマンティック検索、ベクトル検索、ランキングが、従来のクエリと同じようにシームレスに実行できるようになります。これにより、エージェント型 AI アプリケーションの開発にかかる時間が大幅に短縮されます。
著者
Humza Akhtar、MongoDB