Про тестирование недетерминированных систем

habrahabr.ru · world
Full story

The author recently launched a first AI-based project: a personal diary in which the neural network acts as an observer, not a psychologist or adviser. The user writes an entry, and the AI summarizes it and decides whether to ask a leading question based on that entry. Once a week or once a month, it also compiles a retrospective from the entries. The piece also concerns testing nondeterministic systems before launch.

Недавно я запустил свой первый проект на основе ИИ. Это личный дневник, в котором нейросеть выполняет роль наблюдателя, а не психолога или советчика. То есть пользователь делает запись, ИИ ее конспектирует, принимает решение - задать ли наводящий вопрос на основе этой записи, а раз в неделю или месяц собирает ретроспективу по сделанным записям. Перед запуском, естественно, встал вопрос тестирования, и, если с юнит тестами или интеграционными все более-менее понятно - там, проверили, что circuit breaker отработал и через 3 попытки бросил исключение, или что отработали лимиты по вводу для отдельной записи - то как тестировать те самые конспекты и вопросы? И вот тут начинается область, где классические техники тест-дизайна перестают работать - слишком много вводных для того же попарного тестирования или таблицы принятия решений. Я не хочу сказать, что они в принципе не применимы ко всем LLM системам - наоборот, в практике я уже их использовал для агента создания рекламных кампаний. Различия начинаются там, где LLM перестает задавать набор определенных вопросов по набору бизнес правил, и начинает обрабатывать "сырой" пользовательский ввод. Читать далее

Read full article → Compare