Fluxyr

Benchmark técnico · Modelos de código

Avaliando os principais modelos de código para geração de código efêmero

Dez modelos de fronteira, quarenta tarefas de propósito único, executadas e avaliadas quanto a se o código realmente roda, realmente funciona e quanto custa. A conclusão: para programas pequenos, a correção está praticamente resolvida — e um modelo barato mais uma passada de auto-revisão iguala os melhores modelos por uma fração do preço.

10
Modelos testados
40
Tarefas efêmeras
5
Esquemas de auth

A categoria

O que é "código efêmero"

Código efêmero é código de propósito único e vida curta, gerado sob demanda para fazer um só trabalho — processar um arquivo, chamar uma API, transformar um payload, controlar um navegador — e então descartado ou regenerado, em vez de mantido como uma base de código.

Esses programas são pequenos: quase sempre com menos de mil linhas, geralmente menos de cem. Têm um contrato estreito — algumas entradas, um efeito colateral ou um resultado — e nenhuma necessidade da arquitetura, abstração ou longevidade de código de aplicação. São o encanamento que conecta um sistema a outro para uma única execução.

Esse tamanho é exatamente a faixa em que os modelos de hoje são mais fortes. Uma tarefa que cabe em um arquivo, não exige raciocínio entre módulos e pode ser verificada rodando-a está perto do ponto ideal da geração de código atual. A pergunta interessante já não é mais se um modelo de topo consegue escrevê-la — vários conseguem, quase sempre — mas qual modelo a produz de forma confiável, barata e correta o suficiente para se confiar sem supervisão.

O argumento

Guarde o prompt, não o código

Se um modelo consegue regenerar uma integração correta de 80 linhas a partir de um parágrafo de intenção, o código deixa de ser o ativo. A especificação passa a ser. Ela é menor, é legível, não apodrece e não está presa a uma linguagem ou versão de biblioteca.

A tese do micro-prompt

Mantenha especificações compactas em linguagem natural — instrução mais spec, um “micro-prompt” — e gere o código na hora, em vez de armazenar e manter o próprio código.

Um micro-prompt é uma fração do tamanho do código que produz, sobrevive intacto a mudanças de modelo e de linguagem, e não carrega desvio de dependências, ramos mortos nem comentários obsoletos. O artefato gerado vive por uma única execução.

Isso só funciona se a geração for confiável. Um micro-prompt que produz código funcional 70% das vezes é um passivo; a 99%+, com uma passada de reparo automático e barata para cobrir o resto, ele vira infraestrutura. Então a pergunta prática que este benchmark responde é: quão confiável é cada modelo exatamente nessa classe de trabalho, e a que custo?

Método

Como as tarefas foram medidas

Cada modelo recebeu a instrução e a spec de uma tarefa — nada sobre implementação — e a tarefa de produzir um programa completo mais o esquema de entrada. O programa foi então executado em um sandbox local isolado e avaliado em quatro eixos.

  • Rodaele executa sem quebrar e emite um resultado bem-formado?
  • Corretoa saída corresponde ao resultado esperado e — nas tarefas de integração — um serviço simulado confirmou que a requisição foi autenticada corretamente? Uma resposta chumbada no código não passa.
  • Qualidadeverificações estáticas de contrato mais um revisor LLM pontuando tratamento de erros, limpeza e robustez.
  • Custogasto real de API, reportado por modelo e por resposta correta.

As 40 tarefas abrangem três famílias: processamento de arquivos e dados (parsear, transformar, agregar), integração com APIs externas em cinco esquemas reais de autenticação — bearer token, HTTP basic, cabeçalho de API-key, OAuth2 client-credentials e mutual TLS com certificados de cliente em PEM e em PKCS#12 — e correção de bugs de defeitos plantados. Cada concorrente rodou três amostras; um estudo de refinamento rodou uma.

Resultados · tiro único

O ranking

