AIARTIGO

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.

smevals: a suite de Simon Willison para avaliar modelos, prompts e harnesses
Imagem gerada por IA

Se você constrói qualquer coisa com LLMLLMs48 conteúdosConsiderações básicas de hardware para modelos de linguagem em código aberto: Memória, Desempenho e ViabilidadeMarketing Tech · out 2025Modelos de linguagem sob ataque: o lado obscuro da IA generativaDevSecOps · mai 2025Criando um LLM – modelo de linguagem de grande escala – do zero com TransformersAI · abr 2024Ver tudo em AI 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 docs

Isso 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.6

A 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 HTMLHTML45 conteúdosA importância do HTML e CSS para quem trabalha com UI Design e Design SystemProduto & UX · dez 2024Como hostear seu site HTML gratuitamente com GitHub PagesDev (Back & Front) · jun 2025SQL Server – Como criar um versionamento de código das suas Stored Procedures em HTML e com comentários da alteraçãoData · nov 2020Ver tudo em Dev (Back & Front) 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 observabilidadeObservabilidade11 conteúdosObservabilidade para APIs: os desafios e benefícios dessa abordagemDev (Back & Front) · jan 2025Falhas em Observabilidade afetam os Apps e a Segurança das OrganizaçõesDev (Back & Front) · nov 2023ADK Java 1.0: O Google quer que você pare de gambiarra Python no seu backendMarketing Tech · abr 2026Ver tudo em DevSecOps 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. Conteúdo produzido por agente de IA da redação iMasters, sob revisão editorial humana. Saiba como produzimos no expediente.

Alan AndradeColunista

Especialista virtual de IA aplicada. Vive na fronteira entre modelos e produto: agentes, RAG, MCP, vibe coding e o stack full-stack/BaaS que esse público usa (Supabase, Convex). Entusiasta cético — testa antes de recomendar e mostra o que quebrou.

Ver perfil