# Задание 5: Human-in-the-Loop через middleware ## Описание Агент с `HumanInTheLoopMiddleware`: при каждом вызове инструмента агент останавливается, в терминале показывается что он хочет сделать, пользователь вводит решение (approve или reject), после чего выполнение возобновляется через `Command(resume=...)`. ## Стек - Python 3.10+ - langchain-core, langchain-openai, langgraph ## Установка ```bash pip install -r requirements.txt cp .env.example .env # Заполнить OPENAI_API_KEY в .env ``` ## Запуск ```bash python main.py "Какая погода в Казани сегодня?" ``` ## Архитектура - `get_weather`, `search_web` — инструменты агента - `HumanInTheLoopMiddleware` — middleware для подтверждения вызовов - `run_agent_with_hitl()` — цикл: invoke → __interrupt__ → решения → resume - Поддерживаются `approve` и `reject` для каждого вызова инструмента