Melo Labs

← Todos os artigos

SDD só com Haiku: o que sobra de qualidade quando o custo cai

2026-11-08

sddhaikusonnetcustoagentesestudo

TL;DR. Medi o Claude Haiku 5.5 contra o Sonnet 5.5 em desenvolvimento guiado por especificação (SDD: PRD, especificação técnica, tarefas e código) no projeto aberto h3, com 198 execuções isoladas. Por cerca de 1/5 do custo de lista (0,18 do Sonnet), o Haiku escreve TechSpec e Tasks com notas praticamente iguais às do Sonnet, mas acerta o código completo em 72% das execuções contra 91% do Sonnet. Esse déficit é, em sua maior parte, um único teste (rota inexistente responder 404 em problem+json, que o contrato da tarefa não pedia de forma explícita); sem ele, o Haiku fica em 94% contra 91%. E, olhando as tarefas (não as execuções) como unidade, o intervalo inclui zero. Ou seja, o estudo não decide se o Haiku perde em código. O que a medição sustenta: o custo cai para cerca de 1/5, os documentos não diferem em 3 pontos ou mais, o desenho híbrido não compensa o custo e o Haiku com testes primeiro e loop melhora muito sobre o Haiku simples. Pela regra que escrevi antes, os vereditos formais de H1, H4, H5 e H11 saem “subpotentes”, porque a rubrica ficou abaixo da confiabilidade que eu exigi e há poucas tarefas por condição. Uma revisão adversarial independente refez as contas, achou os números certos e várias leituras exageradas; elas estão corrigidas aqui.

A dúvida

Cada etapa do SDD é um pedido a um modelo: escrever o PRD, a TechSpec, a lista de tarefas e, por fim, o código. Modelos pequenos custam uma fração dos grandes. A pergunta prática é: dá para entregar o ciclo inteiro com o modelo pequeno e a engenharia certa em volta (testes primeiro, gates, loop de correção), sem perder muita qualidade? Quase tudo que se lê sobre isso é opinião. Quis números, com as regras escritas antes. O desenho mais parecido que achei na literatura, de Rosa et al. (2026), é um registro de estudo sem resultados ainda.

Hipóteses (resumo)

Escrevi 11 hipóteses antes de rodar qualquer coisa, com margens e regras de decisão (tag git prereg-haiku-sdd-producao, mais três adendos datados). As principais:

Quatro delas (H2, H7, H8, H9) ficaram fora deste estudo por decisão minha: voto, erros plantados, cache e variações extras ficam para um próximo trabalho.

Como medi

Todo o código, os dados brutos, os prompts e as transcrições estão no repositório do estudo, e há um comando que reproduz as tabelas num clone limpo.

Resultados

Custo: o Haiku ganha de longe, mesmo gastando mais tokens

Custo de lista e tokens relativos ao Sonnet

O Haiku com testes primeiro e loop (C4) custa 0,18 do Sonnet em dólar de lista (IC 95%: 0,16 a 0,20). Em compensação, usa 1,5 vez os tokens totais do Sonnet (1,39 a 1,64) e 1,55 vez os tokens novos. A cascata sai por 0,15. Em 52 das 54 execuções do C4 o prompt passou de 100 mil tokens, onde o preço do Haiku sobe; a ferramenta já cobra essa faixa, então a razão de 0,18 a inclui. Pela métrica que eu tinha registrado, custo por execução com núcleo aceito, a conta é US$ 0,31 do C4 contra US$ 1,36 do Sonnet (razão 0,23); por variante, o custo do C4 vai de 0,14 a 0,23 do Sonnet. O limite de 100 mil é só um degrau de preço, não de contexto, e as falhas não se associam ao tamanho do prompt.

Custo por execução e por execução com núcleo aceito

CondiçãoExecuçõesCusto de lista médioTokens totais médios
Sonnet padrão (C0)54US$ 1,232,41 mi
Haiku simples (C1)36US$ 0,264,13 mi
Haiku + testes + loop (C4)54US$ 0,223,64 mi
Cascata (C5)12US$ 0,192,88 mi

Documentos: praticamente empate, mas com instrumento frágil

Média da rubrica por condição

Com 18 artefatos por braço e as três features, o Sonnet fica 0,7 ponto acima do Haiku simples em TechSpec (IC 95%: −0,2 a +1,6, de 35) e 0,2 abaixo em Tasks (−0,8 a +0,5, de 25). Longe dos 3 pontos que a H1 previa. A cascata fica em 0,99 e 1,01 da nota do Sonnet, a 0,15 do custo. O ponto fraco: o alfa de Krippendorff entre os juízes foi 0,61, abaixo do 0,67 que eu tinha fixado, e as notas ficam coladas no teto (cerca de 32 de 35). Pela minha própria regra, as hipóteses de documentos saem formalmente subpotentes: a regra só deixa chamar de “confirmada” com uma rubrica confiável. Dois cuidados de leitura: esse alfa foi calculado por critério da rubrica; com a média dos três juízes (a nota que decide), a confiabilidade estimada passa de 0,67 (cerca de 0,72 na TechSpec e 0,83 em Tasks, por Spearman-Brown, exploratório). E os intervalos já excluem uma diferença de 3 pontos ou mais; a incerteza que sobra é se a rubrica, saturada perto do teto e sem acesso ao pedido original, enxerga diferenças reais de qualidade. Os juízes não veem o PRD, então “cobertura do pedido” não foi medida. Por isso, “praticamente empate” vale para o que a rubrica mede.

