Resumo. Harness é o programa escrito ao redor de um modelo: ferramentas, instruções, fluxos e lógica de execução. Escrevê-lo à mão sempre foi a habilidade central de quem constrói agentes. O artigo argumenta que isso está acabando. Um harness escrito à mão é um palpite sobre uma tarefa, feito numa tarde; depois de publicado, ele roda por meses sem que ninguém leia ou dê nota. No loop que o artigo descreve, o harness é um arquivo que se avalia: um modelo pequeno de 4B lê o que falhou e propõe 8 edições, e só sobrevive a edição que tira a maior nota em perguntas held-out. Isso se repete a cada rodada. O modelo grande fica congelado; só o arquivo ao redor dele muda. O trabalho humano encolhe para um único artefato, o conjunto de avaliação, então frameworks viram descartáveis e a prova vira o trabalho.
Termos-chave: engenharia de harness, harness auto-aprimorável, avaliação held-out, modelo congelado, modelo editor pequeno, engenharia de loop
Engenharia de harness significou, até hoje, escrever à mão o programa ao redor do modelo. Uma pessoa estuda uma tarefa, escreve um arquivo e publica.1 Depois disso ninguém lê o arquivo e ninguém dá nota a ele, então um palpite errado continua rodando por meses. A resposta do artigo é parar de escrever esse arquivo à mão e deixar um loop escrevê-lo, sem tocar no modelo.
Cada rodada começa pelo que falhou. Um modelo pequeno de 4B2 lê as falhas e propõe 8 edições ao arquivo de harness. Cada edição é avaliada em perguntas held-out;3 a melhor é mantida como próxima versão e as outras sete são descartadas (Algoritmo 1). O modelo grande nunca é retreinado: fica congelado enquanto o arquivo ao redor dele muda.
| Parte | Escreve | Com que frequência |
|---|---|---|
| Humano | o conjunto de avaliação | uma vez, antes do loop |
| Loop: modelo 4B | edições do harness | 8 por rodada |
| ✳ Modelo grande | nada, congelado | roda em toda rodada |
Três partes tocam o sistema e só uma delas é uma pessoa (Tabela 1). O humano escreve o conjunto de avaliação: as perguntas em que o harness recebe nota. O modelo 4B escreve toda edição do arquivo de harness. O modelo grande não escreve nada; é o mesmo modelo congelado em toda rodada, e só o arquivo ao redor dele muda (Tabela 2).
| à mão | pelo loop | |
|---|---|---|
| escrito por | uma pessoa | um modelo de 4B |
| frequência | uma vez, numa tarde | toda rodada |
| candidatos | um palpite | 8 edições por rodada |
| avaliado em | nada | perguntas held-out |
| após publicar | roda por meses, sem leitura | falhas lidas a cada rodada |
| modelo grande | congelado | congelado |
Quando um loop escreve o harness, frameworks viram descartáveis e a prova vira o trabalho. A ordem do trabalho se inverte: primeiro as perguntas em que o harness vai receber nota, depois o código. A vantagem competitiva deixa de ser quão bem escrevemos código para agentes e passa a ser quão bem medimos se eles realmente melhoraram.
Aqui o loop roda de verdade, no seu navegador. A tarefa: classificar manchetes de notícias do gov.br em quatro temas. O modelo grande congelado é um classificador fixo que nunca muda: ele conta quantas palavras de cada tema do harness aparecem na manchete e escolhe o tema com mais acertos (empate ou zero conta como erro). O arquivo de harness é a lista de palavras por tema. O editor lê as manchetes que falharam e propõe 8 edições (incluir ou remover uma palavra); cada edição é avaliada nas perguntas held-out e só a melhor fica.4
Seu trabalho é só a prova. Edite as manchetes rotuladas abaixo e rode o loop: metade vira o conjunto de onde saem as falhas, a outra metade é held-out e serve só para dar nota. Uma prova fraca produz um harness fraco, e o loop não tem como perceber.
Temas válidos são as chaves do harness v0 ao lado. Linhas em branco e iniciadas por # são ignoradas.
As palavras são comparadas pelos 6 primeiros caracteres, sem acento: "vacina" cobre "vacinação" e "vacinas".