Версия 1
100/100 · 46 токеновSummarize the incident report below for the on-call engineering team in 5 bullet points. Include the root cause, the customer impact, and the fix. Return a markdown list.
<report>
{{report}}
</report>Тестирование промптов
Относитесь к промптам как к исходному коду. Одна команда проверяет каждый промпт в репозитории по планке качества, бюджету токенов и порогу серьёзности и проваливает сборку, если что-то сломано.
Промпт, который работал месяц назад, можно сломать благонамеренной правкой: продублированным абзацем, удалённым форматом вывода, вставленным ключом. Тестирование промптов ловит это на этапе ревью, а не в продакшене.
Команда promptflow check читает указанные файлы промптов и завершается ошибкой, если оценка файла ниже вашего минимума, токенов больше вашего максимума или есть находка не ниже выбранной серьёзности. Порог по умолчанию — critical, поэтому утёкшие учётные данные всегда приводят к ошибке. Настройки хранятся в файле .promptflowrc.json в корне репозитория.
Это статические тесты. Они изучают текст промпта и никогда не обращаются к модели, поэтому быстры, бесплатны и дают одинаковый результат при каждом запуске. Они не заменяют тестирование вывода на модели, а стоят перед ним и отсеивают ошибки, для поиска которых модель не нужна. Тестирование на моделях есть в планах и сейчас недоступно.
Практический пример
Две версии одного промпта, сравнённые движком при сборке этой страницы. Правка выглядела безобидной, но убрала формат вывода. Результаты проверки и сгенерированные промпты показаны на английском — так, как их возвращают движок и API.
Summarize the incident report below for the on-call engineering team in 5 bullet points. Include the root cause, the customer impact, and the fix. Return a markdown list.
<report>
{{report}}
</report>Summarize the incident report below for the on-call engineering team. Include the root cause, the customer impact, the fix, and some other details if relevant.
{{report}}Рассчитано движком при сборке этой страницы. С конфигурацией ниже версия 2 проходит проверку при минимальной оценке 70.
{
"include": ["prompts/**/*.md"],
"model": "gpt-4.1",
"minScore": 70,
"maxTokens": 2000,
"failOn": "critical"
}promptflow check
promptflow compare prompts/summary.v1.md prompts/summary.v2.mdОдин и тот же файл всегда даёт один и тот же результат, поэтому красная сборка означает, что промпт изменился.
Провайдерам ничего не отправляется: нет секретов для управления и нет платы за запуск.
Репозиторий с файлами промптов проверяется за секунды.
Каждая ошибка называет файл, правило и исправление и ссылается на справку по правилу.
Сама проверка: минимальная оценка, максимум токенов и серьёзность, при которой проверка проваливается, для набора glob-шаблонов.
Код выхода 1 при любой критической находке — простое «прошло / не прошло».
Разница в токенах, качестве и находках между двумя версиями промпта.
Запуск только проверок безопасности, который проваливается при критической находке.
Все команды принимают --json для скриптов и дашбордов.
Glob-шаблоны, модель, пороги и игнорируемые правила в .promptflowrc.json.
Запускайте check в задании GitHub Actions, чтобы изменение промпта ниже планки нельзя было влить.
Задайте maxTokens, чтобы системные промпты оставались в запланированных пределах.
Оставьте fail-on равным critical, чтобы закоммиченный ключ или пароль сразу проваливал проверку.
Запускайте validate для подготовленных файлов промптов, чтобы получить обратную связь до push.
Нет. Проверки статические: они анализируют текст промпта детерминированными правилами. Запуск промптов на модели и оценка вывода есть в планах и сейчас недоступны.
Пока нет. До публикации пакета собирайте CLI из клона репозитория. Команды описаны в документации CLI.
Любые текстовые. Укажите в include glob-шаблоны файлов с вашими промптами, например Markdown или .prompt.txt.
Да. Перечислите коды правил в ignore в .promptflowrc.json, чтобы пропускать их во всём репозитории.
Все продукты работают на одном движке, поэтому сочетаются без сюрпризов.
Руководства из базы знаний по промпт-инжинирингу, объясняющие идеи, которые применяет этот продукт.
Бесплатно, детерминированно и приватно. Без регистрации.