Перейти к содержимому

AI-наблюдаемость и evals

AI-фича хорошо показывает себя на демо, уезжает в продакшен и там тихо портится. Провайдер обновил версию модели, промпт оброс заплатками, поиск по базе просел вместе с ростом корпуса — и первым это замечает не мониторинг, а поддержка. Я выстраиваю слой, который ловит такое: трассы на каждый вызов, evals на каждое изменение, алерты на дрейф и расходы.

AI-наблюдаемость — это трассировка, оценка и алерты на поведение языковой модели в продакшене: каждый вызов и шаг инструментов записан, ответы оцениваются по наборам тестов, а дрейф качества и всплески расходов поднимают тревогу. Eval — это набор реальных кейсов с заранее согласованным правильным результатом и оценкой: он показывает, стало лучше или хуже после правки промпта или смены модели. Олег Сотников строит этот слой командам, которые выкатывают AI-фичи, чтобы проблемы с качеством всплывали на дашборде, а не в тикете поддержки.

Что этот слой делает

Шесть вещей, которые превращают поведение модели из ощущений в данные, с которыми команда может работать.

Трасса на каждый вызов

Одна трасса на пользовательский запрос: ушедший промпт, найденный контекст, вызовы инструментов, ретраи, токены и задержка каждого шага. Когда ответ выглядит странно, вы читаете цепочку, а не строите гипотезы.

Evals из настоящего трафика

Тестовые кейсы берутся из продакшен-трасс: реальные вопросы пользователей, включая те, на которых модель уже ошиблась. Синтетические примеры проходят тесты, которые потом ломают живые клиенты. Со временем из них вырастает полноценный evaluation-фреймворк для LLM, который команда пополняет сама.

Гейты на регрессии

Перед выкатом весь набор evals гоняется на каждую правку промпта и каждую смену модели, и оценка ниже порога блокирует мердж так же, как упавший юнит-тест. CI для поведения модели.

Алерты на дрейф качества

Оценки считаются постоянно, а не только на релизе. Ответы стали короче, отказов стало больше, провайдер выкатил новую версию модели — на каждое из этих событий приходит алерт, пока проблема ещё маленькая.

Стоимость по каждой фиче

Расходы на токены живут на тех же дашбордах, что задержки и ошибки, с разбивкой по фичам и моделям. Правка промпта, которая удвоила расходы, видна в день выката, а не в конце месяца в счёте от провайдера.

Разбор инцидентов

Пользователь жалуется на плохой ответ. Вы находите этот диалог, открываете его трассу и видите найденные документы, точный промпт и модель, которая всё это выдала. Минуты вместо вечера в логах.

Как это работает

1

Инструментирование

Трассировка встраивается в тот код, который у вас уже есть, без переписывания и без привязки к вендору на первой неделе. Если складывать данные некуда, я разворачиваю стек, на котором работаю сам и который отдаю клиентам вместе с работой: Grafana, Loki, Sentry, GitLab CI.

2

Набор evals

Достаём из трасс реальные кейсы, договариваемся, какой ответ считается хорошим для каждого, и превращаем это в набор с оценками: точные проверки там, где ответ фактический или структурный, и оценка более сильной моделью по описанной рубрике там, где нужно суждение. Тридцать кейсов лучше нуля, а набор растёт после каждого инцидента.

3

Гейты и передача

Набор гоняется в CI на каждое изменение промпта и модели, алерты срабатывают на дрейф и расходы, команда получает дашборды и инструкцию, как их читать. Цель — чтобы дальше вы вели это без меня.

Почему я

  • AppMaster обрабатывает 11+ млрд токенов в месяц в продакшене, и удерживает это команда из двух человек — ровно за счёт evals и телеметрии
  • Вместе с работой клиент получает платформу, на которой я работаю сам: GitLab с in-memory CI-раннерами, Sentry, Grafana, Loki — на $2 000–5 000 в месяц
  • 25+ лет в продакшен-системах, сейчас аптайм 99,99% для пользователей в 190+ странах

Частые вопросы

Что такое AI-наблюдаемость?

AI-наблюдаемость — это возможность увидеть, что модель на самом деле сделала в продакшене: полная трасса каждого запроса (промпт, найденный контекст, вызовы инструментов, токены, задержка, стоимость) плюс оценка качества того, что вернулось. Обычный мониторинг говорит, что API ответил 200 за 900 миллисекунд. AI-наблюдаемость говорит, что внутри этого ответа была ошибка, и показывает цепочку, которая к ней привела.

Что такое AI evals?

Eval — это набор тестов с оценками для поведения модели. Вы собираете реальные кейсы, фиксируете, какой ответ считается правильным или приемлемым для каждого, прогоняете промпт или модель по всему набору и получаете число. Часть проверок точные: валидный JSON, процитирован нужный документ, вызван нужный инструмент. Остальное оценивает более сильная модель по описанной рубрике. Смысл тот же, что у юнит-тестов: узнать о поломке раньше пользователей.

Какие инструменты LLM observability вы используете?

Зависит от вашего стека, и я не продаю ничей продукт. Если у вас уже есть управляемая платформа, я инструментирую под неё, а не переезжаю. Если ничего нет, по умолчанию беру self-hosted стек, на котором работаю сам и который отдаю клиентам: Grafana, Loki, Sentry. Трассы и оценки evals лежат там на равных с метриками и логами. Инструмент значит куда меньше, чем реальные тестовые кейсы и человек, который читает результаты.

Когда команде это нужно?

Слой нужен с того момента, когда AI-фича оказалась перед клиентами. До этого честно хватает таблички с тестовыми промптами. После этого качество едет незаметно: провайдеры обновляют модели, промпты обрастают заплатками, поиск по базе слабеет вместе с ростом корпуса. Обычно об этом задумываются после первой регрессии, которая дошла до пользователей, — до неё та же работа дешевле и спокойнее.

Чем это отличается от AI proof of concept?

PoC отвечает на вопрос, работает ли идея вообще: на реальных данных, за пару недель. Наблюдаемость и evals отвечают, работает ли она на шестой месяц, под настоящим трафиком, после девяти правок промпта и обновления модели, которое вы не выбирали. PoC добывает бюджет, набор evals его защищает. Если идея ещё не проверена, начните с PoC, а этот слой добавьте, когда фича выйдет к клиентам.

Узнайте, что ваш AI делает на самом деле

Тридцать минут про ваш стек, ваш трафик и места, где качество вероятнее всего уже поехало. Уйдёте с первыми кейсами для evals, даже если работать вместе мы не станем.

Бесплатный звонок на 30 минут. Если evals вам пока не нужны, я так и скажу.