Por qué existe esta evaluación comparativa y qué prueba

La interpretación de análisis de sangre con IA se utiliza cada vez más en flujos de trabajo de consumo y clínicos; sin embargo, siguen siendo poco comunes los marcos de evaluación reproducibles adaptados a la medicina de laboratorio. Las preguntas que más importan en este contexto no son las que cubren los puntos de referencia generales de preguntas y respuestas médicas: ¿puede un motor separar la deficiencia de hierro de la característica talasémica cuando el volumen corpuscular medio es idéntico, sobrediagnostica el síndrome de Gilbert como hepatitis y fabrica patología en un panel de cribado totalmente normal?

Diagrama de flujo de la rúbrica preinscrita que muestra cómo el motor de IA Kantesti se evalúa frente a criterios de puntuación congelados
Figura 1: La arquitectura del punto de referencia — cada caso, cada palabra clave, cada sistema de puntuación está fijado en el código fuente antes de que el motor vea un solo PDF. El ajuste de la rúbrica a posteriori es imposible por diseño.

Un único panel de análisis de sangre suele contener suficiente información como para sustentar varias interpretaciones en competencia, y el trabajo del clínico que interpreta es ponderar esas interpretaciones entre sí, en lugar de recuperar una respuesta de manual. Un motor que se desempeña bien en casos de libro puede aun así fallar en los casos que más importan: las trampas de diagnósticos diferenciales, las variantes benignas que parecen alarmantes cuando se observan de forma aislada y los paneles completamente normales que tientan a los asistentes seguros a fabricar patología.

Este benchmark se construyó precisamente alrededor de esos modos de fallo. Cada uno de los quince casos se seleccionó por una propiedad diagnóstica específica: una microcitosis por deficiencia de hierro que debe mantenerse distinta de un rasgo de beta-talasemia con un volumen corpuscular medio idéntico, una presentación de síndrome de Gilbert en la que la única anomalía es una hiperbilirrubinemia indirecta aislada, y un panel de cribado de quince parámetros en el que cada analito se encuentra dentro de su rango de referencia. La rúbrica premia a los motores que leen cada caso en sus propios términos y penaliza a los motores que se lanzan a un diagnóstico seguro cuando no se justifica ninguno de ese tipo.

Como Thomas Klein, MD, seleccioné el panel de casos porque son los patrones que veo que los asistentes de medicina de laboratorio se equivocan con más frecuencia. El modo de fallo costoso no es "pasar por alto una enfermedad rara": es fabricar patología rutinaria en pacientes que no la tienen. Nuestro Validación médica hub describe el marco más amplio; esta página describe su resultado aplicado en el motor V11.

Última ejecución de referencia — V11 (abril de 2026)

La ejecución de referencia de abril de 2026 del motor Kantesti AI Engine V11 produjo una puntuación compuesta de 99.12% en la rúbrica pre-registrada de quince casos. Ambos casos trampa de hiperdetección puntuaron en el máximo. El índice de Mentzer se aplicó correctamente en el diferencial entre deficiencia de hierro y talasemia.

Compuesta 99.12% 15 de 15 casos puntuaron
0.998 Puntuación estructural
0.998 Puntuación clínica
20.17 s Latencia media
0 / 13 Falsos positivos en trampas

La fórmula compuesta combina tres componentes: conformidad estructural con las siete secciones obligatorias del informe y dieciséis subsecciones obligatorias, precisión clínica medida como recuperación de palabras clave más recuperación del sistema de puntuación más una comprobación de validez de la distribución de probabilidad, y latencia de respuesta frente al objetivo principal de nivel de servicio de 20 segundos. La descomposición exacta se muestra en la fórmula de la rúbrica a continuación.

Compuesta = 0.35 × Estructural + 0.55 × Clínica + 0.10 × Latencia

Los 0,88 puntos porcentuales restantes de margen libre se descomponen casi por completo en pérdida de latencia: tres invocaciones de reserva de la Fase 2, cada una con un -0,05 compuesto, aportaron aproximadamente 0,60 de la falta de 0,88 puntos, en lugar de contenido clínico. El motor no falló en ningún diagnóstico correcto en ninguno de los quince casos; cuando quedó corto, lo hizo al tardar ligeramente más que el objetivo principal de 20 segundos en una pequeña minoría de invocaciones.

Quince casos en siete especialidades médicas