A correção é um problema resolvido no topo: quatro modelos são perfeitos nas 40 tarefas. O que os separa é o custo por resposta correta — uma diferença de 30× — e quanta robustez o revisor enxerga no código.

#ModeloCorretoRecusouJuizCustoCusto / correto
1gemini-3.1-pro100.0%00.81$5.55$0.046
2claude-haiku-4.5100.0%00.79$1.94$0.016
3minimax-m3melhor valor100.0%00.77$0.82$0.007
4claude-sonnet-4.6100.0%00.70$4.53$0.038
5gpt-5.599.2%00.80$5.35$0.045
6glm-5.196.7%00.67$1.63$0.014
7deepseek-v4-pro95.8%00.73$1.82$0.016
8claude-fable-595.0%2 ⚑0.84$6.61$0.174
9kimi-k2.693.3%00.80$2.12$0.019
10qwen3-coder-nextmais barato93.3%00.60$0.60$0.005

40 tarefas × 3 amostras. Correto exige autenticação verificada, não apenas saída correspondente. Juiz é a nota de robustez de um revisor independente (0–1). ⚑ Recusou = o filtro de conteúdo do modelo se negou a gerar a tarefa. minimax-m3 é o vencedor em valor: correção perfeita por 5–7× menos que os outros modelos impecáveis. qwen3-coder-next é o mais barato de todos.

Resultados · custo até acertar

Uma passada de reparo fecha a lacuna

Os modelos que erram no tiro único raramente erram por muito. Devolver uma tentativa falha para uma única revisão recupera quase tudo — e funciona de duas formas. Com feedback de execução (a mensagem de erro real), todo modelo chega a 100% na segunda passada. Com apenas auto-revisão — sem rodar teste, o modelo só relê o próprio código contra a spec — a maioria também chega lá. Esse segundo modo é o que você pode rodar em qualquer lugar, sem um oráculo.

Modeloexec · p@1p@2p@3revisão · p@1p@2p@3Custo / correto
gemini-3.1-pro100100100100100100$0.048
claude-haiku-4.5100100100100100100$0.016
minimax-m398100100100100100$0.007
claude-sonnet-4.610010010098100100$0.038
gpt-5.510010010098100100$0.031
glm-5.19210010098100100$0.015
deepseek-v4-pro100100100100100100$0.017
kimi-k2.6100100100100100100$0.017
qwen3-coder-next100100100929595$0.005

p@k = fração correta em até k passadas (% correto). exec e revisão são execuções separadas de amostra única, então seu pass@1 difere por ruído; a convergência até o pass@2 é o sinal. Só o qwen3-coder-next estaciona na auto-revisão — nem sempre consegue autodiagnosticar o último bug sem rodar o código. Todos os outros chegam a 100% com uma única revisão, com ou sem oráculo.

A fronteira de valor

Junte os dois resultados. Um modelo barato com uma passada de auto-revisão — minimax-m3 a ~US$0,007, qwen a ~US$0,005 por programa correto — chega à mesma correção dos modelos de fronteira que custam de 5 a 10× mais. Para trabalho gerado na hora e descartado, pagar preço de fronteira por chamada compra quase nada; o laço de modelo-barato-mais-reparo é o design eficiente.

Resultados · dificuldade

Onde os modelos de fato quebram

Notas agregadas escondem o formato da dificuldade. Tarefas de arquivo e dados são pontos praticamente de graça para todos. A separação está inteiramente no manejo de credenciais — certificados mutual-TLS e fluxos OAuth — exatamente onde integrações reais ficam difíceis.

ModeloArquivo / dadosCorreção de bugAPI (todas)Mutual TLSOAuth2
gemini-3.1-pro100100100100100
claude-haiku-4.5100100100100100
minimax-m3100100100100100
claude-sonnet-4.6100100100100100
gpt-5.51001009993100
glm-5.110094959392
deepseek-v4-pro1001009373100
qwen3-coder-next10097897375
kimi-k2.6881009380100
claude-fable-5100100928075

