СЕРГЕЙ РЕВИН
← Все работы

Решение · боты и AI-функции

Эталонный набор для AI-функций: модель и промпт не меняются вслепую

AI-фичу легко сломать сменой модели или правкой промпта — и узнать об этом от пользователей. Решение — эталонный набор размеченных примеров и прогон, который перед каждым изменением считает precision, recall, задержку и стоимость. Ухудшились метрики — изменение не выходит.

Как это выглядит

Макеты на демо-данных, без реальных данных

🧪Сравнение моделей

МодельФразPrecision / RecallЗадержкаСтоимость
gpt-4o-mini601,0 / 1,0764 мс$0,06
gpt-5.2631,0 / 1,01 203 мс$0,063
Прогоны Bruno на одном наборе

Коротко

В проде
В собственном продукте Bruno
Подходит
Любым AI-функциям: классификация, извлечение, поиск
Нужно
Несколько десятков размеченных примеров из вашей реальной работы

Результат у клиента

  • 63

    размеченные фразы в наборе Bruno: 27 обещаний и 36 «не обещаний»

  • 2

    модели сравнены на одном наборе — по качеству, задержке и цене

Оценка для вашей компании

  • ≈1–2 ч

    ручной проверки экономится на каждом изменении модели или промпта

    Допущение: 60+ примеров × 1–2 минуты на ручную проверку каждого (наше допущение)

Это расчёт, а не обещание: подставьте свои объёмы — и цифра изменится.

Как было

  • После смены модели «вроде работает» — пока пользователь не наткнётся на ошибку.
  • Непонятно, стала ли новая версия промпта лучше или просто другой.
  • Дорогая модель выбирается «на всякий случай», хотя дешёвая справляется не хуже.

Что построено

Набор из реальной работы

Примеры собираются из настоящих данных и размечаются: что считать правильным ответом, а что нет. В наборе есть и отрицательные примеры — то, на что функция срабатывать не должна.

Прогон и метрики

Скрипт прогоняет весь набор и считает precision, recall, F1, среднюю задержку и стоимость прогона.

Порог для выпуска

Изменение, которое ухудшает метрики, не выходит. Результаты прогонов сохраняются — видно, как качество менялось со временем.

Стек

  • TypeScript
  • OpenAI
  • JSON-фикстуры

Где это работает

Вопросы

Разве 1,0 на наборе — не идеальная точность?

Нет: это результат на небольшом наборе, и мы используем его как порог, а не как обещание. Его задача — поймать регрессию до пользователей.

Сколько нужно примеров?

Для старта — несколько десятков из вашей реальной работы, включая сложные и пограничные случаи. Набор растёт вместе с найденными ошибками.

Похожая задача? Напишите — начнём с разбора процессов.

Написать в Telegram