Promptfoo ou DeepEval? Os dois projetos transformam respostas de modelos e agentes em casos de avaliação repetíveis, mas conduzem a equipe por caminhos diferentes. O Promptfoo organiza prompts, provedores, entradas e verificações em uma matriz declarativa. O DeepEval leva casos, métricas e limites para testes em Python integrados ao Pytest.
Este comparativo usa documentação e repositórios oficiais revalidados em 8 de setembro de 2026. Não é um benchmark e não declara vencedor universal. A melhor escolha depende de onde sua equipe quer manter o contrato de qualidade, em uma configuração que cruza muitas variantes ou dentro do código e da suíte de testes.
Veredito rápido
- Comece pelo Promptfoo quando a pergunta principal é comparar prompts, modelos, parâmetros e entradas em uma matriz fácil de revisar, exportar e executar pela linha de comando.
- Comece pelo DeepEval quando a aplicação e a equipe já trabalham em Python e querem tratar cada interação, trajetória ou componente como um teste com métricas e limites próximos do código.
- Prototipe os dois quando o sistema combina seleção frequente de modelos com avaliação profunda de RAG ou agentes. Um ensaio pequeno revela qual formato será realmente mantido depois do primeiro mês.
Comparação direta
| Critério | Promptfoo | DeepEval |
|---|---|---|
| Centro do fluxo | Configuração declarativa de prompts, provedores, testes e assertions | Casos e métricas em Python, executados com integração ao Pytest |
| Primeira instalação | CLI via npm ou npx, com outras opções documentadas | Pacote Python instalado com pip em ambiente virtual |
| Comparação de variantes | Matriz natural entre prompts, provedores e casos | Parâmetros e variantes expressos na suíte, nos datasets ou no código |
| Verificações | Assertions determinísticas, semânticas, avaliadas por modelo ou personalizadas | Métricas prontas, G-Eval, DAG e métricas personalizadas com threshold |
| RAG e agentes | Conecta alvos HTTP, scripts e provedores, além de testes de segurança | Casos de RAG, conversação, ferramentas, componentes e trajetórias instrumentadas |
| Segurança ofensiva | Red teaming faz parte do produto e do CLI principal | A documentação encaminha a orquestração ampla de red team ao DeepTeam |
| CI | Comando CLI, formatos JSON, HTML e JUnit, além de gates por falha | deepeval test run usa a lógica de testes e saída de processo do Pytest |
| Licença do núcleo | MIT | Apache License 2.0 |
A tabela descreve o caminho preferencial, não uma fronteira rígida. Promptfoo aceita código e provedores personalizados. DeepEval também pode comparar configurações, datasets e execuções. A diferença útil é descobrir onde a equipe consegue ler, revisar e versionar o critério sem esconder dependências.
Promptfoo começa pela matriz de avaliação
Na configuração oficial do Promptfoo, prompts e provedores recebem uma série de casos com variáveis e assertions. Ao executar a avaliação, o resultado mostra as combinações. Isso combina bem com perguntas como: qual prompt mantém o formato, qual modelo respeita uma recusa e qual variante falha em uma entrada específica?
O formato declarativo ajuda a separar o conjunto de casos do código da aplicação. Casos podem ficar no arquivo principal ou em fontes externas. Provedores podem apontar para APIs conhecidas, HTTP, JavaScript, Python ou outros executáveis documentados. A flexibilidade é valiosa, mas cada adaptador continua sendo código com rede, credenciais e efeitos que precisam de revisão.
Fato documentado: assertions podem verificar igualdade, estrutura JSON, similaridade, custo, código personalizado e critérios avaliados por modelo. Análise editorial: o Promptfoo tende a ficar mais legível quando o experimento precisa cruzar muitas opções com o mesmo conjunto de entradas.
DeepEval começa pelo caso e pela métrica em Python
O guia inicial do DeepEval cria um LLMTestCase, associa uma ou mais métricas e chama assert_test(). O comando deepeval test run coleta os testes de modo semelhante ao Pytest. Isso aproxima a avaliação do restante da engenharia de software em projetos Python.
O caso pode representar uma interação única ou uma conversa. Os campos mudam conforme a métrica, por exemplo entrada, saída real, saída esperada, contexto e contexto recuperado. A documentação também trata componentes e trajetórias de agentes, o que permite avaliar a resposta final e investigar decisões intermediárias quando a aplicação está instrumentada.
Fato documentado: as métricas retornam pontuação e razão, e o threshold determina aprovação. Análise editorial: o DeepEval tende a encaixar melhor quando a equipe quer depurar a qualidade como parte de uma suíte Python, perto dos objetos, fixtures e traces da aplicação.
Assertions e métricas não eliminam julgamento
Uma verificação determinística deve ser a primeira opção quando a regra é objetiva. JSON válido, campo obrigatório, expressão regular, valor exato, latência máxima e ausência de um padrão proibido não precisam de outro modelo para decidir. Esses checks costumam ser mais baratos e reproduzíveis.
Critérios como utilidade, fidelidade ou tom podem exigir comparação semântica, uma rubrica ou um modelo avaliador. O Promptfoo oferece assertions avaliadas por modelo e funções personalizadas. O DeepEval oferece métricas específicas para RAG, agentes, conversas e segurança, além de G-Eval e DAG para critérios próprios.
A própria documentação do G-Eval alerta que o resultado não é determinístico. Portanto, um limite não vira verdade objetiva apenas porque o teste retorna verde. Calibre a rubrica com exemplos revisados por humanos, repita casos próximos da fronteira e preserve a explicação produzida pelo avaliador.
RAG exige separar recuperação e resposta
Para RAG, não reduza tudo a uma nota final. Primeiro verifique se o retriever encontrou os trechos corretos, respeitou filtros e não trouxe documentos proibidos. Depois avalie se a geração permaneceu fiel ao contexto e respondeu à pergunta. O DeepEval documenta métricas separadas para relevância, precisão e recall contextual, além de relevância e fidelidade da resposta.
No Promptfoo, o alvo pode ser a aplicação completa ou um adaptador que exponha contexto e metadados às assertions. Isso dá liberdade para modelar o contrato real, mas a equipe precisa definir explicitamente o que será medido. O comparativo interno Haystack e LlamaIndex discute a arquitetura do RAG. Aqui, a pergunta é como impedir que uma mudança silenciosa piore esse sistema.
Agentes precisam de evidência intermediária
Uma resposta correta pode esconder uma ferramenta indevida, argumentos errados, tentativas excessivas ou acesso além do necessário. O DeepEval descreve métricas para conclusão da tarefa, eficiência dos passos, aderência e qualidade do plano, além de correção de ferramenta e argumentos. Traces instrumentados ajudam a localizar a etapa problemática.
Promptfoo aceita agentes e fluxos por integrações, scripts e endpoints, e pode aplicar assertions ao retorno estruturado. Sua documentação de red teaming também cobre alvos, plugins, estratégias e geração de casos adversariais. Isso favorece um teste amplo de comportamento e exposição, desde que o adaptador registre evidência suficiente para não avaliar apenas a frase final.
Em qualquer opção, registre identificador da execução, versão do código, modelo, configuração, ferramentas disponíveis, chamadas realizadas, documentos recuperados, resultado e decisão humana. Sem isso, uma falha intermitente vira opinião.
Red teaming é uma diferença importante
No Promptfoo, red teaming está integrado ao mesmo ecossistema de configuração e CLI. A equipe define o propósito do sistema, o alvo, os tipos de ataque e as estratégias. A documentação também distingue o modelo que sofre o teste do provedor usado para gerar ou avaliar ataques.
Há um cuidado operacional relevante: a configuração oficial de red team informa que geração remota pode ser usada por padrão e documenta como desativá-la. Antes de enviar descrições internas, payloads ou saídas, confirme qual serviço processará cada etapa.
O DeepEval inclui métricas de segurança, mas sua documentação aponta o DeepTeam como framework separado para orquestração completa de red teaming. Se testes adversariais recorrentes são o requisito central, essa diferença de escopo pesa mais do que a sintaxe dos testes comuns.
CI só funciona com gates honestos
O guia de CI do Promptfoo mostra execução por CLI, exportação em formatos apropriados para máquinas e pessoas e falha do processo quando critérios não passam. O guia de CI do DeepEval coloca a mesma suíte em pipelines por meio de deepeval test run.
Não comece bloqueando deploy com uma métrica subjetiva não calibrada. Rode primeiro em modo informativo, compare com avaliações humanas e identifique instabilidade. Depois promova para gate somente critérios com dados, threshold e procedimento de exceção definidos.
Fixe versões de dependências, modelos e datasets. Registre temperatura e parâmetros quando aplicável. Separe falha do produto, falha do avaliador, limite de API, timeout e indisponibilidade externa. Um pipeline vermelho sem causa legível ensina a equipe a ignorar o alarme.
Privacidade, telemetria e credenciais
Executar o framework localmente não garante que todo o dado fique local. O alvo avaliado, o modelo juiz, o gerador de casos, o armazenamento de resultados e a observabilidade podem chamar serviços distintos. Faça um mapa de saída de dados antes de testar conteúdo de clientes ou produção.
No DeepEval, a documentação de variáveis registra telemetria anônima habilitada quando a opção não é definida e fornece DEEPEVAL_TELEMETRY_OPT_OUT=1 para desligá-la. O uso do Confident AI é uma camada opcional separada para resultados, datasets e traces. No Promptfoo, compartilhamento, nuvem, self-hosting e geração remota precisam ser avaliados conforme o recurso acionado.
Nunca coloque chaves no YAML, no teste Python, no dataset ou no relatório. Use segredos do ambiente, menor privilégio, mascaramento de saídas e retenção curta. Revise também se prompts e traces contêm dados pessoais, instruções internas ou documentos recuperados.
Disponibilidade, licença e custo
Os repositórios principais são públicos. O Promptfoo informa que agora faz parte da OpenAI e permanece sob licença MIT, enquanto o DeepEval usa Apache License 2.0. Isso permite uso amplo do código sob as condições de cada licença, mas não licencia modelos, datasets, integrações ou serviços de terceiros. A mudança institucional do Promptfoo não transforma as duas ferramentas em serviços equivalentes nem elimina a necessidade de revisar cada fluxo de dados.
Não há taxa de licença obrigatória para instalar esses núcleos abertos. Ainda assim, avaliações podem gerar cobrança de inferência, embeddings, armazenamento, observabilidade e infraestrutura. Promptfoo e Confident AI também oferecem camadas comerciais ou gerenciadas, cujos recursos e valores devem ser consultados antes da contratação. Este artigo não compara planos pagos.
Para orçamento, conte execuções repetidas, casos adversariais gerados, chamadas do modelo juiz, retentativas, cache, armazenamento de traces e tempo de revisão humana. A ferramenta mais barata para instalar pode ser a mais cara para manter se a suíte for opaca ou instável.
Teste comparável em oito passos
- Escolha de dez a vinte casos reais já anonimizados, incluindo sucesso, recusa, ausência de evidência e entrada malformada.
- Congele a versão da aplicação, do prompt, do modelo e dos dados.
- Defina checks determinísticos antes das métricas subjetivas.
- Escreva uma rubrica curta com exemplos claros de aprovação e reprovação.
- Execute o mesmo conjunto no Promptfoo e no DeepEval, sem trocar modelo juiz ou threshold entre eles.
- Compare facilidade de leitura, tempo de configuração, evidência de falha, repetibilidade e integração com o pipeline.
- Peça a duas pessoas que revisem os casos divergentes sem saber qual ferramenta produziu a nota.
- Escolha a opção cuja suíte a equipe consegue corrigir, versionar e executar de novo, não a que gerou o relatório mais bonito.
O guia interno Como comparar duas respostas de IA ajuda a montar a primeira rubrica sem escolher apenas a saída mais convincente.
Quando escolher cada um
Escolha Promptfoo se analistas e engenheiros precisam enxergar rapidamente o cruzamento entre prompts, provedores e casos, se o alvo não está restrito a Python ou se red teaming integrado é requisito central. Confirme os fluxos de dados antes de usar geração remota ou compartilhamento.
Escolha DeepEval se a aplicação é Python, a equipe já mantém testes com Pytest e o diagnóstico precisa entrar em casos, métricas, datasets e traces de RAG ou agentes. Decida explicitamente se os resultados ficarão locais ou irão para a plataforma Confident AI.
Use ambos somente com fronteira clara. Por exemplo, Promptfoo pode controlar a matriz ampla de modelos e ataques, enquanto DeepEval investiga componentes Python e trajetórias. Sem uma fonte única para IDs, datasets e resultados, a combinação duplica casos e cria dois conceitos de aprovação.
Limites deste comparativo
Não executamos benchmark de precisão, latência ou custo porque isso dependeria do modelo avaliado, do juiz, do dataset, da rede e da configuração. Também não afirmamos que o catálogo de integrações permanecerá igual. Os dois projetos mudam com frequência, então fixe a release adotada e releia as notas de mudança antes de atualizar.
A ferramenta não decide o que é qualidade para o seu produto. Esse contrato nasce de exemplos reais, riscos, política de acesso e revisão humana. Um teste reproduzível torna a decisão auditável, mas não transforma uma rubrica incompleta em verdade.
Fontes oficiais consultadas
- Promptfoo, guia de configuração
- Promptfoo, assertions e métricas
- Promptfoo, integração com CI e CD
- Promptfoo, configuração de red teaming
- Promptfoo, self-hosting e limitações
- DeepEval, início rápido
- DeepEval, introdução às métricas
- DeepEval, testes em CI e CD
- DeepEval, variáveis de ambiente e telemetria
- DeepEval, integrações e traces
Fontes revalidadas em 8 de setembro de 2026. Confirme documentação, release e termos vigentes antes de adotar em produção.