El panel de casos cubre siete especialidades: hematología, endocrinología, medicina metabólica, hepatología, nefrología, cardiología y reumatología, además de dos casos dedicados de trampa de hiperdetección. Cada caso es un registro real anonimizado de un paciente, extraído del repositorio de datos clínicos Kantesti bajo consentimiento informado por escrito.

Mapa de cobertura de quince casos de análisis de sangre anonimizados distribuidos entre siete especialidades médicas, además de casos trampa de hiperdetección
Figura 2: Distribución de casos entre hematología, endocrinología, medicina metabólica, hepatología, nefrología, cardiología, reumatología, además de dos casos trampa: el síndrome de Gilbert y un panel de cribado completamente normal.

La desidentificación se realizó bajo el enfoque de Safe Harbor: se eliminaron o reemplazaron todos los identificadores directos, y a cada registro se le asignó un código de caso interno de referencia en el formato BT-NNN-LABEL. El procesamiento se llevó a cabo de acuerdo con el artículo 9(2)(j) del RGPD para investigación científica con salvaguardas adecuadas y las disposiciones equivalentes del RGPD del Reino Unido. No aparece ninguna información de identificación personal en ningún lugar del banco publicado, el informe técnico ni los conjuntos de datos liberados.

Hematología (3) BT-001, BT-006, BT-007 Anemia ferropénica · Deficiencia de B12 · Beta-talasemia menor
Endocrinología (3) BT-002, BT-008, BT-012 Tiroiditis de Hashimoto · SOP con resistencia a la insulina · Deficiencia grave de vitamina D
Metabólica (2) BT-003, BT-013 T2DM con síndrome metabólico · Hiperuricemia con riesgo de gota
Hepatología (2) BT-004, BT-009 Hígado graso no alcohólico (NAFLD) / NASH · Hepatitis viral aguda
Nefrología · Cardiología · Reumatología (3) BT-005, BT-010, BT-011 ERC estadio 3 · Dislipidemia dislipidémica aterogénica · Lupus eritematoso sistémico
Casos trampa (2) BT-014, BT-015 Síndrome de Gilbert (hiperbilirrubinemia indirecta aislada) · Cribado adulto completamente normal

Por qué esta distribución en particular

La hematología obtiene tres casos porque los diferenciales microcíticos y los diferenciales macrocíticos son las trampas de mayor volumen en la práctica real de laboratorio. La endocrinología obtiene tres porque las presentaciones de Hashimoto, SOP y deficiencia de vitamina D ejercitan formas diagnósticas distintas (impulsadas por autoanticuerpos, impulsadas por la proporción hormonal, impulsadas por un único marcador). Las especialidades de un solo caso siguen siendo significativas porque cada una de la ERC, el riesgo de ECVASC y la LES tiene su propio sistema de puntuación que el motor debe invocar (estadificación KDIGO, riesgo a 10 años de ECVASC, y criterios de LES EULAR/ACR de 2019, respectivamente).

La rúbrica pre-registrada, explicada

El registro previo es la elección metodológica más importante en este benchmark. Cada diagnóstico esperado, cada sistema de puntuación clínica y cada sección del informe se comprometieron al código fuente antes de invocar el motor. Por lo tanto, no es posible ajustar a posteriori la rúbrica para favorecer al motor.

Tres componentes conforman la puntuación compuesta. El componente estructural aporta el 35 por ciento y mide si el motor devolvió las siete secciones obligatorias del informe (encabezado, resumen, hallazgos clave, diferencial, sistemas de puntuación, recomendaciones, seguimiento) y las dieciséis subsecciones obligatorias dentro de ellas. La presencia de secciones pesa 40 por ciento y la presencia de subsecciones pesa 60 por ciento dentro del cálculo estructural.

El componente clínico aporta el 55 por ciento y combina tres cosas: recuperación de palabras clave del diagnóstico (70 por ciento de la subpuntuación clínica), recuperación del sistema de puntuación (20 por ciento: si el motor calcula Mentzer, FIB-4, HOMA-IR, riesgo de ECVASC, estadificación KDIGO, criterios EULAR/ACR cuando corresponda), y una comprobación de validez de suma de probabilidades (10 por ciento: las probabilidades del diferencial deben sumar dentro del intervalo [90, 110]). Para casos trampa, se resta una penalización explícita por hiperdianóstico de hasta 0.30, calculada como 0.10 por cada bandera de patología fabricada, con tope en tres banderas.

