Code as Agent Harness — um survey de 102 páginas que vê o código como base de execução do agente
(code-as-harness.github.io)Trabalho conjunto de UIUC × Meta × Stanford. É um artigo de survey que saiu no arXiv em maio, e a perspectiva é bem interessante.
Argumento central
"Código não é mais apenas o resultado gerado por LLMs. É o operational substrate em que o agente raciocina, age, armazena estado e verifica feedback."
Ou seja, a visão é que código não é apenas um arquivo .py, mas o próprio mundo em que o agente vive. Eles chamam isso de code as agent harness.
Estrutura em 3 camadas
O artigo analisa sistemas de agentes dividindo-os em 3 camadas:
① Harness Interface — como o código conecta o agente ao ambiente
- Como em Program-of-Thoughts, externalizar o raciocínio em código para executar/verificar
- Em controle de GUI/robôs, o programa gerado atua como política
- Codebase, traces e simuladores representam o próprio ambiente
② Harness Mechanisms — sistemas de controle que sustentam execução de longo prazo
- Planning: está evoluindo além da simples decomposition para planejamento persistente baseado em sistema de arquivos, como
PLAN.md. O Meta-Harness trata o próprio design do harness como espaço de busca - Memory: analisa working/semantic/experiential/long-term/multi-agent memory + context compaction. O ponto central é que "memória não é um único vector DB, mas uma camada integrada de gerenciamento de estado"
- PEV Loop: redefine o ciclo Plan → Execute → Verify como um cybernetic governor. A execução segue um modelo de permissões em 3 níveis: read-only → sandbox-edit → full-access(HITL)
- AHE: uma camada meta que mede e otimiza o próprio harness
③ Scaling the Harness — como múltiplos agentes colaboram sobre o código como meio compartilhado
- Descoberta interessante: "a complexidade topológica é um imposto criado pela imaturidade da representação de estado compartilhado" — sistemas com estado bem projetado funcionam bem mesmo com estrutura simples, enquanto sistemas que dependem de estado implícito compensam essa deficiência com topologias complexas
Pontos marcantes
- Context Compaction + State Offloading: em vez de colocar tudo na janela de contexto, mantenha no contexto ativo apenas os resumos necessários para a decisão e descarregue os dados completos via protocolos no estilo MCP — dica totalmente prática
- Verificação como sensor determinístico: feedback determinístico de linter, type checker, testes e fuzzer é um sinal de controle mais confiável do que critique de LLM
- A causa das falhas está no harness, não no modelo: "a maioria das falhas de agentes vem de contexto de repositório insuficiente, interfaces de ferramentas frágeis, verificadores fracos, custo excessivo de tokens e políticas de retry mal definidas"
Open Problems
Entre os 7 problemas em aberto deixados pelo artigo:
- Avaliação além do sucesso final: traces intermediários, tentativas de recuperação e checks de segurança também devem ser métricas de primeira classe
- Melhorias no harness sem regressão: como aprender com falhas sem quebrar o comportamento existente
- Estado compartilhado transacional entre múltiplos agentes: resolver conflitos quando vários agentes editam código ao mesmo tempo
Referências
- Artigo: https://arxiv.org/abs/2605.18747
- Site com resumo bem organizado: https://code-as-harness.github.io/code-as-harness-webpage/
- Coletânea de artigos relacionados: https://github.com/YennNing/Awesome-Code-as-Agent-Harness-Papers
Ainda não há comentários.