Arquitectura de agentes | trece - Ciencia

trece

Ciencia / Arquitectura de agentes

Cómo razonamos sobre tu salud.

Esta es la versión técnica del documento. Cubre por qué elegimos multi-agente sobre un modelo monolítico, cómo se compone el sistema, cómo orquestamos el debate entre especialistas, y cómo evaluamos cada pieza. Si llegaste aquí desde /ciencia, esto es lo que hay debajo del manifiesto.

Tesis

Un solo modelo no es suficiente.

Cuando le entregas un caso médico complejo a un solo modelo — por capaz que sea — varios problemas aparecen al mismo tiempo:

  • Dilución de contexto. Cada guía clínica, cada lab, cada nota compite por los mismos tokens. Lo importante se pierde en el ruido.
  • Compresión del razonamiento. El modelo tiene que ser bueno en todo simultáneamente. Cardiología, hepatología, endocrinología y farmacología compitiendo por el mismo «espacio mental» en una sola pasada.
  • Modos de falla opacos. Cuando el output está mal, no sabes si fue por el lab mal interpretado, una guía vieja, o un razonamiento con sesgo. Imposible aislar y mejorar.
  • Sin trazabilidad clínica. El razonamiento queda enterrado en una respuesta. No hay auditoría, no hay segunda opinión, no hay disenso.

Un sistema multi-agente resuelve cada uno: especialización vía system prompts dedicados, corpus de recuperación por dominio y herramientas específicas; evaluación independiente por agente; y un registro del debate cuando los especialistas discrepan. Cada agente sigue viendo el expediente completo — la diferenciación es de razonamiento, no de input.

Esta no es una preferencia estilística. Es la conclusión del estudio MAI-DxO de Microsoft Research: una orquesta de agentes con cadena de debate diagnostica con 4× la precisión de un médico individual y a una fracción del costo. La arquitectura es lo que hace la diferencia, no el tamaño del modelo.

Un orquestador con N especialistas es mejor que N veces un generalista, y mejor que un generalista N veces más grande.
Tesis arquitectónica

Arquitectura

Dos capas y un orquestador.

Todo en trece pasa por tres niveles bien definidos. La capa funcional hace el trabajo de proceso que todo caso necesita: ingesta, normalización, síntesis longitudinal, verificación. La capa de dominio aporta conocimiento de especialidad — cardiología, metabolismo, hepatología — cada agente con su propio corpus de guías indexado. El orquestador decide a quién consultar, modera, y resuelve contradicciones.

Eventos del expediente

Cualquier documento
EHRs externos
Notas / audio
Signos diarios

Capa funcional · 6 agentes de proceso

Anamnesis
Ingesta documental
Longitudinal
Razonamiento
Verificación
Plan

Orquestador

Routing + cadena de debate

Selecciona dominios relevantes · sintetiza · maneja disenso

Capa de dominio · 8 especialistas

Cardiología

ESC

Metabólica

ADA

Endocrino

Hepatología

AASLD

Nefrología

KDIGO

Hematología

Inflamación

Longevidad

Recomendación + razones + evidencia

Consenso · disenso registrado · próximo paso accionable

Cada dominio razona sobre el expediente completo, en paralelo y sin ver el output de los otros. El orquestador los junta en la fase de crítica cruzada.

Capa funcional

Seis agentes de proceso.

La capa funcional procesa el caso antes de que ningún especialista lo vea. Cada agente tiene un trabajo estrecho, un conjunto de herramientas dedicado, y un esquema de salida estructurado que el siguiente agente puede consumir.

01

Anamnesis

Extracción de historia clínica

Toma notas, audio de consulta, intake. Devuelve historia estructurada: antecedentes, medicamentos, alergias, hábitos, antecedentes familiares.

emite: history.parsed

02

Ingesta documental

Clasificación + extracción + normalización

Pipeline de dos pasos. Primero clasifica el documento (lab, receta, nota clínica, reporte de imagen, alta hospitalaria). Después extrae y normaliza entidades estructuradas: biomarcadores → LOINC, condiciones y diagnósticos → SNOMED / ICD-10, medicamentos → RxNorm, procedimientos.

emite: entities.normalized

03

Longitudinal

Síntesis temporal

Calcula trayectorias, velocidades de cambio, correlaciones cruzadas. Detecta señales que solo emergen mirando el historial completo.

emite: trends.computed

04

Razonamiento clínico

Diagnóstico diferencial

Genera hipótesis con probabilidad estimada, identifica banderas rojas, propone qué dominios consultar.

emite: differential.drafted

05

Verificación

Crítica y evidencia

Adversarial. Reta cada afirmación, exige citas, marca razonamientos sin soporte. Es el agente más escéptico del sistema.

emite: claims.verified

06

Plan

Salida accionable