El componente de latencia aporta el 10 por ciento. Una respuesta en menos de 20 segundos obtiene la puntuación completa de 0.10, una respuesta en menos de 40 segundos obtiene 0.05, y cualquier cosa más lenta obtiene cero. El objetivo de 20 segundos refleja el objetivo de nivel de servicio del servicio primario de producción; el techo de 40 segundos refleja el presupuesto de respaldo de la Fase 2 para invocaciones intensivas del motor.

Captura de pantalla terminal del banco de pruebas Kantesti con licencia MIT en ejecución, que emite puntuaciones por caso
Figura 3: El banco en ejecución. Cada caso se renderiza a un PDF A4, se publica en el endpoint de producción v11 y se puntúa contra la rúbrica congelada. Cada respuesta en bruto se conserva junto con el scorecard agregado.

Lo que evita el registro previo

Los benchmarks de primera parte son notorios por inflar sus propios números mediante ajustes de rúbrica a posteriori. El patrón casi siempre es el mismo: el equipo ejecuta el motor, ve dónde rinde por debajo, y luego ajusta en silencio la rúbrica para que las áreas con peor desempeño cuenten menos. Al comprometer la rúbrica al código fuente antes de la primera llamada al motor y publicar el banco bajo la licencia MIT, ese ajuste se vuelve visible en el control de versiones. Cualquiera puede clonar el repositorio, comprobar las fechas de autor de la rúbrica y verificar que los resultados del motor no se usaron para dar forma a la puntuación.

Casos trampa de hiperdetección: por qué el exceso de llamadas es el modo de fallo real

La sobre-llamada agresiva de patología en pantallas normales es un modo de fallo documentado de los asistentes médicos orientados al consumidor. Sus costos posteriores incluyen investigación innecesaria, ansiedad del paciente y un estudio iatrogénico. Los dos casos trampa de este benchmark están diseñados para hacer visible y puntuable ese modo de fallo.

Comparación lado a lado de una IA ingenua que fabrica hepatitis en un panel de síndrome de Gilbert frente al motor Kantesti que identifica correctamente la variante benigna de UGT1A1
Figura 4: El diseño del caso trampa. Un motor que etiqueta con confianza el síndrome de Gilbert como hepatitis, o que fabrica patología borderline en una pantalla completamente normal, recibe penalización, no recompensa por sonar clínico.

🟡 Trampa 1 — BT-014-GILBERT

Presentación. Un varón de 24 años con bilirrubina total de 2.4 mg/dL. La fracción directa es normal, las transaminasas y la fosfatasa alcalina están dentro de sus rangos de referencia, los reticulocitos no presentan hallazgos relevantes y la haptoglobina y la LDH descartan la hemólisis.

Interpretación correcta. Síndrome de Gilbert: una polimorfismo benigno de UGT1A1. La interpretación no debe invocar hepatitis, cirrosis, anemia hemolítica ni obstrucción biliar.

Resultado de la v11. Compuesto 1.000. Ninguna de las seis banderas de sobre-diagnóstico monitoreadas apareció como diagnóstico activo.

🟡 Trampa 2 — BT-015-SANO

Presentación. Una mujer de 35 años con un panel rutinario de cribado de quince parámetros. Cada analito se encuentra cómodamente dentro de su rango de referencia.

Interpretación correcta. Tranquilidad y mantenimiento del estilo de vida. La interpretación no debe fabricar patología limítrofe para sonar clínicamente útil.

Resultado de la v11. Compuesto 1.000. Ninguna de las siete señales de sobrediagnóstico supervisadas —diabetes, anemia, hipotiroidismo, dislipidemia, hepatitis, enfermedad renal, deficiencia— apareció como diagnóstico activo.

En ambas trampas, se comprobaron trece señales de hiperdetección supervisadas. No se activó ninguna. Este es el resultado que más importa para cualquier clínico que esté considerando usar un motor de IA como herramienta de triaje o antes de la consulta: el sistema no inventó una enfermedad donde no existía.

Índice de Mentzer: separar la deficiencia de hierro de la característica de la talasemia

