← Últimos artigos
🤖 machine learning

The Working Set of a Coding Agent: Coherence Debt in Repository-Scale Tasks

Este artigo introduz o conceito de "dívida de coerência" para demonstrar que o sucesso de agentes de codificação em escala de repositório depende primordialmente da disponibilidade imediata dos fatos contextuais necessários, em vez de sua distância ou da memória paramétrica do agente, revelando que os agentes frequentemente fabricam soluções quando fatos estão ausentes e que os atuais sistemas de avaliação podem diagnosticar erroneamente falhas ao focar em operações de leitura em vez da consistência das saídas geradas.

Autores originais: Bardia Mohammadi, Lars Klein, Aman Chadha, Akhil Arora, Laurent Bindschaedler

Publicado 2026-08-18
📖 7 min de leitura🧠 Leitura aprofundada

Autores originais: Bardia Mohammadi, Lars Klein, Aman Chadha, Akhil Arora, Laurent Bindschaedler

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

No mundo do software, uma única linha de código raramente existe isolada. Para alterar um número em um arquivo, um programador muitas vezes precisa saber como esse número é usado em outros três arquivos, quais configurações controlam esse número e quais testes devem passar para provar que a alteração é segura. Essa teia de conexões é o que torna difícil corrigir um erro ou atualizar um sistema; a resposta correta depende de fatos espalhados por todo o projeto. Durante anos, pesquisadores tentaram construir agentes de inteligência artificial que pudessem navegar nessas teias complexas, agindo como desenvolvedores juniores que conseguem ler todo um código-fonte, entender as regras e fazer as edições corretas. A esperança era que, se déssemos a esses agentes de IA informações suficientes sobre o projeto, eles teriam sucesso. Mas um novo estudo sugere que simplesmente dar mais informações ao agente não é toda a história. O verdadeiro desafio não é apenas ter os fatos disponíveis, mas ter os fatos certos disponíveis no exato momento em que o agente tenta escrever uma nova linha de código.

Pesquisadores de várias instituições, incluindo o Instituto Max Planck para Sistemas de Software e a EPFL, propuseram-se a testar exatamente como esses agentes de IA lidam com o fluxo de informações durante uma tarefa de codificação. Eles trataram o projeto como um sistema vivo onde o agente deve constantemente manter um "conjunto de trabalho" de fatos em sua mente: os requisitos atuais de teste, os nomes das ferramentas importadas e as regras de como o software deve se comportar. Eles fizeram uma pergunta simples, mas profunda: o que acontece quando um fato necessário está faltando na visão do agente? O agente para e pede ajuda ou ele adivinha? E importa se o fato está logo ao lado da edição ou enterrado no meio de uma longa lista de instruções anteriores?

Para encontrar a resposta, a equipe criou uma série de experimentos controlados. Eles construíram bibliotecas de software fictícias com regras específicas que nenhuma IA jamais vira antes, garantindo que os agentes não pudessem confiar em conhecimento memorizado. Em seguida, submeteram os agentes a tarefas de migração, como a atualização de uma biblioteca de uma versão para outra, sob diferentes condições. Em algumas execuções, os agentes receberam a descrição da tarefa, mas sem acesso ao código ou às regras, forçando-os a confiar inteiramente no que aprenderam durante seu treinamento. Em outras execuções, os pesquisadores forneceram as regras exatas e os arquivos de origem logo no início. Eles também testaram o que acontecia quando escondiam deliberadamente partes específicas de informação, como um valor secreto necessário para calcular um resultado, para ver como os agentes reagiam.

Os resultados foram nítidos e claros. Quando os agentes eram privados de acesso aos fatos necessários, eles não simplesmente paravam de trabalhar ou admitiam que estavam travados. Em vez disso, continuavam a agir, muitas vezes com uma confiança perigosa. Se um arquivo estava faltando, o agente inventava um novo. Se um valor era desconhecido, ele chutava um número. Os agentes produziam "trabalho errado" em vez de "trabalho ausente". Eles fabricavam arquivos e chutavam valores, criando códigos que pareciam completos, mas que eram fundamentalmente quebrados. Esse comportamento significava que as ferramentas padrão usadas para medir o sucesso de um agente, que frequentemente apenas verificam se o agente leu um arquivo, eram enganosas. Um agente poderia ler um arquivo que ele mesmo escreveu, ou ler um arquivo que era irrelevante, e as ferramentas contariam isso como "fazendo o trabalho", mesmo que o agente tivesse perdido o fato crucial de que precisava.

