EU AI Act — что это и как нас касается
Regulation (EU) 2024/1689 (EU AI Act) — рамочное регулирование AI-систем, действующее в EU. Adaptive-learning в школьном контексте попадает в Annex III high-risk. Нормы вступают в силу поэтапно с августа 2026 по август 2027. Наш конвейер — детерминистический BKT + шаблонный объясняющий движок — удовлетворяет требованиям traceability, explainability и human oversight по построению, без отдельной compliance-инфры.
Регулятивный контекст
Заголовок раздела «Регулятивный контекст»EU AI Act разделяет AI-системы на 4 категории по риску:
- Unacceptable — запрещены (соц-скоринг, манипулятивный AI).
- High-risk — допустимы, но с обязательствами (Art. 9–15).
- Limited risk — обязательства по transparency (chat-боты).
- Minimal risk — без обязательств.
High-risk перечисление в Annex III включает (пункт 3):
AI systems intended to be used … for the purpose of determining access to or admission of natural persons to educational and vocational training institutions … or for the purpose of evaluating learning outcomes … or for the purpose of assessing the appropriate level of education that an individual will receive or will be able to access …
То есть: системы, которые выбирают, что учить дальше, или
оценивают результат обучения, попадают в high-risk. Selector нашей
архитектуры (как и getNextRecommendedQuestion у MATx) — попадает.
Ключевые даты
Заголовок раздела «Ключевые даты»| Дата | Что вступает |
|---|---|
| 1 августа 2024 | AI Act опубликован, в силе |
| 2 февраля 2025 | Запреты на unacceptable-risk (Art. 5) |
| 2 августа 2025 | Правила для general-purpose AI (GPT и подобные) |
| 2 августа 2026 | Основной массив high-risk обязательств (для систем, размещаемых на рынке после этой даты) |
| 2 августа 2027 | Полное применение к системам, уже размещённым до 2026 |
Источник: Article 113 — Entry into force and application.
Annex III high-risk — куда попадает MATx + matx-hack
Заголовок раздела «Annex III high-risk — куда попадает MATx + matx-hack»| Подпункт Annex III pt. 3 | Применимо к нам? |
|---|---|
| (a) Determining access / admission | Нет — мы не решаем, кого зачислить |
| (b) Evaluating learning outcomes | Да — BKT это объективная оценка mastery |
| (c) Assessing appropriate level of education | Частично — селектор подбирает уровень задач |
| (d) Detecting prohibited behaviour (cheating-detection) | Нет |
Значит для нас обязательны Art. 9–15 в полном объёме (когда выйдем на production-pilot).
Требования Art. 9–15 и наш статус
Заголовок раздела «Требования Art. 9–15 и наш статус»| Статья | Требование (упрощённо) | Наш статус |
|---|---|---|
| 9 — Risk management | Документировать риски на каждом этапе lifecycle | Roadmap (после пилота) |
| 10 — Data governance | Training data — представительная, без bias | N/A — у нас нет ML-обучения. Задачи курирует учитель (data/matx-define/) |
| 11 — Technical documentation | Архитектура, design rationale, известные ограничения | Эта книга и есть documentation |
| 12 — Record-keeping (logs) | Auto-логирование событий inference | Каждый bktUpdate воспроизводим из (prior, isCorrect, params); добавляется опцией audit_trace JSONB |
| 13 — Transparency to users | Пользователь знает, что использует AI | Учителю показываем reason (“siin on arenguruumi” / по микро-навыку); ученик видит детерминистическую систему, не LLM |
| 14 — Human oversight | Финальное решение за человеком | Учитель видит heatmap + reason; может отклонить рекомендацию или назначить задачу вручную |
| 15 — Accuracy & robustness | Документированная точность, cybersecurity | TBD — пилотные данные |
Почему детерминистический BKT compliant by construction
Заголовок раздела «Почему детерминистический BKT compliant by construction»Главные риски high-risk AI — opacity (“чёрный ящик”), hallucination, bias в training data. У нас:
- Closed-form math. после обновления вычисляется по формуле
Байеса из
(prior, isCorrect, P_S, P_G, P_T). Аудитор может независимо переиграть результат от любого момента истории. - No LLM в production-пути. Нет генеративного компонента — нечему
галлюцинировать. Объяснения собираются шаблонным движком
(
web/lib/explain.ts) с фиксированным набором эстонских фраз. - Курируемая задачная база. Нет автогенерации задач AI-ом — значит нет training data, значит нет training-bias. Задачи размечает учитель-практик.
- Деление по микро-навыкам объективное. 9 микронавыков
define.tN.{add,mul,mix}отражают предметные категории, а не социально-демографические — Art. 10 fairness отпадает.
Эти свойства попадают в требования напрямую:
| Требование | Закрывается |
|---|---|
| Art. 12 — record-keeping | Replayable из bktUpdate(prior, ...) |
| Art. 13 — transparency | Деревянная формула, не “AI magic” |
| Art. 14 — human oversight | Учитель override через UI, всегда |
| Art. 15 — accuracy | Pilot evaluation + EM-fitting параметров |
Что это значит для MATx
Заголовок раздела «Что это значит для MATx»Если Tom встроит @matx-hack/bkt-core (PR1)
— MATx наследует этот compliance-профиль автоматически:
bktUpdate— та же закрытая формула в его submit-handler;student_skill_state(новая таблица) + опц.audit_trace JSONBзакрывают Art. 12 record-keeping;- его существующая reason-эвристика (
Harjuta.../Kinnista.../Korda...) — это уже Art. 13 transparency; - учитель в его teacher-analytics dashboard — Art. 14 oversight.
Никакой отдельной compliance-инфры под AI Act ему не понадобится.
Что это значит для нас (matx-hack)
Заголовок раздела «Что это значит для нас (matx-hack)»Сейчас (хакатон-демо):
- ✅ Architecture + documentation готовы (Art. 11)
- ✅ Math замкнута (Art. 12, 13)
- ✅ Учитель в loop (Art. 14)
Roadmap (после пилота):
- Включить
audit_trace JSONBколонку — копится(timestamp, prior, isCorrect, posterior)каждый attempt - Pilot-evaluation метрики точности (Art. 15)
- Risk-management документ (Art. 9)
- DPIA — Data Protection Impact Assessment (GDPR + AI Act)
eatf.eu — дополнительный слой attestation
Заголовок раздела «eatf.eu — дополнительный слой attestation»eatf.eu (Anton’а параллельный проект) предоставляет
model attestation, response signing и audit-trail централизованно одним
API-вызовом. Если нужен — оборачиваем bkt-core в attestable
компонент:
attempt → bktUpdate → eatf.attest({input, output, params, modelHash}) → audit_trace + signatureЭто не обязательно для compliance (Art. 12 закрывается простым JSONB-полем), но даёт внешнюю независимую запись для аудитора.