caso de uso: Inteligencia Artificial, Agentes de IA
Industrias: Servicios financieros
Productos de MongoDB: MongoDB Atlas, Búsqueda vectorial de MongoDB, Change Streams, Colecciones de series de tiempo de MongoDB, Pipeline de agregación de MongoDB
emparejar: Amazon Bedrock, LangChain
Descripción general de la solución
Los sistemas de préstamo tradicionales se basan en aplicaciones heredadas desconectadas que no se crearon para datos en tiempo real, automatización o experiencias de cliente con prioridad digital. Los clientes ahora esperan decisiones instantáneas y total transparencia, mientras que los prestamistas gestionan el aumento del riesgo, la presión regulatoria y la creciente complejidad de los datos.
Esta solución le muestra cómo compilar un sistema de préstamos digitales moderno. Sustituye un proceso lineal y con mucho papeleo por un flujo de trabajo basado en datos y en tiempo real que conecta la originación, la suscripción, la aprobación, la financiación y el servicio en un único pipeline.
¿Por qué MongoDB?
Los flujos de trabajo agentivos generan varios tipos distintos de estado: registros operativos, incrustaciones, métricas de actividad y la propia memoria de los agentes. Los sistemas separados para cada tipo añaden infraestructura y crean problemas de coherencia entre ellos. MongoDB Atlas almacena todo esto en una plataforma de datos moderna con un languaje del query, lo que reduce el trabajo de integración.
Flexibilidad del esquema y el modelo orientado a documentos
Una solicitud de aplicación acumula detalles a lo largo de su ciclo de vida de los prestatarios, documentos, datos de crédito, métricas de riesgo y decisiones. Sigue siendo un documento que crece, en lugar de una entidad distribuida en una docena de tablas unidas en cada lectura.
El detalle polimórfico encaja de forma natural en este modelo. Los ingresos por empleo y los ingresos por trabajo por cuenta propia contienen campos diferentes dentro del mismo arreglo, sin columnas que admitan valores nulos y sin tablas de subtipos.
Los campos generados por el agente aparecen sin migraciones. Cuando el agente de suscripción añade una nueva métrica, guardar el campo directamente sin un cambio de esquema coordinado y sin orden de implementación.
Atlas Búsqueda Vectorial para la Comprensión Semántica
Las incrustaciones viven en los documentos que describen. Una query devuelve una coincidencia semántica junto con sus datos comerciales, lo que remueve la necesidad de mantener una base de datos y un índice vectorial independiente sincronizados.
El filtro previo limita una búsqueda a una única aplicación. Esto evita que los documentos de un prestatario aparezcan en los resultados de otro, convirtiendo un requisito de control de acceso en un parámetro de búsqueda en lugar de lógica de aplicación.
pipeline de agregación para puntuación explicable
La puntuación de riesgos se ejecuta donde residen los datos. Un pipeline une registros de crédito e ingresos, deriva las proporciones y devuelve una puntuación acotada, sin transferencia de datos al código de la aplicación.
Debido a que el cálculo es declarativo, la solución expone cada etapa a la interfaz. La explicabilidad se integra en la implementación, en lugar de ser un esfuerzo de reporte independiente.
Change Streams para interfaces en tiempo real
La cola de oficiales, el rastreador de estado del prestatario y el registro de actividad leen eventos de cambio de la base de datos. Ningún agente de mensajes independiente se interpone entre un guardar confirmado y la interfaz que lo muestra.
Los flujos se reanudan desde una posición almacenada después de un error de conexión, por lo que un fallo de red transitorio no crea una brecha en el flujo auditado.
Punto de control de MongoDB LangGraph para la memoria del agente
- El estado del flujo de trabajo persiste en Atlas en cada paso. Una aplicación en pausa para revisión humana sobrevive a los reinicios y redespliegues, y se reanuda con todo el contexto.
Juntas, estas capacidades permiten que una única plataforma lleve a cabo un flujo de trabajo de préstamos basado en agentes de principio a fin, desde la recepción de documentos hasta la suscripción, la revisión humana y la supervisión de la cartera, sin la superficie de integración que requiere una arquitectura de varias bases de datos.
Arquitecturas de Referencia
La solución consta de lo siguiente:
Frontend: La capa de experiencia: Portal del prestatario, tablero del oficial de préstamos, flujo de demostración y tablero de renovación.
Backend: Un servicio FastAPI que aloja el pipeline del agente LangGraph y lo expone a través de REST, SSE y WebSocket.
MongoDB Atlas: La plataforma de datos inteligente para registros operativos, vectores, métricas de serie de tiempo, eventos de cambio en tiempo real y memoria de agente.
IA y observabilidad: Amazon Bedrock (Claude Haiku 4, uso de herramientas para la salida estructurada) y Voyage AI (incrustaciones multimodales).
Figura 1. Arquitectura de alto nivel: Préstamo agentivo con MongoDB.
agentes
El pipeline de agente de LangGraph está compuesto por lo siguiente:
Figura 2. Flujo agéntico.
Supervisor: Inspecciona el estado del flujo de trabajo después de cada paso y decide qué sucede siguiente: se ramifica para recopilar datos, procede a la suscripción, escala a un humano o completa. Controla la política de reintentos y la condición de pausa cuando una aplicación está bloqueada a la espera de la entrada del prestatario.
Verificador de documentos: Comprueba la integridad con los tipos de documentos requeridos, marca las extracciones fallidas, detecta cargas duplicadas mediante el hash del texto extraído y coteja los nombres de los solicitantes en todos los documentos.
Recuperador de crédito: Recupera los registros de la oficina para cada prestatario en la aplicación y adjunta las puntuaciones al estado del flujo de trabajo.
Agente de aplicación de préstamo: Sintetiza los documentos recopilados y los datos de crédito en una narrativa coherente de la aplicación y hace avanzar el estado de la aplicación.
Suscriptor: Ejecuta la agregación de riesgos, calcula los ratios de asequibilidad y la prueba de estrés, recupera la política rectora a través de la búsqueda vectorial y produce una recomendación estructurada: aprobar, rechazar o escalar.
Agente asistente de aplicación: Opera fuera de la pipeline y responde a las preguntas del prestatario utilizando el contexto de su propio archivo y el corpus de políticas.
El supervisor despacha al verificador de documentos y al extractor de créditos simultáneamente. La extracción de documentos y la recuperación de créditos no tienen dependencia entre sí, por lo tanto, superponerlos remueve la mayor espera secuencial en el pipeline.
Figura 3. Pipeline de agente de LangGraph.
Autonomía y supervisión humana (HITL)
El supervisor ejecuta bajo uno de cuatro modos de autonomía: observar, sugerir, limitado o automático. Por defecto, limitado, permite que el pipeline actúe de forma autónoma dentro de los límites de la política y escala a un funcionario cuando se supera un umbral — por ejemplo, un precio de compra superior a $500K o ratios GDS/TDS que superen los límites de la política. Cada decisión del oficial (aprobar, rechazar o modificar y continuar) lleva el ID del oficial y guardar en una colección de auditar inmutable. El pipeline se reanuda a través del punto de control de LangGraph, por lo que una revisión humana no pierde el estado del flujo de trabajo.
Enfoque de modelo de datos
El flujo de trabajo produce los siguientes tipos de datos, y MongoDB Atlas los almacena todos:
Registros operativos estructurados: Cada registro evoluciona a lo largo del ciclo de vida del préstamo como un único documento en crecimiento en lugar de una fila fija unida a través de tablas.
Cobranzas: solicitudes, prestatarios, informes crediticios, historial de chat, funcionarios, renovaciones.
{ _id: ObjectId('67500c01000000000000a002'), id: ObjectId('67500c01000000000000a002'), loansId: 'APP-2026-00011', borrowerIds: [ ObjectId('67500b01000000000000f002') ], borrowerNames: [ 'Grace Hopper' ], loanAmount: NumberInt('595000'), purchasePrice: NumberInt('850000'), downPayment: NumberInt('255000'), product: '7yr Fixed (30yr Amort)', property: { address: '226 W 108th St, New York City, NY 10025', type: 'Detached', purchasePrice: NumberInt('850000'), annualTax: NumberInt('11200') }, incomeSummary: { combinedGross: NumberInt('110400'), primary: NumberInt('110400'), coApplicant: null }, existingMonthlyDebt: NumberInt('0'), status: 'approved', statusHistory: [ { status: 'submitted', timestamp: ISODate('2026-03-05T14:32:11.000Z'), detail: 'Application received' }, { status: 'underReview', timestamp: ISODate('2026-03-07T10:00:00.000Z'), detail: 'Bureau pull complete; in underwriting' }, { status: 'conditionallyApproved', timestamp: ISODate('2026-03-12T15:30:00.000Z'), detail: 'Conditional approval pending appraisal' }, { status: 'approved', timestamp: ISODate('2026-03-20T11:15:00.000Z'), detail: 'Final approval issued' } ], createdAt: ISODate('2026-03-05T14:32:11.000Z'), updatedAt: ISODate('2026-03-20T11:15:00.000Z'), seedComplete: true }
Contenido no estructurado con vectores: El texto PDF extraído y su incrustación de 1024dimensiones (voyage-multimodal-3.5) residen en el mismo documento, por lo que una query devuelve la coincidencia semántica y sus datos empresariales juntos.
Colecciones: documentos, políticas.
{ _id: ObjectId('69deb9600e702ecf5ed0b9c5'), application_id: 'APP-2026-00002', doc_type: 'government_id', filename: '01_government_id.pdf', extracted_text: 'This is a British Columbia Government Identification Card document package issued by ServiceBC Registry Services on March 1, 2024 (Document Reference: SA-2024-BC-00847). The package contains identification cards for two individuals: Jane Marie Doe (applicant), born March 14...', structured_data: { persons: [ { full_name: 'Jane Marie Doe', date_of_birth: '1992-03-14', gender: 'F', height: '5\'7"', address: null, id_number: 'BC-7241-5583-JMD', expiry_date: '2029-03-14' }, { full_name: 'John Robert Doe', date_of_birth: '1990-08-22', gender: 'M', height: '5\'10"', address: null, id_number: 'BC-8392-6147-JRD', expiry_date: '2029-08-22' } ], text_summary: 'This is a British Columbia Government Identification Card document package issued by ServiceBC Registry Services on March 1, 2024 (Document Reference: SA-2024-BC-00847). The package contains identification cards for two individuals: Jane Marie Doe (applicant), born March 14, 1992, female...', issuing_authority: 'ServiceBC -- Registry Services', issuing_address: 'Service BC, 4946 Canada Way, Burnaby, BC V5G 4J6', issue_date: '2024-03-01', document_reference: 'SA-2024-BC-00847', document_type: 'Government Identification Card', jurisdiction: 'British Columbia, Canada', note: 'SYNTHETIC DOCUMENT -- FOR DEMONSTRATION PURPOSES ONLY' }, embedding: [ Double('0.0546875'), Double('-0.00074005126953125'), Double('-0.03955078125'), Double('0.018798828125'), ...... ], embedding_type: 'multimodal', embedding_pages: NumberInt('1'), status: 'parsed', created_at: ISODate('2026-04-14T22:02:08.271Z') }
Memoria del agente: estado de LangGraph por hilo, de modo que un flujo de trabajo en pausa se reanuda exactamente donde se detuvo.
Colecciones: puntos de control, escrituras de puntos de control y metadatos de puntos de control.
{ _id: ObjectId('69deb00d938a6c352b22f83c'), thread_id: 'APP-2026-00002', idx: NumberInt('0'), checkpoint_id: '1f138480-5fd5-6ee2-bfff-20577a825d23', checkpoint_ns: '', task_path: '~__pregel_pull, __start__', task_id: 'd8f52fef-26db-0a3b-e30d-67652af78130', channel: 'messages', type: 'msgpack', value: BinData(0, 'kA==') }
Coordinación y registros de auditar: Condiciones de bloqueo, decisiones de los oficiales y bloqueos distribuidos almacenados como documentos, con el mismo languaje del query que el resto de los datos — sin un sistema de auditar independiente que mantener.
Colecciones: intervenciones, auditoría hitl, bloqueos de tuberías.
HITL_audit
{ _id: ObjectId('6a85cf398ec04b841ebc2a71'), application_id: 'APP-BA96654D', officer_id: 'officer-001', action: 'decline', notes: 'Declined after manual review', conditions: [], overrides: {}, timestamp: ISODate('2026-08-19T15:43:53.719Z') }
Intervenciones: Almacena elementos de acción tipificados y generados por agentes con contexto de riesgo interno y orientación segura para el prestatario. Los elementos de bloqueo pausan los flujos de trabajo hasta que se resuelvan y activador la reevaluación.
{ _id: ObjectId('6a8c34e671e78aca4e8ca9ae'), application_id: 'APP-4E8CA981', type: 'stress_test_failure', status: 'pending', internal_context: { source_node: 'underwriter', risk_flag: 'osfi_b20_failure', severity: 'blocking', stress_gds: Double('0.6876'), stress_tds: Double('0.9604'), stress_rate: Double('0.0689'), gds_limit: Double('0.39'), tds_limit: Double('0.44'), is_insured: false }, borrower_context: { summary: 'Your application did not pass the OSFI B-20 mortgage stress test at the qualifying rate of 6.89%.', action_required: 'The stress test ensures you can afford payments if rates rise. You may improve your result by increasing your down payment, reducing existing debts, or choosing a less expensive property.', document_types_accepted: [] }, resolution: null, created_at: ISODate('2026-08-24T12:11:18.585Z'), resolved_at: null }
Mantenerlos juntos es lo que permite gestionar la solución. Una pila convencional coloca los registros operativos en una base de datos relacional, los vectores en un almacén de vectores dedicado, las métricas en una base de datos de serie de tiempo y el estado del agente en un caché — y luego dedica la mayor parte de su esfuerzo de ingeniería a mantener cuatro sistemas coherentes.
Compilar la solución
Esta sección muestra cómo implementar la solución de préstamos con agentes. Para acceder a la guía de implementación completa, clone el repositorio y siga las instrucciones de configuración que se encuentran en el archivo README de GitHub.
La construcción de esta solución sigue estos pasos:
Aprovisionar la plataforma de datos.
Cree un clúster de Atlas y las colecciones enumeradas en S3.
Compilar un índice de búsqueda vectorial sobre las incrustaciones de políticas y documentos, agregar índices TTL para la colección de bloqueo de pipeline.
Configure las colecciones de pagos y actividad del agente como series de tiempo.
Compilar el pipeline del agente en LangGraph.
Implementar el supervisor y su lógica de enrutamiento, los nodos paralelos de verificación de documentos y de extracción de créditos, la agregación de riesgos en siete etapas del asegurador y la puerta de interrupción/reanudación HITL respaldada por los puntos de control de MongoDBSaver.
Los puntos de control también funcionan como un registro forense. Puede reconstruir lo que los agentes sabían en el momento de una decisión, un artefacto diferente de un registro de lo que dijeron.
Dado que una aplicación de hipoteca es un proceso de larga duración, de varios días, con pasos que requieren la intervención humana (revisión del asegurador, reenvío de documentos, aprobación condicional). MongoDBSaver persiste todo el estado del grafo después de cada ejecución. Esto significa que una aplicación puede estar en pausa durante 3 días esperando el recibo de nómina de un prestatario, y al reanudarse, el grafo retoma exactamente donde lo dejó, con el estado completo intacto.
Una configurar de ejemplo:
from langgraph.checkpoint.mongodb import MongoDBSaver from langgraph.graph import StateGraph from pymongo import MongoClient client = MongoClient(ATLAS_URI) checkpointer = MongoDBSaver(client, db_name="lendflow") graph = StateGraph(MortgageState) # ... add_node(intake), add_node(document_verification), # add_node(underwriting), add_node(human_review) ... app = graph.compile(checkpointer=checkpointer) Si el grafo encuentra una interrupción() en el nodo de revisión humana, la invocación devuelve el estado en pausa. FastAPI puede devolver un 202 al cliente inmediatamente. Cuando el garante aprueba a través de un endpoint separado días después, solo tienes que volver a invocar con la misma configuración y una nueva entrada, y LangGraph se reanuda desde el último punto de control, no desde cero.
Nota
Esta implementación de demostración ofrece una configuración de hipoteca canadiense, con una prueba de estrés estilo OSFI B-20 y ratios de asequibilidad GDS/TDS. Las reglas residen en una función y una colección, de modo que la solución para un mercado diferente se reconfigura cambiando el documento de MongoDB de configuración como datos subyacente en lugar de reescribir el código.
Lecciones clave
Unificar el estado del agente con una única plataforma, MongoDB Atlas: Los flujos de trabajo basados en agentes producen registros operativos, incrustaciones y memoria con puntos de control. Almacenar los cuatro en Atlas remueve el trabajo de integración y coherencia de una pila de cuatro bases de datos.
Modele el préstamo como un único documento en evolución con el modelo orientado a documentos flexible: El modelo orientado a documentos permite que los datos del prestatario, el crédito y el riesgo se acumulen en un único registro durante todo el ciclo de vida, por lo que los nuevos campos escritos por el agente y los tipos de ingresos polimórficos no requieren migración de esquema.
Query vectores junto a los datos que describen con Atlas Vector Search: MongoDB almacena cada incrustación como un campo en el documento que describe, y Atlas Vector Search lo consulta allí. Una query devuelve la coincidencia semántica y sus datos comerciales juntos, y al limitar la búsqueda a una sola aplicación, evita que los documentos de un prestatario aparezcan en los resultados de otro.
Haga que la puntuación de riesgo sea explicable y configurable por diseño con el Aggregation Framework: Ejecutar el cálculo de riesgo como un pipeline de agregación declarativo expone cada etapa de la puntuación, por lo que la explicabilidad proviene de la implementación en lugar de una capa de reporte separada.
Mantener la memoria del agente para una revisión humana fiable con el LangGraph MongoDB Checkpointer: El checkpointer permite que un flujo de trabajo en pausa para la revisión del oficial sobreviva a los reinicios y se reanude con todo el contexto, y también sirve como un registro de auditoría de lo que los agentes sabían cuando tomaron una decisión.
Autores
Peyman Parsi
Mehar Grewal
Andrea Alaman Calderon
Obtén más información
Obtenga más información sobre cómo MongoDB y la IA agentic impulsan un recorrido de préstamos digitales de extremo a extremo que agiliza los flujos de trabajo, reduce el riesgo y mejora la experiencia del prestatario.