BiOT Competency Assessment (2 мая 2026)
Первый объективный замер архитектуры Lyumi на стандартизированном корпусе — казахстанский сертификационный экзамен БиОТ (82 вопроса, 70 валидных).
TL;DR
- Lyumi Sonnet — 90.0% accuracy на 70 валидных вопросах, 80.0% NPA citation correctness
- Сравнялись с Gemini 2.5 Pro по accuracy (90.0% / 90.0%), опередили по NPA на 80 pp
- +11.4 pp в accuracy и +78.6 pp в NPA vs vanilla Sonnet 4 — чистый эффект архитектуры retrieval+SQL+reasoning
- Промпт сам по себе не добавляет знаний — проверено ablation'ом (Sonnet+prompt = 77.1% vs vanilla 78.6%)
- Ansamble ceiling 94.3% (Lyumi ∪ Gemini) — слепые пятна не пересекаются
Корпус
82 MCQ из материала подготовки Камала к сертификации БиОТ. hse_copilot/evals/exam_qa_v1.jsonl. Каждый вопрос — выбор A/B/C/D + ground truth + npa_reference.
Очистка: 12 вопросов без чёткого ответа (correct_answer = '?') исключены. n=70 валидных.
Распределение по типу НПА: - ТК РК — 30 вопросов (43%) - Приказ МТСЗН №1019 (обучение/инструктаж) — 16 - ЗРК-188 (гражданская защита) — 6 - Приказы 1054 и 1057, 927, ПП 276, ППБ 55 — 14 - Прочее — 4
Конфигурации (6)
vanilla — базовые frontier LLM
vanilla_sonnet_4— Anthropic Claude Sonnet 4vanilla_opus_47— Anthropic Claude Opus 4.7vanilla_gemini_25p— Google Gemini 2.5 Pro
ablation — вклад промпта
lyumi_promptonly_sonnet— Sonnet 4 + LYUMI_SYSTEM_PROMPT (35K), без retrievallyumi_promptonly_opus— Opus 4.7 + LYUMI_SYSTEM_PROMPT, без retrieval
production — полный pipeline
lyumi_sonnet_4— ChromaDB 164K (vanilla bge-m3) + BM25 + Cohere Rerank 4 Fast + SQL lookup (npa_values 14K) + LYUMI_SYSTEM_PROMPT + reasoning_validator (5 правил)
Не включен: lyumi_opus_47 — 54/82 empty response, Opus 4.7 в extended_thinking исчерпывает max_tokens=4000 на reasoning. Требуется bumping до 8000 или disable thinking.
Результаты (n=70)
| Config | Accuracy | NPA cite | Cost | Latency |
|---|---|---|---|---|
| lyumi_sonnet_4 | 90.0% | 80.0% | prod | 10.1 s |
| vanilla_gemini_25p | 90.0% | 0.0% | $0.59 | 8.2 s |
| vanilla_opus_47 | 85.7% | 10.0% | $1.16 | 2.1 s |
| lyumi_promptonly_opus | 82.9% | 12.9% | $22.88 ⚠️ | 2.6 s |
| vanilla_sonnet_4 | 78.6% | 1.4% | $0.22 | 2.4 s |
| lyumi_promptonly_sonnet | 77.1% | 2.9% | $4.11 | 4.4 s |
Ablation: вклад каждого слоя (Sonnet 4)
vanilla Sonnet 4 78.6% acc / 1.4% NPA
↓ +LYUMI prompt only
prompt-only 77.1% acc / 2.9% NPA → ДЕЛЬТА: -1.5pp acc
↓ +retrieval +SQL +reasoning
full Lyumi 90.0% acc / 80.0% NPA → ДЕЛЬТА: +12.9pp acc, +77.1pp NPA
Интерпретация: - Промпт сам по себе не добавляет HSE-знаний — он настраивает стиль, гендер, anti-hallucination, fact-якора. На МСЦ это нейтрально или слегка вредно (отвлекает модель). - Retrieval+SQL = +12.9 pp accuracy. Прямой эффект знаний из ChromaDB и npa_values. - NPA grounding +77.1 pp — без retrieval Sonnet не помнит номера статей (1–3% правильных), с retrieval — 80%.
Разрез по типу НПА
| code_type | n | Lyumi | Gemini | Opus | Sonnet |
|---|---|---|---|---|---|
| ТК РК | 30 | 87% | 93% | 77% | 70% |
| Приказ 1019 | 16 | 100% | 94% | 100% | 88% |
| ЗРК-188 | 6 | 100% | 83% | 100% | 100% |
| Приказ 1054 | 3 | 100% | 100% | 100% | 100% |
| Приказ 1057 | 3 | 100% | 100% | 100% | 100% |
| Приказ 927 | 3 | 100% | 100% | 100% | 67% |
| ПП 276 | 2 | 100% | 100% | 100% | 100% |
| ППБ 55 | 1 | 100% | 100% | 100% | 100% |
| прочее | 6 | 50% | 50% | 50% | 50% |
Где Lyumi уступает: ТК РК (главный кодекс, 43% корпуса). Gemini знает ТК ПО ПАМЯТИ, Lyumi достаёт через retrieval — иногда контекст из чанков сбивает в смежную статью.
Где Lyumi доминирует: специализированные приказы (1019, 927, зрк-188 — все 100%). Эти НПА плохо представлены в обучении frontier LLM, их знание = прямое следствие ChromaDB базы.
Coverage analysis — Lyumi vs Gemini
- Обе правы: 60 / 70 (85.7%)
- Только Lyumi: 3 (4.3%)
- Только Gemini: 3 (4.3%)
- Обе ошиблись: 4 (5.7%)
- Union ceiling: 66/70 = 94.3%
Слепые пятна не пересекаются — потенциал ensemble (Lyumi+Gemini fallback) = 94%. Интересно как hedge для future architecture.
Конкретные кейсы
Lyumi выиграла у Gemini (3 случая)
- exam_018 — Обучение по ГО: Lyumi A + «ст. 79 п.4 пп.1 Закона РК 188-V». Gemini B (ошиблась).
- exam_046 — СБиОТ должностные инструкции: Lyumi B + ст. 202 п.4 подп.3 ТК РК. Gemini A.
- exam_079 — Дистанционная работа по Приказу 1019: Lyumi D. Gemini B.
Lyumi проиграла vanilla (3 случая)
- exam_003 — Испытательный срок для руководителей. Lyumi D, vanilla Sonnet B (правильно). retrieval выдал ст. 36 п.2 (общий случай), Lyumi применила буквально.
- exam_044 — Прочее/СБиОТ. Lyumi D, vanilla Sonnet A (прав.).
- exam_061 — ТК, вопрос с подвохом. Lyumi D, vanilla Sonnet и Gemini B.
Диагноз: 4.3% вопросов = retrieval ухудшил ответ (выдал смежный чанк, модель расслабилась). Кандидат на следующий sprint: режим «реранкер видит два опциона с близким скором → эскалируем к Opus».
Ограничения честно
- n=70 — приемлемо для различения групп с разницей >10 pp, не достаточно для различения 90% от 90%
- Корпус смещён в сторону ТК (43%) и Приказа 1019 (23%); на узких темах (электробезопасность и др.) n=1–2 — anecdotal
- MCQ-формат не отражает real use case Lyumi (open-ended Q&A, фото, документы)
- NPA correctness = regex match чисел, не semantic
- $30 spend, из них $22.88 — overspend на promptonly Opus без prompt caching (записан фикс в memory)
Sales / positioning
Готовый ansewer клиенту «чем ваш бот лучше ChatGPT»:
На казахстанском сертификационном экзамене БиОТ Люми показала 90% точности — на уровне Gemini 2.5 Pro и выше базового Claude. При этом в 80% ответов Люми правильно цитирует статью нормативного акта. Gemini это делает в 0%, vanilla Opus — в 10%. Без правильной ссылки HSE-ответ не имеет ценности для аудита и инспекций. Это прямое следствие нашей базы из 164 тысяч чанков нормативки РК.
Roadmap (отсюда)
- Улучшить retrieval/SQL на ТК РК (87% vs Gemini 93%) — главное слабое место. Докинуть структурированные подразделы ТК в npa_values.
- Opus 4.7 max_tokens fix — поднять до 8000 или disable extended_thinking для MCQ режима. Приоритет средний.
- 3 случая регрессии архитектуры (Lyumi worse than vanilla) — изучить retrieval traces, кандидат на «реранкер видит close call → эскалация Opus» фичу.
- 4 вопроса где все промахнулись — включить в G_reasoning eval set для следующего LoRA файн-тюна.
- 12 вопросов без ground truth — попросить разметить вручную, расширить корпус до n=82.
- Open-ended eval — следующий бы равняю был ответы Lyumi vs Gemini на open-ended вопросах (real use case), LLM-judge.
Артефакты
hse_copilot/evals/exam_qa_v1.jsonl— 82 BiOT MCQhse_copilot/eval_biot_vanilla.py— vanilla 3 конфиговhse_copilot/eval_biot_lyumi_promptonly.py— ablation prompt-onlyhse_copilot/eval_biot_lyumi.py— full Lyumi через docker exec на AX41hse_copilot/eval_biot_combine.py— сборка финальной таблицыresearch/2026-05-02-biot-vanilla/REPORT.html— полный investor-style отчёт с inline SVG графикамиresearch/2026-05-02-biot-vanilla/agg_corrected_n70.json— финальные числа на n=70research/2026-05-02-biot-vanilla/selected_cases.json— отобранные кейсыresearch/2026-05-02-biot-vanilla/raw_*.jsonl+biot_lyumi_results_*.jsonl— raw responses
Связи
- [[lyumi/sprints/2026-05-02-reasoning-layer-deployed]] — reasoning_validator развёрнут в тот же день
- [[lyumi/sprints/2026-05-02-reasoning-backtest]] — backtest reasoning_validator на prod логах (0/47 hits)
- [[lyumi/migration_ax41]] — бот переехал 1 мая, инфра где этот eval бежал
- [[lyumi/sprints/2026-05-01-sql-acgih-ax41]] — SQL grounding развёрнут 1 мая