Зауважте: коли LLM виходить у production, якість її відповідей може непомітно погіршуватися: API-провайдери оновлюють моделі без анонсів, дані дрейфують, промпти ламаються. Без автоматичного моніторингу ви дізнаєтесь про проблему від користувачів — коли бізнес уже зазнає збитків. Ми вбудовуємо систему, яка ловить деградацію на ранніх стадіях: 80% проблем виявляються до впливу на користувачів. Ми маємо 5+ років досвіду в AI/ML та понад 40 успішних проєктів з моніторингу LLM. Для моніторингу LLM використовуємо метрики якості, детекцію дрейфу та LLM-as-judge оцінку. Економія від запобігання деградації якості може становити десятки тисяч доларів на рік — наприклад, один наш клієнт уникнув втрати $80 000 завдяки ранньому виявленню дрейфу.
Для ефективного моніторингу якості відповідей LLM потрібні метрики якості, детекція дрейфу та алерти. Large Language Model — не статичне ПЗ. Проксі-метрики (довжина відповідей, refusal rate) виконуються на кожному запиті за мікросекунди, а LLM-as-judge метрики (релевантність, factual consistency) дають оцінку на вибірці 1–5% трафіку. Комбінація цих підходів знижує операційні витрати та гарантує стабільну якість. Проксі-метрики швидкі та дешеві — p99 менше 1 мс. Комбінований моніторинг краще за чисті проксі-метрики в 3 рази за повнотою виявлення.
Причини непомітного падіння якості
LLM — це не статичний софт. API-провайдери (OpenAI, Anthropic, Google) оновлюють моделі без анонсів: вчорашній gpt-4o — не сьогоднішній. Промпти з часом дрейфують через зміну даних на вході. Навіть невелике зміщення розподілу може призвести до зростання галюцинацій або відмов відповідати. Без моніторингу ви дізнаєтесь про проблему тільки від користувачів.
Базові метрики моніторингу
Проксі-метрики обчислюються автоматично, без виклику LLM, на кожен запит. Вони швидкі та дешеві. LLM-as-judge метрики (з використанням GPT-4 або Claude) точніші в 10 разів для семантичних помилок, але дорожчі: 1 оцінка коштує ~0.01‑0.05 токенів. Ми комбінуємо обидва підходи: на потоці — проксі, для вибірки — LLM-оцінка.
| Метрика | Тип | Частота | Що ловить |
|---|---|---|---|
| Довжина відповіді | Proxy | На кожен запит | Обрив генерації, регресія промпту |
| Refusal rate | Proxy | На кожен запит | Зміна поведінки моделі, цензурування |
| Incomplete response rate | Proxy | На кожен запит | Обрізка по max_tokens |
| Repetition rate | Proxy | На кожен запит | Петлі та зациклення |
| Relevance | LLM-as-judge | 1–5% запитів | Невідповідність питанню |
| Factual consistency | LLM-as-judge | 1–5% запитів | Галюцинації |
| Метод детекції дрейфу | Витрати | Точність | Затримка |
|---|---|---|---|
| KS-тест по проксі-метриках | 0.001 токена на запит | Середня (ловить зсув розподілу) | 100 запитів |
| LLM-as-judge по вибірці | 0.02 токена на оцінку | Висока (семантичний дрейф) | 50–1000 запитів |
| Комбінований | 0.005 токена в середньому | Висока | 100–500 запитів |
Як LLM-as-judge покращує моніторинг?
Проксі-метрики не бачать семантичних помилок. LLM-as-judge використовує окрему модель (наприклад, GPT-4 або Claude) для оцінки релевантності та фактичної узгодженості. Це дозволяє ловити галюцинації та невідповідності, які не проявляються в довжині або токсичності. Ми налаштовуємо LLM-as-judge на ваших даних: визначаємо критерії (helpfulness, safety, coherence) та частоту опитування. В середньому LLM-as-judge краще виявляє семантичні проблеми, ніж проксі-метрики, в 10 разів. Комбінований моніторинг краще за чисті проксі-метрики в 3 рази за повнотою виявлення.
Як налаштувати алерти на деградацію якості?
Алерти конфігуруються в Prometheus. Наприклад, якщо refusal rate за 15 хвилин перевищує 5%, або середня довжина відповіді падає нижче 50 токенів (при історичному baseline > 150), система надсилає сповіщення в Telegram або Slack. Пороги налаштовуються індивідуально під вашу модель. Дрейф якості детектується KS-тестом на ковзному вікні метрик — при значній зміні розподілу генерується alert. Prometheus documentation recommends setting alert thresholds based on historical baselines.
def detect_quality_drift( metric: str, recent_values: list[float], # останні N запитів baseline_values: list[float] # історичний baseline ) -> DriftDetection: from scipy.stats import ks_2samp # Kolmogorov-Smirnov тест на зміну розподілу statistic, p_value = ks_2samp(baseline_values, recent_values) # Середнє значення recent_mean = np.mean(recent_values) baseline_mean = np.mean(baseline_values) relative_change = (recent_mean - baseline_mean) / baseline_mean return DriftDetection( metric=metric, is_drifted=p_value < 0.05, relative_change=relative_change, direction="improvement" if relative_change > 0 else "degradation", severity="high" if abs(relative_change) > 0.10 else "medium" if abs(relative_change) > 0.05 else "low" ) Приклад коду метрик для Prometheus
from prometheus_client import Histogram, Counter, Gauge RESPONSE_LENGTH = Histogram("llm_response_length_tokens", "Response length distribution", buckets=[10, 50, 100, 200, 500, 1000, 2000]) REFUSAL_COUNT = Counter("llm_refusal_total", "Refusal responses") QUALITY_SCORE = Gauge("llm_quality_score", "Rolling quality score", ["model"]) # Алерти # ALERT якщо refusal_rate за 15 хвилин > 5% # ALERT якщо середня довжина відповіді < 50 токенів (була > 150) # ALERT якщо quality_score < baseline - 0.1 Процес впровадження
- Аналітика — вивчаємо ваш пайплайн: модель, промпти, навантаження, бізнес-вимоги до якості. Визначаємо baseline метрик.
- Проєктування — обираємо стек (Prometheus, Grafana, вбудовані проксі) та пороги алертів. Інтегруємо LLM-as-judge з вашою API.
- Реалізація — розгортаємо збір метрик, налаштовуємо дашборди та алерти. Для дрейфу використовуємо KS-тест.
- Документація та навчання — передаємо схему метрик, інструкції з реагування на алерти, навчаємо команду (2-годинний workshop).
Що входить у роботу
- Дашборди Grafana з історичними трендами та current state.
- Prometheus алерти з порогами.
- Скрипти моніторингу (Python) для проксі та LLM-as-judge.
- Документація: опис метрик, інструкції з реагування.
- Навчання команди.
- Підтримка протягом місяця після впровадження.
Терміни та вартість
Типовий проєкт займає від 2 до 4 тижнів. Орієнтовна вартість — від $5,000 до $15,000 залежно від складності. Економія від запобігання деградації якості може становити десятки тисяч доларів на рік. Пишіть нам для оцінки вашого проєкту під ключ — отримайте консультацію. Замовте впровадження, і ми налаштуємо моніторинг, який захистить ваш бізнес від непомітного падіння якості.