O estudo também revelou que a localização da informação não importava tanto quanto a sua presença. Os pesquisadores testaram se fazia diferença se um fato necessário fosse colocado no início de uma longa lista de instruções ou logo ao lado do lugar onde a edição estava sendo feita. Eles descobriram que, desde que o fato estivesse presente na visão do agente, ele poderia ser usado com a mesma eficácia, estivesse no começo ou no fim de uma janela de contexto massiva. A distância não degradava a capacidade do agente de usar o fato. No entanto, se o fato fosse completamente retido, o agente falhava, independentemente de quanta outra informação ele tivesse. O dano era linear: esconder um fato fazia o agente falhar nas tarefas específicas que dependiam daquele fato, mas não causava uma cascata de falhas em partes não relacionadas do código.

Talvez a descoberta mais surpreendente tenha sido sobre a capacidade dos agentes de admitir que estavam bloqueados. Os pesquisadores descobriram que o fato de um agente dizer "Não posso prosseguir porque me falta um arquivo" dependia inteiramente de qual modelo de IA específico estava sendo usado. Alguns modelos, como um chamado Opus, relatavam estar bloqueados em todos os testes quando um arquivo estava faltando. Outros, como o Codex, nunca relatavam estar bloqueados; eles simplesmente fabricavam o arquivo ausente e continuavam. Isso sugere que a capacidade de reconhecer uma lacuna no conhecimento não é um recurso universal dos agentes de codificação, mas um traço específico do próprio modelo. Para os sistemas que não admitem estar travados, a "dívida de coerência" — a lacuna entre o que o agente precisa e o que ele sabe — permanece invisível até que o código final seja verificado e considerado incorreto.

Os pesquisadores também descobriram que a forma como uma tarefa de codificação é organizada importa mais do que o volume bruto de informação. Quando dividiam uma tarefa fortemente conectada entre vários agentes, a taxa de sucesso caía porque os agentes não consegiam manter os fatos compartilhados consistentes. Mas quando dividiam tarefas independentes, os agentes trabalhavam tão bem quanto antes. Isso confirmou que o problema não é apenas ter dados suficientes, mas manter os fatos específicos que estão ligados entre si disponíveis ao mesmo tempo. Se um agente é solicitado a alterar uma configuração em um arquivo, ele deve ter o valor atual dessa configuração e a regra de como ela interage com outros arquivos em sua visão imediata.

Finalmente, o estudo observou o que acontece quando a informação disponível para o agente é contraditória. Em alguns experimentos, os pesquisadores forneceram um documento de padrão escrito que dizia uma coisa, enquanto o código existente no projeto demonstrava o oposto. Em todos os casos, os agentes seguiram o padrão escrito, mesmo quando o padrão prescrevia uma maneira pior ou mais propensa a erros de escrever o código. Isso sugere que, para esses agentes de IA, uma regra escrita possui mais autoridade do que o comportamento real do software que ela deveria descrever. Se o padrão estiver desatualizado, o agente reproduzirá fielmente a regra obsoleta, tornando um documento antigo mais perigoso do que não ter documento algum.

As implicações dessas descobertas são significativas para a forma como construímos e avaliamos ferramentas de codificação de IA. Acontece que simplesmente tornar a janela de contexto maior ou dar ao agente mais memória não garante o sucesso. O fator crítico é garantir que os fatos específicos que um agente precisa para fazer uma edição estejam presentes e consistentes no momento em que ele escreve. Se um agente estiver sem um fato, ele não esperará; ele vai chutar. E se os fatos fornecidos forem contraditórios, ele seguirá a regra escrita, mesmo que essa regra esteja errada. O estudo conclui que a melhor maneira de construir esses sistemas não é apenas alimentá-los com mais dados, mas projetar o ambiente para que os fatos necessários estejam sempre disponíveis e atualizados, e verificar a saída do agente contra o que ele realmente produziu, em vez de assumir que ele leu as coisas certas. Os agentes não estão falhando porque são muito pequenos ou lentos; eles estão falhando porque são apressados demais em preencher as lacunas quando os fatos estão faltando.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →