Что такое error budget для AI качества и как его считать?
Краткий тезис
Error budget (бюджет ошибок) — это метрика, показывающая допустимое количество «плохих» ответов AI-системы за определённый период. Он рассчитывается как 1 - SLO (Service Level Objective), где SLO — целевой уровень качества. Например, если SLO по faithfulness (фактологической точности) установлен на 0.95 (95% ответов должны быть точными), то budget|error budget составляет 5% — именно столько неточных ответов система может выдать, не нарушая соглашение. Превышение бюджета сигнализирует о необходимости остановить развёртывание новых версий или откатить изменения.
1. Определение: SLO, SLI, error budget
SLO (Service Level Objective) — целевой показатель качества сервиса, выраженный в процентах или долях. Для AI-систем это может быть доля ответов, удовлетворяющих заданным критериям (faithfulness, answer relevance, отсутствие галлюцинаций).
SLI (Service Level Indicator) — фактическое измеренное значение качества. Например, за неделю faithfulness составил 0.93.
Error budget = SLO - SLI (если SLI ниже SLO) или 1 - SLO (максимально допустимая доля ошибок). Чаще используют второй подход: error budget = 1 - SLO. Это количество «разрешённых» плохих ответов.
| Термин | Описание | Пример |
|---|---|---|
| SLO | Цель по качеству | faithfulness ≥ 0.95 |
| SLI | Фактическое качество | faithfulness = 0.93 |
| Error budget | Допустимая доля ошибок | 5% (1 - 0.95) |
2. Зачем нужен error budget для AI качества
- Принятие решений о развёртывании: если error budget исчерпан, новую модель или пайплайн нельзя выкатывать в production.
- Баланс между качеством и скоростью: команда может сознательно тратить бюджет на эксперименты, зная, что при превышении нужно остановиться.
- Объективная метрика для алертов: вместо субъективных оценок «качество упало» используется числовой порог.
- Связь с бизнес-метриками: плохие ответы ведут к потере пользователей, поэтому error budget защищает пользовательский опыт.
В контексте Agentic RAG (агентных RAG-систем), где агент может выполнять несколько шагов (retrieval, вызов инструментов, генерация), error budget применяется к каждому этапу или к итоговому ответу. Например, можно установить SLO на долю успешных завершений цепочки действий.
3. Как считать error budget: формула и пример
Формула:
Error budget (в долях) = 1 - SLO
Error budget (в абсолютных единицах) = (1 - SLO) × общее количество запросов за период
Пример:
- SLO по faithfulness = 0.90 (90% ответов должны быть фактологически точными).
- За месяц система обработала 100 000 запросов.
- Error budget = 1 - 0.90 = 0.10 (10%).
- Абсолютный бюджет = 0.10 × 100 000 = 10 000 «плохих» ответов в месяц.
Если за месяц система выдала 12 000 неточных ответов (SLI = 0.88), то error budget превышен на 2 000 ответов. Это триггер для остановки развёртываний.
Важно: error budget — это скользящий показатель. Обычно его считают за окно (неделя, месяц). При превышении вводят «мороз» (freeze) на изменения.
4. Какие метрики AI качества использовать для SLO
Для AI-систем (особенно RAG и Agentic RAG) типичные метрики:
| Метрика | Что измеряет | Типичный SLO |
|---|---|---|
| Faithfulness | Доля ответов, не содержащих галлюцинаций (факты из контекста) | 0.90–0.95 |
| Answer Relevance | Релевантность ответа запросу | 0.85–0.95 |
| Context Relevance | Доля релевантных чанков в контексте | 0.80–0.90 |
| Task Success Rate (для агентов) | Доля успешно выполненных цепочек действий | 0.80–0.95 |
| Latency SLO | Доля ответов, укладывающихся в таймаут | 0.99 (99% < 2 сек) |
Метрики могут быть агрегированы в композитный SLO (например, faithfulness AND answer relevance).
5. Установка SLO: откуда брать значения
SLO не берётся из воздуха. Подходы:
- Исторические данные: проанализировать прошлые SLI и выбрать целевой перцентиль (например, P90).
- Бизнес-требования: если каждый неточный ответ стоит $10, а бюджет на ущерб — $1000/мес, то при 100k запросов SLO = 1 - (1000/10)/100000 = 0.999.
- Бенчмаркинг: сравнение с конкурентами или предыдущими версиями.
- Экспертная оценка: команда договаривается о приемлемом уровне.
Для Agentic RAG часто используют иерархические SLO: общий SLO на ответ и внутренние SLO на каждый шаг агента (retrieval, вызов API, генерация).
6. Мониторинг и алерты
Error budget нужно отслеживать в реальном времени. Инструменты:
- Prometheus + Grafana для сбора SLI и расчёта бюджета.
- Datadog / New Relic с кастомными метриками.
- Внутренние дашборды с визуализацией расхода бюджета.
Алерты:
- Warning (80% бюджета потрачено) — подготовиться.
- Critical (100% потрачено) — остановить развёртывания, начать расследование.
Пример алерта в PromQL:
(1 - (sum(rate(faithfulness_false_total[5m])) / sum(rate(requests_total[5m])))) < 0.90
7. Действия при превышении error budget
- Stop rollouts: заморозить выкат новых моделей, фич или пайплайнов.
- Rollback: откатить последнее изменение, если оно вызвало ухудшение.
- Investigate: найти корневую причину (плохой retrieval, новая модель генерации, изменение данных).
- Mitigate: временно повысить threshold (например, увеличить температуру LLM или добавить проверки).
- Post-mortem: задокументировать инцидент и скорректировать SLO, если цель была нереалистичной.
В Agentic RAG превышение error budget может означать, что агент слишком часто зацикливается или вызывает неверные инструменты. Тогда нужно дорабатывать промпты или логику выбора действий.
8. Error budget в контексте Agentic RAG
Агентные системы имеют дополнительные точки отказа:
- Tool call accuracy: агент вызывает неправильный инструмент.
- Step success rate: доля завершённых цепочек без ошибок.
- Hallucination in intermediate steps: агент генерирует ложные факты на промежуточных шагах.
Для каждого шага можно установить свой error budget. Например:
- SLO на retrieval: hit rate ≥ 0.95.
- SLO на tool call: accuracy ≥ 0.98.
- SLO на финальный ответ: faithfulness ≥ 0.90.
Общий error budget = 1 - (SLO_retrieval × SLO_tool × SLO_faithfulness) — если шаги независимы. Но на практике используют минимальный из SLO.
9. Инструменты и практики
- RAGAS — библиотека для оценки RAG, может считать faithfulness и answer relevance, но не error budget напрямую. Данные можно экспортировать в мониторинг.
- LangSmith / Weights & Biases — трекинг экспериментов, можно настроить алерты на основе метрик.
- Evidently AI — мониторинг качества ML-моделей, поддерживает дрейф и SLO.
- Custom pipeline: собирать логи ответов, прогонять через LLM-as-a-judge (например, GPT-4) для оценки faithfulness, агрегировать в SLI.
Лучшие практики:
- Устанавливать SLO на основе бизнес-ценности, а не технических возможностей.
- Использовать скользящее окно (например, 7 дней) для расчёта бюджета.
- Разделять error budget на «burn rate» (скорость расхода) — если бюджет тратится слишком быстро, это ранний сигнал.
10. Связь с другими метриками и подходами
Error budget дополняет, но не заменяет:
- Offline-метрики (hit rate, MRR) — для оценки retrieval без LLM.
- Online-метрики (user satisfaction, retention) — для бизнес-эффекта.
- A/B тесты — для сравнения версий.
Error budget — это операционная метрика для DevOps/MLOps, а не для оценки модели как таковой.
Пет-проект для закрепления
Задача: Создать дашборд для мониторинга error budget по faithfulness в Agentic RAG-системе.
Инструменты: Python (FastAPI для сбора логов), Prometheus (метрики), Grafana (дашборд), RAGAS (оценка faithfulness).
Шаги:
- Развернуть простую Agentic RAG-систему (например, на LangGraph) с одним инструментом (поиск по документам).
- В каждом ответе логировать: запрос, контекст, ответ, метку faithfulness (0/1) от LLM-as-a-judge.
- Экспортировать метрики в Prometheus:
requests_total,faithfulness_true_total,faithfulness_false_total. - В Grafana построить график SLI (faithfulness) и линию SLO (например, 0.95). Добавить алерт при падении ниже SLO.
- Рассчитать error budget:
1 - SLOи отобразить оставшийся бюджет в процентах. - Имитировать ухудшение (например, заменить эмбеддер на плохой) и наблюдать, как алерт срабатывает.
Ожидаемый результат: Рабочий дашборд, который показывает текущий SLI, SLO, оставшийся error budget и историю превышений. Вы научитесь связывать оценку качества с операционными решениями.
Связь с другими вопросами
| Вопрос | Тема |
|---|---|
| 5 | Оценка качества retrieval в RAG |
| 6 | Оценка качества генерации (faithfulness, relevance) |
| 7 | Уменьшение latency RAG-системы |
| 8 | Обработка запросов без ответа в документах |
| 9 | Обновление документов в RAG |
| 10 | Self-RAG и когда его использовать |
Навигация
- Предыдущий: 382
- Следующий: 384
- Индекс: 00. Индекс разборов