stamatios
← Voltar ao feed
Apito de árbitro em forma de balão de fala observa corrida de revezamento de robôs, LLM-as-a-Verifier avalia agentes em código e robótica
Open Source · Agentes

Framework open source usa LLMs como verificadores de agentes

resumo de ~3 min

{ "resumo": "## O que é o framework\n\nLLM-as-a-Verifier é um framework open source (licença MIT, disponível no GitHub com cerca de 3.1 mil estrelas) que usa LLMs como verificadores para avaliar trajetórias de agentes, oferecendo feedback granular sem exigir treinamento adicional. Segundo o README do projeto, ele alcança desempenho de ponta (SOTA) em benchmarks agenticos de programação, robótica e medicina, como Terminal-Bench, SWE-Bench Verified, MedAgentBench e RoboRewardBench.\n\nA ideia central combina três elementos: pontuação com granularidade fina (uma escala de tokens de nota em vez de um veredito discreto), cálculo da expectativa sobre a distribuição completa de logprobs dos tokens de score, e escalonamento por meio de avaliações repetidas e decomposição em múltiplos critérios. O feedback resultante pode ser usado para seleção de melhores candidatos, acompanhamento de progresso e reinforcement learning.\n\n## Como funciona\n\nO núcleo é um modelo de recompensa em pares: a função compare recebe uma tarefa e duas trajetórias e devolve recompensas finas em [0, 1], enquanto select escolhe o melhor entre N candidatos. Para evitar o custo quadrático de um torneio round-robin (O(N²)), o framework usa o Probabilistic Pivot Tournament (PPT), que reduz a verificação para O(Nk):\n\n- Um passe em anel (ciclo hamiltoniano aleatório) compara pares adjacentes, fazendo cada candidato aparecer nas posições A e B, o que cancela o viés posicional do modelo.\n- Os melhores k candidatos pelas notas do anel formam o conjunto de pivôs.\n- Todo não-pivô é comparado apenas contra os pivôs, concentrando o orçamento nas comparações incertas do topo.\n- A seleção final agrega a massa de vitórias normalizada (w_i/c_i).\n\nO parâmetro pivots troca custo por precisão. As verificações repetidas também alternam os slots A/B dos prompts.\n\nO reward fino é estimado somando as probabilidades atribuídas pelo modelo aos tokens de score ao longo de C critérios, K verificações repetidas e G níveis de granularidade. Na implementação real, a escala usa letras (A–T) em vez de dígitos para facilitar a extração de logprobs.\n\n## Usos: seleção, progresso e multimodalidade\n\nAlém de escolher a melhor trajetória, o mesmo reward acompanha o progresso de um agente passo a passo. A função track pontua uma trajetória concluída em cada checkpoint; o ProgressTracker faz o monitoramento online, recebendo cada passo em tempo real e devolvendo um score ao vivo - o que permite abandonar cedo execuções sem esperança (por exemplo, se o score cair abaixo de 0,05). Como o verificador só enxerga os passos até aquele momento, ele não pode "ver o futuro".\n\nCom um modelo verificador multimodal (como Gemini 2.5 Flash ou Qwen3.5-9B servido via vLLM), todos os pontos de entrada aceitam imagens - arquivos locais, URLs ou bytes - e os frames por passo ficam no histórico visual, útil por exemplo para acompanhar rollouts de robôs com frames de câmera.\n\n## Resultados relatados\n\nEm autoverificação no Terminal-Bench 2.1, o projeto gera 5 trajetórias por tarefa com deepseek-v4-flash e usa o mesmo modelo como verificador: Best-of-3 sobe de 79,4% (Pass@1) para 86,5% ± 1,1% (oráculo: 92,1%); Best-of-5 vai de 78,7% para 88,0% ± 0,6% (oráculo: 96,6%).\n\nNos benchmarks agenticos, usando Gemini 2.5 Flash como verificador, os resultados esperados são:\n\n- Terminal-Bench V2 (GPT-5.5, Best-of-5, harness Capy): de 83,1% para 86,5% (oráculo 92,1%).\n- SWE-Bench Verified (Opus 4.5 / Opus 4.6 / Gemini 3 Flash, Best-of-3, mini-swe-agent): de 76,1% para 78,2% (oráculo 84,4%).\n- MedAgentBench (Claude Opus 4.8, Best-of-5, AgentBench): de 70,2% para 73,3% (oráculo 75,0%).\n\nCada benchmark acompanha as trajetórias dos agentes no repositório e tem script de reprodução.\n\n## Eficiência de tokens e contabilização\n\nComo cada prompt carrega duas trajetórias completas (~80 mil tokens no Terminal-Bench 2.1) e é reavaliado por critério e repetição, a versão 0.2.0 introduziu otimização de prefix-cache: o critério fica na cauda do prompt, e o aquecimento de uma requisição por prefixo antes de distribuir o resto elevou a taxa de acerto do cache de 5,2% para 78,4%, reduzindo em cerca de 3,4× os tokens de entrada não cacheados. A biblioteca também inclui contabilidade de tokens (llm_verifier.token_usage()), que mede de fato as chamadas feitas, incluindo razão entre tokens cacheados e não cacheados, tokens de saída e de raciocínio.\n\n## Integração e extensão\n\nUm plugin chamado TurboAgent traz o framework ao Claude Code como proxy da API: ele gera múltiplos candidatos em paralelo, seleciona o melhor via PPT e oferece um visualizador com o DAG do pipeline e os scores. Para novos casos de uso, o projeto propõe um fluxo em três passos - copiar as trajetórias, atualizar os nomes no guia add_new_benchmark.md e usar Claude Code (ou Codex) para gerar critérios, escrever o runner e executar a seleção.\n\nO trabalho tem artigo no arXiv (2607.05391, 2026) assinado por Jacky Kwok, Shulu Li, Pranav Atreya, Yuejiang Liu, Yixing Jiang, Chelsea Finn, Marco Pavone, Ion Stoica e Azalia Mirhoseini.", "hook": "Um framework open source propõe usar LLMs como verificadores de agentes, sem precisar treinar nada: ele compara trajetórias par a par, acompanha o progresso passo a passo e até deixa um modelo julgar o próprio trabalho. Segundo o README, a abordagem supera o Pass@1 em benchmarks como Terminal-Bench, SWE-Bench Verified e MedAgentBench.", "entities": ["LLM-as-a-Verifier", "Terminal-Bench", "SWE-Bench Verified", "MedAgentBench", "Claude Code", "Gemini 2.5 Flash", "GitHub"], "themes": ["pesquisa-e-benchmarks", "engenharia-com-ia"], "story_key": "llm-as-a-verifier-framework", "reasoning": { "story_key": "Tese canônica: framework open source que usa LLMs como verificadores de agentes sem treinamento adicional.", "themes": { "pesquisa-e-benchmarks": "O fato central é medir/verificar trajetórias de agentes, com resultados em benchmarks (Terminal-Bench, SWE-Bench Verified, MedAgentBench) e método de reward fino.", "engenharia-com-ia": "Verificação e seleção de trajetórias de coding agents, incluindo plugin para Claude Code." }, "entities": { "LLM-as-a-Verifier": "Framework principal apresentado no README.", "Terminal-Bench": "Benchmark central dos resultados, inclusive autoverificação 2.1.", "SWE-Bench Verified": "Benchmark de código com resultado relatado.", "MedAgentBench": "Benchmark médico com resultado relatado.", "Claude Code": "Integração via plugin TurboAgent e fluxo de extensão de benchmarks.", "Gemini 2.5 Flash": "Modelo verificador usado nos benchmarks e suporte multimodal.", "GitHub": "Plataforma onde o repositório é publicado (fonte do conteúdo)." }, "excluded": { "deepseek-v4-flash": "Backend de exemplo, menção secundária.", "TurboAgent": "Plugin/produto derivado, detalhe da integração.", "OpenAI/Anthropic": "Modelos citados apenas como base dos benchmarks, não sujeitos do fato." } } }