diff --git a/README.md b/README.md new file mode 100644 index 0000000..0b446f4 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# 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. +``` + +## Тесты + +Тесты отсутствуют, но можно проверить работу вручную, как показано выше.