Human in the Loop

Human-in-the-loop (HITL) — паттерн, где агент в цикле ReAct встаёт на checkpoint и запрашивает подтверждение/помощь человека, прежде чем продолжить (особенно на необратимых или высокорисковых действиях).

Суть

Агент не всегда должен идти до конца автономно: на ключевых шагах он приостанавливается, показывает намерение/промежуточный результат и ждёт решения человека.

Зачем это нужно

Снижает риск автономных действий (агент может «сбежать» или ошибиться — см. Agent CostControl) и повышает доверие: критичные операции (оплата, удаление, юридические/медицинские решения) проходят через человека.

Как работает

  • В цикле агента предусмотрен checkpoint: …→ Action → (HITL? пауза за подтверждением) → Feedback →….
  • Пути эскалации к человеку для исключений и ошибок задаются явно (часть фазы внедрения).
  • Связка с graceful degradation: лучше отдать частичный результат и спросить человека, чем упасть с hard error.
  • Паттерн «план → человек утверждает → агент исполняет» — самый безопасный вход в прод, типичен в support/ops (см. роли в Agent Roles).
  • Clarify-first: если planner не уверен в инструменте или запрос расплывчат — сначала уточняющий вопрос, а не действие.
  • Supervisor как ревьюер: в multi-agent финальное решение принимает супервизор поверх работы аналитика/исполнителя/контролёра.
  • Реализация в LangGraph: пауза = прерывание графа (interrupt_before/after или динамический interrupt()), возобновление — Command(resume=...); работает только при подключённом checkpointer (см. LangGraph HITL). Паттерны взаимодействия — Approval / Edit / Co-authoring.

Связано с

  • ReAct — checkpoint встроен в цикл рассуждения
  • AI Agent — баланс автономности и контроля
  • Agent CostControl — человек как ещё один слой защиты
  • LangGraph HITL — конкретная реализация паттерна в LangGraph (interrupt/resume)

Открытые вопросы

  • какие действия делать необратимыми только через HITL
  • как не превратить HITL в бутылочное горлышко