LendingTree의 3개 독립 에이전트 기반 모기지 어시스턴트 구성

LendingTree는 단순 질문 응답 수준의 챗봇을 넘어 복잡한 모기지 상담과 경쟁력 있는 대출 상품 매칭을 수행하기 위해 3개의 독립적인 AI 에이전트 체제를 도입했다. 기존 업계의 챗봇들이 기초적인 질문 처리에 그쳤던 것과 달리, 고난도 질문에 답하고 대출자를 최적의 오퍼와 연결하는 기능을 구현한 결과다. 이 시스템은 전체 흐름을 제어하는 Supervisor(감독자)와 특정 업무를 수행하는 두 개의 Worker(작업자)로 역할을 분리해 운영한다.

전문 작업자는 대출자 교육을 담당하는 Education Worker와 상품 매칭을 수행하는 Matching Worker로 구성된다. Education Worker는 대출자가 모기지 관련 지식을 습득하도록 돕는 교육 기능을 수행하며, Matching Worker는 사용자의 재무 상황을 분석해 개인화된 대출 옵션을 제공한다. Supervisor는 사용자의 입력값에서 의도를 분석하고 실행 계획을 수립하여 적절한 작업자에게 업무를 배분하거나 직접 응답을 구성하는 역할을 맡는다.

에이전트 간의 협업과 오케스트레이션에는 LangGraph(상태 유지형 멀티 에이전트 애플리케이션 구축 라이브러리)와 MCP(Model Context Protocol, 모델 간 통신 규약)를 사용했다. 이 도구들은 여러 에이전트가 유기적으로 데이터를 주고받으며 복잡한 워크플로우를 수행하도록 제어한다. 모델 플랫폼으로는 Amazon Bedrock을 선택해 다양한 파운데이션 모델을 유연하게 활용하고, 컴플라이언스 팀이 요구하는 AWS의 거버넌스 제어 기능을 그대로 적용했다.

인프라는 Amazon ECS(Elastic Container Service, 컨테이너 오케스트레이션 서비스)와 AWS Fargate(서버리스 컨테이너 컴퓨팅 엔진) 기반의 컨테이너 서비스로 구축했다. 모든 에이전트는 개별 컨테이너로 실행되어 수요에 따라 독립적으로 확장된다. Amazon Bedrock AgentCore가 정식 출시(General Availability)되기 전 이미 프로덕션 환경에 배포된 상태였기에, AgentCore 대신 Amazon ECS를 통해 에이전트를 배포하고 관리하는 구조를 택했다.

사용자가 접하는 채팅 인터페이스는 React로 개발된 애플리케이션이다. 이 인터페이스 역시 Amazon ECS와 Fargate 환경에서 컨테이너 서비스로 동작하며, 공용 엔드포인트를 통해 웹과 모바일 브라우저로 제공된다. 이를 통해 사용자는 복잡한 모기지 상담 과정을 거쳐 실시간으로 최적의 대출 옵션을 안내받는 환경을 이용한다.

기술이 실제로 작동하는 방식

모든 작업에 고성능 모델을 투입하지 않고 작업의 난이도와 성격에 따라 모델을 분기하는 구조를 적용했다. Supervisor 에이전트는 LangGraph 기반의 상태 머신(State Machine, 입력값에 따라 정해진 상태로 전이하는 시스템)으로 설계되어 계획 후 실행(Plan-and-execute) 패턴을 수행한다. 이 패턴에서 Supervisor는 사용자의 요청을 받으면 전체적인 맥락을 분석해 수행해야 할 단계별 실행 계획을 먼저 수립한다. 이후 수립된 계획을 바탕으로 각 작업에 가장 적합한 능력을 갖춘 워커 에이전트에게 업무를 배분하며, 실행된 결과가 계획과 일치하는지 검증하고 다음 단계를 결정한다.

모델의 선택 기준은 추론의 복잡도와 분류의 중요도에 따라 엄격하게 구분된다. 고도의 논리적 추론이 필요하거나 시스템의 전체 흐름을 결정짓는 핵심 분류 작업에는 Amazon Nova Pro를 할당하여 정확도를 높인다. 반면 사용자에게 전달할 단순한 대화형 응답을 생성하거나 가벼운 수준의 분류가 필요한 경우에는 Amazon Nova Lite를 자동으로 선택해 처리한다. 이러한 다중 모델 아키텍처는 모든 단계에서 최대 성능의 모델을 사용함으로써 발생하는 비용 낭비를 막고, 작업 성격에 맞는 효율적인 자원 배분을 통해 응답 신뢰성과 운영 경제성을 동시에 확보하는 전략이다.

에이전트 간의 데이터 교환과 호출은 MCP(Model Context Protocol, 모델 간 통신을 위한 표준 규약)를 통해 이루어진다. 호출 시 발생하는 지연 시간을 최소화하기 위해 연결 풀링(Connection Pooling, 서버와의 연결을 미리 생성해 두고 재사용하는 방식) 기술을 통신 계층에 도입했다. Supervisor가 Amazon Nova Pro를 통해 사용자 의도를 분석하고 실행 계획을 도출하면, MCP 기반의 연결 풀을 통해 지정된 워커 에이전트에게 즉각적으로 요청을 전달한다. 이는 매 요청마다 새로운 세션을 생성하고 인증하는 오버헤드를 제거해 전체적인 시스템 응답 속도를 높이는 핵심 기제로 작동한다.

전체적인 작동 흐름은 노드(Node)와 엣지(Edge)로 정의된 명시적 워크플로우 구조를 따른다. 노드는 특정 작업이 실제로 수행되는 실행 단위이며, 엣지는 현재 노드에서 다음 노드로 이동하기 위한 경로와 조건을 결정하는 제어 장치다. Supervisor는 상태 머신으로서 현재 시스템이 어떤 노드에 머물러 있는지, 다음 단계로 전이하기 위해 어떤 조건이 충족되어야 하는지를 실시간으로 관리하고 기록한다. 이러한 명시적 구조는 에이전트의 동작 경로를 투명하게 만들어 예측 가능성을 높이며, 복잡한 금융 상담 시나리오에서도 논리적 일관성을 유지하며 작업을 완수하게 한다.

RAG 기반 교육 에이전트와 API 연동 매칭 에이전트의 구현

Education Worker는 Amazon Bedrock Knowledge Bases(검색 증강 생성, 외부 데이터를 찾아 답변에 활용하는 기술)와 Amazon OpenSearch Service(벡터 스토어, 텍스트를 수치화해 저장하고 검색하는 저장소)를 결합해 구현했다. 모델이 사전에 학습한 파라미터 지식에만 의존하지 않고, 실제 최신 문서에서 정답을 찾아내는 Grounding(근거 제시) 방식을 사용한다. 사용자가 모기지 개념이나 상품 간의 차이점에 대해 질문하면, 시스템은 벡터 스토어에서 관련 문서를 검색해 이를 프롬프트에 포함시킨 뒤 답변을 생성하며 대화형 가이드를 제공한다. 지식 기반의 정보 제공이라는 목적에 맞게 정보의 정확성과 출처의 신뢰성을 확보하는 구조다.

Matching Worker는 정적인 문서 검색이 아닌 실시간 데이터 호출을 위한 API 연동 체계로 구축했다. 내부 오퍼 정보와 대출 자격 확인 시스템, 그리고 실시간 금리 API를 직접 호출하여 사용자 개개인의 조건에 맞는 최적의 맞춤형 옵션을 산출한다. Education Worker가 일반적인 지식을 전달하는 라이브러리 역할을 한다면, Matching Worker는 사용자의 신용도나 소득 같은 변수를 입력값으로 받아 최적의 상품을 계산하는 계산기 역할을 수행한다. 서로 다른 성격의 데이터를 처리하기 위해 검색 기반의 RAG와 API 기반의 데이터 호출이라는 서로 다른 기술 스택을 독립적으로 배치해 처리 효율을 높였다.

