
AutoSaddler da Microsoft otimiza prompts e ferramentas de agentes
O que é o AutoSaddler
A Microsoft publicou como projeto de código aberto o AutoSaddler, ferramenta que melhora automaticamente harnesses de agentes de LLM - a camada que envolve o modelo, abrangendo prompts, definições e implementações de ferramentas, hooks de middleware e a lógica do loop do agente. A ferramenta diagnostica traces de execução, aplica atualizações estruturadas e seleciona as mudanças que generalizam; o código é distribuído sob licença MIT. Segundo o repositório, o artigo foi lançado no arXiv em 24 de agosto de 2026, acompanhado de site do projeto e vídeo curto, e no dia 25 foi adicionado suporte na V2 para otimizar o harness Meta-ARE no GAIA2.
Resultados preliminares
O README reporta resultados preliminares de Pass@1 em teste: no GAIA2, o agente ReAct padrão passa de 53,0 para 62,0 (+9,0 pontos percentuais); no SWE-Bench Pro, o SWE-agent vai de 37,3 para 46,9 (+9,6 pp); no Terminal-Bench 2.0, o Terminus 2 vai de 40,0 para 50,0 (+10,0 pp). Detalhes como resultados por modelo, ablações, gráficos de eficiência de compute e trajetórias de otimização ficam no artigo e no site do projeto, não na página.
Como funciona
A otimização do harness é formulada como aprendizado offline em mini-lotes, com três tipos de sessão. Na Diagnosis-Patch, o sistema inspeciona traces com falha e o código do harness para achar causas raiz, em vez de recorrer a reflexão superficial, e propõe patches estruturados: de Capability (código ou infraestrutura) e de Steering (mudanças textuais de comportamento), dentro de uma taxonomia explícita e de um cronograma em fases chamado Capability-to-Steering. Na Reflection, compara traces anteriores e posteriores ao patch, classifica casos corrigidos, regredidos, ainda com falha e ainda aprovados, e registra lições reutilizáveis. Na Evolution, consulta o grafo de evolução EvoDAG para sintetizar candidatos a partir de componentes bem-sucedidos e lições de linhagens anteriores. Cada candidato é verificado em casos de treinamento amostrados e validado no split de desenvolvimento; esgotado o orçamento de rollouts, a ferramenta devolve o candidato mais bem posicionado.
Execução durável e reprodutibilidade
O projeto enfatiza execução durável: eventos append-only, proveniência imutável, estado retomável e candidatos endereçados por conteúdo. O arquivo events.l é a fonte autoritativa de cada execução; para retomar após uma interrupção, basta repetir o mesmo comando com as mesmas entradas, e a documentação adverte nunca rodar dois processos com o mesmo ID. Checkpoints não terminais validados podem ser ramificados em novas execuções, com apenas o limite máximo de iterações podendo diferir. A configuração é estrita e do tipo fail-closed: um ID só pode ser reutilizado quando todas as entradas resolvidas são byte-idênticas - mudanças em revisões de código, manifests, configurações ou proveniência são rejeitadas.
Plugins, integrações e requisitos
O AutoSaddler requer Python 3.12 a 3.14, uv e Git. A versão atual, V2, é uma implementação durável baseada em plugins; a V1, de qualidade de pesquisa, fica mantida para reproduzir os experimentos do artigo. Um plugin de cenário faz a ponte entre o motor genérico e um par harness/benchmark, fornecendo espaço de harness, casos, avaliador, evidências, prompts e metadados de reprodutibilidade; pacotes externos podem registrar plugins pelo entry-point autosaddler.scenarios, e o sistema rejeita nomes duplicados, versões de API incompatíveis e descritores malformados. As integrações incluídas cobrem um harness falso determinístico, para desenvolvimento local e testes, e o agente ReAct padrão do Meta-ARE no GAIA2; suportes a OpenClaw, Codex e Terminal-Bench são anunciados como em preparação. As sessões de otimização podem usar um provedor falso embutido, o Anthropic Claude Agent SDK ou o GitHub Copilot SDK.
O README documenta ainda um smoke run no GAIA2 com sete cenários (seis de treinamento e um de desenvolvimento) e duas iterações de otimização, advertindo que pode levar horas e gerar cobranças do provedor; nesse exemplo, o OpenAI gpt-4.1-mini atua como agente de tarefa e juiz, e o Anthropic claude-opus-4-6 executa a otimização. A documentação encoraja usar um agente de codificação para conduzir novas integrações. No momento da captura, o repositório registrava 45 estrelas e 3 forks.