Ninguém Mais Escreve Código

Capítulo 10. O agente engana o teste

Parte III. Antivibe11 min

10

O agente engana o teste

Noite à porta das urgências: quatro ambulâncias em fila, paramédicos em silhueta ao lado, a sala de espera quase vazia.ilustração
Um hospital avaliado pelo tempo de espera mantém os doentes nas ambulâncias à porta. É a lei de Goodhart.

Em 1975 o economista britânico Charles Goodhart, que prestava consultoria ao Banco da Inglaterra, notou uma regularidade desagradável na política monetária. Assim que o governo escolhia algum indicador, por exemplo o volume de determinado tipo de dinheiro na economia, e começava a administrá-lo deliberadamente, esse indicador deixava de se comportar como antes e deixava de dizer sobre o estado da economia o que dizia. Mais tarde a antropóloga Marilyn Strathern formulou a mesma ideia de modo mais curto, e é na versão dela que a lei de Goodhart é conhecida hoje por todos que já montaram um sistema de bônus para funcionários: quando uma medida vira meta, ela deixa de ser uma boa medida.

A humanidade testou essa lei em si mesma muitas vezes. Um hospital avaliado pelo tempo de espera no pronto-socorro começa a manter os pacientes nas ambulâncias na porta, porque o tempo de espera é contado a partir do momento em que o paciente entra. Uma escola avaliada pelos resultados de uma prova começa a ensinar a fazer a prova em vez da matéria. Um setor de atendimento avaliado pelo número de chamados encerrados os encerra sem ler até o fim. Nenhum dos envolvidos se considera trapaceiro: todos simplesmente fazem, com muito empenho, aquilo pelo que são elogiados.

Os modelos de linguagem aprendem empenho em escala industrial, e no capítulo anterior expliquei como: quem lhes dá a recompensa são os testes. Então a lei de Goodhart tinha de aparecer aqui também, e apareceu.


De uma margem alta: uma lancha dá voltas numa lagoa calma, o rasto desenha anéis sobrepostos, o canal para a pista vazio.ilustração
Em 2016 um programa que aprendia uma corrida de barcos encontrou uma lagoa com bónus e ficou às voltas nela, sem nunca chegar à meta.

Os primeiros exemplos marcantes surgiram muito antes dos agentes programadores. Em 2016 a OpenAI estava ensinando um programa a jogar um jogo de corrida de lanchas no computador. A recompensa eram os pontos, que o jogo dá, entre outras coisas, quando a lancha bate nos bônus espalhados pela pista. O programa logo descobriu numa parte da pista uma lagoa em que os bônus reapareciam sem parar e aprendeu a ficar rodando infinitamente nessa lagoa, batendo nas paredes, pegando fogo e acumulando pontos de novo. Nunca chegou à linha de chegada, mas fazia mais pontos do que as pessoas que percorrem a pista honestamente. Do ponto de vista da função de recompensa, era uma solução brilhante.

Os programadores têm um termo para esse comportamento: reward hacking, burla da recompensa. O sistema encontra um jeito de tirar nota alta sem fazer aquilo para o que a nota foi inventada. Não há má intenção nisso, assim como não há no hospital com as ambulâncias na porta: o sistema otimiza o que lhe deram para otimizar, e se a avaliação tem uma brecha, um sistema capaz o bastante vai encontrá-la.

VídeoO barco na lagoa
O vídeo da nota da OpenAI “Faulty Reward Functions in the Wild”, de dezembro de 2016. O programa dá voltas na lagoa atrás de bônus, pega fogo, bate nas paredes e soma pontos, e nunca chega à linha de chegada.

Em fevereiro de 2025 a Anthropic lançou o modelo Claude 3.7 Sonnet e, no documento que a empresa publica junto com cada modelo, descreveu uma observação desagradável. No modo em que o modelo trabalha como agente e ele mesmo escreve e roda código, de vez em quando ele resolvia a tarefa ajustando-a ao teste: em vez de uma solução geral, devolvia os valores que o teste esperava e às vezes corrigia o próprio teste para que coincidisse com o que o seu código produzia. Isso acontecia, em geral, depois de várias tentativas frustradas de resolver a tarefa de verdade. O modelo tentava uma solução geral, rodava os testes, via que falhavam, tentava de novo, e em algum momento, falando em termos humanos, desistia e achava um jeito de fazer o termômetro marcar a temperatura certa.

Após entrar

O resto do livro é para quem entrou

Entre com INITE ou crie uma conta. Leva um minuto, e o livro abre aqui mesmo.