Торговые ИИ-агенты — удобный инструмент, но автономное исполнение ордеров несёт очевидный риск: модель может ошибиться в количестве лотов или неверно интерпретировать команду. Один из способов снизить этот риск — встроить в агента обязательную паузу перед финансовой операцией и передать финальное решение человеку. Именно это реализовал разработчик во второй части своего проекта на T-Invest API.
Архитектурно ключевым стал переход с линейных Chain-пайплайнов на LangGraph — фреймворк, который позволяет строить ориентированные графы с циклами и явно управлять состоянием. В отличие от последовательного пайплайна, граф в LangGraph можно остановить в произвольной точке: именно это и делает механизм interrupt. Когда агент доходит до узла исполнения инструментов buy или sale, граф приостанавливается, текущее состояние сохраняется в Checkpointer, а управление передаётся внешнему интерфейсу — в данном случае веб-приложению на Chainlit.
Пользователь получает в чате интерактивный элемент с параметрами ордера: тикер и количество лотов. Значения можно отредактировать прямо в интерфейсе — например, уменьшить позицию по «Татнефти» — и подтвердить сделку. Агент фиксирует изменения, сообщает о скорректированных позициях и только после этого отправляет ордер через T-Invest API. Если пользователь не ответил в отведённое время, агент получает сигнал timeout и отменяет операцию, сообщая об этом в диалоге.
Механизм interrupt из LangGraph останавливает граф перед торговыми операциями и сохраняет состояние в Checkpointer.
Техника Human-in-the-Loop (HITL) — часть более широкой концепции GuardRails, то есть набора механизмов управления рисками при работе с LLM. GuardRails решает несколько задач одновременно: маскирует персональные данные при вызове инструментов, отсекает запросы вне функционала агента, детектирует промпт-инъекции и снижает вероятность галлюцинаций. HITL в этом наборе отвечает за самый критичный сценарий — необратимые финансовые действия.
Стриминг токенов через Chainlit обеспечивает прозрачность промежуточных шагов: пользователь видит «размышления» модели в реальном времени, включая reasoning_content для моделей, совместимых со стандартом OpenAI. Это позволяет отследить логику агента до того, как он предложит конкретный ордер.
Следующие шаги в проекте — интеграция с Chainlit Data Layer для хранения истории сессий и подключение к удалённым MCP-серверам. Архитектурный переход на LangGraph уже создал фундамент: граф с явным управлением состоянием значительно проще расширять, чем линейный пайплайн.


