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 la V11 Segona actualització que la va escalar fins a 100.000 casos sintètics extrets d’un conjunt de casos sintètics que abasta 127 etiquetes de països — utilitzant la mateixa rúbrica de puntuació, byte-identica, sense permetre ajustos posteriors (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 sintètics extrets del conjunt de casos sintètics de l’Kantesti i que abasten 127 etiquetes de 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ó del contingut 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 etiqueta van oscil·lar entre 0.9971 i 0.9985 al llarg de les 30 etiquetes de països més representades. La cua llarga de 97 etiquetes addicionals (≈7.300 casos en total) no va mostrar cap degradació sistemàtica. Les etiquetes més freqüents segons el 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 en 127 etiquetes de 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 dedicats de trampa d’hiperdiagnosi, amb cada cas un panell de proves de sang generat sintèticament. La V11 Segona actualització amplia l’avaluació a 100.000 casos sintètics en 127 etiquetes de 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.
Com que tots els casos es generen sintèticament, no hi ha identificadors reals per eliminar i no hi ha dades personals implicades. Cada cas sintètic inclou un codi de cas intern del benchmark (BT-NNN-LABEL en el conjunt inicial de la V11, un case_uid a la Segona actualització). No apareixen dades personals enlloc del banc publicat, l’informe tècnic o els conjunts de dades publicats.
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).
V11 Segona actualització — 100.000 casos sintètics en 127 etiquetes de països
La Segona actualització substitueix el literal de Python de 15 casos codificat durament de l’original V11 per un conjunt de casos sintètics més gran generat programàticament. El conjunt de casos es carrega a l’inici de cada execució i la configuració es registra per transparència. La distribució de la cohort per àrea de contingut es mostra a continuació.
Distribució sintètica d’etiquetes de països — top 10 etiquetes
Els 100.000 casos sintètics inclouen 127 etiquetes de països (ISO 3166-1 alpha-2) per exercitar el maneig de la configuració regional (locale). Assignació d’etiquetes: Europa 57.7%, les Amèriques 25.4%, Àsia-Pacífic 6.2%, etiquetes anomenades de l’Orient Mitjà/Àfrica 3.4%, i una cua llarga de 97 etiquetes addicionals aproximadament 7.3% en total. Les deu etiquetes més freqüents segons el nombre de casos 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). Les puntuacions compostes per etiqueta van oscil·lar entre 0.9971 i 0.9985. Aquestes quantitats d’etiquetes són propietats dels casos generats utilitzats per exercitar el maneig de la configuració regional — no són usuaris reals i no representen cobertura geogràfica del món real.
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 casos 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 desglossades per especialitat i per etiqueta de país es publiquen a l’informe tècnic i al dipòsit de Figshare. Es publica 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 sota aquesta rúbrica pre-registrada en particular, en una cohort sintètica de 100.000 casos que abasta 127 etiquetes de països, representa un rendiment gairebé al sostre — però mereix una contextualització acurada. El resultat descriu el comportament de l’engine en relació amb la rúbrica a la qual ens vam comprometre al codi font a la V11; no és una afirmació universal sobre la correcció de l’engine en cada panell de proves de sang que existeix al món real.
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/etiqueta i per especialitat, un agregat JSON, una mostra estratificada-aleatòria de respostes en brut 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 per a 127 etiquetes de país, quatre limitacions mereixen una acceptació explícita: infra-mostreig de les etiquetes de cua llarga, avaluació d’una sola vegada, abast d’un sol motor i origen de dades d’una sola font. Totes s’estan abordant en treballs de seguiment actius.
Cobertura d’etiquetes de cua llarga. La Segona Actualització abasta 127 etiquetes de país, però la distribució és desequilibrada — les 10 etiquetes principals representen aproximadament el 66,4% dels casos, i la cua llarga de 97 etiquetes addicionals aporta conjuntament aproximadament el 7,3% (aproximadament 7.300 casos en total, ~75 casos per etiqueta de mitjana). Per tant, els composites per etiqueta en aquesta cua llarga són més sorollosos del que suggereixen les xifres destacades. Les futures execucions reequilibraran l’assignació d’etiquetes per consolidar les estimacions per etiqueta.
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.
Dades sintètiques. Els 100.000 casos es generen sintèticament, no són “casos sintètics” en el sentit de dades reals; els resultats no es transfereixen al rendiment clínic en el món real. L’avaluació amb dades reals, amb consentiment i d’origen extern requeriria una supervisió ètica adequada i queda fora de l’abast d’aquest banc de proves sintètic.
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.