Convierte el consenso en plan: qué pruebas pedir, qué medicar, qué cambios de hábito, calendario de seguimiento, criterios de revisión.

emite: plan.composed

Por qué importa: la capa funcional separa parseo de razonamiento. Si la lectura del lab está mal, lo detectas en la prueba unitaria de ese agente — no en el output final donde se confunde con un error de razonamiento clínico. Cada pieza es independientemente evaluable, mejorable y reemplazable.

Capa de dominio

Ocho especialistas.

Cada agente de dominio es un sistema con tres componentes: un system prompt especializado que codifica cómo razona ese subcampo, un corpus de guías indexado (RAG dedicado), y un watchlist de biomarcadores que activa al agente cuando algo cae en su jurisdicción.

Agente
Guía primaria
Watchlist (subset)

Cardiología

ESC 2021 / AHA
apoB · Lp(a) · LDL · presión · Tn · ECG · hx familiar CVD

Metabólica

ADA 2024
HbA1c · glucosa · HOMA-IR · TG · TG/HDL · cintura

Endocrinología

AACE / ETA
TSH · T4L · T3L · cortisol · testosterona · DHEA-S · vit D

Hepatología

AASLD
ALT · AST · GGT · bilirrubina · plaquetas · FIB-4 · NAFLD score

Nefrología

KDIGO
creatinina · eGFR · cistatina C · ACR · BUN · electrolitos

Hematología

ASH
BH completa · ferritina · B12 · folato · reticulocitos · LDH

Inflamación

EULAR / ACR
hsCRP · ESR · ferritina · fibrinógeno · WBC · linfocitos

Longevidad

Att. Med Round.
PhenoAge · IGF-1 · homocisteína · ratios · VO2max · DEXA

Por qué un corpus dedicado: las guías de la ESC para riesgo cardiovascular usan un cálculo distinto a las de la AHA. Un agente generalista promedia entre ellas. Un agente de cardiología usa la guía aplicable al contexto del paciente y cita la fuente exacta. Trazabilidad y precisión, no aproximación.

Orquestación

Cadena de debate.

El orquestador no es un router pasivo. Modera un proceso deliberado de razonamiento adversarial entre los especialistas seleccionados — inspirado en el chain-of-debate del estudio MAI-DxO. Cinco pasos.

  1. 1

    Routing

    Lee el output funcional. Escoge 2–4 dominios relevantes según biomarcadores marcados, intent del query, y banderas rojas. Casos cardiometabólicos típicos activan cardio + metabólica + nefrología.

  2. 2

    Análisis paralelo

    Cada dominio razona en aislamiento. No ven el output de los demás. Emiten: hipótesis, recomendación, citas a guía, nivel de confianza, banderas que aún quedan.

  3. 3

    Crítica cruzada

    El orquestador comparte los outputs entre especialistas. Cada uno crítica los demás: «la cardiología sugiere estatina pero la hepatología tiene un FIB-4 elevado — necesitamos descartar NASH antes».

  4. 4

    Debate resuelto

    Si hay contradicción, ronda de defensa estructurada. Cada agente argumenta su posición con evidencia. El verificador pesa la calidad de la evidencia, no solo la confianza declarada.

  5. 5

    Síntesis

    Salida final con consenso y disenso registrado. Si los especialistas no logran acuerdo, eso queda explícito — incertidumbre informada vence a falsa certeza.

El disenso es un feature, no un bug. Un sistema que siempre llega a consenso está colapsando información que el médico (o paciente) necesita ver.
Una orquesta de modelos con cadena de debate diagnostica con 4× la precisión de un médico individual y a una fracción del costo.
MAI-DxO · Microsoft Research, 2024

La intuición clave: cuando dos cardiólogos humanos discrepan sobre un caso, lo discuten. Cuando un solo modelo diagnostica, no hay nadie con quien discutir. El multi-agente recupera ese proceso epistémico — dentro del sistema, no dependiente del consultorio.

EHR agéntico

El expediente que actúa.

Un EHR tradicional es pasivo: los datos entran, se sientan, y alguien los consulta cuando hay tiempo. Nuestro EHR es event-driven: cada cambio dispara un evento al que los agentes suscritos responden. El expediente piensa solo.

Flujo de un documento nuevo

Usuario sube documento.pdf
event: doc.uploaded{ source, mime, hash }
Clasificador identifica tipo de documentoagent: classifier
event: doc.classified{ type: lab_report, confidence }
Extractor saca entidades estructuradasbiomarkers · conditions · meds · dx
event: entities.normalized{ LOINC · SNOMED · RxNorm · ICD-10 }
Longitudinal recalcula trayectoriasagent: trends
event: trend.changed{ biomarker, delta, velocity, window }
Routing notifica dominios afectadosagent: orchestrator
event: analysis.requested{ domains: [cardio, hepato], context }
Cadena de debateagents: cardio, hepato, verifier
event: plan.updated{ recommendations, dissent, next_steps }
Notificación + actualización del plan
Cada evento tiene tipo, payload, timestamp y procedencia. Los agentes se suscriben a tipos, no se llaman entre sí. Acoplamiento bajo, debugging trivial: pausa el bus, reproduce el evento.