에이전트 간의 원활한 협업과 대화의 연속성을 위해 Amazon RDS(관계형 데이터베이스 서비스) 환경에서 LangGraph PostgreSQL checkpointer(상태 저장소, 대화의 진행 상태를 기록하는 도구)를 운용한다. 대화의 세션 상태와 메모리를 데이터베이스에 실시간으로 기록하여, 에이전트가 교체되는 핸드오프 과정이나 예기치 못한 서비스 재시작 상황에서도 이전 문맥을 그대로 복구한다. 사용자가 대화를 잠시 멈추고 나중에 다시 접속하거나, 앞선 대화 내용을 전제로 한 복잡한 후속 질문을 던져도 시스템은 저장된 체크포인트를 통해 정확한 상태를 인지한다. 이는 상태 머신 구조에서 각 단계의 진척도를 데이터베이스 수준에서 강제함으로써 구현한 결과다.

Supervisor 에이전트는 사용자의 입력 의도를 분석해 Education Worker와 Matching Worker 중 적절한 경로로 요청을 분기한다. 교육적 설명이 필요한 질문은 MCP(모델 간 통신 규약, 서로 다른 모델이나 서비스가 데이터를 주고받는 표준)를 통해 Education Worker로 전달되고, 개인화된 상품 비교 요청은 Matching Worker로 전달된다. 각 워커는 독립적인 워크플로우를 실행해 결과를 도출하며, Supervisor는 이 개별 결과물들을 취합해 하나의 완성된 응답으로 재구성한다. 기능별로 전문화된 에이전트를 분리하고 이를 상태 저장소로 연결함으로써, 대규모 지식 검색의 부하와 실시간 API 호출의 변동성을 효율적으로 분리해 처리한다.

Bedrock Guardrails와 LLM 분류기를 통한 금융 보안 체계

모기지 산업의 규제 요구사항은 콘텐츠 필터링과 개인식별정보 보호를 선택이 아닌 필수 조건으로 규정한다. LendingTree는 이 제약을 해결하기 위해 Amazon Bedrock Guardrails를 도입했다. Guardrails는 혐오 표현이나 비속어를 탐지하고 PII(Personally Identifiable Information, 이름이나 전화번호 같은 개인 식별 정보)를 마스킹 처리하며 프롬프트 위협을 사전에 스크리닝한다. 사용자가 입력한 데이터에서 민감 정보를 자동으로 가리거나 삭제함으로써 데이터 유출 위험을 인프라 수준에서 차단한다. 이는 모델이 학습 데이터나 프롬프트를 통해 부적절한 응답을 생성할 가능성을 원천적으로 막는 안전장치다.

보안 강화를 위해 Guardrails와 별개로 LLM 기반의 안전 분류기(Safety Classifier)를 병렬로 배치했다. 안전 분류기는 대화 정책 준수 여부를 실시간으로 검증하는 별도의 모델이다. 두 가지 보안 검증 프로세스가 동시에 실행되는 병렬 구조를 택해 추가적인 지연 시간 없이 정책 준수 여부를 확인한다. 보안 계층을 다중화하면서도 사용자 응답 속도에 영향을 주지 않도록 설계한 점이 특징이다. 이를 통해 금융 상담에 필요한 엄격한 준법 감시를 수행하면서도 실시간 대화의 흐름을 유지한다.