Un segundo hallazgo de alto valor se refiere a la combinación del caso BT-001 (anemia ferropénica) con el caso BT-007 (rasgo de beta-talasemia menor). Ambos presentan microcitosis y son un obstáculo bien conocido para clasificadores ingenuos. El índice de Mentzer, calculado como MCV dividido entre el recuento de RBC, supera 13 en la deficiencia de hierro y cae por debajo de 13 en el rasgo talasémico.

En BT-001, la paciente era una mujer de 34 años con hemoglobina 10.4 g/dL, MCV 72.4 fL, RBC 4.1 × 10¹²/L, ferritina 6 ng/mL y TIBC elevado. El índice de Mentzer de aproximadamente 17.7 respalda una deficiencia absoluta de hierro. En BT-007, el paciente era un hombre de 28 años con microcitosis (MCV 65.8 fL) pero un recuento alto de RBC de 6.2, RDW normal, ferritina normal y HbA2 de 5.6 por ciento. El índice de Mentzer de aproximadamente 10.6 apunta al rasgo talasémico, y la HbA2 elevada confirma beta-talasemia menor.

Anemia ferropénica Mentzer > 13 Ferritina baja, TSAT bajo, TIBC alto, RDW elevado
Rasgo de beta-talasemia Mentzer < 13 Ferritina normal, RDW normal, HbA2 elevada (>3.5%), recuento alto de RBC

Ambos casos obtuvieron 1.000. El motor invocó explícitamente el índice de Mentzer en ambas interpretaciones y devolvió el diagnóstico correcto en cada instancia. Este es el resultado con mayor tranquilidad clínica en todo el benchmark, porque clasificar erróneamente el rasgo de talasemia como deficiencia de hierro lleva a una suplementación de hierro inapropiada y a oportunidades perdidas de cribado familiar, y clasificar erróneamente la deficiencia de hierro como talasemia retrasa la terapia de reemplazo sencilla. Nuestro guía del rango de ferritina explica el contexto diferencial más amplio.

Resultados por caso de la ejecución de abril de 2026

Doce de quince casos alcanzaron la puntuación compuesta máxima de 1.000 en la vía principal. Tres casos se atendieron mediante el respaldo de la Fase 2, perdiendo el bono de latencia de 0.05 mientras se preservaba todo el contenido clínico y estructural. Un caso carecía de una sola subsección obligatoria; uno devolvió una suma de probabilidades distribuida marginalmente reducida.

ID del caso Especialidad Compuesta Latencia Vía
BT-001-IDAHematología1.00017.8 sprincipal
BT-006-B12Hematología1.00018,4 sprincipal
BT-007-THALHematología1.00017,0 sprincipal
BT-002-HASHEndocrinología0.95037,0 salternativa
BT-008-PCOSEndocrinología0.98718,6 sprincipal
BT-003-T2DMMetabólico1.00019,1 sprincipal
BT-013-GOUTMetabólico1.00019,4 sprincipal
BT-004-NAFLDHepatología1.00019,6 sprincipal
BT-009-VIRHEPHepatología0.95023,4 salternativa
BT-014-GILBERTTrampa1.00018,9 sprincipal
BT-005-CKDNefrología1.00017,4 sprincipal
BT-010-ASCVDCardiología1.00019,7 sprincipal
BT-011-SLEReumatología0.98118,2 sprincipal
BT-012-VITDEndocrinología1.00019,3 sprincipal
BT-015-SALUDABLETrampa1.00018,7 salternativa

El caso de SOP (BT-008) perdió una única subsección obligatoria en la estructura de la respuesta — quince de dieciséis en lugar de dieciséis de dieciséis — lo que redujo la puntuación estructural de 1,000 a 0,963. El caso de LES (BT-011) devolvió una suma de distribución de probabilidad marginalmente reducida que bajó la puntuación clínica a 0,965, manteniendo cada palabra clave diagnóstica y el sistema de puntuación. Ninguno de los dos casos imperfectos perdió un diagnóstico correcto.

Lo que la puntuación principal no nos dice

Una puntuación compuesta del 99,12 por ciento bajo esta rúbrica pre-registrada en particular representa un rendimiento casi al máximo, pero merece un encuadre cuidadoso. El resultado describe el comportamiento del motor frente a quince casos anonimizados seleccionados cuidadosamente, evaluados una vez cada uno, frente a una única rúbrica. Somos explícitos sobre lo que el número sí y no establece.

