MongoDB는 자동차 회사들이 연결형 차량의 관리를 돕고, 경로 계획을 최적화하며, 운전자 안전을 향상시키는 데 기여합니다.
산업: 제조 및 모션
제품 및 도구: Atlas 데이터베이스, Atlas Vector Search
솔루션 개요
자동차 및 모빌리티 산업은 차량 연결성, 자율 시스템, 공유 모빌리티, 전기화의 발전으로 인해 중요한 변화를 겪고 있습니다. 오늘날의 자동차는 대량의 데이터를 생성하는 정교한 기계입니다. 자동차 3 20 수요는 연결된 자동차 및 전기 자동차에 대한 선호도가 증가함에 따라 향후 년 동안 매년 %씩 성장할 것입니다. 446자동차 제조업체들은 경쟁우위를 유지하기6 위해 인공 지능(AI), 배터리 전기 자동차(BEV), 소프트웨어 정의 자동차(SDV)를 도입하고 있습니다. 전 세계 2033 커넥티드 카 시장 규모는 까지 약 USD. 십억의 가치가 있을 것으로 예상되며, ~ 19 사이에서.5%의 CAGR로 2024 2033성장할 것으로 예상됩니다. 연결된 차량을 관리하는 것은 과제 입니다. 자동차가 점점 정교해지고 내부 및 외부 시스템과 통합됨에 따라 데이터의 양이 크게 증가합니다. 새로운 비즈니스 기회를 활용하려면 다양한 다운스트림 애플리케이션에서 이 데이터를 저장, 전송 및 소비해야 합니다. 전 세계 차량 관리 시장은 까지 USD.65 7 십억에 도달할 것으로 2030 예상되며, 매년 거의. %의 속도로 성장할 10 8것으로 예상됩니다.
Webfleet에서 실시한 2024년 연구에 따르면 차량 관리자의 32%가 향후 몇 년 내에 AI와 머신 러닝이 차량 운영에 상당한 영향을 미칠 것이라고 믿고 있습니다. 이는 전기 자동차를 주요 게임 체인저로 꼽은 응답자 30%를 근소하게 앞지르는 수치입니다. 경로 계획 최적화와 운전자의 안전 개선은 차량 관리자들이 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의 문서 모델을 사용하면 이 모든 데이터를 하나의 단일 데이터베이스에서 쉽게 모델링할 수 있습니다. 아래에서 플릿 관리용 에이전트 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 프레임워크에서는 체크포인터를 통해 단기 메모리가 구현됩니다. 체크포인터는 에이전트의 조치 및/또는 추론의 중간 상태를 저장합니다. 이 메모리는 에이전트가 작업을 원활하게 일시 중지하고 다시 시작할 수 있도록 합니다.
단기 기억의 예시: time series 컬렉션에 저장된 텔레메트리 데이터
{ "_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에 삽입된 문서를 표시합니다. 여기에는 세션 세부 정보, 텔레메트리 로그, 과거 추천, 에이전트 프로필 및 과거 문제 샘플이 포함됩니다.
시스템 아키텍처
백엔드 워크플로
에이전트는 사용자의 문제 보고서(예: "지난 주 동안 내 차량의 연료 소비가 크게 증가했습니다. 엔진이나 연료 시스템에 어떤 문제가 있을 수 있습니까?")를 받습니다.
우선 텔레메트리 데이터를 조회한 후(여기서는 CSV 파일로 시뮬레이션) 업데이트를 기록합니다.
다음으로 Voyage AI voyage-3-large 임베딩 API를 사용해 불만 사항의 임베딩을 생성합니다.
그 후 MongoDB에 저장된 과거 문제를 대상으로 벡터 검색을 수행해 유사한 사례를 찾습니다.
모든 데이터(텔레메트리, 임베딩, 세션 로그)는 추적이 가능하도록 MongoDB에 저장됩니다.
마지막으로 에이전트는 OpenAI의 ChatCompletion API를 사용해 최종 권장 사항을 생성합니다.
MongoDB 역할
모든 것을 저장하는 MongoDB: 에이전트 프로필, 세션 로그, 텔레메트리 데이터, 과거 추천 사항, 그리고 체크포인트까지 저장하여 시스템이 매우 추적 가능하고 확장 가능하게 만듭니다.
프론트엔드 인터페이스
2열 UI는 실시간 워크플로와 각 단계를 검증하는 관련 MongoDB 문서를 함께 보여줍니다.
백엔드 설정
이름이 issues_index이고 경로가 임베딩인 Atlas Vector Search 인덱스를 생성합니다.
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: (가능한 경우) 과거 문제의 샘플을 표시합니다.
체크포인트: (체크포인트 데이터베이스에서) 잠재적 복구를 위해 마지막으로 저장된 상태를 보여줍니다.
재개 기능
선택적으로, 스레드 ID를 입력하여 시스템이 해당 세션을 조회하는 방법을 보여주는 "Resume Diagnosis" 기능을 시연할 수 있습니다.
그림 3: AI 에이전트 워크플로의시퀀스 다이어그램
주요 학습 사항
모빌리티를 위한 에이전틱 AI 솔루션을 빌드하려면 견고한 데이터 인프라가 필요합니다. MongoDB Atlas는 중요한 이점을 여럿 제공해 이러한 AI 기반 아키텍처의 토대로 적합합니다.
확장성 및 유연성: 커넥티드 차량 플랫폼(예: 차량 관리 시스템)은 막대한 양의 데이터를 처리하며, 그 유형도 매우 다양합니다. MongoDB Atlas는 클라우드 클러스터 전반에 걸쳐 손쉽게 수평 확장이 가능하므로 분당 수백만 건의 텔레메트리 이벤트를 수집하고 테라바이트 단위의 텔레메트리 데이터를 간편하게 저장할 수 있습니다. 예를 들어, ZF SCALAR는 MongoDB를 사용해 수십만 대의 커넥티드 차량에서 분당 90,000건의 차량 메시지(일간 데이터 50GB 이상)를 처리합니다. 차량 수가 늘어남에 따라 document model은 원활하게 확장됩니다. 개발자는 차량에 새로운 센서나 기능이 추가될 때마다 스키마를 발전시킬 수 있습니다. 이러한 유연성 덕분에 개발 속도를 높이고 데이터 모델과 실제 세계의 엔터티(차량, 주행, 사고)를 일치시킬 수 있습니다.
내장 벡터 검색: AI 에이전트는 작동을 위해 강력한 도구 세트를 필요로 합니다. 가장 널리 사용되는 도구 중 하나는 벡터 검색으로, 이를 통해 에이전트는 드라이버 로그, 오류 코드 설명 및 수리 설명서와 같은 비정형 데이터에 대해 시맨틱 검색을 수행할 수 있습니다. MongoDB Atlas는 벡터 검색을 네이티브로 지원하여 운영 데이터와 함께 고차원 벡터를 저장하고 인덱싱할 수 있으며, 이들에 대한 빠른 유사성 쿼리를 수행할 수 있습니다. 실제로 이는 AI 임베딩이 데이터베이스 내의 관련 차량 원격 측정 및 운영 데이터 바로 옆에 위치한다는 것을 의미합니다. 이로 인해 연결형 차량 사고 어드바이저와 같은 사용 사례의 아키텍처가 크게 단순화됩니다. 여기서 문제는 LLM에 컨텍스트를 전달하기 전에 과거에 발생한 문제와 일치시킬 수 있습니다. (자동차 OEM이 MongoDB Atlas Vector Search를 사용하여 오디오 기반 진단 을 어떻게 활용하는지 확인하세요).
Time series 컬렉션 및 실시간 데이터 처리: MongoDB Atlas는 실시간 애플리케이션을 위해 설계되었습니다. 연결형 차량의 텔레메트리 데이터 저장을 위한 time series 컬렉션, 변경 스트림, 그리고 새로운 데이터에 즉시 대응할 수 있는 트리거를 제공합니다. 실시간 가시성이 현대 차량 관리 시스템의 주요 기능인 점을 고려할 때, MongoDB의 AI 에이전트에게 최신 인사이트를 제공하는 능력은 그들이 내리는 결정이 최신 정보에 기반하도록 보장합니다. 이는 지속적인 데이터 수집과 학습이 계속해서 이루어지는 에이전트 AI 피드백 루프에서 매우 중요합니다.
MongoDB와 함께하는 동급 최고의 임베딩 모델: MongoDB는 최근 임베딩 및 순위 재지정 모델 분야의 선두주자인 Voyage AI를 인수했습니다. Voyage AI 임베딩 모델이 MongoDB Atlas에 통합되면, 개발자들은 외부 임베딩 API, 독립형 벡터 저장소, 또는 복잡한 검색 파이프라인을 더 이상 관리할 필요가 없습니다. AI 검색 기능이 데이터베이스 자체에 내장되어 시맨틱 검색, 벡터 검색, 순위 지정을 기존 쿼리처럼 원활하게 수행할 수 있습니다. 에이전트 AI 애플리케이션 개발에 필요한 시간을 단축할 수 있습니다.
작성자
Humza Akhtar, MongoDB