Зашто овај бенчмарк постоји и шта тестира
AI-potpomognuto tuмачење крвне слике se sve češće koristi u potrošačkim i kliničkim tokovima rada, ali okviri za proveru koji se mogu ponoviti i prilagođeni laboratorijskoj medicini ostaju neuobičajeni. Pitanja koja su najvažnija u ovom kontekstu nisu ona obuhvaćena opštim benchmarkovima za medicinska pitanja i odgovore: može li motor da razdvoji anemiju zbog nedostatka gvožđa od osobine talasemije kada je srednji volumen eritrocita identičan, da li prekomerno dijagnostikuje Gilbertovu bolest kao hepatitis i da li „izmišlja” patologiju u potpuno normalnom skrining panelu?
Један панел крвних анализа обично садржи довољно сигнала да подржи више конкурентских тумачења, а посао лекара који тумачи резултате је да та тумачења одмери једно према другима, а не да пронађе „тачан одговор“ из уџбеника. Мотор који се добро показује на примерима из уџбеника може ипак да падне на случајеве који су најважнији: замке у диференцијалној дијагнози, бенигне варијанте које изгледају алармантно када се посматрају изоловано и потпуно нормалне панеле који наводе самоуверене асистенте да „израде“ патологију.
Овај бенчмарк је направљен управо око тих начина неуспеха. Сваки од петнаест случајева изабран је због одређене дијагностичке особине: микоцитоза услед недостатка гвожђа која мора да се разликује од особине бета-таласемије са идентичним средњим корпускуларним волуменом, приказ који одговара Гилбертовом синдрому где је једина абнормалност изолована индиректна хипербилирубинемија и панел за скрининг са петнаест параметара у коме је сваки аналит унутар свог референтног опсега. Рубрика награђује моторе који читају сваки случај у његовим сопственим околностима, а кажњава моторе који посежу за самоувереном дијагнозом када таква дијагноза није оправдана.
Као Томас Клајн, др мед., изабрао сам овај панел случајева јер су то обрасци које асистенти у лабораторијској медицини најчешће погрешно разумеју. Скуп начин неуспеха није "пропустити ретку болест" — већ измишљати рутинску патологију код пацијената који је немају. Наше Медицинска валидација hub opisuje širi okvir; ova stranica opisuje početni dokaz koncepta V11 i V11 Drugo ažuriranje koje ga je skaliralo na 100.000 sintetičkih slučajeva izvedenih iz sintetičkog skupa slučajeva koji obuhvata 127 oznaka zemalja — koristeći istu rubriku bodovanja, byte-identično, bez dozvoljenog naknadnog podešavanja (post-hoc).
Најновије референтно извршавање — V11 Друго ажурирање (26. април 2026)
Референтно извршавање V11 Другог ажурирања од 26. априла 2026. произвело је композитни резултат од 99.80% на истој унапред регистрованој рубрици која је коришћена у почетном издању V11, процењено на 100.000 sintetičkih slučajeva izvedenih iz Kantesti sintetičkog skupa slučajeva i obuhvatajući 127 oznaka zemalja и 75+ језике. Сваки случај је завршен на примарном путу мотора; активације заставице хипердијагностичке замке остале су на 0 / 87,412. Оригинално V11 извршавање од 23. априла 2026. обухватило је 15 ручно одабраних случајева (композит 99.12%) и верификовало рубрику; Друго ажурирање задржава ту рубрику идентичну по бајтовима и проширује евалуацију на кохорту размера популације.
Композитна формула комбинује три компоненте: структурна усклађеност са седам обавезних секција извештаја и шеснаест обавезних подсеција, tačnost sadržaja мерена као присећање кључних речи плус присећање система бодовања плус провера валидности вероватносне расподеле, и кашњење одговора у односу на циљ услужног нивоа на примарном путу. Тачна декомпозиција је приказана у формули рубрике испод — ниједна од ових тежина или под-рубрика није мењана за Друго ажурирање.
Преосталих 0.20 процентних поена слободног простора се готово у целости разлаже на клинички под-скор — мали део случајева (пре свега у Хепатологији и Реуматологији) имао је једну очекивану кључну реч система бодовања одсутну у тумачењу мотора, иако је дијагностички садржај био исправан. Ниједан случај у кохорти од 100.000 случајева Другог ажурирања није промашио саму дијагнозу. Латенција је побољшана са просека од 20.17 s у почетном издању V11 на 13.26 s у Другом ажурирању, што одражава оптимизације производног мотора између два извршавања; рубрика, код за бодовање и API крајња тачка су непромењени.
Kompozitni rezultati po oznaci kretali su se od 0.9971 do 0.9985 među 30 najzastupljenijih oznaka zemalja. Dugačak rep od 97 dodatnih oznaka (≈7.300 slučajeva ukupno) nije pokazao sistematsko pogoršanje. Najčešće oznake po broju slučajeva bile su Sjedinjene Američke Države (10.500), Brazil (9.500), Španija (9.000), Italija (8.000), Nemačka (7.800), Francuska (7.400), Portugal (5.800), Türkiye (3.400), Ujedinjeno Kraljevstvo (2.900) i Meksiko (2.500).
Od 15 slučajeva do 100.000: evolucija kohorte kroz 127 oznaka zemalja
Originalni V11 panel slučajeva obuhvatao je sedam specijalnosti — hematologiju, endokrinologiju, metaboličku medicinu, hepatologiju, nefrologiju, kardiologiju, reumatologiju — plus dva posvećena slučaja „hyperdiagnosis trap“, pri čemu je svaki slučaj sintetički generisan panel krvnih testova. V11 Drugo ažuriranje proširuje evaluaciju na 100.000 sintetičkih slučajeva kroz 127 oznaka zemalja, распоређених у осам специјалности (оригиналних седам плус посебна интерна-медицинска група која апсорбује подскуп замке). Иста рубрика бодовања се примењује идентично по бајтовима у оба извршавања.
Pošto su svi slučajevi sintetički generisani, ne postoje stvarni identifikatori za uklanjanje i ne uključuju se lični podaci. Svaki sintetički slučaj nosi internu šifru slučaja za merilo (BT-NNN-LABEL u početnom skupu V11, stabilna case_uid u Drugom ažuriranju). Niti jedan lični podatak se ne pojavljuje nigde u objavljenom harness-u, tehničkom izveštaju ili objavljenim skupovima podataka.
почетним издањем V11 — 15 ручно одабраних случајева
Оригинални V11 панел случајева ручно је одабрао др Томас Клајн како би се обухватили дијагностички обрасци које лабораторијски асистенти у медицини најчешће погрешно тумаче. Сваки од петнаест случајева изабран је на основу одређеног дијагностичког својства, наведеног у наставку.
Зашто је баш ова расподела
Хематологија добија три случаја јер су микоцитне диференцијале и макроцитне диференцијале највеће „замке“ по обиму у реалној лабораторијској пракси. Ендокринологија добија три јер се клиничке презентације Хашимотове болести, PCOS-а и недостатка витамина Д разликују по дијагностичким „облицима“ (вођеним аутоантителима, вођеним односима хормона, вођеним једним маркером). Специјалности са једним случајем и даље су значајне јер сваки од CKD-а, ризика за ASCVD и SLE има свој систем бодовања који мотор треба да позове (KDIGO стадирање, ASCVD ризик на 10 година, и критеријуме за SLE из 2019 EULAR/ACR, респективно).
V11 Drugo ažuriranje — 100.000 sintetičkih slučajeva kroz 127 oznaka zemalja
Drugo ažuriranje zamenjuje originalni V11 hardkodirani Python literal od 15 slučajeva većim, programski generisanim skupom sintetičkih slučajeva. Skup slučajeva učitava se na početku svakog pokretanja, a konfiguracija se beleži radi transparentnosti. Raspodela kohorte po oblasti sadržaja prikazana je ispod.
Sintetička raspodela oznaka zemalja — top 10 oznaka
100.000 sintetičkih slučajeva nosi 127 oznaka zemalja (ISO 3166-1 alpha-2) kako bi se ispitalo rukovanje lokalitetom. dodela oznaka: Evropa 57.7%, Amerike 25.4%, Azija-Pacifik 6.2%, imenovane oznake Bliski istok/Afrika 3.4% i dugačak rep od 97 dodatnih oznaka približno 7.3% ukupno. Deset najčešćih oznaka po broju slučajeva bile su Sjedinjene Američke Države (10.500), Brazil (9.500), Španija (9.000), Italija (8.000), Nemačka (7.800), Francuska (7.400), Portugal (5.800), Türkiye (3.400), Ujedinjeno Kraljevstvo (2.900) i Meksiko (2.500). Kompozitni rezultati po oznaci kretali su se od 0.9971 do 0.9985. Ovi brojevi oznaka su svojstva generisanih slučajeva korišćenih za ispitivanje rukovanja lokalitetom — nisu stvarni korisnici i nisu stvarno geografsko pokrivanje.
Унапред регистрована рубрика, објашњена
Предрегистрација је један најважнијих методолошких избора у овом бенчмарку. Свака очекивана дијагноза, сваки клинички систем бодовања и сваки одељак извештаја били су унапред посвећени изворном коду пре него што је мотор позван. Дакле, накнадно „подешавање“ рубрике да би се улепшала учинка мотора није могуће.
Три компоненте чине композитни резултат. структурна компонента доприноси 35 процената и мери да ли је мотор вратио седам обавезних одељака извештаја (заглавље, сажетак, кључни налази, диференцијал, системи бодовања, препоруке, праћење) и шеснаест обавезних пододељака унутар њих. Присуство одељка носи 40 процената, а присуство пододељка 60 процената унутар структурног израчуна.
Тхе клиничка компонента доприноси 55 процената и комбинује три ствари: присећање дијагнозе по кључним речима (70 процената клиничког подрезултата), присећање система бодовања (20 процената — да ли мотор израчунава Mentzer, FIB-4, HOMA-IR, ASCVD ризик, KDIGO стадирање, EULAR/ACR критеријуме где је релевантно) и проверу валидности збира вероватноћа (10 процената — диференцијалне вероватноће треба да се саберу унутар интервала [90, 110]). За „trap“ случајеве, експлицитна казна за хипердијагнозу до 0,30 се одузима, рачуна се као 0,10 по измишљеној заставици патологије, уз ограничење на три заставице.
Тхе компонента латенције доприноси 10 процената. Одговор испод 20 секунди добија пуних 0,10, одговор испод 40 секунди добија 0,05, а све што је спорије добија нула. Циљ од 20 секунди одражава производни примарни циљ услуге за пат сервис; плафон од 40 секунди одражава буџет за „fallback“ у Фази 2 за тешке позиве мотора.
Шта предрегистрација спречава
Први-страна бенчмаркови су познати по надувавању сопствених резултата кроз накнадно подешавање рубрике. Образац је скоро увек исти: тим покрене мотор, види где недовољно постиже, а затим тихо прилагоди рубрику тако да области које недовољно постижу мање „рачунају“. Када се рубрика посвети изворном коду пре првог позива мотора и када се хернес објави под MIT лиценцом, тај прилагођај постаје видљив у контролу верзија. Свако може да клонира репозиторијум, провери датуме ауторства рубрике и верификује да резултати мотора нису коришћени да би се обликовало бодовање.
Случајеви „замке хипердијагнозе“ — зашто је прекомерно пријављивање стварни режим неуспеха
Агресивно „прозивање“ патологије на нормалним екранима је документован начин неуспеха код медицинских асистената за потрошаче. Његови последични трошкови укључују непотребну истрагу, анксиозност пацијента и јатрогени обрађивачки поступак. Два „trap“ случаја у овом бенчмарку су дизајнирана да учине тај начин неуспеха видљивим и мерљивим.
🟡 Trap 1 — BT-014-GILBERT
Презентација. Мушкарац од 24 године са укупним билирубином од 2,4 mg/dL. Директна фракција је нормална, трансаминазе и алкална фосфатаза су унутар својих референтних опсега, ретикулоцити су без особености, а хаптоглобин и LDH искључују хемолизу.
Тачно тумачење. Гилбертов синдром — бенигна полиморфизам UGT1A1. Тумачење не треба да позива хепатитис, цирозу, хемолитичку анемију или билијарну опструкцију.
V11 резултат. Композитни 1,000. Ниједна од шест праћених заставица прекомерне дијагнозе није се појавила као активна дијагноза.
🟡 Trap 2 — BT-015-HEALTHY
Презентација. Жена од 35 година са рутинским скрининг панелом са петнаест параметара. Сваки аналит се удобно налази унутар свог референтног опсега.
Тачно тумачење. Утеха и одржавање начина живота. Тумачење не би требало да „измишља“ граничну патологију како би звучало клинички корисно.
V11 резултат. Композит 1.000. Ниједна од седам надгледаних заставица за прекомерно постављање дијагнозе — дијабетес, анемија, хипотиреоидизам, дислипидемија, хепатитис, болест бубрега, недостатак — није се појавила као активна дијагноза.
На оба „теста“ проверено је тринаест надгледаних заставица за хипердијагнозу. Ниједна није активирана. Ово је резултат који је најважнији за сваког клиничара који разматра коришћење AI мотора као алата за тријажу или пре-консултације: систем није „измислио“ болест тамо где је није било.
Ментцеров индекс: раздвајање недостатка гвожђа од особина таласемије
Друго вредно откриће односи се на повезивање случаја BT-001 (анемија због недостатка гвожђа) са случајем BT-007 (бета-таласемија, минор). Оба се јављају са микроцитозом и добро су позната препрека за наивне класификаторе. Ментцеров индекс, израчунат као MCV подељен бројем RBC, прелази 13 код недостатка гвожђа и пада испод 13 код особина таласемије.
У BT-001, пацијенткиња је имала 34 године, хемоглобин 10,4 g/dL, MCV 72,4 fL, RBC 4,1 × 10¹²/L, феритин 6 ng/mL и повишен TIBC. Ментцеров индекс од приближно 17,7 подржава апсолутни недостатак гвожђа. У BT-007, пацијент је имао 28 година, микроцитозу (MCV 65,8 fL), али висок број RBC од 6,2, нормалан RDW, нормалан феритин и HbA2 од 5,6 процената. Ментцеров индекс од приближно 10,6 указује на особине таласемије, а повишен HbA2 потврђује бета-таласемију, минор.
Обa случаја су постигла 1.000. Мотор је експлицитно позвао Ментцеров индекс у оба тумачења и вратио тачну дијагнозу у сваком случају. Ово је један највише клинички умирујући резултат у целом бенчмарку, јер погрешно класификовање особина таласемије као недостатка гвожђа доводи до неадекватног суплементирања гвожђем и пропуштених прилика за породични скрининг, а погрешно класификовање недостатка гвожђа као таласемије одлаже једноставну заменску терапију. Наш водич за опсег феритина објашњава шири диференцијални контекст.
Резултати по случају из V11 почетног референтног извођења (23. април 2026)
Оригинално V11 референтно извођење на кохорти proof-of-concept од 15 случајева служи као методолошка основа за Second Update: сваки детаљ по случају испод показује како рубрика обрађује стварни одговор мотора. Дванаест од петнаест случајева постигло је горњу границу композитног резултата од 1.000 на примарном путу; три случаја су послужена преко Phase 2 fallback-а, изгубивши бонус за латенцију од 0.05 уз очување свих клиничких и структурних садржаја. Један случај је недостајао у једној обавезној под-секцији; један је вратио маргинално смањен збир вероватносних расподела.
Случај PCOS-а (BT-008) изгубио је једну обавезну подсекцију у структури одговора — петнаест од шеснаест уместо шеснаест од шеснаест — што је смањило структурни резултат са 1,000 на 0,963. Случај SLE-а (BT-011) вратио је маргинално смањен збир вероватноћа-дистрибуције који је спустио клинички резултат на 0,965 уз очување сваке дијагностичке кључне речи и система бодовања. Ниједан од два случаја који нису били савршени није пропустио тачну дијагнозу.
Агрегат V11 Second Update — 100,000 случајева
Na nivou populacije, pojedinačni redovi slučajeva nisu čitljivi za ljude, pa Drugo ažuriranje izveštava o agregiranim metrikama umesto o tabeli sa 100.000 redova. Glavni agregat prikazan je ispod; razrade po specijalnosti i po oznaci zemlje objavljene su u tehničkom izveštaju i u Figshare depozitu. Stratifikovan slučajni uzorak od n = 201 сирових одговора мотора (детерминистички seed 20260426) објављује се у GitHub results/ директоријуму за преглед.
Šta nam ne govori naslovni rezultat
Kompozitni rezultat od 99.80 procenata prema ovoj konkretnoj unapred registrovanoj rubriki, na sintetičkoj kohorti od 100.000 slučajeva koja obuhvata 127 oznaka zemalja, predstavlja performanse gotovo do plafona — ali zaslužuje pažljivo uokviravanje. Rezultat opisuje ponašanje motora u odnosu na rubriku koju smo obavezali u izvornom kodu u V11; to nije univerzalna tvrdnja o ispravnosti motora na svakom panelu krvnih testova koji postoji u stvarnom svetu.
Резултат каже да је мотор исправно обрадио дијагностичке обрасце изабране за ово вредновање на кохорти на нивоу популације, по методологији која је објављена и може да се понови. То не каже да је мотор исправан на свакој плочи крвне слике која постоји у „дивљини“. Не каже ни да мотор треба да замени клиничку процену. И не каже да мотор надмашује алтернативне системе вештачке интелигенције — компаративне анализе у односу на друге моторе намерно су изван обухвата овог извештаја.
Оно што резултат заиста утврђује јесте основа. Пошто су рубрика и „harness“ јавни, будуће верзије мотора могу се вредновати према истој рубрици — примењено на почетних 15 случајева у V11, кохорту од 100.000 случајева у Другом ажурирању, или било каквом каснијем проширењу — а разлика између објављеног резултата и било ког каснијег извршавања сама по себи је мерљива. То је вредност унапред регистрације: претвара тврдње о перформансама у проверљиве тврдње.
Kako da ponovite ovaj benchmark za 10 minuta
Репродукција захтева само пар Kantesti API акредитива и окружење са Python 3.10 или новијим, са requests и reportlab инсталираним библиотекама. Комплетан оквир је један самосталан Python модул објављен под MIT лиценцом.
Четири корака за ново извршавање
Један. Клонирај репозиторијум: git clone https://github.com/emirhanai/kantesti-blood-test-benchmark.git. Два. Инсталирајте зависности помоћу pip install -r requirements.txt (Друго ажурирање додаје mysql-connector-python ≥ 8.0 за SQL „case loader“). Три. Подесите KANTESTI_USERNAME и KANTESTI_PASSWORD као променљиве окружења за API мотора. За SQL „case loader“ у Другом ажурирању, такође подесите KANTESTI_DB_HOST, KANTESTI_DB_PORT, KANTESTI_DB_NAME, KANTESTI_DB_USER, и KANTESTI_DB_PASSWORD — учитач се повезује преко улоге само за читање (bench_reader) која нема привилегије за идентификовање табела. Четири. Покрените python benchmark_bloodtest.py --limit 100000 за комплетно извршавање Second-Update, или python benchmark_bloodtest.py --limit 1000 за брзу итерацију. Резултати се чувају у ./benchmark_results/: CSV scorecard sa kolonama po zemlji-oznaci i po specijalnosti, JSON agregat, stratifikovano-slučajni uzorak sirovih odgovora i Markdown izveštaj.
Референтна извршавања из 23. априла 2026. (V11 почетно, 15 случајева) и 26. априла 2026. (V11 Second Update, 100,000 случајева) су сачувана у results/ директоријуму репозиторијума. Свеже извршавање ће генерисати нову скор-картицу са новим временским жигом, док ће референтна извршавања остати нетакнута. Ако ваше извршавање даје значајно другачији резултат, молимо отворите GitHub issue са временским жигом извршавања и верзијом мотора враћеном у метаподацима одговора.
Ograničenja i budući rad
Čak i pri 100.000 slučajeva kroz 127 oznaka za zemlje, četiri ograničenja zaslužuju eksplicitno priznavanje: nedovoljno uzorkovanje oznaka dugog repa, evaluacija „jedanput“, obim ograničen na jedan engine i poreklo podataka iz jednog izvora. Svako od ovih se rešava u aktivnim naknadnim radovima.
Pokrivenost oznaka dugog repa. Drugo ažuriranje obuhvata 127 oznaka za zemlje, ali raspodela je neuravnotežena — top 10 oznaka čini ≈66.4% slučajeva, a dugi rep od 97 dodatnih oznaka zajedno doprinosi ≈7.3% (otprilike 7.300 slučajeva ukupno, ~75 slučajeva po oznaci u proseku). Stoga su kompoziti po oznaci u ovom dugom repu bučniji nego što sugerišu brojke sa naslovnih strana. Budući nalozi će ponovo uravnotežiti dodelu oznaka kako bi se učvrstile procene po oznaci.
Једнократно оцењивање. Сваки случај у кохорти је вреднован једном. Велики језички модели показују не-тривијалну варијансу излаза чак и при ниској температури узорковања, па је протокол са више извршавања са пет вредновања по случају и пријављеном варијансом природан следећи корак — посебно на подскупу „trap-case“, где је доследност под „jitter“-ом узорковања део тврдње о безбедности.
Обухват једног мотора. Овај извештај описује један мотор. Поређења са алтернативним AI системима нису у оквиру овог документа; можемо их спровести као засебну независну студију са одговарајућом методологијом, на истом MIT-licenciranom harness-у.
Sintetički podaci. Ovih 100.000 slučajeva je sintetički generisano, a ne „sintetički slučajevi“: rezultati se ne prenose na performanse u realnoj kliničkoj praksi. Evaluacija na stvarnim, pristankom odobrenim, eksterno pribavljenim podacima zahtevala bi odgovarajući etički nadzor i van je obima ovog sintetičkog benchmarka.
Поред ова четири, најзначајније планирано проширење је вишезичка паритетност по надлежности. Kantesti AI Engine служи корисницима на 75+ језика, а покретање језички стратификованих под-кохорти Second-Update (турски, немачки, шпански, француски, италијански, португалски, арапски, мандарински) ће квантификовати квалитет излаза на језицима које мотор подржава. Свака језички стратификована анализа биће објављена са сопственим DOI и harness граном.