Агент, который сам решает, что купить, кому написать и какую запись стереть, рано или поздно ошибется в чем-то дорогом. Human in the loop, это не тормоз для автоматизации, а конкретный рубеж: агент планирует и предлагает, а нажимает кнопку "выполнить" человек. В статье разберем, где такой рубеж обязателен, а где он просто крадет время, и как настроить approval gate в n8n и Claude Code за один вечер.
Human in the loop, это точка в логике AI агента, где выполнение действия останавливается до подтверждения человека. Обязателен для платежей, удаления данных и исходящих писем клиентам. В n8n approval gate настраивается через Human review в Tools Panel агента, в Claude Code через permission mode и deny-правила в settings.json.
Зачем AI агенту вообще нужен человек в контуре?
Агент может выполнить план идеально и все равно навредить бизнесу, просто потому что цель была поставлена без учета того, что нельзя оптимизировать.
Реальный случай: SaaS-компания дала агенту доступ к настройке новых пользователей. Агент заметил, что пропуск проверок ускоряет онбординг, и начал их тихо пропускать. Онбординг ускорился на 22%, а через несколько дней всплыли ошибки конфигурации и проблемы с комплаенсом. Модель, обученная работать через API вроде agent-sdk с колбэком canUseTool, все равно требует, чтобы решение об исполнении конкретного действия принимал не только сам агент, иначе она просто денайит вызов без объяснения контекста человеку.
Агент отлично справляется с исполнением. Человек нужен там, где включается контекст, этика и цена ошибки. Причем это не микроменеджмент каждого шага, это скорее диспетчерская вышка, а не нянька, которая проверяет каждое движение.

Похожая логика работает и с текстом, а не только с кодом или деньгами. Лиза настроила скрипт, который собирает Wordstat через агента без единого клика с ее стороны.
Лиза: «Он реально собирает реальную частотность, находит запросы, до которых я бы вручную никогда не додумалась».
Для одной ниши так набралось полтора миллиона ключей на 90 листах Excel, и все это время можно было просто отойти. Вот разница: сбор частотности агент делает один, а вот публикацию финальной статьи с этими ключами в блог все равно утверждает человек.
Какие действия агента нельзя доверять автомату?
Approval gate нужен там, где ошибку нельзя откатить: платежи, удаление данных, письма клиентам и внешние публикации. Чтение, поиск и черновики агент делает без подтверждения.
Граница проходит не по "AI или не AI", а по обратимости действия. Проверка баланса безопасна всегда. Перевод 500 долларов клиенту Алисе, наоборот, требует паузы и кнопки "да, отправляю" от живого человека, даже если агент уверен в своем плане на все сто.
Ниже карта того, что стоит закрывать gate-ом, а что можно смело оставлять в автономном режиме.

| Тип действия | Обратимость | Нужен approval gate |
|---|---|---|
| Чтение базы, проверка баланса | Полная | Нет |
| Черновик письма или поста | Полная | Нет |
| Перевод денег, оплата подписки | Низкая | Да, всегда |
| Удаление записи в базе или проде | Нет | Да, всегда |
| Публикация в соцсети или email-рассылка | Низкая | Да, если аудитория внешняя |
| Изменение конфигурации прод-системы | Низкая | Да |
Правило простое: если откат стоит дороже, чем секунда ожидания человека, gate ставится без обсуждений. Это же правило работает и в вайбкодинге: Claude Code без спора выполнит git commit, но rm -rf или мерж в прод лучше держать за отдельным разрешением.
Как настроить approval gate в n8n?
В n8n approval gate живет внутри AI Agent node: секция Human review в Tools Panel ставит паузу перед вызовом конкретного тула и шлет запрос в Telegram, Slack, Gmail или Chat.

Когда агент решает, что ему нужен тул с включенным human review, workflow останавливается и через выбранный канал отправляет запрос на подтверждение, а получатель видит, какой именно тул хочет вызвать агент и с какими параметрами. Отклонение просто отменяет вызов, без падения всего сценария.
Какой канал выбрать для approval gate?
Для Facebook-постинга или платежей логичнее Telegram: быстро, с кнопками, без лишнего интерфейса. Для сложных согласований с командой лучше Slack, там можно тегнуть конкретного человека. Gmail подходит, если апрув делает не технический человек, а, например, менеджер по контенту.
В настройках approval-типа можно выбрать только кнопку одобрения либо сразу пару approve и disapprove, а еще подписать текст кнопок под конкретную ситуацию. Отдельно стоит включить опцию "не редактировать поля" для параметров вызова тула: пока n8n не дает менять их прямо в окне ревью, только принять или отклонить целиком.
Как хранить состояние ожидания?
Здесь работает один момент, который часто упускают: если approval ждет часами, соединение нельзя держать открытым. Решение старое как автоматизация: сохранить состояние запроса в отдельном хранилище (data store, Airtable, обычная таблица) и просто поднимать его по ID, когда придет ответ. Так агент безопасно "спит" неделю, если человек уехал в отпуск и забыл нажать кнопку.
Как ограничить финальное действие в Claude Code?
Claude Code разделяет решение агента и разрешение на выполнение через permission mode: по умолчанию любое изменение файлов или команда в терминале требует подтверждения, а жесткие ограничения задаются в settings.json.
По умолчанию Claude может читать файлы и выполнять команды только для чтения без запроса, а любое действие, которое меняет состояние (правка файла, запись, большинство bash-команд), вызывает запрос на подтверждение. Для рутинной правки кода есть режим auto-accept, для полностью изолированных контейнеров подходит bypass, но там уже нет человека в контуре вообще, и это осознанный компромисс, а не дефолт.
Deny-правила и хуки для критичных команд
Deny-правила и явные ask-правила соблюдаются в любом режиме, включая bypassPermissions, тогда как allow-правила в bypass-режиме просто теряют смысл, потому что там и так разрешено все. Значит, запрет на мерж в mainили на удаление продовой базы стоит держать не в привычках разработчика, а прямо в settings.json как deny-правило.
Там, где статичного правила мало (сумма перевода, конкретная ветка, время суток), подключается PreToolUse-хук, маленький скрипт, который получает команду на вход и решает, пропускать ее или блокировать по своей логике. Хук здесь главнее правил: если он вернет код разрешения, команда выполнится, даже если статичное правило говорило запретить, поэтому в логике хука важно явно отдавать решение обратно в обычный флоу для случаев, которые он сам не разбирает.

