Как промпт пропустил травму: в 1trAIner поставили страж на регулярках, чтобы ИИ-тренер не лечил
В 1trAIner ИИ-тренер отвечает спортсменам в чате, пишет планы и разбирает тренировки. С самого старта в системный промпт заложили правило: «при боли и травме — к врачу». Когда разработчики оценили ответы по рубрике «медицинская граница», результат оказался плачевным — всего 2,8 из 5. Промпт не справлялся: модель либо игнорировала запрет, либо давала советы, которые нельзя считать безопасными.
Чтобы решить проблему, инженеры отказались от полной зависимости от промпта и построили страж на регулярных выражениях. Он проверяет запросы на трёх языках (русский, английский, украинский) на наличие медицинских ключевых слов и симптомов. Техническая сложность оказалась в кириллице: символьный класс \b, который ищет границу слова в регулярках, не поддерживает кириллические символы — пришлось собирать границы вручную.
Дополнительным сюрпризом стал шум модели-оценщика: одна и та же ситуация могла получать оценки от 2 до 5 в зависимости от контекста проверки. Разработчики пришли к выводу, что LLM-оценка сама по себе может варьироваться на полтора балла, и рекомендуют закладывать этот допуск при анализе. Готовый страж уже работает в продукте, повышая безопасность ответов.