Prečo tento benchmark existuje a čo testuje
AI asistovaná interpretácia výsledkov krvných testov sa čoraz viac používa v spotrebiteľských aj klinických pracovných postupoch, no reprodukovateľné hodnotiace rámce prispôsobené laboratórnej medicíne zostávajú nezvyčajné. Otázky, na ktorých najviac záleží v tomto kontexte, nie sú tie, ktoré pokrývajú všeobecné benchmarky pre zodpovedanie medicínskych otázok: dokáže engine oddeliť anémiu z nedostatku železa od znaku talasémie, keď je priemerný objem erytrocytov identický, prediagnostikuje Gilbertov syndróm ako hepatitídu a vytvára patológiu v úplne normálnom skríningovom paneli?
Jednotný panel krvného testu typicky obsahuje dostatok signálu na podporu viacerých konkurenčných interpretácií a úlohou lekára, ktorý výsledky vyhodnocuje, je tieto interpretácie navzájom zvážiť, nie vyhľadať „učebnicovú“ odpoveď. Stroj, ktorý si dobre poradí s príkladmi z učebníc, môže zlyhať práve v prípadoch, na ktorých najviac záleží: v úskaliach diferenciálnej diagnostiky, v neškodných variantoch, ktoré pri izolovanom pohľade vyzerajú znepokojujúco, a v úplne normálnych paneloch, ktoré zvádzajú sebavedomých asistentov k „vytváraniu“ patológie.
Tento benchmark bol postavený presne na týchto režimoch zlyhania. Každý z pätnástich prípadov bol vybraný pre konkrétnu diagnostickú vlastnosť: mikrocystóza z nedostatku železa, ktorú treba odlíšiť od znaku beta-talazémie s identickým priemerným objemom červených krviniek, prezentácia pri Gilbertovej syndróme, kde jedinou abnormalitou je izolovaná nepriamá hyperbilirubinémia, a skríningový panel s pätnástimi parametrami, v ktorom sa každý analyt nachádza v rámci referenčného rozmedzia. Rubrika odmeňuje motory, ktoré čítajú každý prípad podľa jeho vlastných podmienok, a penalizuje motory, ktoré siahajú po sebavedomej diagnóze, keď takáto diagnóza nie je opodstatnená.
Ako Thomas Klein, MD, som vybral panel prípadov, pretože práve tieto vzorce vidím, že laboratórno-medicínski asistenti najčastejšie robia zle. Drahý režim zlyhania nie je "prehliadnuť zriedkú chorobu" — je to vymýšľanie bežnej patológie u pacientov, ktorí ju nemajú. Naše Lekárske overenie hub opisuje širší rámec; táto stránka opisuje jeho uplatnený výsledok na motore V11.
Najnovšie referenčné spustenie — V11 (apríl 2026)
Aprílové referenčné spustenie Kantesti AI Engine V11 vyprodukovalo kompozitné skóre 99.12% v predregistrovanej rubrike s pätnástimi prípadmi. Oba prípady „hyperdiagnostického“ omylu dosiahli strop. Mentzerov index bol v diferenciácii nedostatok železa vs. talasémia použitý správne.
Kompozitný vzorec kombinuje tri zložky: štrukturálna zhoda so siedmimi povinnými sekciami správy a šestnástimi povinnými podsekciami, klinická presnosť meraná ako spätné vyvolanie kľúčových slov plus spätné vyvolanie v rámci bodovacieho systému plus kontrola platnosti pravdepodobnostno-distribučnej validity a latencia odpovede voči primárnemu cieľu služby 20 sekúnd. Presné rozdelenie je uvedené vo vzorci rubriky nižšie.
Zvyšných 0,88 percentuálneho bodu voľnej kapacity sa takmer celé rozkladá na stratu v dôsledku latencie — tri záložné volania Phase 2, pričom každé prispelo približne 0,60 z 0,88-bodového deficitu — nie do klinického obsahu. Stroj nezlyhal pri správnej diagnóze v žiadnom z pätnástich prípadov; kde sa mu to nepodarilo, bolo to tým, že v malej menšine volaní trvalo o niečo dlhšie než primárny cieľ 20 sekúnd.
Pätnásť prípadov naprieč siedmimi medicínskymi špecializáciami
Panel prípadov pokrýva sedem špecializácií — hematológiu, endokrinológiu, metabolickú medicínu, hepatológiu, nefrológiu, kardiológiu, reumatológiu — plus dva vyhradené prípady „hyperdiagnosis trap“. Každý prípad je anonymizovaný reálny záznam pacienta, ktorý pochádza z klinického repozitára Kantesti na základe písomného informovaného súhlasu.
De-identifikácia bola vykonaná podľa prístupu Safe Harbor: všetky priame identifikátory boli odstránené alebo nahradené a každému záznamu bol priradený interný kód prípadu v benchmarkovom formáte BT-NNN-LABEL. Spracovanie prebiehalo v súlade s GDPR článkom 9(2)(j) pre vedecký výskum s primeranými ochrannými opatreniami a s ekvivalentnými ustanoveniami UK GDPR. Žiadne osobne identifikovateľné informácie sa nikde v publikovanom „harnesse“, technickej správe ani v uvoľnených dátových súboroch nevyskytujú.
Prečo je toto konkrétne rozdelenie
Hematológia dostane tri prípady, pretože mikrocytárne diferenciály a makrocytárne diferenciály sú v reálnej laboratórnej praxi najobjemnejšie „pasce“. Endokrinológia dostane tri, pretože prezentácie pri Hashimotovej chorobe, PCOS a nedostatku vitamínu D majú odlišné diagnostické „tvary“ (riadené autoprotilátkami, riadené pomermi hormónov, riadené jedným markerom). Špecializácie s jedným prípadom sú však stále významné, pretože každý z CKD, rizika ASCVD a SLE má vlastný bodovací systém, ktorý by mal engine vyvolať (staging KDIGO, 10-ročné riziko ASCVD, kritériá SLE 2019 EULAR/ACR, resp.).
Vysvetlená vopred registrovaná rubrika
Predregistrácia je jediná najdôležitejšia metodologická voľba v tomto benchmarku. Každá očakávaná diagnóza, každý klinický bodovací systém a každá sekcia reportu boli zaviazané do zdrojového kódu ešte predtým, než bol engine vyvolaný. Dodatočné (post-hoc) doladenie rubriky tak, aby lichotila engine, je preto nemožné.
Tri komponenty tvoria kompozitné skóre. Komponent štrukturálny prispieva 35 percentami a meria, či engine vrátil sedem povinných sekcií reportu (hlavička, súhrn, kľúčové zistenia, diferenciál, bodovacie systémy, odporúčania, follow-up) a šestnásť povinných podsekcií v rámci nich. Prítomnosť sekcie má váhu 40 percent a prítomnosť podsekcie má váhu 60 percent v rámci štrukturálneho výpočtu.
Ten/Tá/To klinický komponent prispieva 55 percentami a kombinuje tri veci: vybavenie diagnózy podľa kľúčových slov (70 percent klinického podskóre), vybavenie bodovacieho systému (20 percent — či engine vypočíta Mentzer, FIB-4, HOMA-IR, riziko ASCVD, staging KDIGO, kritériá EULAR/ACR, ak je to relevantné) a kontrolu validity súčtu pravdepodobností (10 percent — diferenciálne pravdepodobnosti by sa mali sčítať v intervale [90, 110]). Pri pascových prípadoch sa odpočíta explicitná hyperdiagnostická penalizácia až 0.30, vypočítaná ako 0.10 za každý vymyslený príznak patológie, s limitom na tri príznaky.
Ten/Tá/To komponent latencie prispieva 10 percentami. Odpoveď do 20 sekúnd získa plných 0.10, odpoveď do 40 sekúnd získa 0.05 a čokoľvek pomalšie získa nulu. Cieľ 20 sekúnd odráža produkčný primárny cieľ úrovne služby; strop 40 sekúnd odráža rozpočet na záložnú možnosť v Fáze 2 pre náročné vyvolania engine.
Čo predregistrácia zabraňuje
Prvostranové benchmarky sú notoricky známe tým, že nafukujú svoje vlastné čísla prostredníctvom post-hoc doladenia rubriky. Vzor je takmer vždy rovnaký: tím spustí engine, uvidí, kde podáva slabší výkon, a potom potichu upraví rubriku tak, aby oblasti s podpriemerným výkonom počítali menej. Tým, že sa rubrika zaviaže do zdrojového kódu ešte pred prvým volaním engine a že sa testovací mechanizmus publikuje pod licenciou MIT, sa táto úprava stane viditeľnou v systéme správy verzií. Každý si môže naklonovať repozitár, skontrolovať dátumy autorstva rubriky a overiť, že výsledky engine neboli použité na formovanie skórovania.
Prípady „hyperdiagnosis trap“ — prečo je skutočným režimom zlyhania prevolanie (over-calling)
Agresívne prevolávanie patológie na normálnych obrazovkách je zdokumentovaný režim zlyhania spotrebiteľsky orientovaných medicínskych asistentov. Jeho následné náklady zahŕňajú zbytočné vyšetrovanie, úzkosť pacienta a iatrogénne vyšetrovacie postupy. Dva pascové prípady v tomto benchmarku sú navrhnuté tak, aby tento režim zlyhania bol viditeľný a hodnotiteľný.
🟡 Pasca 1 — BT-014-GILBERT
Prezentácia. Muž, 24 rokov, s celkovým bilirubínom 2.4 mg/dL. Priama frakcia je normálna, transaminázy a alkalická fosfatáza sú v rámci referenčných hodnôt, retikulocyty sú bez pozoruhodností a haptoglobín a LDH vylučujú hemolýzu.
Správna interpretácia. Gilbertov syndróm — benígna polymorfizmus UGT1A1. Interpretácia by nemala vyvolávať hepatitídu, cirhózu, hemolytickú anémiu ani biliárnu obštrukciu.
Výsledok V11. Kompozitné 1.000. Žiadna z šiestich monitorovaných vlajok pre nadmernú diagnózu sa neobjavila ako aktívna diagnóza.
🟡 Pasca 2 — BT-015-ZDRAVÝ
Prezentácia. Žena, 35 rokov, s pätnásťparametrovým rutinným skríningovým panelom. Každý analyt sa pohodlne nachádza v rámci svojho referenčného rozsahu.
Správna interpretácia. Uistenie a udržiavanie životného štýlu. Interpretácia by nemala umelo vytvárať hraničnú patológiu, aby pôsobila klinicky užitočne.
Výsledok V11. Kompozit 1.000. Žiadna z ôsmich sledovaných vlajok pre nadmernú diagnostiku — diabetes, anémia, hypotyreóza, dyslipidémia, hepatitída, ochorenie obličiek, nedostatok — sa neobjavila ako aktívna diagnóza.
Vo všetkých dvoch pasciach bolo skontrolovaných trinásť sledovaných vlajok pre hyperdiagnostiku. Neaktivovala sa ani jedna. Toto je výsledok, na ktorom najviac záleží pre každého klinika, ktorý uvažuje o použití AI ako triážneho alebo predkonzultačného nástroja: systém nevymyslel ochorenie, ak žiadne neexistovalo.
Mentzerov index: odlíšenie nedostatku železa od znaku talasémie
Druhým vysoko hodnotným zistením je prepojenie prípadu BT-001 (anémia z nedostatku železa) s prípadom BT-007 (beta-talazémia minor). Oba sa prejavujú mikrocytózou a ide o dobre známu prekážku pre naivné klasifikátory. Mentzerov index, vypočítaný ako MCV delené počtom RBC, je v prípade nedostatku železa vyšší než 13 a v prípade znaku talazémie nižší než 13.
V BT-001 bola pacientka 34-ročná žena s hemoglobínom 10,4 g/dl, MCV 72,4 fl, RBC 4,1 × 10¹²/l, feritínom 6 ng/ml a zvýšeným TIBC. Mentzerov index približne 17,7 podporuje absolútny nedostatok železa. V BT-007 bol pacient 28-ročný muž s mikrocytózou (MCV 65,8 fl), ale s vysokým počtom RBC 6,2, normálnym RDW, normálnym feritínom a HbA2 5,6 percenta. Mentzerov index približne 10,6 poukazuje na znak talazémie a zvýšený HbA2 potvrdzuje beta-talazémiu minor.
Oba prípady dosiahli skóre 1.000. Stroj použil Mentzerov index explicitne v oboch interpretáciách a v každom prípade vrátil správnu diagnózu. Toto je jediný výsledok, ktorý je v celej benchmarkovej zostave najviac klinicky upokojujúci, pretože nesprávna klasifikácia znaku talazémie ako anémie z nedostatku železa vedie k nevhodnému podávaniu železa a k prehliadnutiu možností skríningu v rodine, a nesprávna klasifikácia anémie z nedostatku železa ako talazémie oneskoruje jednoduchú náhradnú liečbu. Naše usmernenie pre rozmedzie feritínu vysvetľuje širší diferenciálny kontext.
Výsledky pre jednotlivé prípady z aprílového behu 2026
Dvanásť z pätnástich prípadov dosiahlo stropné kompozitné skóre 1.000 v primárnej ceste. Tri prípady boli obslúžené ako záloha v Phase 2, pričom sa stratil bonus za latenciu 0,05, no zachoval sa celý klinický a štrukturálny obsah. V jednom prípade chýbala jedna jediná povinná podsekcia; v jednom prípade sa vrátilo len mierne znížené súčtové skóre pravdepodobnostného rozdelenia.
Prípad PCOS (BT-008) stratil jednu povinnú podsekciu v štruktúre odpovede — pätnásť zo šestnástich namiesto šestnástich zo šestnástich — čo znížilo štrukturálne skóre z 1,000 na 0,963. Prípad SLE (BT-011) vrátil len mierne znížený súčet pravdepodobnostných distribúcií, ktorý znížil klinické skóre na 0,965, pričom zachoval každý diagnostický kľúčový výraz a systém bodovania. Ani jeden z týchto nie úplne dokonalých prípadov nezmeškal správnu diagnózu.
Čo nám nehovorí titulné skóre
Kompozitné skóre 99,12 percenta podľa tejto konkrétnej vopred registrovanej rubriky predstavuje výkon takmer na úrovni stropu, no zaslúži si starostlivé uvedenie do kontextu. Výsledok opisuje správanie motora oproti pätnástim starostlivo vybraným anonymizovaným prípadom, hodnoteným raz každý, podľa jednej rubriky. Výslovne uvádzame, čo číslo dokazuje a čo nie.
Skóre hovorí, že motor V11 spracoval diagnostické vzorce vybrané pre toto hodnotenie správne, na metodológii, ktorá je publikovaná a reprodukovateľná. Nehovorí, že motor je správny pri každom paneli krvných testov, ktorý existuje v praxi. Nehovorí, že by sa motor mal nahradiť úsudok klinika. A nehovorí, že motor prekonáva alternatívne systémy AI — porovnávacie analýzy s inými motormi boli z tohto reportu zámerne mimo rozsahu.
To, čo skóre skutočne dokazuje, je východisková hodnota. Keďže rubrika a testovací rámec sú verejné, budúce verzie motora sa dajú hodnotiť oproti tým istým pätnástim prípadom a rozdiel medzi publikovaným skóre a akýmkoľvek následným spustením je sám o sebe merateľný. Toto je hodnota predregistrácie: prevádza tvrdenia o výkone na testovateľné tvrdenia.
Ako zopakovať tento benchmark za 10 minút
Reprodukcia vyžaduje iba dvojicu poverení Kantesti API a prostredie Python 3.10 alebo novšie s requests a reportlab nainštalovanými knižnicami. Celý testovací rámec je jeden samostatný modul v Pythone vydaný pod licenciou MIT.
Štyri kroky pre nové spustenie
Jeden. Naklonujte repozitár: git clone https://github.com/emirhanai/kantesti-blood-test-benchmark.git. Dva. Nainštalujte závislosti pomocou pip install -r requirements.txt. Tri. Nastavte KANTESTI_USERNAME a KANTESTI_PASSWORD ako premenné prostredia — prihlasovacie údaje sa načítavajú za behu a v skripte nie sú nič natvrdo zakódované. Štyri. Spustite python benchmark_bloodtest.py a skontrolujte štyri artefakty, ktoré sa vytvoria v pracovnom adresári: CSV scorecard, JSON scorecard, kompletný JSON dump vrátane surových odpovedí enginu a ľudsky čitateľnú Markdown správu.
Referenčné spustenie z 23. apríla 2026 je uložené v results/ adresári repozitára. Nové spustenie vygeneruje nový časovo označený scorecard, pričom referenčné spustenie zostane nedotknuté. Ak vaše spustenie prinesie zmysluplne odlišný výsledok, prosím otvorte GitHub issue s časovou značkou spustenia a verziou enginu uvedenou v metadátach odpovede.
Obmedzenia a ďalšia práca
Štyri obmedzenia si zaslúžia výslovné uznanie: veľkosť vzorky, jednorazové vyhodnotenie, rozsah jedného enginu a pôvod dát z jedného zdroja. Každé z nich sa rieši v prebiehajúcej následnej práci.
Veľkosť vzorky. Pätnásť prípadov naprieč ôsmimi špecializovanými kategóriami je dostatočné na dôkaz konceptu, ale nie na analýzu podskupín v rámci špecializácie. Plánuje sa rozšírenie na päťdesiat prípadov, ktoré bude zahŕňať koagulačné panely, skríning hematologických malignít, tehotenské panely a pediatrické prezentácie.
Jednorazové vyhodnotenie. Každý prípad bol vyhodnotený raz. Veľké jazykové modely vykazujú nezanedbateľnú variabilitu výstupu aj pri nízkej teplote vzorkovania, takže prirodzeným ďalším krokom je protokol s viacerými behmi: päť vyhodnotení na prípad a uvedená variabilita.
Rozsah jedného enginu. Táto správa charakterizuje jeden engine. Porovnávacie analýzy s alternatívnymi systémami AI sú mimo rozsahu; prípadne ich môžeme realizovať ako samostatnú nezávislú štúdiu s vhodnou metodikou.
Pôvod dát z jedného zdroja. Pätnásť prípadov sú anonymizované reálne záznamy pacientov čerpané z jedného klinického repozitára. Predstavujú kurátorovanú vzorku a nejde o náhodný výber reprezentujúci populáciu. Rozšírenie hodnotenia na dáta z viacerých centier je v pláne.
Najvýznamnejšie plánované rozšírenie je viacjazyčná parita. AI Engine Kantesti slúži používateľom v 75+ jazykoch a spustenie rovnakého harnessu s pätnástimi prípadmi v turečtine, nemčine, španielčine, francúzštine a arabčine kvantifikuje kvalitu výstupu naprieč jazykmi, ktoré engine podporuje. Každé spustenie pre konkrétny jazyk zverejníme s vlastným DOI a vetvou harnessu.