Rogue открыт: фреймворк для сквозного тестирования агентных ИИ
Что такое Rogue и почему это важно
Агентные системы отличаются от традиционного ПО — они стохастичны, зависят от контекста и ограничены политиками. Обычные методы QA — модульные тесты, статические промпты или единичные оценки «LLM-судьи» — не выявляют уязвимости в многотуровых диалогах и дают слабые аудиторские следы. Командам разработчиков нужны корректные по протоколу разговоры, явные проверки политик и машинно-читаемые доказательства, позволяющие безопасно выпускать релизы.
Qualifire AI опубликовала в открытом доступе Rogue — Python-фреймворк для оценки агентов по протоколу Agent-to-Agent (A2A). Rogue переводит бизнес-политики в исполняемые сценарии, запускaет многотуровые взаимодействия с тестируемым агентом и генерирует детерминированные отчеты, пригодные для CI/CD и проверок соответствия.
Быстрый старт и требования
Перед запуском убедитесь, что у вас есть:
- uvx (установите, следуя руководству по uv)
- Python 3.10+
- API-ключ провайдера LLM (OpenAI, Google, Anthropic и т.д.)
Установка (рекомендуется быстрый путь)
Используйте автоматический установщик uvx, чтобы быстро запустить систему:
# TUI
uvx rogue-ai
# Web UI
uvx rogue-ai ui
# CLI / CI/CD
uvx rogue-ai cli
Ручная установка
(a) Клонируйте репозиторий:
git clone https://github.com/qualifire-dev/rogue.git
cd rogue
(b) Установите зависимости:
Если вы используете uv:
uv sync
Или, если вы используете pip:
pip install -e .
(c) ПО ЖЕЛАНИЮ: настройте переменные окружения. Создайте файл .env в корне проекта и добавьте ваши API-ключи. Rogue использует LiteLLM, можно задать ключи для разных провайдеров:
OPENAI_API_KEY="sk-..."
ANTHROPIC_API_KEY="sk-..."
GOOGLE_API_KEY="..."
Запуск Rogue
Rogue построен по архитектуре клиент-сервер: основная логика оценки работает на сервере, а клиенты подключаются к нему (TUI, Web UI, CLI).
По умолчанию команда без указания режима запускает сервер в фоне и открывает TUI-клиент:
uvx rogue-ai
Доступные режимы:
- Default (Server + TUI):
uvx rogue-ai— сервер в фоне + TUI - Server:
uvx rogue-ai server— только бэкенд - TUI:
uvx rogue-ai tui— только терминальный клиент (требует запущенного сервера) - Web UI:
uvx rogue-ai ui— только Gradio-интерфейс (требует сервера) - CLI:
uvx rogue-ai cli— неинтерактивная оценка для CI/CD (требует сервера)
Примеры команд:
uvx rogue-ai server [OPTIONS]
Частые опции:
- –host HOST – хост для сервера (по умолчанию: 127.0.0.1 или переменная окружения HOST)
- –port PORT – порт (по умолчанию: 8000 или переменная PORT)
- –debug – включить debug-логирование
uvx rogue-ai tui [OPTIONS]
uvx rogue-ai ui [OPTIONS]
Опции UI включают --rogue-server-url, --port, --workdir, --debug.
Пример: тестирование агента магазина футболок
В репозитории есть пример агента, продающего футболки, чтобы продемонстрировать работу Rogue.
Установите зависимости примера:
Если вы используете uv:
uv sync --group examples
или, если вы используете pip:
pip install -e .[examples]
(a) Запустите сервер примера в отдельном терминале:
Если вы используете uv:
uv run examples/tshirt_store_agent
Если нет:
python examples/tshirt_store_agent
Агент будет доступен по адресу http://localhost:10001.
(b) В UI настройте Rogue на подключение к примеру. Пример настроек:
- Agent URL: http://localhost:10001
- Authentication: no-auth
(c) Запустите оценку и наблюдайте, как Rogue тестирует политики агента магазина футболок. Можно использовать TUI (uvx rogue-ai) или Web UI (uvx rogue-ai ui).
Где применим Rogue
- Усиление безопасности и соответствия: проверка обработки PII/PHI, корректных отказов, предотвращения утечек секретов и соблюдения регуляторных политик с заякоренными транскриптами.
- E-commerce и поддержка: проверка правил скидок, возвратов, эскалации по SLA и корректного использования инструментов под adversarial-условиями.
- Агент для разработчиков/DevOps: оценка ограничения рабочего пространства, semantics отката, rate-limit/backoff и предотвращения опасных команд.
- Мультиагентные системы: верификация контрактов планировщик-исполнитель, переговоры по возможностям и согласование схем по A2A.
- Регрессия и мониторинг дрейфа: ночные прогонки против новых версий моделей или изменений промптов для обнаружения отклонений в поведении.
Как Rogue устроен
Rogue синтезирует бизнес-контекст и риски в структурированные тесты с четкими целями, тактиками и критериями успеха. EvaluatorAgent выполняет протокольно-корректные диалоги в режимах одиночного шага или глубоких многотуровых adversarial-сценариев. Можно подключить собственную модель или позволить Rogue использовать SLM-жюри Qualifire для управления тестами. Система предоставляет стриминговую наблюдаемость и детерминированные артефакты: живые транскрипты, вердикты pass/fail, объяснения, привязанные к фрагментам транскрипта, временные метрики и историю версий моделей.
Архитектура и интерфейсы
- Rogue Server: основной движок оценки
- Клиенты: TUI (Go + Bubble Tea), Web UI (Gradio), CLI для автоматических оценок в CI/CD
Такое разделение позволяет гибко разворачивать систему, когда сервер работает автономно, а клиенты подключаются параллельно.
Практический эффект
Rogue помогает командам тестировать поведение агентов так же, как они работают в продакшене. Система превращает текстовые политики в конкретные сценарии, отрабатывает их по A2A и сохраняет аудируемые транскрипты. На выходе вы получаете повторяемый сигнал для CI/CD, позволяющий ловить нарушения политик и регрессии до публикации.
Где найти
Rogue доступен на GitHub в организации Qualifire. Благодарности команде Qualifire за экспертизу и ресурсы, поддержавшие этот проект.