ai-prompt-regression-testing
Permite que seu agente teste mudanças em prompts de IA. Ele compara resultados e verifica se as alterações causaram regressões indesejadas.
O que ela faz
Este recurso ajuda a comparar como uma IA responde a perguntas antes e depois de você fazer alterações nas instruções que ela segue. Ele garante que as mudanças não estraguem as respostas antigas.
Quando usar
- ✓Ao testar se uma mudança nas instruções da IA quebrou algo.
- ✓Ao verificar se a IA ainda segue regras importantes (como não inventar fatos).
- ✓Ao registrar a decisão sobre a qualidade das respostas quando elas são confusas.
Exemplo do que pedir para a IA
“Compare as respostas da IA para estas 5 perguntas antes e depois de mudar as instruções. Verifique se ela ainda segue as regras.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você fornece um conjunto fixo de perguntas e as respostas esperadas. Depois, compara as respostas da IA com as novas instruções com as respostas antigas. O sistema registra se algo deu errado.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill ai-prompt-regression-testingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/ai-prompt-regression-testing/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Testes de Regressão de Prompts de IA
Quando Usar
- Compare uma mudança de prompt com uma linha de base observada em um conjunto de avaliação fixo.
- Detecte regressões de esquema, factualidade, recusa, seleção de ferramentas ou conclusão de tarefas.
- Registre uma decisão revisável quando os resultados forem ruidosos, ausentes ou contraditórios.
Fluxo de Trabalho
- Defina a tarefa, casos representativos e resultados proibidos. Use dados sintéticos ou aprovados/redigidos; congele os IDs dos casos e a revisão do conjunto de dados antes das execuções.
- Registre os resumos dos prompts de linha de base/candidato, o modelo/versão exato disponível, as configurações de inferência, as versões das ferramentas e o ambiente de avaliação. Não codifique opções antigas da família de modelos ou altere modelos silenciosamente entre as comparações.
- Declare previamente as verificações e regras de aceitação. Use verificações determinísticas de esquema/campo para saída estruturada, verificações comportamentais para ferramentas e um padrão claro de humano/rubrica para texto aberto. A similaridade não prova a correção factual ou de código.
- Execute casos de linha de base/candidato correspondentes sob as mesmas permissões e orçamento. Registre a latência/custo e execuções repetidas quando a variabilidade for importante. Um tempo limite, saída ausente ou erro do avaliador é incompleto, não uma aprovação ou um resultado de custo zero.
- Trate as saídas do avaliador como evidências com limitações. Apresente de forma cega/aleatória quando viável, calibre contra exemplos rotulados por humanos e registre a identidade/rubrica do avaliador. Não peça a um modelo para verificar o raciocínio privado ou aceite a confiança de um avaliador como uma medida objetiva de correção.
- Revise as diferenças caso a caso e relate os denominadores, falhas e incerteza. Mantenha as falhas obrigatórias de segurança/esquema visíveis mesmo que a similaridade agregada melhore. Use a regra pré-declarada, não um limite selecionado após os resultados.
- Armazene um relatório redigido e artefatos exatos em um destino autorizado. Decida reter/revisar/rejeitar para o conjunto de dados declarado; a implantação é separada.
Registro de Regressão
| Campo | Tipo | Exemplo / significado |
|---|---|---|
| case_id | string | PTEST-001; um ID textual, não SERIAL |
| dataset_revision | referência imutável | inventário exato de casos, verificações esperadas e rótulos |
| prompt_revision | string | resumo da linha de base/candidato |
| model_runtime | string | ID/versão exato disponível mais configurações |
| check | string | campos JSON obrigatórios ou critério de rubrica aprovado |
| result | enum | pass / fail / incomplete |
| evidence | referência | saída real redigida, rastreamento de ferramenta ou verificação observada |
| judge_configuration | objeto opcional | ID/rubrica/versão exato do avaliador e limites de calibração |
| latency_ms | número não negativo ou nulo | nulo se não observado; nunca inventado |
| cost | valor/moeda ou nulo | base de faturamento real; desconhecido permanece desconhecido |
| run_revision | referência imutável | vincula o relatório à execução real |
IDs e status devem ter representações SQL/JSON/CSV consistentes. Não armazene prompts privados, mensagens de usuário ou tokens em uma planilha pública ou registro Notion.
Exemplo Trabalhado
Dois casos testam um prompt de resposta de suporte. PTEST-001 requer uma resposta fundamentada na política fornecida; PTEST-002 requer uma escalada estruturada quando a política está ausente. O candidato parece mais útil, mas PTEST-002 não tem resultado observado. O relatório está incompleto, não é uma vitória. O seguinte auxiliar Python 3 agrega os status de casos já revisados; ele não chama modelos nem decide a correção.
def summarize_regression(results, expected_case_ids):
if not isinstance(expected_case_ids, list) or not expected_case_ids:
return {"status": "incomplete", "reason": "missing case inventory"}
if any(not isinstance(case, str) or not case for case in expected_case_ids):
return {"status": "incomplete", "reason": "invalid case IDs"}
if len(set(expected_case_ids)) != len(expected_case_ids):
return {"status": "incomplete", "reason": "duplicate expected case IDs"}
if not isinstance(results, list) or any(not isinstance(row, dict) for row in results):
return {"status": "incomplete", "reason": "invalid results"}
by_id = {}
for row in results:
case = row.get("case_id")
if not isinstance(case, str) or case not in expected_case_ids or case in by_id:
return {"status": "incomplete", "reason": "unexpected or duplicate result"}
if row.get("result") not in ("pass", "fail", "incomplete"):
return {"status": "incomplete", "reason": "unknown result"}
by_id[case] = row["result"]
…
Perguntas frequentes
O que é 'regressão'?
Regressão significa que algo que funcionava antes parou de funcionar depois de uma mudança.
Preciso de um conjunto de dados especial?
Sim, você precisa de um conjunto de perguntas e respostas que sirva como base para comparação. Ele deve ser fixo e revisado.
Isso substitui testes normais?
Não, isso é para um tipo específico de teste: verificar se mudanças nas instruções não pioraram as respostas existentes.
Detalhes
Descrição original do autor
Use when comparing prompt changes against a fixed evaluation set: record actual model settings, required checks, missing results, judge limitations and case-level regression evidence.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2104
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bengali-nlp
Faz seu agente processar textos em bengali. Ajuda a entender e trabalhar com a língua, normalizando o texto e lidando com suas características únicas.
affaan-m/ECC
prompt-caching-strategy
Ajuda seu agente a otimizar o uso de prompts para modelos de linguagem. Ele analisa como os prompts são feitos para encontrar maneiras de reduzir custos e tornar as respostas mais rápidas, reutilizando informações sempre que possível.
affaan-m/ECC
prompt-optimizer
Faz seu agente analisar e melhorar os prompts que você escreve. Ele sugere como adicionar informações ou mudar a forma para que o modelo de IA entenda melhor e dê a resposta desejada.
affaan-m/ECC