MongoDB Atlas Vector Search와 대규모 언어 모델을 사용하여 은행 애플리케이션의 상호 작용을 개선하세요.
사용 사례: Gen AI, Intelligent Search, 콘텐츠 관리
산업: 금융 서비스
파트너: Amazon 기반암, LangChain
솔루션 개요
이 솔루션에서는 MongoDB 기반 에이전트틱 AI 사용하여 문서 인텔리전스를 활용하는 방법을 학습 수 있습니다. 이 접근 방식은 로컬 리포지토리, 클라우드 컨테이너, 클라우드 저장 서비스와 같은 다양한 소스의 정형, 반정형 및 비정형 데이터에서 인사이트를 얻을 수 있습니다.
금융 기관과 핀테크 제공자는 여러 소스에서 대량의 문서와 조각난 데이터를 관리합니다. 이 정보를 수집, 검색, 분석하는 것과 같은 수동 작업은 작업 속도를 늦추고 오류의 위험을 높입니다.
이 솔루션은 멀티 에이전트 오케스트레이션 시스템을 사용하여 이러한 과제를 해결합니다. 이 도구는 MongoDB의 유연한 document model, MongoDB Atlas Vector Search, VoyageAI의 voyage-context-3 및 에이전트 AI 기반입니다.
이 솔루션은 금융 서비스의 5가지 문서 인텔리전스 사용 사례를 살펴봅니다.
회사 크레딧 등급
결제 처리 시 예외 처리
투자 조사
클라이언트 온보딩(KYC)
대출 신청
다음 섹션에서는 정적 문서를 운영 및 전략 인사이트의 동적 소스로 변환하는 방법을 설명합니다.
참조 아키텍처
이 솔루션은 세 가지 주요 모듈식 구성 요소로 구성됩니다.
그림 1. MongoDB 사용한 지능형 문서 처리 아키텍처입니다.
1. 슈퍼바이저 다중 에이전트 오케스트레이션
슈퍼바이저 에이전트 는 전문 에이전트 팀을 조정합니다. 각 에이전트 특정 작업을 수행하기 위한 고유한 프롬프트와 특정 도구가 제공됩니다.
스캐너 에이전트 는 여러 소스(로컬 파일, AWS S3, Google 드라이브)에서 사용 가능한 문서를 검색하고 카탈로그화합니다.
Evaluator 에이전트 는 업계 및 사용 사례 컨텍스트를 기반으로 문서 관련성을 평가합니다.
추출기 에이전트 는 비전 AI를 사용합니다(Claude 3.5) 소네트 v2)를 사용하여 차트나 표와 같은 텍스트 및 시각적 요소를 해석하고 마크다운으로 변환할 수 있습니다.
프로세서 에이전트 는 콘텐츠를 의미론적으로 의미 있는 청크로 나누고, VoyageAI를 사용하여 임베딩을 생성하며, MongoDB Atlas 컬렉션에 저장합니다.
파트 2. Agentic RAG 시스템
데이터가 수집되면 이 RAG 워크플로는 다음을 수행합니다.
문서 어시스턴트 에이전트와의 실시간 상호 작용을 지원합니다.
쿼리 생성, 문서 채점, 쿼리 재작성 루프를 사용하여 자동으로 응답을 구체화합니다.
voyage-context-3 임베딩을 사용하여 문서 청크가 정확하고 근거 있는 답변을 위해 더 광범위한 컨텍스트를 유지할 수 있도록 합니다.
참고
Agentic RAG의 특성은 다음과 같습니다.
지능적인 결정을 내립니다: 조회가 필요한 시점과 직접 대응이 필요한 시점을 파악합니다.
자체 수정: 조회 문서가 관련이 없는 경우 쿼리 다시 작성하고 다시 시도합니다.
컨텍스트 유지: 다중 턴 대화에 MongoDB 체크포인트 사용
투명성 제공: 워크플로 단계 및 채점 결정 추적
파트 3. 보고 및 인사이트 생성
이 모듈은 대상 벡터 검색과 LLM 기반 콘텐츠 생성을 사용하여 다음 작업을 수행하여 주기적인 보고서를 자동화합니다.
정보를 처리하여 맞춤형 보고서를 생성합니다.
관련 결과 및 상황 데이터를 컴파일합니다.
PDF와 같은 구조화된 출력 내보내기.
낮은 컨텍스트 시나리오에서도 안정성을 보장하는 폴백 메커니즘을 포함합니다.
데이터 모델 접근 방식
솔루션의 데이터 모델 컬렉션을 기능별로 그룹화합니다.
핵심 문서 처리:
chunks:voyage-context-3벡터가 있는 텍스트 세그먼트를 저장합니다.documents: 처리 상태 및 소스 정보를 추적하는 문서 메타데이터 저장합니다.assessments: 관련성 점수 및 처리 결정과 같은 문서 평가 결과를 포함합니다.workflows: 멀티 에이전트 처리 상태 모니터링하는 수집 워크플로 추적을 저장합니다.
다음 문서 chunks 컬렉션 의 예시 입니다.
{ "_id": { "$oid": "68e7d4cd77c8fbfb9abdf878" }, "document_id": "doc_ef5b1da6", "document_name": "Payment_Investigation_Ticket.pdf", "chunk_index": 2, "chunk_text": "Contacted cardholder to confirm receipt of temporary credit and advise on investigation timeline. Cardholder confirmed satisfaction with temporary resolution...", "embedding": [ 0.02789805270731449, 0.0045435624197125435, -0.06760358065366745, ... ], "has_visual_references": false, "metadata": { "name": "Payment_Investigation_Ticket.pdf", "path": "@s3@.../document-intelligence/fsi/payment_processing_exception/Payment_Investigation_Ticket.pdf", "processed_at": { "$date": "2025-10-09T15:29:17.741Z" }, "chunk_count": 3, "chunk_metadata": { "chunk_index": 2, "total_chunks": 3, "section_start": "Contacted cardholder", "section_end": "ion_ticket.html*\n4/5", "document_id": "doc_ef5b1da6", "document_name": "Payment_Investigation_Ticket.pdf", "contains_images": false } } }
다음 문서 documents 컬렉션 의 예시 입니다.
{ "_id": { "$oid": "68e7d4cb5fc2bb6e17eaedb8" }, "document_id": "doc_ef5b1da6", "document_name": "Payment_Investigation_Ticket.pdf", "document_path": "@s3.../document-intelligence/fsi/payment_processing_exception/Payment_Investigation_Ticket.pdf", "file_extension": "pdf", "file_size_mb": 0.3242454528808594, "source_type": "s3", "source_path": "@s3@fsi/payment_processing_exception", "page_count": 4, "created_at": { "$date": "2025-10-09T15:29:15.041Z" }, "updated_at": { "$date": "2025-10-09T15:29:18.267Z" }, "status": "completed", "chunk_count": 3, "has_visual_references": true, "metadata": { "markdown_length": 5592, "processing_timestamp": { "$date": "2025-10-09T15:29:15.041Z" } } }
다음 문서 assessments 컬렉션 의 예시 입니다.
{ "_id": { "$oid": "68e7d2b35fc2bb6e17eaedb2" }, "document_id": "doc_ef5b1da6", "document_name": "Payment_Investigation_Ticket.pdf", "document_path": "@s3.../document-intelligence/fsi/payment_processing_exception/Payment_Investigation_Ticket.pdf", "file_size_mb": 0.3242454528808594, "assessment": { "main_entity": "Payment Investigation Ticket", "document_category": "Banking Investigation Document", "key_topics": [ "merchant chargeback investigation", "payment dispute resolution", "cardholder dispute handling" ], "relevance_score": 95, "reasoning": "This document is highly relevant to both the financial services industry and exception handling in payment processing. It is an official payment investigation ticket from First National Bank's Payment Investigation Department, specifically dealing with a cardholder dispute and merchant non-response case. The document contains formal banking investigation details, dispute resolution tracking, and payment processing exception handling elements.", "should_process": true }, "assessed_at": { "$date": "2025-10-09T15:20:19.060Z" }, "workflow_id": "fsi_payment_processing_exception_1760023126468" }
다음 문서 workflows 컬렉션 의 예시 입니다.
{ "_id": { "$oid": "68e7d25d5fc2bb6e17eaedad" }, "workflow_id": "fsi_payment_processing_exception_1760023126468", "endpoint": "/api/ingestion/start", "source_paths": [ "@local@/docs/fsi/payment_processing_exception", "@s3@fsi/payment_processing_exception", "@gdrive@fsi/payment_processing_exception" ], "triggered_at": { "$date": "2025-10-09T15:18:53.563Z" } }
핵심 문서 처리 컬렉션 외에도 솔루션에는 다음과 같은 다른 기능과 해당 컬렉션이 포함되어 있습니다.
신속한 상호 작용 및 메모리:
gradings: Q&A 조회 평가의 이진 점수와 같은 문서 관련성 등급이 포함됩니다."logs_qa: 프롬프트 상호 작용 세션 로그를 포함하여 에이전트적인 RAG 워크플로 단계와 결정을 추적합니다.agent_personas: 사용 사례별 AI 구성에 맞게 업계별로 프롬프트와 역량을 정의합니다.checkpoint_writes_aio: 특히 LangGraph 상태 쓰기 (write)의 경우 대화 상태에 대한 비동기 지속성을 처리합니다.checkpoints_aio: 대화 메모리 역할을 하는 스레드 기반 대화 기록을 관리합니다.
보고서:
scheduled_reports: 생성된 보고서 메타데이터 포함하여 PDF 위치 및 생성 기록을 추적합니다.report_templates: 사용 사례 별로 섹션과 프롬프트를 정의하며, 보고서 구조 템플릿 역할을 합니다.
이 데이터 모델 접근 방식은 특정 작업 과 관련된 모든 데이터가 MongoDB의 유연한 문서 구조 내에 함께 배치되므로 개발을 간소화하는 직관적인 디자인을 생성합니다.
솔루션 빌드
전체 구현 및 코드를 보려면 이 GitHub 리포지토리의 README 에 있는 지침을 따르세요.
이 솔루션은 세 가지 프라이머리 구조 패턴 구성하여 구축됩니다. 각 구성 요소가 구현되는 방법에 대한 단계는 다음과 같습니다.
슈퍼바이저 다중 에이전트 시스템 구현
이는 여러 개의 특수 AI 에이전트를 조정하는 핵심 수집 파이프라인 입니다.
특수 에이전트 정의: 먼저 LangGraph 프레임워크 사용하여 각 에이전트 정의합니다.
감독자 에이전트 구현: 그런 다음 전체 워크플로를 관리하는
supervisor agent를 구현. 이는 LangGraph 슈퍼바이저 패턴따릅니다.
에이전트적 RAG 시스템 빌드
이 시스템은 자체 수정 Agentic RAG 워크플로를 제공합니다. MongoDB Atlas Vector Search에서 컨텍스트를 조회 할지, 아니면 사용자에게 직접 응답할지를 지능적으로 결정하는 검색 에이전트 갖추고 있습니다.
그림 2. MongoDB (문서 어시스턴트 에이전트)를 사용하는 Agentic RAG 아키텍처.
벡터 검색 인덱스 만들기:
chunks컬렉션에 벡터 검색 인덱스 만듭니다. 이를 통해 애플리케이션 문서 임베딩에 대해 빠른 시맨틱 검색 수행할 수 있습니다.자체 수정 RAG 그래프 빌드: LangGraph를 사용하여 조건부 간선이 있는 순환 그래프를 빌드합니다. 이 그래프에는 검색 에이전트, 문서 그레이더 및 쿼리 재작성기가 포함됩니다. 쿼리 재작성기 의 목적은 결과가 관련이 없는 경우 다시 시도하는 것입니다.
대화 지속성 활성화: MongoDB 체크포인트 시스템을 구현하여 대화 메모리 및 멀티턴 대화를 제공합니다. 이렇게 하면 전용 MongoDB 컬렉션 에서 대화 상태 자동으로 저장하고 로드하여 에이전트 메모리 지속성을 제공합니다.
자동화된 보고서 생성기 만들기
이 모듈은 예약된 PDF 보고서의 생성을 자동화합니다.
보고서 템플릿 저장: MongoDB의 유연한 스키마 활용하여
report_templates컬렉션 만듭니다. 여기에는 크레딧 등급 및 투자 조사 보고서와 같은 각 보고서 유형에 대한 구조, 섹션 제목 및 특정 시맨틱 검색 프롬프트가 저장됩니다.섹션별 생성 구현: 템플릿의 각 섹션을 반복하는 스크립트 만듭니다. 이 스크립트 별도의 Atlas Vector Search 쿼리 실행합니다. 특정 섹션에 대한 프롬프트를 사용하고 콘텐츠를 누적합니다.
보고서 출력 예약 및 추적: 이 스크립트 는 스케줄러에 의해 실행 됩니다. PDF를 생성한 후 스크립트 추적을 위해 파일 경로 및 생성 날짜와 같은 메타데이터 를 MongoDB 의
scheduled_reports컬렉션 에 씁니다.
주요 학습 사항
MongoDB Atlas 통합 데이터 플랫폼으로 사용하여 구조화된 메타데이터, 구조화되지 않은 문서, 벡터 임베딩 및 작동 상태 저장 . 이를 통해 데이터 사일로를 제거하고 아키텍처의 복잡성을 줄일 수 있습니다.
감독자 다중 에이전트 오케스트레이션 패턴 을 구현하여 복잡한 다단계 워크플로를 관리합니다. 이 패턴 사용하면 전문 작업자 에이전트 간에 도구를 분할하여 전문 전문성 에 집중할 수 있습니다.
자체 수정 메커니즘이 있는 Agentic RAG를 배포 하여 쿼리 정확도를 개선합니다. 이를 통해 에이전트는 컨텍스트를 조회, 쿼리를 다시 작성하고, 문서 관련성을 채점할 시기를 지능적으로 결정할 수 있습니다.
강력한 대화 및 워크플로 추적을 설정하기 위해 영구 에이전트 메모리에 대한 MongoDB의 체크포인트를 구현합니다. 이를 통해 다중 턴 상호 작용을 위한 지속적인 대화 상태 및 대화 기록이 보장됩니다.
자동화된 보고 와 같은 타깃 콘텐츠 생성을 위해 MongoDB Atlas Vector Search를 사용하여 시맨틱 검색 수행합니다. 이를 통해 쿼리에서 키워드뿐만 아니라 의미별로 콘텐츠를 조회 하여 보다 정확한 출력을 얻을 수 있습니다.
작성자
Peyman Parsi, MongoDB 금융 서비스 필드 CTO
Ainhoa Mugica, 산업 솔루션, MongoDB
줄리언 보로나트, MongoDB 산업 솔루션 부문 시니어 전문가
Andrea Alaman Calderon, MongoDB 산업 솔루션 수석 전문가
자세히 알아보기
빠른 AI 에이전트 배포서버를 위한 프레임워크 구현방법을 알아보세요.
"에이전트 메모리란 무엇인가요? AI 학습 및 재현율 향상을 위한 가이드"를 통해 에이전트 메모리에 대해 더 자세히 알아보세요.
voyage-context-3에 대해 학습: 글로벌 문서 컨텍스트를 사용한 청크 수준 세부 정보 집중