기술적 필터링 외에 비즈니스 로직 레이어를 통해 대화의 흐름을 정교하게 제어한다. 복잡한 금융 이슈가 발생하여 모델의 자동화된 응답만으로는 해결이 어렵다고 판단되는 경우, 즉시 전문 상담원에게 연결하는 경로를 생성한다. 또한 서비스 목적과 무관한 주제로 대화가 흐를 때는 다시 본래의 상담 목적으로 리다이렉션하여 대화 효율을 높인다. 단순한 키워드 기반의 차단을 넘어 대화의 맥락을 분석해 처리 경로를 분기함으로써 사용자 경험과 운영 효율을 동시에 확보한다.

전체 보안 체계의 안정적인 배포와 관리를 위해 Terraform과 GitLab CI/CD를 활용한다. Terraform은 인프라 설정을 코드로 정의하고 관리하는 IaC(Infrastructure as Code) 도구이며, GitLab CI/CD는 코드 변경 사항을 자동으로 테스트하고 배포하는 지속적 통합 및 배포 파이프라인이다. 이를 통해 인프라 구성의 일관성을 유지하고 자동화된 헬스 체크를 수행하여 시스템 가동 상태를 상시 확인한다. 규제 준수가 필수적인 금융 환경에서 배포 과정의 휴먼 에러를 제거하고, 업데이트마다 동일한 보안 정책이 적용되었는지 검증하는 체계를 구축했다.

한국 금융 AI 실무자를 위한 멀티 모델 전략과 규제 대응 시사점

사용자 입력과 모델 출력의 모든 경로는 Amazon Bedrock Guardrails(콘텐츠 필터링 및 개인정보 보호 도구)를 통과한다. 이 인프라 수준의 가드레일은 혐오 표현과 비속어를 탐지하고 PII(개인식별정보, 주민등록번호나 전화번호 등)를 마스킹하여 외부 유출을 차단한다. 동시에 프롬프트 위협 스크리닝을 수행해 모델의 제어권을 뺏으려는 악의적인 입력값이 내부 로직에 도달하는 것을 막는다. 보안 정책을 개별 프롬프트에 적는 방식이 아니라 인프라 계층에서 강제함으로써 규제 준수의 누락 가능성을 제거했다.

작업의 복잡도에 따라 Amazon Nova Pro와 Nova Lite 모델을 구분하여 배치한다. 고도의 추론과 핵심 분류가 필요한 단계에는 Nova Pro를 사용하고, 단순 대화 응답이나 경량 분류 작업에는 Nova Lite를 할당해 비용 효율성을 높였다. 데이터 전략은 정적 지식과 동적 데이터의 하이브리드 방식으로 운영한다. 교육 에이전트는 RAG(검색 증강 생성)를 통해 검증된 문서를 참조하며, Matching Worker(매칭 워커)는 내부 API를 통해 실시간 대출 오퍼, 자격 확인, 금리 데이터를 호출한다. 내부 서비스 API는 렌더 검색, 상품 데이터, 사전 자격 심사, 오퍼 비교 및 사용자 프로필 정보를 제공해 모델이 최신 금융 수치에 근거해 응답하게 만든다.

계획과 실행 단계를 설계상으로 분리하여 대화 흐름의 추적 가능성을 확보했다. LangGraph의 노드 기반 설계를 적용해 특정 응답에서 오류가 발생했을 때 어떤 노드에서 어떤 결정이 내려졌는지 정확히 추적할 수 있다. Matching Worker는 사용자의 선호도를 수집한 뒤 내부 API를 호출해 개인화된 대출 옵션을 제공하며, 사용자가 FHA(연방주택청 보증 대출)와 일반 대출의 차이를 묻는 등의 복잡한 비교 요청을 처리한다. 실행 경로가 명시적으로 정의되어 있어 블랙박스 형태의 응답이 아닌, 결정 지점이 기록된 투명한 워크플로우를 유지한다.

금융 도메인의 LLM 도입은 교육과 매칭이라는 서로 다른 목적의 에이전트를 분리하고, PII 보호와 같은 보안 필터링을 인프라 수준에서 강제하는 Supervisor-Worker 구조의 설계 기준을 따라야 한다.