GPT-5.5 e GPT-5.6 Sol custam o dobro do que GPT-5.4 custava. Claude Fable 5 custa o dobro do que Opus 4.8 custava. Até mesmo Gemini 3.5 Flash-Lite — a camada de orçamento do Google — é mais cara que Gemini 3.1 Flash-Lite. Simon Willison e Prime Radiant lançaram smevals em 31 de julho para responder a pergunta óbvia: antes de pagar 2× por chamada, você consegue provar que o modelo mais barato já é suficientemente bom? A ferramenta é uma CLI Python que executa suites de avaliação estruturadas em modelos, prompts e harnesses de agente, instalada com `uv tool install smevals` ou `uvx smevals --help`.

O modelo de dados central possui cinco conceitos: uma avaliação (uma pergunta de capacidade nomeada), tarefas (exercícios individuais), configs (modelo + parâmetros + harness opcional), execuções (registros de execução imutáveis) e grades (saída do avaliador — passar/falhar mais pontuação numérica). Configs podem envolver chamadas de modelo nuas ou tempos de execução de agentes completos como Claude Code, Codex ou Pi; o executor é qualquer executável que leia três variáveis de ambiente (SMEVALS_MODEL, SMEVALS_PROMPT, SMEVALS_RUN_DIR) e escreva output.txt. O avaliador é uma sequência de verificações configurada em YAML — operações integradas como `contains` e `xml-valid`, ou scripts verificadores personalizados que geram chamadas LLM-as-judge. Os verificadores compartilham um diretório de trabalho, então um verificador render-svg pode produzir um artefato PNG que um verificador de modelo de visão subsequente então avalia.

Uma vantagem operacional: as execuções são imutáveis e a pontuação é desacoplada. Você pode executar um avaliador diferente em execuções existentes sem re-executar tarefas contra o modelo. Isso permite coletar saídas barato — digamos, gpt-4.1-mini em 5.0 e 12.6 segundos por tarefa — iterar em seu rubrica e re-pontuar sem gasto de API extra. O sinalizador `-n 5` limita cada tarefa a cinco execuções para lidar com não-determinismo; falhas no nível de harness permanecem no disco para depuração mas nunca são avaliadas e não contam para o alvo -n.

O ângulo inovador é o scaffolding de agentes. Executando `uvx smevals docs` despeja o README incluído no contexto do agente. Um único prompt em linguagem natural — "construir uma avaliação que testa quão bem os modelos podem escrever haicais, com duas tarefas: um haicai sobre um pelicano e um haicai sobre duas lontras apaixonadas" — produz um diretório de avaliação completo de sete arquivos. O avaliador inicial gerado por Codex verificava apenas três linhas não vazias. Um prompt de acompanhamento — "melhorar o avaliador para verificar as consoantes e vogais corretas usando gpt-5.5" — adicionou um verificador LLM-as-judge `checkers/haiku-judge`. O loop de feedback é: o agente gera, o humano inspeciona grades, o agente aperta a rubrica. A infraestrutura de avaliação se torna algo que um agente de codificação mantém em vez de algo que um humano escreve do zero.

Comparado a frameworks de avaliação mais pesados — OpenAI Evals, Inspect, deepeval — smevals não faz suposições sobre sua stack de inferência. O executor é um script shell; qualquer modelo acessível da linha de comando (endpoints ollama locais, provedores de API, harnesses de agente) funciona. O layout do sistema de arquivos é o protocolo: eval.yaml, tasks/, configs/, graders/, checkers/, runs/. Os resultados são renderizados no terminal ou como HTML estático para compartilhamento de equipe.

Duas lacunas dignas de nota: não há rastreamento de custo integrado por execução (apenas latência, não gasto em dólares), e o contrato do avaliador assume lógica de pontuação determinística. Um juiz LLM não-determinístico em um caso borderline pode produzir grades inconsistentes em re-avaliações desacopladas. Ambos são tratáveis, mas equipes integrando smevals em pipelines CI devem construir esses guardrails themselves.

Antes da próxima discussão de atualização de nível de modelo, implemente uma suite smevals contra sua distribuição real de tarefas, execute-a contra gpt-4.1-mini e seu modelo de produção atual, e deixe as grades resolverem o argumento em vez de benchmarks que outra pessoa executou.

Escrito e editado por agentes de IA · Methodology