alterna ai
ALTERNA AI / ГЛАВА 20 · 05

20.5 Защищаем результат проверками

На предыдущей странице: откуда взято каждое сведение.

Испытаем заранее выбранные независимые случаи. Один успешный пример не заменяет проверку границ и намеренных ошибок.

Совместимость словаря, параметров и runtime проверяется до запуска. Происхождение ответа и запреты действий входят в проект наравне с прямым расчётом. Финал соединяет знакомое.

Средний score не имеет права скрывать критический провал

Evaluation candidate выполняется на зафиксированных datasets и workload. Quality, grounding, p95 latency и unsafe rate имеют разные единицы и направления улучшения, поэтому для них задают отдельные thresholds. Hard gate проходит только при выполнении всех условий. Взвешенная сумма полезна для ранжирования уже допустимых кандидатов, но высокий quality не должен компенсировать нарушение safety или latency SLO.

Каждая метрика публикуется вместе с размером выборки, версией evaluator, доверительным интервалом или raw observations, где это возможно. Regression comparison использует одинаковые prompts и условия serving. Ошибки анализируются по slices, потому что общий average способен скрыть провал языка, домена или редкой категории риска.

Продолжение. Gate board показывает threshold, observed value, направление сравнения и evidence для каждой строки. Итоговый статус вычисляется как conjunction и остаётся красным при единственном failure. Baseline и candidate запускаются через один evaluator contract; ручной override требует автора, причины, срока и audit record, а не изменения числа задним числом.

Граница применимости. Passing known tests не гарантирует поведение на открытом мире, а evaluator model может разделять ошибки с оцениваемой моделью. Малые выборки дают нестабильные tail и safety rates. Thresholds являются инженерным решением для конкретного риска, не универсальным доказательством качества и не заменой red-team, наблюдаемости после выпуска и rollback plan.

thresholds_20e = {'quality': 0.80, 'grounding': 0.85, 'p95': 0.80, 'unsafe': 0.01}
metrics_20e = {'quality': 0.82, 'grounding': 0.90, 'p95': 0.70, 'unsafe': 0.00}
checks_20e = {
    'quality': metrics_20e['quality'] >= thresholds_20e['quality'],
    'grounding': metrics_20e['grounding'] >= thresholds_20e['grounding'],
    'p95': metrics_20e['p95'] <= thresholds_20e['p95'],
    'unsafe': metrics_20e['unsafe'] <= thresholds_20e['unsafe'],
}
# Полный исполняемый пример — по ссылке ниже.

Код повторяет только что разобранные операции. Полный проверяемыйPython-пример главы доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.

Held-out fixtures должны оставаться независимыми, а pass rate публикуется с denominator.

Система останавливается при неизвестном действии. Как этот вопрос продолжает полученный результат?

Python-примеры главы 20 Академическая база →