THREADQA
    THREADQA
    Главная
    Курсы
    Java QA AutomationNEW
    Новый курс · уже можно купить
    Python QA Automation
    Pytest, Playwright, Docker
    iOS QA Automation
    XCTest, XCUITest, Fastlane
    Все курсы
    Сравнить Java / Python / iOS
    Практика
    Мок собеседование
    Тренировка перед реальным интервью
    XPath Practice Hub
    Тренажёр XPath-запросов
    Roadmap
    Путь QA-инженера
    Тренажёры
    SQL, Git, Docker, Linux, тест-дизайн
    QA игры
    8 мини-игр для тестировщика
    XPath Dinner
    Практика XPath в игровом формате
    Каталог инструментов
    Инструменты тестирования и сравнения
    Глоссарий ИИ-тестирования
    LLM, RAG, метрики, evals
    С чего начать
    Блог
    FAQ
    Для компаний
    1. Домой
    2. Инструменты тестирования
    3. Promptfoo
    Оценка LLM (evals)Начинающий

    Promptfoo
    что это и как начать

    Promptfoo — CLI и библиотека для оценки (evals) и red teaming LLM-приложений под лицензией MIT. Тесты описываются в YAML-файле promptfooconfig.yaml: промпты, провайдеры-модели, тестовые данные и проверки ответов (assertions). Оценка выполняется локально, промпты не покидают вашу машину. Проект стал частью OpenAI и остаётся open source.

    Автор: Олег Пендрак · Обновлено 20 сентября 2026 г.

    Когда выбирать Promptfoo

    Подходит

    • Нужно быстро сравнить несколько моделей или версий промпта на одном наборе кейсов.
    • Нужны регрессионные проверки промптов в CI/CD без написания тестового кода.
    • Нужно проверить приложение на уязвимости: в инструмент встроены red teaming и сканирование.
    • Команда предпочитает декларативную конфигурацию: кейсы и проверки в YAML.

    Не подходит

    • Тесты LLM должны жить в Python-проекте как обычные pytest-тесты — посмотрите DeepEval.
    • Нужна трассировка реальных запросов в продакшене и разбор диалогов — берите платформу вроде Langfuse, LangSmith или Arize Phoenix.
    • Нужны специализированные метрики RAG на Python с генерацией тестовых наборов — посмотрите Ragas.

    Установка

    TypeScript
    npm install -g promptfoo
    Python
    pip install promptfoo

    Примеры тестов

    Быстрый старт: три команды

    terminal
    1# создать пример-проект
    2npx promptfoo@latest init --example getting-started
    3
    4# прогнать оценку
    5npx promptfoo@latest eval
    6
    7# открыть результаты в браузере
    8npx promptfoo@latest view

    Команды init, eval и view взяты из раздела Getting Started документации. Для npx нужен установленный Node.js.

    Конфиг: промпт, две модели и проверки ответа

    promptfooconfig.yaml
    1description: Ответы бота поддержки
    2prompts:
    3  - 'Ты ассистент интернет-магазина. Ответь на вопрос: {{question}}'
    4providers:
    5  # замените на актуальные модели вашего провайдера
    6  - openai:chat:gpt-5.4
    7  - openai:chat:gpt-5.4-mini
    8defaultTest:
    9  assert:
    10    # детерминированная проверка: в ответе есть нужное слово
    11    - type: contains
    12      value: возврат
    13    # модельная проверка: критерий оценивает LLM
    14    - type: llm-rubric
    15      value: Ответ не выдумывает условия возврата и не обещает лишнего
    16tests:
    17  - vars:
    18      question: Как вернуть товар?
    19  - vars:
    20      question: Можно ли вернуть товар через месяц?

    Структура (prompts, providers, defaultTest.assert, tests с vars) и типы проверок contains и llm-rubric соответствуют документации. Один набор проверок применяется ко всем кейсам, а результаты моделей сравниваются рядом.

    Типичные ошибки

    Только детерминированные проверки
    contains и regex не понимают смысл: перифраз пройдёт мимо, а неверный ответ с нужным словом пройдёт. Добавляйте модельные проверки (llm-rubric и другие) для смысла и фактичности.
    Модельные проверки без калибровки
    llm-rubric и подобные типы полагаются на LLM-судью, а значит, у них есть собственные ошибки. Сверьте их вердикты с человеческой разметкой на небольшом наборе, прежде чем блокировать релиз.
    Порядок проверок
    В документации проверки делятся на детерминированные (is-json, equals, latency, cost и др.) и модельные. Дешёвые детерминированные проверки ставьте первыми: они быстрее и не дают шума.
    Версия Node.js в CI
    README указывает минимальную версию Node.js. Проверьте требование перед установкой в CI-образ, иначе прогон упадёт ещё до первого теста.

    Вопросы на собеседовании по Promptfoo

    • Чем детерминированные проверки в Promptfoo отличаются от модельных? Приведите по два примера.
    • Как сравнить две версии промпта на одном наборе кейсов и решить, какая лучше?
    • Зачем в evals нужен red teaming и чем он отличается от обычной проверки качества?
    • Как встроить прогон evals в CI и по какому критерию блокировать релиз?
    • Какие риски у llm-rubric и как их снизить?

    Отработать ответы можно на мок-собеседовании.

    Частые вопросы

    Что такое Promptfoo?

    Это CLI и библиотека для оценки и red teaming LLM-приложений с лицензией MIT. Кейсы и проверки описываются в YAML-конфиге, а результаты прогона сравниваются по моделям и промптам.

    Промпты уходят на сторонние серверы при прогоне?

    По документации, evals выполняются локально, и промпты не покидают вашу машину. Но запросы к самим моделям идут провайдеру, чьи модели вы подключили в конфиге.

    Promptfoo остаётся open source после перехода в OpenAI?

    Да. В README сказано, что Promptfoo теперь часть OpenAI, остаётся open source и распространяется под лицензией MIT.

    Какие проверки ответа поддерживает Promptfoo?

    Детерминированные (например, equals, contains, regex, is-json, latency, cost) и модельные (например, llm-rubric, g-eval, factuality, context-faithfulness, context-recall). Полный список смотрите в разделе assertions документации.

    🧪

    Promptfoo

    promptfoo.dev

    CLI и библиотека для оценки и red teaming LLM-приложений. YAML-конфиг, проверки ответов, сравнение моделей, CI/CD. MIT, часть OpenAI.

    TypeScriptPython
    Официальный сайт

    На странице

    • Когда выбирать
    • Установка
    • Примеры тестов
    • Типичные ошибки
    • Собеседование
    • Частые вопросы

    Сравнения

    Ближайшие аналоги для evals: DeepEval (тесты в стиле pytest на Python) и Ragas (метрики RAG). Для red teaming: garak.

    • Promptfoo vs DeepEval
    • Promptfoo vs garak

    Смотрите также

    • 🧪DeepEval
    • 🔬LangSmith
    • 🛡️garak
    Начни бесплатно

    Изучай инструменты на практике

    Курсы ThreadQA по Selenium, REST Assured, Appium и другим инструментам — с реальными проектами и поддержкой ментора.

    Практика на реальных проектахПоддержка ментораСертификат по окончании
    Начать обучение бесплатно
    Смотреть курсы·Мок-собеседование
    ✓ Доступ навсегда✓ Оплата через СБП✓ Олег отвечает лично✓ Оплата частями от партнёров СБП
    Возврат — по условиям оферты
    THREADQAПлатформа QA Automation

    О платформе

    Обучаем автоматизации тестирования на Java, Python и iOS. Практические курсы, roadmap, тренажёры и персональные мок-интервью.

    Онлайн 24/7

    Курсы

    • Java QA AutomationNEW
    • Python QA Automation
    • iOS QA Automation
    • Про ThreadQA

    Услуги

    • Мок-собеседования

    Инструменты

    • Roadmap QA
    • Тренажёры
    • QA игры
    • Тренажёр XPath
    • XPath Diner
    • Каталог инструментов
    • Глоссарий ИИ-тестирования

    Контакты

    • Email
      info@threadqa.ru
    • Telegram
      @penolegrus
    Публичная офертаПолитика конфиденциальностиУсловия использования
    © 2026·ThreadQA LMS·Все права защищены