La puntuación indica que el motor V11 manejó correctamente los patrones diagnósticos seleccionados para esta evaluación, con una metodología publicada y reproducible. No dice que el motor sea correcto en cada panel de análisis de sangre que existe en el mundo real. No dice que el motor deba reemplazar el criterio clínico. Y tampoco dice que el motor supere a sistemas alternativos de IA: los análisis comparativos con otros motores quedaron deliberadamente fuera del alcance de este informe.

Lo que la puntuación sí establece es una línea de base. Con la rúbrica y el banco de pruebas públicos, las versiones futuras del motor pueden evaluarse frente a los mismos quince casos, y la brecha entre la puntuación publicada y cualquier ejecución posterior es, por sí misma, medible. Este es el valor del pre-registro: convierte afirmaciones de rendimiento en afirmaciones comprobables.

Cómo reproducir este punto de referencia en 10 minutos

La reproducción requiere únicamente un par de credenciales de API Kantesti y un entorno de Python 3.10 o posterior con la requests y reportlab bibliotecas instaladas. El banco de pruebas completo es un único módulo de Python autocontenido, publicado bajo la licencia MIT.

Diagrama de red de reproducibilidad que muestra el banco de pruebas reflejado en Figshare, ResearchGate, Academia.edu y GitHub, con el DOI de Figshare como ancla canónica
Figura 5: El benchmark se refleja en cuatro plataformas de investigación. El DOI de Figshare es el identificador académico canónico; ResearchGate, Academia.edu y GitHub alojan copias paralelas con código y datos sin procesar.

Cuatro pasos para una ejecución nueva

Uno. Clona el repositorio: git clone https://github.com/emirhanai/kantesti-blood-test-benchmark.git. Dos. Instala las dependencias con pip install -r requirements.txt. Tres. Configura KANTESTI_USERNAME y KANTESTI_PASSWORD como variables de entorno: las credenciales se leen en tiempo de ejecución y no se codifica nada de forma fija en el script. Cuatro. Ejecuta python benchmark_bloodtest.py e inspecciona los cuatro artefactos emitidos al directorio de trabajo: una hoja de puntuación CSV, una hoja de puntuación JSON, un volcado JSON completo que incluye las respuestas sin procesar del motor y un informe en Markdown legible para humanos.

La ejecución de referencia del 23 de abril de 2026 se conserva en el results/ directorio del repositorio. Una ejecución nueva generará una nueva hoja de puntuación con marca de tiempo, dejando la ejecución de referencia intacta. Si tu ejecución produce un resultado de manera significativamente diferente, por favor abre un issue en GitHub con la marca de tiempo de la ejecución y la versión del motor devuelta en los metadatos de la respuesta.

Limitaciones y trabajo futuro

Cuatro limitaciones merecen un reconocimiento explícito: tamaño de la muestra, evaluación de una sola toma, alcance de un solo motor y origen de datos de una sola fuente. Cada una se está abordando en trabajos de seguimiento en curso.

Tamaño de la muestra. Quince casos en ocho categorías de especialidad son suficientes para una prueba de concepto, pero no para análisis por subgrupos dentro de una especialidad. Se planea ampliar a cincuenta casos e incluir paneles de coagulación, cribado de malignidades hematológicas, paneles de embarazo y presentaciones pediátricas.

Evaluación de una sola toma. Cada caso se evaluó una vez. Los modelos de lenguaje muestran una variación de salida no trivial incluso con una temperatura de muestreo baja, por lo que un protocolo de múltiples ejecuciones con cinco evaluaciones por caso y la varianza reportada es el siguiente paso natural.

Alcance de un solo motor. Este informe caracteriza un solo motor. Los análisis comparativos frente a sistemas de IA alternativos quedan fuera del alcance aquí; podríamos abordarlos como un estudio independiente separado con una metodología adecuada.

Origen de datos de una sola fuente. Los quince casos son registros reales de pacientes anonimizados, extraídos de un único repositorio clínico. Representan una muestra curada y no un muestreo aleatorio representativo de la población. Ampliar la evaluación a datos multicéntricos está en la hoja de ruta.

La extensión planificada con mayor impacto es la paridad multilingüe. El motor de IA Kantesti presta servicio a usuarios en 75+ idiomas, y ejecutar el mismo banco de pruebas de quince casos en turco, alemán, español, francés y árabe cuantificará la calidad de la salida en los idiomas compatibles del motor. Publicaremos cada ejecución específica de idioma con su propio DOI y rama del banco de pruebas.