Correção em tiro único por família de tarefa (%). As duas falhas reais mais comuns: passar o conteúdo do certificado onde a biblioteca espera o caminho do arquivo, e importar um helper de PKCS#12 sem importar seu submódulo. Ambas são o tipo de erro que uma única passada com feedback de execução corrige na hora.

O que aprendemos

Conclusões

01

A correção está saturando

Em tarefas de menos de 1000 linhas, quatro de dez modelos foram impecáveis e o resto errou por dígitos únicos. A fronteira de dificuldade desse trabalho migrou de "consegue?" para "a que custo e confiabilidade?".

02

Refinamento supera capacidade bruta

Uma passada de reparo leva todo concorrente a 100% com feedback de execução, e quase todos só com auto-revisão. Modelo-barato-mais-laço domina modelo-caro-em-tiro-único tanto em custo quanto em confiabilidade.

03

Auth é o teste de verdade

Trabalho de arquivo e dados é trivial para todo modelo. Mutual-TLS e OAuth separam o campo — modelos mais baratos caem para 73–80% em certificados de cliente. Se você faz benchmark em tarefas de brinquedo, todo modelo parece igual.

04

Robustez ≠ correção

O revisor premiou código defensivo e bem protegido; os modelos concisos-mas-corretos pontuaram menos nesse eixo apesar de resultados funcionais perfeitos. Correção e qualidade de código são sinais genuinamente distintos.

05

O preço varia 30×

As mesmas 40 tarefas custaram US$0,60 no modelo mais barato e até US$6,61 no mais caro — com correção igual ou melhor para o barato. Custo por acerto, não capacidade bruta, é a métrica que deve guiar a escolha de modelo aqui.

06

Fique de olho no filtro de segurança

O filtro de conteúdo de um modelo recusou de imediato duas tarefas de credencial e pagamento. Para automação que legitimamente lida com segredos e dinheiro, um modelo que se recusa a fazer o trabalho é uma restrição rígida, não uma nota de rodapé.

Conclusão

Gere na hora, e barato

Para código efêmero — os programas pequenos e de propósito único que conectam sistemas por uma única execução — a economia se inverteu. O código já não vale a pena guardar; o prompt que o produz, sim.

O benchmark torna concreto o argumento prático. A confiabilidade nessa classe de trabalho é alta em todo modelo de topo e praticamente perfeita assim que você adiciona uma única passada de reparo automático. Essa passada funciona mesmo sem a capacidade de rodar o código, então cabe dentro de um pipeline de geração. E a diferença de custo entre a fronteira e o nível de valor é de uma ordem de grandeza, sem penalidade de correção.

Então a arquitetura eficiente não é uma biblioteca de utilitários mantidos, nem um modelo de fronteira chamado uma vez e cegamente confiado. É um micro-prompt compacto, um modelo barato e capaz, e um laço de auto-revisão — código invocado quando preciso, verificado e descartado. Você mantém a intenção. O modelo mantém todo o resto.

Para onde isso aponta

Estenda a ideia e a própria ferramenta muda de forma. Controle de versão e sistemas de build tratam o código como fonte da verdade — mas se o código é efêmero, a fonte da verdade sobe um nível, para os prompts e o estado atual do projeto. O precedente já existe: frameworks de migração de banco de dados não guardam o banco, guardam as instruções ordenadas que o constroem mais um marcador de onde você está na sequência. O banco é derivado; as migrações são o ativo.

É razoável esperar frameworks de código construídos sobre o mesmo princípio — que versionam um projeto como uma sequência de micro-prompts e um estado resolvido, e regeneram o código de fato sob demanda a partir deles. O código vira um artefato de build, como um binário compilado é hoje. A engenharia difícil e duradoura se desloca para como esses prompts são capturados, ordenados, reproduzidos e armazenados — é aí que o valor se assenta quando o código deixa de valer a pena guardar.