Aquí tienes el mismo texto con un diseño mejorado en Markdown para un README.md, usando negritas, citas, código inline y una estructura visual más clara, sin alterar el contenido.
🩺 Agente de Triage Clínico y Protocolos Dinámicos (Solo Texto) Este ejercicio práctico está diseñado para que los participantes construyan un Agente de Decisión Médica avanzado que va más allá de un simple chatbot. Se centra en la orquestación compleja y la integración de sistemas distribuidos a través del Model Context Protocol (MCP), con MongoDB como base de datos de protocolos de referencia.
📝 Escenario del Problema La clínica "Salud Conectada" necesita un asistente automatizado que pueda interactuar con los pacientes a través de texto para evaluar sus síntomas. El objetivo primordial es determinar la gravedad de la situación y activar un protocolo de respuesta basado en datos internos (MongoDB) y en la disponibilidad de recursos externos (Servicio MCP simulado).
🛠️ Flujo de Trabajo del Agente (Orquestado con LangGraph) El corazón de la solución es un grafo (LangGraph) que gestiona cuatro nodos clave de forma condicional, utilizando Gemini para el razonamiento y LangChain como interfaz para las herramientas.
- Clasificación Inicial (Nodo: Clasificacion_Inicial)
Entrada: El agente recibe la descripción de los síntomas del paciente (ej: "Tengo un dolor agudo en el pecho y me cuesta respirar").
Gemini API se usa para analizar y clasificar la situación en una de tres categorías de gravedad: "Baja", "Moderada", o "Crítica".
Decisión: Si la gravedad es "Baja", el flujo termina rápidamente. Si es "Moderada" o "Crítica", el agente transiciona al siguiente paso de validación.
- Consulta y Validación de Protocolo (Nodo: Consulta_Protocolo_MongoDB)
Este nodo se activa para casos no-triviales.
Herramienta LangChain + MongoDB: Se utiliza una Tool de LangChain para conectarse a MongoDB. La herramienta extrae el protocolo de triage más relevante basado en los síntomas clave identificados por Gemini.
Lógica en MongoDB: El agente no solo lee, sino que también verifica los síntomas del paciente contra los criterios_de_alerta definidos en el documento de protocolo.
Resultado de Salida: La herramienta devuelve el texto del protocolo y un flag booleano de "Alerta Máxima" (True/False). Este flag impulsa la siguiente decisión de LangGraph.
- Llamada al Servicio de Recursos (Nodo: Llamar_Servicio_MCP)
Este nodo solo se ejecuta si el flag de "Alerta Máxima" de la base de datos es True.
Model Context Protocol (MCP): El agente llama a un servicio externo (simulado) utilizando el protocolo MCP. Los capacitantes deben definir el esquema de la herramienta obtener_disponibilidad_ambulancia.
Función del MCP: Este servicio devuelve información crítica en tiempo real, como el Tiempo de Despacho Estimado (TDE).
💡 El uso de MCP demuestra cómo el agente se conecta de manera estandarizada a un sistema empresarial vital para la operación.
- Generación de Recomendación Final (Nodo: Generar_Recomendacion)
El agente usa Gemini para sintetizar toda la información y generar una respuesta empática y precisa.
Respuesta Baja: Ofrece consejos de autocuidado.
Respuesta Moderada: Combina el diagnóstico de Gemini con el Protocolo de Triage obtenido de MongoDB.
Respuesta Crítica: Emite una Alerta de Emergencia e incluye el TDE obtenido a través del MCP, proveyendo instrucciones claras para el paciente.
🔑 Puntos de Capacitación a Demostrar El valor de este ejercicio radica en la complejidad de las transiciones de LangGraph y la interacción con sistemas externos:
Lógica Condicional (LangGraph): El agente debe saltar pasos si no son necesarios (ej. no llamar al MCP si la gravedad es baja).
Uso de Gemini para el Tool Calling y Razonamiento: Gemini debe tomar decisiones sobre qué información buscar en MongoDB (qué síntoma clave consultar).
Integración de MongoDB con LangChain: Construir un Tool robusto capaz de realizar búsquedas semánticas o complejas en la base de datos NoSQL.
Diseño de Protocolos (MCP): La definición del contrato MCP es crucial, demostrando la capacidad de crear sistemas modulares y distribuibles.
