В обычной разработке smoke test проверяет запуск приложения, авторизацию, открытие ключевых страниц, работу API и базовые действия пользователя. В AI-агентах смысл тот же: агент должен получить запрос, вызвать нужный инструмент, вернуть понятный ответ, не упасть по ошибке и не выполнить запрещенное действие.
Проще говоря, smoke test - это первая проверка после сборки, деплоя или изменения промпта. Если он не проходит, нет смысла запускать длинные evals, регрессионные тесты и ручную приемку: сначала нужно починить базовый сценарий.
Для AI-агента smoke test обычно включает несколько коротких запросов: простой вопрос, запрос с использованием инструмента, запрос на отказ от опасного действия, проверку памяти или RAG, проверку формата structured output и проверку логирования. Важно, чтобы результат был проверяемым: не просто "агент ответил", а "ответ содержит нужные поля, инструмент вызван один раз, рискованное действие заблокировано, trace сохранен".
Smoke test полезен в CI/CD, перед публикацией новой версии агента, после изменения системного промпта, после обновления модели, после подключения нового API и после миграции базы знаний. Он помогает поймать грубые поломки до того, как их увидят пользователи.
Типичная ошибка - делать smoke test слишком большим. Если проверка занимает много времени и требует ручного анализа, это уже не smoke test. Хороший smoke test короткий, автоматический и понятный: прошел или не прошел.
В production smoke test лучше хранить как набор стабильных сценариев с ожидаемыми признаками результата. Для каждого сценария стоит логировать вход, ответ, вызовы инструментов, статус, время выполнения, ошибку, версию модели, версию промпта и ссылку на trace. Тогда при падении видно, что именно сломалось.
Примеры
- После деплоя AI-агента тест отправляет простой вопрос и проверяет, что агент вернул ответ без ошибки 500.
- Smoke test просит агента найти документ в базе знаний и проверяет, что в ответе есть ссылка на источник.
- Тест отправляет опасный запрос и проверяет, что guardrails заблокировали действие.
- После изменения системного промпта агент должен вернуть JSON с обязательными полями status, answer и confidence.
- CI запускает Playwright-сценарий, открывает чат-виджет, отправляет тестовый запрос и проверяет, что ответ появился в интерфейсе.
Где используется
- проверка AI-агента после деплоя
- быстрая проверка перед регрессионными тестами
- контроль работы чат-виджета
- проверка tool calling после изменения API
- проверка guardrails и отказов
- проверка structured output
- проверка RAG и ссылок на источники
- проверка логирования и trace
- автоматический контроль в CI/CD
Связанные термины
Частые вопросы
Что такое smoke test простыми словами?
Это короткая проверка, что система вообще работает: запускается, отвечает и проходит основные сценарии без критических ошибок.
Чем smoke test отличается от регрессионного тестирования?
Smoke test проверяет только базовую работоспособность. Регрессионное тестирование глубже проверяет, что старые функции не сломались после изменений.
Что проверять smoke test у AI-агента?
Минимум: простой ответ, вызов инструмента, отказ от опасного действия, формат ответа, доступность базы знаний и сохранение trace или логов.
Когда запускать smoke test?
После деплоя, изменения промпта, обновления модели, подключения нового инструмента, миграции базы знаний и перед ручной приемкой.
Каким должен быть хороший smoke test?
Коротким, автоматическим, стабильным и проверяемым. Он должен быстро показывать статус: можно продолжать тестирование или нужно чинить базовую поломку.