Diferencia con un EHR clásico: en un sistema tradicional, ese cambio en LDL no dispara nada hasta tu próxima cita. Aquí, el sistema lo nota y lo evalúa inmediatamente — y solo te molesta si la evaluación amerita acción.

Especialización

Mismo expediente, distintos lentes.

Una arquitectura multi-agente común aísla el contexto: el cardiólogo solo ve labs cardio, el hepatólogo solo ve labs hepáticos. Es eficiente pero pierde lo que más importa en medicina — las interacciones entre sistemas. Un FIB-4 elevado cambia tu candidatura a estatinas. Una eGFR baja cambia tus opciones de antidiabético. Si los agentes no se enteran, eso no es razonamiento clínico; es razonamiento por compartimentos.

En trece cada agente ve el expediente completo. Lo que los hace especialistas no es el filtro de input — es la forma en que razonan, las fuentes que consultan, y el formato en que reportan.

Tres ejes de especialización

System prompt

Codifica cómo razona ese subcampo: qué pesa, qué duda primero, qué umbral de evidencia exige antes de recomendar acción. El cardiólogo mira riesgo a 10 años; el hepatólogo descarta causas reversibles antes de etiquetar.

Corpus de retrieval

RAG dedicado por dominio. Cardiología sobre ESC/AHA, metabólica sobre ADA, nefrología sobre KDIGO, hepatología sobre AASLD. Cada output cita la fuente exacta — no hay promedio entre guías que aplican distinto.

Esquema de salida

Cada dominio reporta con su formato: el cardiólogo entrega SCORE2/ASCVD, el hepatólogo FIB-4 + recomendación de elastografía, el endocrino paneles tiroideos con interpretación TSI/TPO. Estructura estandarizada por especialidad.

Los prompts y esquemas están versionados como código. Cada cambio dispara la suite de evals del agente afectado antes de llegar a producción.

Por qué importa que vean todo: el cardiólogo necesita saber tu ALT antes de sugerir estatina. El endocrino necesita ver tu eGFR antes de recomendar metformina. Las interacciones inter-sistémicas son donde la medicina real se gana o se pierde — y donde un sistema con visión recortada falla calladamente.

Evaluación

Cómo sabemos que funciona.

Tres niveles de evaluación, cada uno con benchmarks distintos. Un sistema clínico que no se evalúa rigurosamente no es un sistema clínico — es un experimento sobre pacientes.

Por agente

Cada agente tiene su test suite. ¿El parser de labs identifica correctamente colesterol total cuando el PDF dice «CT» vs «Col. Total» vs «Cholesterol»? ¿El agente de cardiología cita la guía ESC correcta para riesgo SCORE2? Tests deterministas con ground truth, ejecutados en CI.

Por flujo

Casos clínicos sintéticos con consenso experto. Inyectamos un caso de ASCVD con dislipidemia mixta y verificamos que el output incluya apoB, mencione Lp(a) si hay hx familiar, y plantee discusión de estatina + ezetimibe vs PCSK9 según el riesgo calculado. ~600 casos curados, expandiendo.

Contra benchmarks públicos

MedQA, MedMCQA, NEJM Healer. La capa de razonamiento alcanza ≥95% en MedQA. Replicamos la metodología del paper de Doctronic (medRxiv 2024) que mostró 99.2% de concordancia diagnóstica con un panel de médicos en 500 casos reales.

95.84% en MedQA. 99.2% de concordancia con médicos en casos reales. La pregunta ya no es si la IA puede — es cómo la desplegamos responsablemente.
MedQA · Stanford / Doctronic · medRxiv

Lo que aún no resolvemos bien: casos atípicos sin literatura sólida, interacciones medicamentosas raras, presentaciones culturalmente específicas. Para esos, el sistema marca incertidumbre alta y escala — sea a un humano, sea a una ronda de debate más larga. El objetivo no es eliminar la duda, es hacerla visible.

¿Construyes algo similar?

Estamos contratando ingenieros y clínicos que quieran trabajar en este tipo de sistemas. También colaboramos con investigadores en metodología de evaluación clínica de LLMs.

Documento de diseño

Esta página describe la arquitectura objetivo de trece. El sistema aún no funciona exactamente así — partes están en producción, partes están en construcción. Publicamos hacia dónde vamos, no solo lo que ya enviamos. Para discusión técnica: info@trece.health.