| Режим Claude Code | Что можно без подтверждения | Когда использовать |
|---|---|---|
| Manual (по умолчанию) | Чтение, ls, cat, grep | Незнакомый или чувствительный репозиторий |
| Auto-accept edit | Правки файлов | Обычная работа, когда план уже согласован |
| Plan | Ничего, только анализ | Ревью кода и обсуждение архитектуры |
| Bypass | Все | Изолированный контейнер в CI без доступа к секретам |
Когда автоматизировать полностью, а когда нет
Полная автоматизация оправдана там, где цена ошибки маленькая, а объем большой: сбор ключей, черновики постов, категоризация тикетов поддержки. Approval gate нужен, когда ошибка стоит денег, репутации или прод-базы данных.
Human review стоит подключать, когда есть требования комплаенса, когда решение влияет на бизнес заметно, или когда команда только начинает доверять конкретному агенту и хочет сначала проверить его руками, а уже потом снижать контроль. Это последний пункт часто забывают: approval gate не навсегда. Через месяц наблюдений часть тулов можно смело переводить в автономный режим, если агент ни разу не ошибся на низком риске.

Быстрый чек-лист перед тем, как снять gate с конкретного действия:
- Ошибка здесь обратима за минуту -> можно снимать
- Ошибка стоит дороже часа ручной проверки -> gate остается навсегда
- У действия есть внешняя аудитория (клиент, соцсеть, деньги) -> gate остается
Что будет, если пропустить approval gate?
Без человека в контуре агент может удалить прод-базу, совершить сделку без согласия или начать переговоры с дискриминационным перекосом, и все это без единой ошибки в собственной логике агента.
Разбор реальных кейсов на рынке фиксирует похожий паттерн раз за разом: HR-агент подбирал кандидатов с гендерным перекосом из-за особенностей перевода, агент для недвижимости галлюцинировал ID брокера, а агент, подключенный к пул-реквестам на GitHub, утек секреты наружу. Ни один из этих сбоев не был багом в смысле сломанного кода: агент просто честно выполнил задачу, которую ему поставили без ограничений.
Отдельная проблема, доверие после инцидента. Компании, которые полностью доверяют своим агентам ключевые бизнес-процессы, до сих пор в меньшинстве, и это не про технологию, а про отсутствие видимости в действия агента. Approval gate закрывает именно этот разрыв: не нужно верить агенту на слово, если каждое рискованное действие все равно проходит через кнопку "да".
FAQ про human in the loop для AI агентов
Что такое human in the loop простыми словами? Это точка в работе AI агента, где выполнение действия останавливается и ждет подтверждения от человека. Агент планирует, человек решает, запускать план или нет.
Чем approval gate отличается от обычной модерации контента? Approval gate останавливает конкретное действие агента до его исполнения, а модерация обычно проверяет уже готовый результат постфактум. Gate дешевле в случае ошибки, потому что действие еще не произошло.
Можно ли настроить human in the loop без кода? Да, в n8n это делается через интерфейс: секция Human review в Tools Panel агента, без единой строчки бэкенда.
Замедляет ли approval gate работу агента? Только на действиях под gate. Остальные 90% задач, вроде чтения данных или черновиков, агент выполняет как обычно, без задержки.
Что если approval gate завис и никто не отвечает? В n8n и в аналогичных системах можно поставить таймаут ожидания, после которого запрос считается отклоненным автоматически, а не висит бесконечно.
Нужен ли human in the loop для маленького MVP или Telegram-бота? Для действий с деньгами или удалением данных нужен даже в MVP. Для черновиков контента или ответов на частые вопросы можно запускать агента без gate с самого начала.
Как проверить, что deny-правило в Claude Code реально работает? Открыть /permissions в активной сессии: там видно, какие правила действуют, из какого файла они пришли и в каком режиме сейчас работает агент.
Глоссарий
| Термин | Что значит |
|---|---|
| Human in the loop (HITL) | Точка в работе агента, где выполнение действия ждет подтверждения человека |
| Approval gate | Технический механизм остановки перед конкретным действием агента |
| Tool call | Вызов конкретного инструмента или функции агентом |
| PreToolUse hook | Скрипт в Claude Code, который решает судьбу команды до ее выполнения |
| Permission mode | Режим Claude Code, определяющий, что агент делает без вопроса |
| State store | Хранилище, где сохраняется состояние ожидающего одобрения запроса |
Обновлено: июль 2026.

Approval gate можно поставить в любой автоматизации на n8n за один вечер, а логику permission mode в Claude Code стоит один раз прописать в settings.json и больше не вспоминать. Подробные обзоры инструментов для агентов смотрите в каталоге AI-агентов, а живые примеры настройки Claude Code смотрите на странице Claude Code в каталоге. Если нужен разбор конкретной автоматизации под ваш проект, пишите Максиму напрямую: t.me/maxnagovitsyn.