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