Código: o ponto em que o Haiku ainda perde

Núcleo de testes por condição e variante

O Sonnet passou o núcleo em 49 de 54 execuções (91%). O Haiku com testes primeiro e loop (C4) em 39 de 54 (72%), e o Haiku simples em 21 de 36 (58%). A diferença entre C4 e Sonnet é de −18,5 pontos, com intervalo de Newcombe unilateral de −32,6 a −3,8: o intervalo não exclui um déficit menor que os 10 pontos de margem, então o status formal da H4 é “subpotente”. Mas há dois avisos que mudam a leitura, ambos vindos da revisão adversarial:

  1. O déficit é quase um teste só. Das 15 execuções do C4 que falharam no núcleo, 12 falharam apenas no P1 (“rota inexistente responde 404 em problem+json”), nas tarefas #1384. O contrato enxuto de #1384-a e #1384-c não pede isso de forma explícita, e fui eu quem classificou o P1 como núcleo, depois do piloto. Se o P1 fosse observação, o C4 passaria 51 de 54 (94%) contra 49 de 54 (91%) do Sonnet, diferença de +3,7 pontos (IC 95% de −7,2 a +15,0). O sinal se inverte. Portanto, não leia “72% contra 91%” como qualidade geral de código: o que os dados mostram é que o Haiku trata pior esse caso de borda, mais as falhas em #1267 (3 execuções).
  2. A unidade é a tarefa, não a execução. O intervalo de Newcombe trata as 54 execuções como independentes, mas a generalização é para tarefas. Por variante a diferença foi de −44, +11, −44, −33, 0 e 0 pontos; o IC t de 95% com 6 variantes vai de −45 a +8 (por feature, de −63 a +24), e inclui zero. Duas das seis variantes (#1050) saturam em 100% em todas as condições. “Negativa com credibilidade” vale só para estas seis tarefas.

Dizer “o Haiku equivale ao Sonnet em código” seria falso; dizer “perde por mais de 10 pontos” também.

Efeito do teste P1 na diferença entre C4 e Sonnet

O padrão é por tarefa, não geral:

Mapa de acertos por tarefa e condição

VarianteSonnetHaiku simplesHaiku + testes + loop
#1384-a7/90/63/9
#1384-b7/96/68/9
#1384-c8/92/64/9
#12679/91/66/9
#1050-a9/96/69/9
#1050-b9/96/69/9

Nas duas variantes de #1050 todos chegam a 100%. A perda aparece em #1384-a, #1384-c e #1267. Se contarmos a fração de testes passando (incluindo os testes de observação), o quadro é menos duro: 0,89 para o C4 contra 0,91 para o Sonnet. De 58% (Haiku simples) para 72% (C4) há uma melhora, mas não dá para atribuí-la ao “testes primeiro e loop”: a diferença C4 contra C1 é de +13,9 pontos com IC 95% de −8,3 a +35,4, inconclusiva. Além disso, em muitas execuções houve comandos de teste negados pela lista de ferramentas permitidas (contagem da revisão adversarial: 146 negações no Sonnet e 74 no C4), o que pode ter limitado o “loop com saída real”.

O que não deu certo ou não deu para testar

O que isso significa na prática

Limitações

Um projeto (h3, TypeScript), três features e seis variantes; modelos e preços de 04/11/2026; juízes que são amostras do mesmo modelo (alfa 0,61 por critério) e não veem o PRD; testes escritos por mim, com o núcleo definido por mim depois do piloto; uma extensão disparada pelo resultado parcial e uma redução de juízes decidida depois de ver o primário (as duas registradas antes de ver os dados da extensão; o intervalo final não corrige esse olhar intermediário, e a extensão repete o padrão do primário); o histórico git do estudo ainda guarda versões antigas dos testes em texto claro, fora do alcance do agente; a duração das execuções da extensão pode ter sido afetada por um juiz rodando em paralelo (tokens e custo não são afetados); a fase C (voto, erros plantados, cache) ficou de fora. As ameaças à validade completas estão no repositório.

Conclusão

O Haiku 5.5 corta o custo para cerca de 1/5 e entrega documentos de SDD muito próximos aos do Sonnet, mas perde mais no código de algumas tarefas (sobretudo num caso de borda de #1384 e em #1267), e o estudo não consegue dizer se a perda geral é pequena, grande ou nula. “SDD inteiro só com Haiku, sem perder qualidade” não é o que os dados mostram. O que eles mostram é um bom caso para o desenho híbrido (documentos no Haiku, código difícil no Sonnet), que fica para o próximo estudo.

Referências


Os experimentos, os dados e as conclusões são meus. A redação foi assistida por IA e revisada por mim.

Os experimentos, os dados e as conclusões são do autor. A redação é assistida por IA e revisada por ele.