Human-in-the-loop: какие действия AI должен отдавать на подтверждение
Самая частая ошибка при внедрении AI-агента — не «агент тупит», а «агент сделал что-то сам, и это заметили только на следующий день». Отправил клиенту не ту цену. Согласовал возврат, который нельзя было согласовывать. Изменил остатки на Wildberries, потому что неправильно понял запрос менеджера.
Проблема почти никогда не в модели. Проблема в том, что человек не решил заранее: что агент делает сам, а что показывает человеку перед выполнением. Этот выбор — и есть human-in-the-loop. Не «AI под присмотром вообще», а конкретный список действий, где перед необратимым шагом стоит кнопка «подтвердить».
Самая частая ошибка при внедрении AI-агента — не «агент тупит», а «агент сделал что-то сам, и это заметили только на следующий день». Отправил клиенту не ту цену. Согласовал возврат, который нельзя было согласовывать. Изменил остатки на Wildberries, потому что неправильно понял запрос менеджера.
Проблема почти никогда не в модели. Проблема в том, что человек не решил заранее: что агент делает сам, а что показывает человеку перед выполнением. Этот выбор — и есть human-in-the-loop. Не «AI под присмотром вообще», а конкретный список действий, где перед необратимым шагом стоит кнопка «подтвердить».
Ниже — как разложить действия по риску, где ставить точку подтверждения, сколько времени это реально экономит и как внедрить, не превращая агента обратно в ручную работу.
Коротко
- Human-in-the-loop — это не «человек проверяет всё», а точечные подтверждения перед действиями, которые дорого или невозможно откатить.
- Делите действия по двум осям: обратимость и цена ошибки. Отдавайте на подтверждение то, что необратимо и дорого: деньги, публичные сообщения от лица компании, изменения данных в CRM/маркетплейсе, обещания клиенту.
- Читать и предлагать агент может сам почти всегда. Писать вовне и менять состояние — под контролем, пока не наберётся статистика.
- Подтверждение работает, только если оно быстрое: один экран, вся суть, две кнопки. Иначе люди начинают жать «ок» не глядя.
- По мере накопления логов часть действий переводится в автономный режим — но осознанно, по данным, а не «чтобы не мешало».
В чём собственно проблема
AI-агент отличается от чат-бота тем, что он не просто отвечает текстом — он выполняет действия: пишет в CRM, отправляет сообщения, меняет цены, создаёт задачи, дёргает API. Если интересно, чем это принципиально отличается от обычного бота, есть отдельный разбор — что такое AI-агент для бизнеса.
И как раз здесь ломается интуиция. Когда бот ошибается в ответе — это неловко, но поправимо. Когда агент ошибается в действии — последствия остаются в реальном мире. Отправленное клиенту сообщение уже прочитано. Проведённый возврат уже в бухгалтерии. Удалённая карточка товара уже выпала из выдачи.
Модель ошибается не потому что «плохая». Она ошибается на границах: непонятная формулировка менеджера, редкий кейс, две одинаковые сделки, клиент, который написал одно, а имел в виду другое. На 95% запросов агент сработает чисто. Опасны оставшиеся 5% — и именно на них человек должен стоять в цепочке.
Задача human-in-the-loop — не замедлить агента, а поставить проверку ровно там, где цена ошибки высокая, и убрать её там, где низкая. Тотальный контроль убивает смысл автоматизации: если человек подтверждает каждый ответ в поддержке, проще отвечать самому. Ноль контроля создаёт риск, который однажды выстрелит дорого.
Как разложить действия по риску
Работающий способ — оценить каждое действие агента по двум признакам.
Обратимость. Можно ли откатить без потерь? Черновик задачи — да. Отправленное клиенту сообщение — нет. Изменённая цена на маркетплейсе — формально да, но покупатели уже увидели.
Цена ошибки. Что будет, если действие окажется неверным? Неправильный тег в CRM — мелочь. Неправильная сумма возврата — деньги и разбор. Грубый ответ клиенту от лица бренда — репутация.
Дальше действия сами раскладываются на четыре группы.
Зелёная зона — агент действует сам
Обратимо и дёшево. Здесь подтверждение только мешает.
- Читать входящие: заявки, письма, сообщения, отзывы, строки таблиц.
- Классифицировать и размечать: тема обращения, тип лида, приоритет, тональность отзыва.
- Готовить черновики: ответ клиенту, описание карточки, текст задачи — но не отправлять.
- Внутренние уведомления своей же команде: «пришла заявка с сайта», «отзыв 2 звезды по такому-то артикулу».
- Собирать и считать: свести отчёт, посчитать конверсию, найти зависшие сделки.
Общий принцип зелёной зоны: агент смотрит и предлагает, но ничего не отправляет наружу и не меняет боевые данные.
Жёлтая зона — подтверждение по умолчанию
Обратимо, но цена ошибки заметная. Или обратимо с усилием. Здесь подтверждение стоит по умолчанию, а снимается по накопленной статистике.
- Ответ клиенту в переписке (Telegram, чат на сайте, отзыв на WB/Ozon).
- Создание и изменение сделки в CRM, смена этапа воронки.
- Постановка задачи человеку с дедлайном.
- Отправка коммерческого предложения или счёта по шаблону.
- Ответ на негативный отзыв на маркетплейсе.
Красная зона — только через человека
Необратимо и/или дорого. Здесь подтверждение остаётся навсегда, независимо от того, насколько агент «созрел».
- Любое движение денег: возвраты, скидки сверх правил, компенсации, изменение цены.
- Изменение остатков и цен на WB/Ozon.
- Массовые рассылки клиентам.
- Юридически значимые обещания: сроки, гарантии, условия договора.
- Удаление данных, карточек, записей.
- Публикации от лица компании во внешних каналах.
Про маркетплейсы стоит сказать отдельно: у селлера почти всё, что меняет цену, остаток или карточку, — это красная зона. Агент отлично собирает отзывы, готовит черновики ответов и находит артикулы, требующие внимания. Но публикацию изменений цены или ответа на отзыв лучше держать за подтверждением — цена ошибки в выдаче и в марже слишком высокая.
Чёрная зона — не автоматизировать вообще
Не всё, что технически можно поручить агенту, стоит ему отдавать. Разговор с клиентом на грани расторжения. Решение по спорной претензии. Индивидуальная скидка крупному партнёру. Здесь агент — максимум помощник, который собирает контекст для человека. Решение остаётся за человеком целиком.
Где именно ставить точку подтверждения
Важный нюанс: подтверждать нужно действие, а не мысль. Пусть агент сам разберёт заявку, поймёт клиента, найдёт нужную цену в базе, составит ответ. Точка контроля — перед отправкой наружу или перед записью в боевую систему, а не на каждом шаге рассуждения.
Плохо: человек подтверждает, что агент «правильно классифицировал обращение». Это внутренний шаг, откатывается мгновенно, ошибка бесплатна.
Хорошо: агент сам всё разобрал и показывает готовое действие — «отправить клиенту вот такой ответ» / «провести возврат 4200 ₽ по заказу №...» — а человек одним взглядом решает: да или поправить.
И ещё одно. Подтверждение должно быть быстрым, иначе оно ломается само. Если чтобы одобрить действие, нужно открыть три вкладки и собрать контекст руками, человек через неделю начнёт жать «подтвердить» не читая. Тогда human-in-the-loop есть на бумаге, а по факту его нет.
Рабочий формат подтверждения — одно сообщение в Telegram или один экран, где сразу видно:
- что агент собирается сделать (конкретное действие, а не «ответить клиенту»);
- на основании чего (исходный запрос, найденные данные);
- две кнопки: «выполнить» и «поправить/отклонить».
Если действие затрагивает деньги — показывать сумму и заказ явно, чтобы ошибка бросалась в глаза. Если это ответ клиенту — показывать полный текст, а не «сформирован ответ».
Сколько это экономит на самом деле
Здравый вопрос: если человек всё равно подтверждает, где экономия?
Экономия не в том, что человек исчез из процесса. Она в том, что изменился характер его работы. Раньше менеджер сам читал заявку, лез в базу за ценой, вспоминал условия, формулировал ответ, копировал в чат. Теперь он видит готовое действие и тратит несколько секунд на «да / поправить».
Грубая, но честная арифметика на примере поддержки. Обработать типовое обращение вручную — 4–6 минут: прочитать, найти информацию, написать, отправить. С агентом в жёлтой зоне человек тратит 10–20 секунд на подтверждение готового ответа. Даже если четверть ответов он правит руками, суммарно на потоке в 100 обращений в день это разница между «полноценный день оператора» и «час контроля».
Второй эффект тише, но важнее: предсказуемое качество. Агент не устаёт к вечеру, не отвечает грубо в плохой день, не забывает про регламент. Человек контролирует край, а не тянет весь объём — и именно поэтому у него хватает внимания на сложные случаи из красной и чёрной зоны, где он реально нужен.
Про то, как понять, что процесс вообще созрел для автоматизации и стоит ли считать этот ROI, есть отдельный разбор — как понять, что процесс пора автоматизировать.
Риски, которые нельзя игнорировать
Human-in-the-loop снимает главный риск — необратимое действие без проверки. Но появляются свои ловушки.
Усталость от подтверждений. Если запросов на одобрение слишком много, человек привыкает жать «ок». Лечится тем, что в жёлтую зону попадает только то, что действительно требует взгляда, а зелёная зона идёт мимо.
Иллюзия контроля. Кнопка «подтвердить» есть, но человек не видит, на основании чего агент решил. Тогда он подтверждает вслепую. Поэтому в подтверждении всегда должен быть контекст, а не только итоговое действие.
Права доступа. У агента должны быть ровно те права, которые нужны его задачам. Агент поддержки не должен уметь менять цены. Агент по отчётам — только читать. Технически это разграничивается на уровне API-ключей и ролей, и это не «когда-нибудь потом», а часть первичной настройки.
Логи. Каждое действие агента — что предложил, что подтвердили, что отклонили, что он сделал сам — должно писаться в журнал. Без логов вы не разберёте спорный случай и не поймёте, какие действия пора переводить в автономный режим, а какие агент стабильно портит.
Тихие изменения промптов. Кто-то поправил инструкцию агента «на живую» — и поведение поехало. Изменения логики агента нужно версионировать так же, как код: что менялось, когда, кем. Иначе «вчера работало, сегодня нет» превращается в расследование без улик.
Как внедрять по шагам
- Выпишите все действия агента. Не роли и не «агент для поддержки», а конкретные действия: «отправляет ответ в Telegram», «меняет этап сделки», «проводит возврат», «ставит задачу».
- Разложите по зонам. Каждое действие — по обратимости и цене ошибки в зелёную/жёлтую/красную/чёрную. Спорные — в более строгую зону, всегда безопаснее начать с лишнего подтверждения.
- Настройте права под зоны. Агент физически не должен уметь делать то, что не в его задачах. Ограничение на уровне доступа надёжнее ограничения на уровне промпта.
- Сделайте подтверждение быстрым. Один экран, весь контекст, две кнопки. Проверьте на себе: можно ли принять решение за 10 секунд, не открывая ничего дополнительно.
- Включите логирование сразу. С первого дня, а не когда «что-то пошло не так». Логи — это ваша основа для решения, что можно автоматизировать дальше.
- Запустите в жёлтом режиме. Первые недели агент почти ничего не делает наружу без подтверждения. Это нормально и даже правильно: вы собираете статистику.
- Смотрите на процент правок. Если по конкретному действию человек неделями подтверждает без изменений — кандидат в зелёную зону. Если регулярно правит — оставляйте под контролем и разбирайтесь почему.
- Расширяйте автономию по данным. Переводите действия в автономный режим осознанно, на основании логов, а не потому что «надоело подтверждать». Красную зону не трогайте.
Этот же принцип, кстати, мы применяем к самому блогу Paramiko: черновики статей готовятся автоматически, но публикация остаётся за человеком, пока по типу материала не накопится доверие. Безопасные evergreen-темы со временем уходят в автопубликацию, коммерческие и спорные — всегда на подтверждение. Тот же human-in-the-loop, просто про контент.
FAQ
Human-in-the-loop замедляет автоматизацию? На типовых действиях — почти нет, если подтверждение быстрое: человек тратит секунды вместо минут. Замедляет только плохо сделанный контроль, где на каждое одобрение нужно собирать контекст вручную. Правильно расставленные точки, наоборот, дают запускать агента смелее — потому что дорогая ошибка перехвачена.
Можно ли со временем убрать человека совсем? Из части действий — да, из зелёной и постепенно из жёлтой зоны, по накопленной статистике. Из красной — нет: движение денег, изменение цен на маркетплейсе, юридические обещания и массовые рассылки разумно держать за подтверждением всегда, независимо от «зрелости» агента.
Как понять, какие действия у меня в красной зоне? Задайте два вопроса: можно ли откатить без потерь и сколько стоит ошибка. Если необратимо или дорого — красная зона. Деньги, публичные сообщения от лица компании, изменение боевых данных в CRM и на WB/Ozon почти всегда сюда попадают.
Что важнее для контроля — логи или подтверждения? Это про разные вещи. Подтверждения ловят ошибку до того, как она случилась. Логи позволяют разобрать спорный случай после и понять, что можно переводить в автономный режим. Нужно и то, и другое, но логи включайте с первого дня — без них вы работаете вслепую.
Агент может сам решать, когда спрашивать человека? Частично — он может, например, спрашивать при низкой уверенности или на нестандартном запросе. Но это дополнение, а не замена явных правил. Границы красной зоны задаёт человек и жёстко, потому что именно на непонятных случаях модель ошибается в оценке собственной уверенности.
С чего начать, если агента ещё нет? С разметки действий по зонам ещё до запуска. Это дешевле любой переделки: вы сразу проектируете агента с правильными правами и точками контроля, а не прикручиваете безопасность поверх готового решения.
Что делать дальше
Если у вас уже есть агент или бот, который что-то делает сам, — выпишите его действия и честно разложите по зонам. Скорее всего, найдётся пара мест, где наружу уходит то, что стоило бы показывать человеку.
Если хотите разобрать это на своём процессе — что у вас можно отдать агенту, что оставить под подтверждением, а что не автоматизировать вовсе — напишите Дмитрию в Telegram @dmkosik или опишите процесс для диагностики Paramiko. Разберём по зонам, без давления и без обещаний, что «AI всё сделает сам».