Rogue открыт: фреймворк для сквозного тестирования агентных ИИ

Что такое Rogue и почему это важно

Агентные системы отличаются от традиционного ПО — они стохастичны, зависят от контекста и ограничены политиками. Обычные методы QA — модульные тесты, статические промпты или единичные оценки «LLM-судьи» — не выявляют уязвимости в многотуровых диалогах и дают слабые аудиторские следы. Командам разработчиков нужны корректные по протоколу разговоры, явные проверки политик и машинно-читаемые доказательства, позволяющие безопасно выпускать релизы.

Qualifire AI опубликовала в открытом доступе Rogue — Python-фреймворк для оценки агентов по протоколу Agent-to-Agent (A2A). Rogue переводит бизнес-политики в исполняемые сценарии, запускaет многотуровые взаимодействия с тестируемым агентом и генерирует детерминированные отчеты, пригодные для CI/CD и проверок соответствия.

Быстрый старт и требования

Перед запуском убедитесь, что у вас есть:

Установка (рекомендуется быстрый путь)

Используйте автоматический установщик 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

Доступные режимы:

Примеры команд:

uvx rogue-ai server [OPTIONS]

Частые опции:

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 на подключение к примеру. Пример настроек:

(c) Запустите оценку и наблюдайте, как Rogue тестирует политики агента магазина футболок. Можно использовать TUI (uvx rogue-ai) или Web UI (uvx rogue-ai ui).

Где применим Rogue

Как Rogue устроен

Rogue синтезирует бизнес-контекст и риски в структурированные тесты с четкими целями, тактиками и критериями успеха. EvaluatorAgent выполняет протокольно-корректные диалоги в режимах одиночного шага или глубоких многотуровых adversarial-сценариев. Можно подключить собственную модель или позволить Rogue использовать SLM-жюри Qualifire для управления тестами. Система предоставляет стриминговую наблюдаемость и детерминированные артефакты: живые транскрипты, вердикты pass/fail, объяснения, привязанные к фрагментам транскрипта, временные метрики и историю версий моделей.

Архитектура и интерфейсы

Такое разделение позволяет гибко разворачивать систему, когда сервер работает автономно, а клиенты подключаются параллельно.

Практический эффект

Rogue помогает командам тестировать поведение агентов так же, как они работают в продакшене. Система превращает текстовые политики в конкретные сценарии, отрабатывает их по A2A и сохраняет аудируемые транскрипты. На выходе вы получаете повторяемый сигнал для CI/CD, позволяющий ловить нарушения политик и регрессии до публикации.

Где найти

Rogue доступен на GitHub в организации Qualifire. Благодарности команде Qualifire за экспертизу и ресурсы, поддержавшие этот проект.