# Human‑in‑the‑Loop via Middleware ## Описание Решение задачи «Human‑in‑the‑Loop через middleware». * Создан агент с `HumanInTheLoopMiddleware`. * При вызове инструмента `get_weather` агент останавливается и запрашивает подтверждение. * В консоли выводятся имя инструмента, аргументы и описание (если есть). * Пользователь вводит `a` – approve, `r` – reject (с возможностью указать причину) или `e` – edit (необязательно). * После всех решений агент возобновляется через `Command(resume={"decisions": …})`. * Цикл продолжается до тех пор, пока не будет выполнен весь диалог. ## Установка ```bash pip install -r requirements.txt ``` ## Запуск ```bash python main.py "Какая погода в Казани сегодня?" ``` Если аргумент не передан, будет использовано сообщение по умолчанию. ## Пример работы ``` $ python main.py "Какая погода в Казани сегодня?" --- Подтверждение --- Инструмент: get_weather Аргументы: {'city': 'Казань', 'date': 'сегодня'} a = approve, r = reject, e = edit: a Агент: The weather in Казань on сегодня is sunny with a high of 25°C. ``` ## Тесты Тесты отсутствуют, но можно проверить работу вручную, как показано выше.