Per què existeix aquest benchmark i què prova
L’AI-assisted blood test interpretation s’utilitza cada cop més en fluxos de treball de consum i clínics, però els marcs d’avaluació reproduïbles adaptats a la medicina de laboratori continuen sent poc habituals. Les preguntes que més importen en aquest context no són les que cobreixen els benchmarks generals de resposta a preguntes mèdiques: pot un engine separar la deficiència de ferro de la característica de talassèmia quan el volum corpuscular mitjà és idèntic, sobrediagnostica la síndrome de Gilbert com a hepatitis, i fabrica patologia en un panell de cribratge completament normal?
Un sol panell d’anàlisi de sang típicament conté prou senyal per donar suport a diverses interpretacions competidores, i la feina del clínic que interpreta és ponderar aquestes interpretacions entre si, en lloc de recuperar una resposta de manual. Un motor que va bé en casos de llibre pot continuar fallant en els casos que més importen: els paranys de diagnòstic diferencial, les variants benignes que semblen alarmants quan es consideren aïlladament i els panells plenament normals que tempten els assistents segurs a fabricar patologia.
Aquest benchmark es va construir precisament al voltant d’aquests modes de fallada. Cada un dels quinze casos es va seleccionar per una propietat diagnòstica específica: una microcitosi per dèficit de ferro que cal mantenir diferenciada d’un tret de beta-talassèmia amb un volum corpuscular mitjà idèntic, una presentació de síndrome de Gilbert on l’única anormalitat és una hiperbilirubinèmia indirecta aïllada, i un panell de cribratge de quinze paràmetres en què cada analit se situa dins del seu rang de referència. La rúbrica premia els motors que llegeixen cada cas en els seus propis termes i penalitza els motors que s’avancen a un diagnòstic segur quan no es justifica cap diagnòstic d’aquest tipus.
Com a Thomas Klein, MD, vaig seleccionar el panell de casos perquè són els patrons que veig que els assistents de medicina de laboratori s’equivoquen més sovint. El mode de fallada car no és "passar per alt una malaltia rara": és fabricar patologia rutinària en pacients que no la tenen. El nostre Validació mèdica el hub descriu el marc més ampli; aquesta pàgina descriu la prova de concepte inicial de la V11 i l’actualització segona de la V11 que la va escalar fins a 100.000 casos anonimitzats extrets d’un repositori clínic amb suport de SQL que abasta 127 països — utilitzant la mateixa rúbrica de puntuació, idèntica a nivell de bytes, sense permetre cap ajustament post-hoc.
Última execució de referència — Actualització segona V11 (26 d’abril de 2026)
L’execució de referència de l’actualització segona V11 del 26 d’abril de 2026 va produir una puntuació composta de 99.80% sobre la mateixa rúbrica preregistrada utilitzada en la publicació inicial de la V11, avaluada a 100.000 casos anonimitzats extrets del repositori clínic amb suport de SQL Kantesti i abastant 127 països i els idiomes 75+. Cada cas es va completar pel camí principal de l’engine; les activacions de la bandera d’hiperdiagnosi en casos trampa es van mantenir en 0 / 87,412. L’execució original de la V11 del 23 d’abril de 2026 va cobrir 15 casos curats manualment (puntuació composta 99.12%) i va validar la rúbrica; l’actualització segona manté aquesta rúbrica idèntica a nivell de bytes i amplia l’avaluació fins a una cohort a escala poblacional.
La fórmula composta combina tres components: conformitat estructural amb les set seccions de notificació obligatòries i setze subseccions obligatòries, precisió clínica mesurada com a recuperació de paraules clau més recuperació del sistema de puntuació més una comprovació de validesa de la distribució de probabilitat, i latència de resposta respecte de l’objectiu de nivell de servei del camí principal. La descomposició exacta es mostra a la fórmula de la rúbrica a continuació — cap d’aquests pesos ni subrúbriques es va alterar per a l’actualització segona.
Els 0,20 punts percentuals restants de marge es descomponen gairebé íntegrament en la subpuntuació clínica — una petita fracció de casos (predominantment a Hepatologia i Reumatologia) tenia una paraula clau esperada del sistema de puntuació absent de la interpretació de l’engine tot i que el contingut diagnòstic era correcte. Cap cas de la cohort de 100.000 casos de l’actualització segona va fallar el diagnòstic en si mateix. La latència va millorar des d’una mitjana de 20,17 s a la publicació inicial de la V11 fins a 13,26 s a l’actualització segona, reflectint optimitzacions de l’engine de producció entre les dues execucions; la rúbrica, el codi de puntuació i el punt final de l’API no han canviat.
Les puntuacions compostes per país van oscil·lar entre 0,9971 (Índia) i 0,9985 (Suïssa) entre els 30 països més representats. La cua llarga de 97 països addicionals (≈7.300 casos en total) no va mostrar cap degradació sistemàtica. Els principals contribuïdors per nombre de casos van ser els Estats Units (10.500), el Brasil (9.500), Espanya (9.000), Itàlia (8.000), Alemanya (7.800), França (7.400), Portugal (5.800), Türkiye (3.400), el Regne Unit (2.900) i Mèxic (2.500).
De 15 casos a 100.000: evolució de la cohort a través de 127 països
El panell de casos original de la V11 cobria set especialitats — hematologia, endocrinologia, medicina metabòlica, hepatologia, nefrologia, cardiologia, reumatologia — més dos casos trampa dedicats d’hiperdiagnosi, amb cada cas com un registre real de pacient anonimitzat extret del repositori de dades clíniques Kantesti sota consentiment informat per escrit. L’actualització segona de la V11 amplia l’avaluació fins a 100.000 casos anonimitzats a través de 127 països, distribuïts en vuit especialitats (les set originals més un grup intern de medicina que absorbeix el subconjunt de trampa). La mateixa rúbrica de puntuació s’aplica de manera idèntica a nivell de bytes en ambdues execucions.
La desidentificació es va dur a terme sota l’enfocament Safe Harbor: es van eliminar o substituir tots els identificadors directes, i a cada registre se li va assignar un codi de cas intern de referència en el format BT-NNN-LABEL (V11 inicial) o un case_uid estable anonimitzat per a l’actualització segona. El processament es va dur a terme d’acord amb l’article 9(2)(j) del GDPR per a recerca científica amb salvaguardes adequades i les disposicions equivalents del GDPR del Regne Unit. No apareix cap informació personalment identificable enlloc del banc publicat, l’informe tècnic ni els conjunts de dades alliberats.
publicació inicial de la V11 — 15 casos curats manualment
El panell de casos original de la V11 va ser curat manualment pel Dr. Thomas Klein per exercitar els patrons diagnòstics que els assistents de medicina de laboratori solen equivocar més sovint. Cada un dels quinze casos es va seleccionar per a una propietat diagnòstica específica, llistada a continuació.
Per què aquesta distribució en particular
La hematologia obté tres casos perquè els diferencials microcítics i els diferencials macrocítics són els paranys de major volum en la pràctica real de laboratori. L’endocrinologia n’obté tres perquè les presentacions de la malaltia de Hashimoto, la SOP i la deficiència de vitamina D fan exercitar formes diagnòstiques diferents (impulsades per autoanticossos, impulsades per la relació hormonal i impulsades per un sol marcador). Les especialitats d’un sol cas encara són significatives perquè cadascuna de la ERC, el risc d’ASCVD i l’LES té el seu propi sistema de puntuació que l’engine hauria d’invocar (respectivament, estadificació KDIGO, risc a 10 anys d’ASCVD i criteris d’LES EULAR/ACR 2019).
Actualització Segona V11 — 100.000 casos anonimitzats a través de 127 països
La Segona Actualització substitueix el literal de Python original de 15 casos codificat a mà de la V11 per una consulta SQL parametrada i de només lectura contra el repositori clínic Kantesti (anonymised_blood_panels). La consulta filtra consent_research = 1 AND released_for_benchmark = 1 i s’imprimeix a la part superior de cada execució de benchmark per transparència. La distribució de la cohort per especialitat es mostra a continuació.
Distribució geogràfica — top 10 països
La cohort abasta 127 països (ISO 3166-1 alpha-2). Europa aporta 57.7%, les Amèriques 25.4%, Àsia-Pacífic 6.2%, entrades anomenades Orient Mitjà/Àfrica 3.4%, i una llarga cua de 97 països addicionals sumats aproximadament 7.3%. Els deu principals contribuïdors són els Estats Units (10,500), el Brasil (9,500), Espanya (9,000), Itàlia (8,000), Alemanya (7,800), França (7,400), Portugal (5,800), Türkiye (3,400), el Regne Unit (2,900) i Mèxic (2,500). Els scores compostos per país van oscil·lar entre 0.9971 (Índia) i 0.9985 (Suïssa).
El barem pre-registrat, explicat
El preregistre és la decisió metodològica més important d’aquest benchmark. Cada diagnòstic esperat, cada sistema de puntuació clínica i cada secció de l’informe es van comprometre al codi font abans que s’invoqués l’engine. Per tant, no és possible ajustar a posteriori la rúbrica per afalagar l’engine.
Tres components formen la puntuació composta. El component estructural contribueix amb el 35% i mesura si l’engine va retornar les set seccions obligatòries de l’informe (capçalera, resum, troballes clau, diferencial, sistemes de puntuació, recomanacions, seguiment) i les setze subseccions obligatòries dins d’aquestes. La presència de seccions pesa un 40% i la presència de subseccions pesa un 60% dins del càlcul estructural.
El component clínic contribueix amb el 55% i combina tres coses: record de paraules clau del diagnòstic (70% del subròs clínic), record del sistema de puntuació (20% — si l’engine calcula Mentzer, FIB-4, HOMA-IR, el risc d’ASCVD, l’estadificació KDIGO i els criteris EULAR/ACR quan sigui rellevant), i una comprovació de validesa de suma de probabilitats (10% — les probabilitats del diferencial s’han de sumar dins l’interval [90, 110]). En casos parany, es resta una penalització explícita d’hiperdiagnosi de fins a 0,30, calculada com 0,10 per cada bandera de patologia fabricada, amb un límit de tres banderes.
El component de latència contribueix amb el 10%. Una resposta de menys de 20 segons obté el 0,10 complet, una resposta de menys de 40 segons obté 0,05, i qualsevol cosa més lenta obté zero. L’objectiu de 20 segons reflecteix l’objectiu de nivell de servei del servei primari de producció; el sostre de 40 segons reflecteix el pressupost de reserva de la Fase 2 per a invocacions pesades de l’engine.
Què evita el preregistre
Els benchmarks de primera part són famosos per inflar els seus propis resultats mitjançant l’ajust a posteriori de la rúbrica. El patró gairebé sempre és el mateix: l’equip executa l’engine, veu on no assoleix el rendiment, i després ajusta tranquil·lament la rúbrica perquè les àrees que no rendeixen comptin menys. En comprometre la rúbrica al codi font abans de la primera crida a l’engine i publicar el banc sota llicència MIT, aquest ajust es fa visible en el control de versions. Qualsevol pot clonar el repositori, comprovar les dates d’autoria de la rúbrica i verificar que els resultats de l’engine no es van utilitzar per donar forma a la puntuació.
Casos trampa d’hiperdiagnosi — per què el veritable mode de fallada és sobreanomenar
L’atribució agressiva de patologia en pantalles normals és un mode de fallada documentat de les assistències mèdiques orientades al consumidor. Els costos derivats inclouen investigació innecessària, ansietat del pacient i exploració i tractament iatrogènics. Els dos casos parany d’aquest benchmark estan dissenyats per fer visible i puntuable aquest mode de fallada.
🟡 Parany 1 — BT-014-GILBERT
Presentació. Un home de 24 anys amb una bilirrubina total de 2,4 mg/dL. La fracció directa és normal, les transaminases i la fosfatasa alcalina estan dins dels seus intervals de referència, els reticulòcits no presenten res destacable i la haptoglobina i la LDH descarten l’hemòlisi.
Interpretació correcta. La síndrome de Gilbert — una polimorfisme benigna de l’UGT1A1. La interpretació no hauria d’invocar hepatitis, cirrosi, anèmia hemolítica ni obstrucció biliar.
Resultat V11. Composta 1.000. Cap de les sis banderes de sobre-diagnosi monitoritzades va aparèixer com a diagnòstic actiu.
🟡 Parany 2 — BT-015-SALUDABLE
Presentació. Una dona de 35 anys amb un panell rutinari de cribratge de quinze paràmetres. Tots els analits estan còmodament dins del seu interval de referència.
Interpretació correcta. Tranquil·lització i manteniment de l’estil de vida. La interpretació no hauria de fabricar patologia limítrofa per semblar clínicament útil.
Resultat V11. Composició 1.000. Cap de les set alertes de sobre-diagnòstic monitoritzades —diabetis, anèmia, hipotiroïdisme, dislipidèmia, hepatitis, malaltia renal, dèficit— va aparèixer com a diagnòstic actiu.
En ambdós paranys, es van revisar tretze alertes de hiperdetecció monitoritzades. No se’n va activar cap. Aquest és el resultat que més importa per a qualsevol clínic que consideri utilitzar un motor d’IA com a eina de triatge o de pre-consulta: el sistema no va inventar cap malaltia quan no n’hi havia.
Índex de Mentzer: separar la deficiència de ferro de la característica de la talassèmia
Un segon resultat d’alt valor es refereix a l’associació del cas BT-001 (anèmia ferropènica) amb el cas BT-007 (beta-talassèmia menor). Tots dos presenten microcitosi i són un entrebanc ben conegut per als classificadors poc experts. L’índex de Mentzer, calculat com el MCV dividit pel recompte de RBC, supera 13 en la deficiència de ferro i cau per sota de 13 en el tret de talassèmia.
A BT-001, la pacient era una dona de 34 anys amb hemoglobina 10,4 g/dL, MCV 72,4 fL, RBC 4,1 × 10¹²/L, ferritina 6 ng/mL i TIBC elevat. L’índex de Mentzer d’aproximadament 17,7 recolza una deficiència absoluta de ferro. A BT-007, el pacient era un home de 28 anys amb microcitosi (MCV 65,8 fL) però un recompte alt de RBC de 6,2, RDW normal, ferritina normal i HbA2 de 5,6 per cent. L’índex de Mentzer d’aproximadament 10,6 apunta al tret de talassèmia, i l’HbA2 elevat confirma la beta-talassèmia menor.
Ambdós casos van obtenir una puntuació d’1.000. El motor va invocar explícitament l’índex de Mentzer en les dues interpretacions i va retornar el diagnòstic correcte en cada cas. Aquest és el resultat únic que més tranquil·litza clínicament de tot el benchmark, perquè classificar erròniament el tret de talassèmia com a deficiència de ferro condueix a una suplementació de ferro inadequada i a oportunitats perdudes de cribratge familiar, i classificar erròniament la deficiència de ferro com a talassèmia retarda una teràpia de substitució senzilla. El nostre guia del rang de ferritina explica el context diferencial més ampli.
Resultats per cas de l’execució de referència inicial de la V11 (23 d’abril de 2026)
L’execució de referència original de la V11 en la cohort de prova de concepte de 15 casos serveix com a fonament metodològic de la Segona Actualització: cada detall per cas a continuació il·lustra com la rúbrica gestiona una resposta real del motor. Dotze de quinze casos van assolir el sostre del score compost de 1.000 en el camí principal; tres casos es van servir via el fallback de la Fase 2, perdent el bonus de latència de 0.05 mentre es preservava tot el contingut clínic i estructural. Un cas mancava d’una subsecció obligatòria; un altre va retornar una suma de distribució de probabilitat lleugerament reduïda.
El cas de la PCOS (BT-008) va perdre una única subsecció obligatòria en l’estructura de la resposta — quinze de setze en lloc de setze de setze — cosa que va reduir la puntuació estructural de 1,000 a 0,963. El cas de l’SLE (BT-011) va retornar una suma de probabilitats lleugerament reduïda que va fer baixar la puntuació clínica fins a 0,965, tot preservant cada paraula clau diagnòstica i el sistema de puntuació. Cap dels dos casos no perfectes va fallar un diagnòstic correcte.
Agregat de la V11 Segona Actualització — 100,000 casos
A escala poblacional, les files individuals de cada cas no són llegibles per humans, de manera que la Segona Actualització informa mètriques agregades en lloc d’una taula de 100,000 files. L’agregat principal es mostra a continuació; les desglosses per especialitat i per país es publiquen a l’informe tècnic i al dipòsit de Figshare. Una mostra aleatòria estratificada de n = 201 respostes crues del motor (llavor determinista 20260426) es publica al directori de GitHub carpeta results/ per a la seva inspecció.
El que la puntuació del titular no ens diu
Una puntuació composta del 99,80 per cent segons aquesta rúbrica preinscrita en particular, en un cohort anonimitzat de 100.000 casos que abasta 127 països, representa un rendiment gairebé al sostre — però mereix una contextualització acurada. El resultat descriu el comportament del motor en relació amb la rúbrica que ens vam comprometre a implementar al codi font a V11; no és una afirmació universal sobre la correcció del motor en cada panell d’anàlisi de sang que existeix a la natura.
La puntuació diu que el motor va gestionar correctament els patrons diagnòstics seleccionats per a aquesta avaluació en un cohort a escala poblacional, amb una metodologia publicada i reproduïble. No diu que el motor sigui correcte en cada panell d’anàlisi de sang que existeix a la natura. No diu que el motor hagi de substituir el criteri clínic. I no diu que el motor superi sistemes d’IA alternatius — les anàlisis comparatives amb altres motors van quedar deliberadament fora de l’abast d’aquest informe.
El que sí que estableix la puntuació és una línia de base. Amb la rúbrica i el banc de proves fets públics, les versions futures del motor es poden avaluar amb la mateixa rúbrica — aplicada als 15 casos inicials de V11, al cohort de 100.000 casos de la Segona actualització, o a qualsevol ampliació posterior — i la bretxa entre la puntuació publicada i qualsevol execució posterior és, al seu torn, mesurable. Aquest és el valor de la preinscripció: converteix les afirmacions de rendiment en afirmacions comprovables.
Com reproduir aquest benchmark en 10 minuts
La reproducció només requereix un parell de credencials d’API Kantesti i un entorn de Python 3.10 o posterior amb el requests i reportlab biblioteques instal·lades. El banc de proves complet és un únic mòdul de Python autònom, publicat sota la llicència MIT.
Quatre passos per a una execució nova
Un. Clona el repositori: git clone https://github.com/emirhanai/kantesti-blood-test-benchmark.git. Dos. Instal·la les dependències amb pip install -r requirements.txt (La Segona actualització afegeix mysql-connector-python ≥ 8.0 per al carregador de casos SQL). Tres. Defineix KANTESTI_USERNAME i KANTESTI_PASSWORD com a variables d’entorn per a l’API del motor. Per al carregador de casos SQL de la Segona actualització, també cal definir KANTESTI_DB_HOST, KANTESTI_DB_PORT, KANTESTI_DB_NAME, KANTESTI_DB_USER, i KANTESTI_DB_PASSWORD — el carregador es connecta mitjançant un rol de només lectura (bench_reader) que no té privilegis per identificar taules. Quatre. Executa python benchmark_bloodtest.py --limit 100000 per a l’execució completa de la Segona Actualització, o python benchmark_bloodtest.py --limit 1000 per a iteració ràpida. Les sortides s’aboquen a ./benchmark_results/: un scorecard CSV amb columnes per país i per especialitat, un agregat JSON, una mostra de resposta crua estratificada-aleatòria i un informe en Markdown.
Les execucions de referència de l’23 d’abril de 2026 (V11 inicial, 15 casos) i del 26 d’abril de 2026 (V11 Segona Actualització, 100,000 casos) es conserven al carpeta results/ directori del repositori. Una execució nova generarà un nou scorecard amb marca de temps, deixant les execucions de referència intactes. Si la teva execució produeix un resultat significativament diferent, obre un issue de GitHub amb la marca de temps de l’execució i la versió de l’enginy retornada a les metadades de resposta.
Limitacions i treball futur
Fins i tot amb 100,000 casos a través de 127 països, quatre limitacions mereixen un reconeixement explícit: infra-mostreig del “long tail” de països, avaluació d’una sola vegada, abast d’un sol motor i origen de dades d’una sola font. Cada una s’està abordant en treball de seguiment actiu.
Cobertura de països del “long tail”. La Segona Actualització abasta 127 països, però la distribució és desequilibrada — els 10 principals contribuïdors representen ≈66.4% dels casos, i el “long tail” de 97 països addicionals aporta conjuntament ≈7.3% (aproximadament 7,300 casos en total, ~75 casos per país de mitjana). Per tant, els composites per país en aquest “long tail” són més sorollosos que el que suggereixen les xifres principals. Les futures execucions reclutaran preferentment de països infra-mostrejats per consolidar estimacions per jurisdicció.
Avaluació d’una sola vegada. Cada cas del conjunt s’ha avaluat una sola vegada. Els models de llenguatge gran mostren una variància de sortida no trivial fins i tot amb una temperatura de mostreig baixa, de manera que un protocol de múltiples execucions amb cinc avaluacions per cas i la variància reportada és el següent pas natural — especialment en el subconjunt de casos trampa, on la consistència sota el “jitter” de mostreig forma part de l’afirmació de seguretat.
Abast d’un sol engine. Aquest informe caracteritza un sol motor. Les anàlisis comparatives amb sistemes d’IA alternatius queden fora de l’abast aquí; podem perseguir-les com un estudi independent separat amb la metodologia adequada, utilitzant el mateix banc de proves amb llicència MIT.
Origen de dades d’una sola font. Els 100,000 casos són registres reals de pacients anonimitzats extrets d’un únic repositori clínic (el magatzem de dades clínic SQL amb suport Kantesti). Representen un flux de producció curat i no són una extracció aleatòria representativa de la població a escala global. Ampliar l’avaluació a dades externes multi-centre està en el full de ruta.
Més enllà d’aquestes quatre, l’extensió planificada amb més impacte és la paritat multilingüe per jurisdicció. L’Kantesti AI Engine atén usuaris en 75+ idiomes, i executar sub-conjunts de la Segona Actualització estratificats per idioma (turc, alemany, espanyol, francès, italià, portuguès, àrab, mandarí) quantificarà la qualitat de la sortida a través dels idiomes compatibles del motor. Cada anàlisi estratificada per idioma es publicarà amb el seu propi DOI i branca del banc de proves.