Практическое задание · application

LangGraph: HITL, crash-restart и Telegram

Условие

Зачем нужен

HITL и durable execution позволяют остановить workflow перед рискованным действием, дождаться решения человека и продолжить даже после перезапуска процесса. Это отделяет предложение агента от права выполнить действие.

Где применяется

  • подтверждение изменений в production;
  • финансовые, инфраструктурные и другие необратимые операции;
  • долгоживущие процессы, которые переживают рестарты;
  • согласование действий через Telegram или другой внешний интерфейс.

Задача

Расширить граф предыдущего задания управлением человеком и восстановлением после перезапуска.

Minimum

  • поставить interrupt() перед деструктивным действием;
  • передать человеку payload с предложенным действием;
  • продолжить через Command(resume=...);
  • разместить interrupt() до операций, которые могут повторить side effect.

Medium

  • подключить durable checkpointer, например SqliteSaver, и выполнить setup();
  • остановить процесс во время ожидания approval;
  • запустить новый процесс и продолжить по тому же thread_id.

Hard

  • подключить Telegram-бота;
  • отправлять payload с inline-кнопками;
  • поддержать approve, reject и edit;
  • безопасно связать синхронный граф и async-бота;
  • предусмотреть guard для истёкшего или уже завершённого thread.

Stretch-задача

Применить parallelization или subgraphs.

Моё решение

Решение пока не опубликовано.