Подход
Модель сама по себе ничего не решает. Решает обвязка вокруг неё
Языковая модель хорошо понимает живую речь, но плохо держит дисциплину: один и тот же вопрос пересказывает по-разному, часть инструкций пропускает, а в длинном своде правил «забывает» середину. На этом ломается большинство внедрений.
Просто подключить модель
- Ответы плавают: одна и та же ситуация каждый раз описывается иначе
- Правила соблюдаются выборочно, особенно те, что в середине длинной инструкции
- Не зная ответа, модель охотнее придумает, чем признается
- Сбой или лимит провайдера останавливает процесс целиком
- Качество невозможно измерить: «вроде отвечает нормально»
- Каждый шаг идёт через модель, и счёт за токены растёт вместе с потоком
Модель в жёстком каркасе
- Где ответ однозначен, работает код: результат воспроизводим
- Модель отвечает за понимание формулировки, а не за принятие решения
- Если не уверена, уходит к человеку с пометкой вместо догадки
- Отказ провайдера перехватываем: процесс продолжается, вам уходит алерт
- Каждое решение логируется и проверяется на реальных данных
- Модель вызывается только там, где без неё никак, и счёт не растёт вместе с потоком
Детерминированное отдаём коду
Признаки, пороги, маршрутизация, проверки формата. Так надёжнее: код даёт один и тот же результат на одних и тех же данных.
Модели отдаём язык
Понять, что человек имел в виду, вытащить смысл из сбивчивого сообщения, прочитать текст со скриншота. Здесь модель незаменима, здесь её и используем.
Гейты уверенности
Действие выполняется, только когда модель уверена. Спорные случаи уходят человеку на разбор, с объяснением, почему не решили сами. Тихих ошибок не остаётся.
Экономия на вызовах
Детерминированная часть не стоит ничего. Модель подключается точечно и в подходящем размере: тяжёлая там, где нужна голова, лёгкая там, где надо просто разобрать текст. На реальном проекте это дало разницу в сотни раз.
Проверка результата
Ответ модели не принимаем на веру: проверяем кодом и прогоняем на исторических данных до выката. Правим по фактам, а не по ощущению.
Эта часть (оркестрация, гейты, проверки, фолбэки) занимает основное время и определяет, будет система работать через полгода или развалится. Подключить модель к чату можно за вечер. Сделать так, чтобы ей можно было доверить поток клиентов, за вечер нельзя.