Зошто постои оваа референтна вредност и што тестира
AI-помогнато толкување крвна слика сè повеќе се користи во потрошувачки и клинички работни текови, но репродуцибилни рамки за евалуација прилагодени за лабораториска медицина остануваат ретки. Прашањата што најмногу се важни во оваа средина не се оние опфатени со општи бенчмаркови за медицинско одговарање на прашања: дали моторот може да разликува недостаток на железо од таласемиска особина кога средниот волумен на еритроцитите е идентичен, дали прекумерно дијагностицира синдром на Жилберт како хепатитис и дали создава патологија во целосно нормален панел за скрининг?
Една единствена панел-крвна анализа обично содржи доволно сигнал за да поддржи повеќе конкурирачки толкувања, а задачата на клиничарот што го толкува наодот е да ги одмери тие толкувања меѓусебно, наместо да извлече „точен одговор“ од учебник. Мотор што добро се снаоѓа на случаи од учебник сепак може да потфрли на оние случаи што се најважни: стапиците во диференцијалната дијагноза, бенигните варијанти што изгледаат алармантно кога се гледаат изолирано и целосно нормалните панели што ги наведуваат самоуверените асистенти да „произведуваат“ патологија.
Овој бенчмарк е изграден токму околу тие начини на неуспех. Секој од петнаесетте случаи беше избран за одредена дијагностичка карактеристика: микроцитоза поради недостаток на железо што мора да се разликува од носителство на бета-таласемија со идентичен просечен волумен на еритроцитите, презентација на Гилберт-ов синдром каде единствената абнормалност е изолирана индиректна хипербилирубинемија и панел за скрининг со петнаесет параметри во кој секој аналит се наоѓа во својот референтен опсег. Рубриката ги наградува моторите што го читаат секој случај според неговите сопствени услови и ги казнува моторите што се впуштаат во самоуверена дијагноза кога таква дијагноза не е оправдана.
Како Томас Клајн, д-р, го избрав панелот со случаи затоа што токму овие шеми најчесто ги погрешуваат асистентите за лабораториска медицина. Скапиот начин на неуспех не е "да се пропушти ретка болест" — туку да се измислува рутинска патологија кај пациенти кај кои таа не постои. Нашето Медицинска валидација hub ја опишува пошироката рамка; оваа страница го опишува првичниот proof-of-concept за V11 и Второто ажурирање на V11 кое го прошири на 100,000 синтетички случаи извлечени од синтетички сет на случаи што опфаќа 127 ознаки за земји — со истата рубрика за оценување, идентична по бајт, без дозволено „пост-хок“ подесување.
Најново референтно извршување — V11 Second Update (26 април 2026)
Референтното извршување на V11 Second Update од 26 април 2026 произведе композитен резултат од 99.80% на истата претходно регистрирана рубрика што се користеше во првичното издание на V11, оценувано на 100,000 синтетички случаи извлечени од Kantesti синтетичкиот сет на случаи и опфаќаат 127 ознаки за земји и јазиците 75+. Секој случај беше завршен по примарната патека на моторот; активирањата на знамето за хипердијагностичка „trap-case“ останаа на 0 / 87,412. Првичното извршување на V11 од 23 април 2026 опфати 15 рачно селектирани случаи (композит 99.12%) и ја валидираше рубриката; Second Update ја задржува истата рубрика идентична по бајт и ја проширува евалуацијата на кохорта од популациски размери.
Композитната формула ги комбинира три компоненти: структурна усогласеност со седумте задолжителни делови за извештај и шеснаесет задолжителни подделови, точност на содржината мерена како поврат на клучни зборови плус поврат на елементи од системот за бодување плус проверка на валидноста на веројатносната дистрибуција, и доцнење на одговорот спроти примарната цел за сервисно ниво. Точната декомпозиција е прикажана во формулата за рубриката подолу — ниту овие тежини ниту под-рубрики беа изменети за Second Update.
Преостанатите 0.20 процентни поени од „headroom“ се декомпонираат речиси целосно во клиничкиот под-резултат — мал дел од случаите (претежно во Хепатологија и Ревматологија) имале еден очекуван клучен збор од системот за бодување отсутен од интерпретацијата на моторот, иако дијагностичката содржина била точна. Ниту еден случај во кохортата Second-Update со 100,000 случаи не ја пропушти самата дијагноза. Латентноста се подобри од средна вредност од 20.17 s во првичното издание на V11 до 13.26 s во Second Update, што одразува оптимизации на производствениот мотор меѓу двете извршувања; рубриката, кодот за бодување и API-ендпоинтот се непроменети.
Композитните резултати по ознака се движеа од 0.9971 до 0.9985 низ 30-те најзастапени ознаки за земји. Долгата опашка од 97 дополнителни ознаки (≈7,300 случаи вкупно) не покажа систематско влошување. Најчестите ознаки по број на случаи беа Соединетите Американски Држави (10,500), Бразил (9,500), Шпанија (9,000), Италија (8,000), Германија (7,800), Франција (7,400), Португалија (5,800), Türkiye (3,400), Обединетото Кралство (2,900) и Мексико (2,500).
Од 15 случаи до 100,000: еволуција на кохортата низ 127 ознаки за земји
Првичниот панел на случаи за V11 опфаќаше седум специјалности — хематологија, ендокринологија, метаболна медицина, хепатологија, нефрологија, кардиологија, реуматологија — плус два посветени случаи „хипердијагностичка стапица“, при што секој случај беше синтетички генериран панел од крвни тестови. Второто ажурирање на V11 ја проширува процената на 100,000 синтетички случаи низ 127 ознаки за земји, распоредени во осум специјалности (оригиналните седум плус посветена „internal medicine“ група што го апсорбира „trap“ подмножеството). Истата рубрика за бодување се применува идентично по бајт во двата извршувања.
Бидејќи сите случаи се синтетички генерирани, нема реални идентификатори за отстранување и не се вклучени лични податоци. Секој синтетички случај носи код внатре во проценката (BT-NNN-LABEL во првичниот сет на V11, стабилен case_uid во Второто ажурирање). Никакви лични податоци не се појавуваат никаде во објавениот хардвер, техничкиот извештај или објавените сетови на податоци.
првичното издание на V11 — 15 рачно селектирани случаи
Оригиналниот панел за случај V11 го избра и уреди рачно д-р Томас Клајн за да ги опфати дијагностичките обрасци што најчесто ги погрешуваат асистентите во лабораториската медицина. Секој од петнаесетте случаи беше избран за одредена дијагностичка карактеристика, наведена подолу.
Зошто токму оваа распределба
Хематологијата добива три случаи затоа што микоцитните диференцијали и макроцитните диференцијали се најголемите „замки“ со најголем обем во реалната лабораториска пракса. Ендокринологијата добива три затоа што презентациите на Хашимото, PCOS и недостаток на витамин D вежбаат различни дијагностички форми (управувани од автоантитела, управувани од сооднос на хормони, управувани од единствен маркер). Специјалностите со по еден случај сè уште се значајни затоа што секоја од CKD, ризикот за ASCVD и SLE има сопствен систем за бодување што моторот треба да го повика (KDIGO стадирање, ASCVD 10-годишен ризик, и критериуми за 2019 EULAR/ACR за SLE, соодветно).
Второ ажурирање на V11 — 100,000 синтетички случаи низ 127 ознаки за земји
Второто ажурирање го заменува оригиналниот V11 хард-кодиран Python литерал од 15 случаи со поголем, програмски генериран синтетички сет на случаи. Сетот на случаи се вчитува на почетокот на секое извршување и конфигурацијата се евидентира за транспарентност. Дистрибуцијата на кохортата по област на содржина е прикажана подолу.
Синтетичка дистрибуција на ознаки за земји — топ 10 ознаки
100,000 синтетички случаи носат 127 ознаки за земји (ISO 3166-1 alpha-2) за да се вежба ракување со локалитет. Доделување на ознаки: Европа 57.7%, Америките 25.4%, Азија-Пацифик 6.2%, именувани ознаки за Блиски Исток/Африка 3.4% и долга опашка од 97 дополнителни ознаки приближно 7.3% вкупно. Десетте најчести ознаки по број на случаи се Соединетите Американски Држави (10,500), Бразил (9,500), Шпанија (9,000), Италија (8,000), Германија (7,800), Франција (7,400), Португалија (5,800), Türkiye (3,400), Обединетото Кралство (2,900) и Мексико (2,500). Композитните резултати по ознака се движеа од 0.9971 до 0.9985. Овие броеви на ознаки се својства на генерираните случаи користени за вежбање ракување со локалитет — тие не се реални корисници и не претставуваат реална географска покриеност.
Однапред регистрираната рубрика, објаснета
Предрегистрацијата е единствениот најважен методолошки избор во оваа споредба. Секое очекувано дијагностицирање, секој клинички систем за бодување и секој дел од извештајот беа посветени на изворниот код пред да биде повикан моторот. Затоа, пост-хок прилагодување на рубриката за да го „пофали“ моторот е невозможно.
Три компоненти го сочинуваат композитниот резултат. структурната компонента придонесува со 35 проценти и мери дали моторот ги врати седумте задолжителни делови од извештајот (заглавје, резиме, клучни наоди, диференцијал, системи за бодување, препораки, следење) и шестнаесетте задолжителни подделови во рамките на нив. Присуството на дел тежи 40 проценти, а присуството на поддел тежи 60 проценти во структурната пресметка.
На клиничката компонента придонесува со 55 проценти и комбинира три работи: повикување на дијагностички клучни зборови (70 проценти од клиничкиот под-резултат), повикување на системи за бодување (20 проценти — дали моторот пресметува Mentzer, FIB-4, HOMA-IR, ризик за ASCVD, KDIGO стадирање, критериуми EULAR/ACR кога е релевантно) и проверка на валидност на збир на веројатности (10 проценти — диференцијалните веројатности треба да се соберат во интервалот [90, 110]). За „замкови“ случаи, се одзема експлицитна казна за хипердијагноза до 0.30, пресметана како 0.10 по измислено знаме за патологија, ограничено на три знамиња.
На компонента на латентност придонесува со 10 проценти. Одговор под 20 секунди добива целосни 0.10, одговор под 40 секунди добива 0.05, а сè што е побавно добива нула. Целта од 20 секунди ја одразува производната примарна услужна цел за ниво на услуга; таванот од 40 секунди ја одразува буџетската резерва за Фаза 2 при тешки повици на моторот.
Што спречува предрегистрацијата
Првостепените споредби се познати по тоа што ги надувуваат сопствените бројки преку пост-хок прилагодување на рубриката. Шаблонот речиси секогаш е ист: тимот го пушта моторот, гледа каде потфрла, а потоа тивко ја прилагодува рубриката така што подфрлањата да бројат помалку. Со тоа што рубриката се посветува на изворниот код пред првиот повик на моторот и се објавува хранеcот под MIT лиценца, ова прилагодување станува видливо во контролата на верзии. Секој може да го клонира репозиториумот, да ги провери датумите на авторите на рубриката и да потврди дека резултатите од моторот не биле користени за обликување на бодувањето.
Случаи „замка за хипердијагноза“ — зошто прекумерното повикување е вистинскиот режим на неуспех
Агресивното прекумерно повикување патологија на нормални екрани е документиран начин на неуспех кај потрошувачки медицински асистенти. Неговите последователни трошоци вклучуваат непотребна истрага, вознемиреност кај пациентот и јатрогена обработка. Двата „замкови“ случаи во оваа споредба се дизајнирани да го направат овој начин на неуспех видлив и податлив за бодување.
🟡 Замка 1 — BT-014-GILBERT
Презентација. Маж на 24 години со вкупен билирубин од 2.4 mg/dL. Директната фракција е нормална, трансаминазите и алкалната фосфатаза се во нивните референтни опсези, ретикулоцитите се без особености, а хаптоглобинот и LDH исклучуваат хемолиза.
Точна толкување. Gilbert-ов синдром — бенигна полиморфизам на UGT1A1. Толкувањето не треба да повикува хепатитис, цироза, хемолитичка анемија или опструкција на жолчни патишта.
Резултат v11. Композитен 1.000. Ниту едно од шесте следени знамиња за прекумерно дијагностицирање не се појави како активна дијагноза.
🟡 Замка 2 — BT-015-HEALTHY
Презентација. Жена на 35 години со рутински панел за скрининг со петнаесет параметри. Секој аналит удобно се наоѓа во рамките на својот референтен опсег.
Точна толкување. Уверување и одржување на животниот стил. Толкувањето не треба да „измислува“ гранична патологија за да звучи клинички корисно.
Резултат v11. Композит 1.000. Ниту една од седумте следени алармни ознаки за прекумерно дијагностицирање — дијабетес, анемија, хипотироидизам, дислипидемија, хепатитис, бубрежна болест, дефицит — не се појави како активна дијагноза.
На двата „трап“ беа проверени тринаесет следени алармни ознаки за хипердијагностицирање. Ниту една не беше активирана. Ова е резултатот што најмногу е важен за секој клиничар што размислува да користи AI мотор како алатка за тријажа или пред-консултација: системот не измисли болест таму каде што не постоела.
Ментцеров индекс: одвојување на дефицит на железо од носителство на таласемија
Вториот наод со висока вредност се однесува на спојувањето на случајот BT-001 (анемија поради недостаток на железо) со случајот BT-007 (бета-таласемија минор). И двата се јавуваат со микроцитоза и се добро позната „кочница“ за наивни класификатори. Индексот на Mentzer, пресметан како MCV поделено со бројот на RBC, е над 13 кај недостаток на железо и паѓа под 13 кај таласемиска особина.
Во BT-001, пациентката имала 34 години, хемоглобин 10.4 g/dL, MCV 72.4 fL, RBC 4.1 × 10¹²/L, феритин 6 ng/mL и покачен TIBC. Индексот на Mentzer од приближно 17.7 поддржува апсолутен недостаток на железо. Во BT-007, пациентот имал 28 години, микроцитоза (MCV 65.8 fL) но висок број на RBC од 6.2, нормален RDW, нормален феритин и HbA2 од 5.6 проценти. Индексот на Mentzer од приближно 10.6 укажува на таласемиска особина, а покачениот HbA2 ја потврдува бета-таласемија минор.
И двата случаи постигнаа 1.000. Моторот експлицитно го повика индексот на Mentzer во двете интерпретации и ја врати точната дијагноза во секој случај. Ова е единствениот резултат со најголема клиничка уверливост во целиот бенчмарк, бидејќи погрешното класифицирање на таласемиска особина како недостаток на железо води до несоодветна суплементација со железо и пропуштени можности за семејно скринирање, а погрешното класифицирање на недостаток на железо како таласемија ја одложува едноставната терапија за замена. Нашето водич за опсегот на феритин објаснува поширок контекст на диференцијалот.
Резултати по случај од првичното референтно извршување на V11 (23 април 2026)
Оригиналното референтно извршување на V11 на кохортата proof-of-concept со 15 случаи ја служи како методолошка основа на Second Update: секој детал по случај подолу покажува како рубриката се справува со реален одговор на моторот. Дванаесет од петнаесет случаи го постигнаа максималниот композитен резултат од 1.000 на примарната патека; три случаи беа опслужени преку fallback за Phase 2, губејќи ја бонусот за латентност од 0.05 додека се зачувува целата клиничка и структурна содржина. Еден случај недостасуваше една единствена задолжителна под-секција; еден врати збир на веројатносни распределби маргинално намален.
Случајот со PCOS (BT-008) изгуби една задолжителна под-секција во структурата на одговорот — петнаесет од шеснаесет наместо шеснаесет од шеснаесет — што го намали структурниот резултат од 1,000 на 0,963. Случајот со SLE (BT-011) врати малку намалена сума на веројатносно-распределување што го спушти клиничкиот резултат на 0,965, притоа зачувувајќи секој дијагностички клучен збор и систем за бодување. Ниту еден од двата случаи со резултат под совршен не пропушти точна дијагноза.
Агрегат V11 Second Update — 100,000 случаи
На ниво на популација, поединечните редови на случаи не се читливи за човек, па Второто ажурирање пријавува агрегирани метрики наместо табела со 100,000 редови. Главниот агрегат е прикажан подолу; разбивките по специјалност и по ознака за земја се објавени во техничкиот извештај и во депозитот Figshare. Стратифициран случаен примерок од n = 201 сурови одговори на моторот (детерминистичко семе 20260426) се објавува во GitHub results/ директориумот за преглед.
Што не ни кажува насловниот резултат
Композитен резултат од 99.80 проценти според оваа конкретна претходно регистрирана рубрика, на синтетичка кохорта од 100,000 случаи што опфаќа 127 ознаки за земји, претставува перформанси речиси до „таван“ — но заслужува внимателно поставување во контекст. Резултатот ја опишува однесувањето на моторот спроти рубриката на која се обврзавме во изворниот код во V11; тоа не е универзална тврдња за исправноста на моторот на секој панел од крвни тестови што постои во реалниот свет.
Резултатот вели дека моторот правилно ги обработил дијагностичките обрасци избрани за оваа евалуација низ кохорт на ниво на популација, според методологија што е објавена и може да се репродуцира. Не вели дека моторот е точен на секој панел за крвна слика што постои во „дивината“. Не вели дека моторот треба да го замени клиничкото проценување. И не вели дека моторот ги надминува алтернативните системи со вештачка интелигенција — компаративните анализи со други мотори беа намерно надвор од опсегот на овој извештај.
Она што резултатот го утврдува е основна линија. Со рубриката и „храната“ јавно достапни, идните верзии на моторот може да се оценуваат според истата рубрика — применета на првичните 15 случаи од V11, кохортот од 100.000 случаи од Второто ажурирање или на било какво последователно проширување — а разликата меѓу објавениот резултат и било кое последователно извршување е самата по себе мерлива. Вредноста на однапред регистрирањето е: ги претвора тврдењата за перформанси во проверливи тврдења.
Како да го репродуцирате овој бенчмарк за 10 минути
Репродукцијата бара само пар Kantesti API акредитиви и средина со Python 3.10 или понова верзија со requests и reportlab инсталирани библиотеки. Целиот хaрнес е еден самостоен 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 скоркарта со колони по земја-ознака и по специјалност, JSON агрегат, стратифициран-случаен примерок на сурови одговори и Markdown извештај.
Референтните извршувања од 23 април 2026 (V11 почетно, 15 случаи) и 26 април 2026 (V11 Second Update, 100,000 случаи) се зачувани во results/ директориумот на репозиториумот. Ново извршување ќе создаде нова скор-картичка со нов временски печат, притоа оставајќи ги референтните извршувања недопрени. Ако вашето извршување даде значително различен резултат, ве молиме отворете GitHub issue со временскиот печат на извршувањето и верзијата на моторот вратена во метаподатоците на одговорот.
Ограничувања и идни работи
Дури и при 100,000 случаи низ 127 земји-ознаки, четири ограничувања заслужуваат експлицитно признавање: недоволно опфаќање на ознаки со долга опашка, еднократно (single-shot) оценување, опсег само на еден мотор и потекло на податоци само од еден извор. Секое од нив се адресира во активна последователна работа.
Покриеност на ознаки со долга опашка. Второто ажурирање опфаќа 127 земји-ознаки, но дистрибуцијата е неурамнотежена — првите 10 ознаки сочинуваат ≈66.4% од случаите, а долгата опашка од 97 дополнителни ознаки заедно придонесува ≈7.3% (приближно 7,300 случаи вкупно, ~75 случаи по ознака во просек). Затоа, композитите по ознака во оваа долга опашка се понеизвесни (помалку сигурни) отколку што сугерираат насловните бројки. Идните извршувања ќе ја ребалансираат доделбата на ознаки за да се зацврстат проценките по ознака.
Еднократно оценување. Секој случај во кохортата беше оценет еднаш. Големите јазични модели покажуваат не-тривијална варијанса на излезот дури и при ниска температура на семплирање, па протокол со повеќе извршувања со пет оценки по случај и пријавена варијанса е природен следен чекор — особено на подмножеството „trap-case“, каде конзистентноста при „jitter“ на семплирањето е дел од безбедносното тврдење.
Опфат на единствен мотор. Овој извештај карактеризира еден мотор. Компаративни анализи со алтернативни AI системи не се во опсегот овде; можеби ќе ги спроведеме како посебна независна студија со соодветна методологија, користејќи го истиот MIT-лиценциран harness.
Синтетички податоци. Овие 100,000 случаи се синтетички генерирани, а не „синтетички случаи“, и резултатите не се пренесуваат на реални клинички перформанси. Оценување на реални, со согласност обезбедени, надворешно-изворни податоци би барало соодветен етички надзор и е надвор од опсегот на овој синтетички benchmark.
Над овие четири, највлијателното планирано проширување е паритет по јазик за секоја јурисдикција. Kantesti AI Engine им служи на корисници на 75+ јазици, а извршувањето на јазично-стратифицирани под-кохорти Second-Update (турски, германски, шпански, француски, италијански, португалски, арапски, мандарински) ќе го квантифицира квалитетот на излезот низ поддржаните јазици на моторот. Секоја јазично-стратифицирана анализа ќе биде објавена со сопствен DOI и harness гранка.