Testes de prompts

Testes de prompts

Trate prompts como arquivos de código-fonte. Um único comando confere cada prompt de um repositório com um padrão de qualidade, um orçamento de tokens e um limite de gravidade, e faz o build falhar quando algum estiver quebrado.

  • CLI
  • Offline
  • Compilar a partir do código-fonte

O que faz

Um prompt que funcionava no mês passado pode quebrar com uma edição bem-intencionada: um parágrafo duplicado, um formato de saída removido, uma chave colada. Os testes de prompts pegam isso na revisão, e não em produção.

O comando promptflow check lê os arquivos de prompts que você indicar e falha quando um arquivo pontua abaixo do seu mínimo, usa mais tokens que o seu máximo ou tem um achado igual ou acima da gravidade escolhida. O limite padrão é critical, então uma credencial vazada sempre falha. As configurações ficam em um arquivo .promptflowrc.json na raiz do repositório.

São testes estáticos. Eles examinam o texto do prompt e nunca chamam um modelo, por isso são rápidos, gratuitos e idênticos em toda execução. Eles não substituem testes de saída com um modelo; ficam antes deles e eliminam as falhas que não precisam de um modelo para serem encontradas. Testes baseados em modelos estão no roadmap e não estão disponíveis hoje.

Exemplo prático

Uma regressão pega pelo compare

Duas versões do mesmo prompt, comparadas pelo motor quando esta página foi construída. A edição parecia inofensiva e removeu o formato de saída. Os resultados do motor e os prompts gerados aparecem em inglês, exatamente como o motor e a API os retornam.

Versão 1

100/100 · 46 tokens
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>

Versão 2

84/100 · 36 tokens
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}}
Qualidade
-16
Tokens
-10
Problemas novos
3
  • avisoTemplate variable not delimited: {{report}}.
  • infoNo output format is specified.
  • infoNo length limit for generated content.

Calculado pelo motor quando esta página foi construída. Com a configuração abaixo, a versão 2 passa na verificação com pontuação mínima de 70.

.promptflowrc.json
{
  "include": ["prompts/**/*.md"],
  "model": "gpt-4.1",
  "minScore": 70,
  "maxTokens": 2000,
  "failOn": "critical"
}
shell
promptflow check
promptflow compare prompts/summary.v1.md prompts/summary.v2.md

Principais benefícios

Recursos

Para quem é

Casos de uso

Perguntas frequentes

Os testes de prompts executam meus prompts em um modelo?

Não. As verificações são estáticas: analisam o texto do prompt com regras determinísticas. Executar prompts em um modelo e pontuar a saída está no roadmap e não está disponível hoje.

A CLI está no npm?

Ainda não. Até o pacote ser publicado, compile a CLI a partir de uma cópia do repositório. A documentação da CLI traz os comandos.

Que tipos de arquivo ela verifica?

Qualquer arquivo de texto. Aponte os globs de inclusão para os arquivos que guardam seus prompts, como arquivos Markdown ou .prompt.txt.

Posso ignorar uma regra?

Sim. Liste os códigos das regras em ignore no .promptflowrc.json para ignorá-las em todo o repositório.

Todos os produtos rodam o mesmo motor, então se combinam sem surpresas.

Aprenda a técnica por trás

Guias da central de conhecimento de engenharia de prompts que explicam as ideias que este produto aplica.

Experimente com o seu próprio prompt.

Gratuito, determinístico e privado. Sem cadastro.