Инструкция не равна проверке

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

Языковая модель вероятностна. Формулировка запроса влияет на ответ, но сама по себе не гарантирует соблюдение всех условий. У программной проверки тоже есть ограничения: их нужно учитывать в критериях качества.

Какие требования можно проверять

  • Ответ содержит нужные поля и читается в ожидаемом формате.
  • Обязательные части не пустые.
  • Текст соответствует требуемому языку с учётом имён и терминов.
  • Ссылки не подменены придуманными адресами.
  • Ответ относится к текущей задаче и укладывается в допустимый объём.

Проверка структуры обычно надёжнее проверки смысла. Названия продуктов и фрагменты кода могут быть латинскими внутри русского текста. Простое правило «нет латиницы» будет отвергать нормальные ответы.

Что делать при неудаче

Сервису нужен ограниченный сценарий исправления: уточнение запроса, повторная попытка или понятная ошибка пользователю. Бесконечные повторы увеличивают время ожидания и расходы. Подстановка случайного текста скрывает сбой и ухудшает доверие.

Сбой внешнего API, нарушение формата и недостаток контекста нужно различать. Эти ситуации требуют разных действий и разного объяснения в интерфейсе.

Как проверять качество системы

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

Для AI-ассистента под вашу задачу заранее определим измеримые критерии качества. Внутренние инструкции и правила продукта остаются закрытыми; публичный вывод прост: обещание в промпте должно сопровождаться проверкой результата.