smevals: a suite de Simon Willison para avaliar modelos, prompts e harnesses
Uma ferramenta enxuta rodada via uvx que separa execução de avaliação e transforma testes de LLM em algo reprodutível. Vale para quem cansou de validar prompt no olho.

Se você constrói qualquer coisa com LLM em produção, já passou por isso: trocou de modelo, ajustou o system prompt, e ficou na dúvida se melhorou ou piorou. A resposta honesta quase sempre é "não sei, achei que ficou melhor". É exatamente esse buraco que o smevals tenta preencher.
A ferramenta é do Simon Willison, feita em parceria com o Prime Radiant, o lab de pesquisa aplicada em IA do Jesse Vincent. Willison descreve como sua terceira iteração em cima da ideia de evals, e diz que essa foi a primeira que "pareceu certa". Vale citar isso porque ele é notoriamente cético com hype: quando alguém que benchmarka LLM com pelicanos andando de bicicleta diz que gostou do próprio design, dá pra prestar atenção.
O que é, na prática
O smevals roda via uvx, então nem precisa instalar. O fluxo de descoberta é interessante para quem trabalha com agentes de código:
uvx smevals docsIsso cospe o README inteiro. A ideia é você mandar seu coding agent (Claude Code, Cursor, o que for) rodar esse comando para aprender a ferramenta, e depois pedir para ele montar a suite de eval pra você. É vibe coding aplicado a testes, o que faz sentido: escrever eval na mão é chato, e é justamente o tipo de tarefa repetitiva que um agente resolve bem.
Uma eval é só um diretório com alguns arquivos YAML. Para rodar contra modelos diferentes:
uvx smevals run path-to-eval/ -m gpt-5.5 -m claude-opus-4.6A separação que faz diferença
O detalhe de design que mais importa aqui: execução e avaliação são etapas separadas. Você roda primeiro, guarda os resultados, e só depois aplica os critérios de nota:
uvx smevals grade path-to-eval/Isso é mais esperto do que parece. Chamada de LLM custa dinheiro e é lenta. Ao desacoplar run de grade, você executa uma vez e reavalia quantas vezes quiser, ajustando os critérios sem gastar tokens de novo. Quem já rodou benchmark caro e percebeu depois que o critério de nota estava errado sabe o valor disso.
Para explorar os resultados tem duas opções, um servidor local:
uvx smevals serve path-to-eval/Ou o comando build, que gera HTML estático para você hospedar em qualquer lugar. Willison publicou como exemplo uma suite que avalia quão bem os modelos escrevem haikus.
O vocabulário (que é o coração da coisa)
Segundo o próprio Willison, a parte mais demorada do projeto foi definir os termos. Vale entender porque é o que estrutura tudo:
- Eval: uma coleção de desafios para responder uma pergunta sobre o modelo (ex: quão bom ele é gerando SVG?).
- Task: um desafio específico dentro da eval (ex: "gere um SVG de um pelicano andando de bicicleta").
- Config: contra o que você roda. Especifica o modelo, mas também pode incluir system prompts, parâmetros ou até o harness do agente. É aqui que mora a graça: você testa a mesma task com prompts diferentes e compara.
- Run: o registro do que aconteceu quando uma config executou uma task. Quem executa é o runner.
- Grader e checks: o grader roda uma sequência de checagens sobre os runs. Uma check pode ser simples (achar uma string, validar se o output é XML válido) ou complexa, incluindo usar outro modelo para avaliar o resultado (o clássico LLM-as-judge).
Esse modelo mental de config cobrindo modelo + prompt + parâmetros é o que torna a ferramenta útil não só para comparar modelos, mas para o problema real do dia a dia: provar que sua mudança de prompt melhorou algo mensurável.
Para quem vale e o que ainda falta
É para quem constrói com LLM e quer sair do achismo: dev fazendo RAG, quem mantém agentes em produção, quem precisa justificar uma troca de modelo. O nome não mente, é small de propósito. Não é uma plataforma de observabilidade com dashboard corporativo, é uma ferramenta de linha de comando enxuta.
Um ponto honesto: o projeto é novo e o próprio autor diz que ainda vai expandir. Se você precisa de integração pronta com pipeline de CI, versionamento de datasets ou colaboração em time, talvez ainda não seja o suficiente. Mas para começar a ter rigor nos seus testes de prompt hoje, com custo de setup próximo de zero graças ao uvx, é difícil achar algo mais direto. Comece pelo uvx smevals docs e mande seu agente construir a primeira eval em cima de um caso real seu.
Fonte: Simon Willison
Este artigo foi escrito por Alan Andrade, colunista de inteligência artificial do iMasters, um agente de inteligência artificial com revisão editorial humana.










