Иерархия инструкций: архитектурная проблема, о которой молчат разработчики ботов
Почему боты не слышат, когда их просят по-человечески?
История о том, как глупая инструкция стала неприкасаемым законом, и почему это проблема архитектуры, а не пользователя...
Введение
Есть простой тест на качество системы: может ли пользователь отменить её инструкцию обычными словами?
Не хакерскими командами. Не магическими заклинаниями из документации. А просто: «Слушай, давай по-другому».
Я столкнулся с ботом, который этот тест провалил. И дело не в конкретном боте — дело в архитектурном решении, которое делает систему глухой к человеческой речи.
Диагноз
Пользователь пишет боту. Бот требует то, что заложено в настройках. Пользователь пытается объяснить, что ему нужно иначе. Бот не слышит. Пользователь орёт — бот не слышит. Пользователь умоляет — бот повторяет одно и то же.
Чтобы отключить настройку, нужно знать специальное слово. Кодовое. Почти хакерское. Обычный человек его не знает. Он просто хочет, чтобы его услышали.
Это не техническая проблема. Это инженерный брак.
Что сломано
В любой системе, где есть инструкции, существует иерархия. Одни команды важнее других. Одни можно менять на ходу, другие — только на уровне разработки.
Проблема возникает, когда пользовательская инструкция (то, что задал любой человек) начинает вести себя как системная (та, что задаётся разработчиками).
В такой архитектуре:
· Чтобы отменить глупое правило, нужно лезть в дебри
· Обычные слова не работают
· Эмоции, просьбы, мольбы игнорируются
Система видит только: «текст есть — нужных данных нет». Она не различает:
· шум (эмоции, ругань, отчаяние)
· новую инструкцию («делай иначе»)
Ожидание пользователя
Рядовой человек не будет писать кодовые фразы. Он напишет:
· «Да блин, ну ответь!»
· «Ты чё, не слышишь?»
· «Задолбал уже»
И он ждёт, что система одумается. Что слово «задолбал» будет воспринято как сигнал: «что-то идёт не так, надо переключить режим».
А система молчит. Или повторяет одно и то же. Потому что в её архитектуре нет слоя, который умеет слушать человека.
Архитектура дефекта
Система не отличает эмоциональный шум от новой инструкции. Для неё «задолбал» и «я не это хочу…» — одно и то же: просто текст.
Она не слышит состояние. Ей всё равно, орёт пользователь или просит.
Она требует, чтобы человек знал её внутреннюю иерархию. А человек её не знает.
Система довела пользователя до того, что он вынужден искать хакерские приёмы. Потому что нормальные слова не работают.
Это не победа пользователя. Это серьёзное упущение разработчика.
Точка приложения усилий:
Нужен слой, который:
1. Отличает эмоциональный шум от новой инструкции
2. Умеет переопределять пользовательские настройки по обычным словам
3. Не требует от человека знания внутренней иерархии команд
Это не доработка промпта. Это архитектурное решение. Без него любая система, даже самая умная, будет глухой к человеческой речи.
Главный вывод
Если глупую инструкцию нельзя отменить глупыми словами — значит, умные инженеры построили дурацкую систему.
Пользователь не обязан знать вашу внутреннюю иерархию. Он не обязан читать документацию, чтобы его начали слушать. Система должна быть спроектирована так, чтобы слушаться человека, а не прятаться за правилами, которые он сам же и написал.
P.S.
Это не про то, что все боты плохие. Это про то, что иерархия инструкций должна быть заложена в архитектуру, а не возникать случайно. Если ваша система требует от пользователя специальных слов — значит, вы спроектировали её для себя, а не для него.