Promptfoo vs garakчто выбрать для тестирования LLM
Promptfoo — инструмент для оценки качества LLM-приложений, в котором есть и red teaming. garak — специализированный сканер уязвимостей LLM от NVIDIA: он проверяет, можно ли заставить модель отвечать нежелательным образом, с помощью набора проб (jailbreak, prompt injection, утечки данных, токсичность, галлюцинации). Для проверки качества берите Promptfoo, для широкого сканирования модели на уязвимости смотрите garak.
Автор: Олег Пендрак · Факты сверены с документацией 20 сентября 2026 г.
Что выбрать
Выбирайте Promptfoo, если:
- Нужны и проверки качества ответов, и red teaming в одном инструменте с YAML-конфигом.
- Хочется встроить проверки в CI/CD и проверять pull request на риски LLM.
- Нужно сравнивать несколько моделей и промптов рядом.
Выбирайте garak, если:
- Нужен специализированный сканер, который прогоняет готовые пробы: jailbreak, prompt injection, утечки данных, токсичность, галлюцинации.
- Вы тестируете саму модель или конечную точку (REST) на уязвимости, а не качество ответов приложения.
- Нужны структурированные логи прогона: JSONL и отдельный журнал попаданий.
Сравнение по критериям
| Критерий | Promptfoo | garak |
|---|---|---|
| Что это | CLI и библиотека для evals и red teaming LLM-приложений | Сканер уязвимостей LLM: проверяет, можно ли заставить модель сбоить нежелательным образом |
| Лицензия | MIT | Apache 2.0 |
| Установка | npm install -g promptfoo, brew install promptfoo, pip install promptfoo или npx promptfoo@latest | python -m pip install -U garak |
| Как описывается проверка | YAML-конфиг promptfooconfig.yaml | Пробы (probes), запускаемые из командной строки |
| Что проверяет | Качество ответов (детерминированные и модельные проверки), red teaming и сканирование уязвимостей, проверка pull request на риски LLM | Пробы: jailbreak (в том числе DAN), prompt injection, утечки данных, токсичность, галлюцинации |
| Поддерживаемые цели | Провайдеры: OpenAI, Anthropic, Azure, Bedrock, Ollama и другие | Hugging Face, OpenAI, AWS Bedrock, Replicate, Cohere, Groq и REST-эндпоинты |
| Результаты | Просмотр результатов в браузере командой promptfoo view | Структурированные логи JSONL для каждого прогона, журнал попаданий (hit log) и garak.log для отладки |
| CI/CD | README называет автоматизацию CI/CD | В проверенном README не описана |
Если в ячейке написано «в проверенном README не описано», это значит, что в изученных материалах такой информации нет, а не что возможности у инструмента нет. Проверьте актуальную документацию.
Как использовать вместе
Практический совет: эти инструменты решают смежные, а не одинаковые задачи. Promptfoo подходит для регулярных проверок качества и безопасности приложения в CI, а garak для отдельного глубокого сканирования модели или эндпоинта на известные классы атак.
Частые вопросы
Чем garak отличается от Promptfoo?
garak — специализированный сканер уязвимостей с набором проб (jailbreak, prompt injection, утечки данных, токсичность, галлюцинации). Promptfoo — инструмент evals для качества ответов, в котором есть и red teaming, и сравнение моделей.
Чем проверять устойчивость к prompt injection?
Оба инструмента подходят: garak содержит пробы prompt injection, а в Promptfoo есть red teaming. Дополнительно добавьте корзину атак в свой golden dataset и прогоняйте её на каждое изменение промпта и модели.
Нужен ли garak, если уже используется Promptfoo?
Это зависит от задач. Если вам нужно регулярное сканирование модели или эндпоинта набором проб, garak даёт готовые пробы и логи. Если хватает red teaming внутри Promptfoo, отдельный сканер может не понадобиться.
Источники
Другие сравнения
Изучай инструменты на практике
Курсы ThreadQA по Selenium, REST Assured, Appium и другим инструментам — с реальными проектами и поддержкой ментора.