UStackUStack
BenchSpan icon

BenchSpan

BenchSpan executa benchmarks de agentes de IA em paralelo, registra scores e falhas em um histórico organizado e facilita reprodutibilidade por commit.

BenchSpan

O que é BenchSpan?

BenchSpan ajuda as equipes a executar benchmarks de agentes de IA de forma mais rápida, reprodutível e fácil de compartilhar. Em vez de conectar manualmente um agente a diferentes harnesses de benchmark e copiar resultados para arquivos espalhados, o BenchSpan padroniza a execução de benchmarks e direciona scores, erros e tempos para um histórico organizado de execuções.

Seu propósito principal é reduzir o tempo e o custo de execução de suítes de benchmarks (incluindo varreduras grandes como centenas de instâncias), ao mesmo tempo em que melhora a confiança nos resultados vinculando as execuções ao hash de commit do agente e facilitando a comparação lado a lado.

Principais Recursos

  • Executor de benchmarks que padroniza a configuração do agente via script shell: O BenchSpan pode executar agentes que iniciam via comando bash, minimizando código de cola e trabalho específico de interface de harness.
  • Biblioteca de benchmarks mais suporte a benchmarks próprios: Você pode escolher entre um conjunto incluído de benchmarks ou trazer sua própria definição de benchmark.
  • Execução paralela usando contêineres Docker isolados: Cada instância de benchmark roda em seu próprio contêiner Docker e pode executar em paralelo, visando conclusão muito mais rápida para suítes grandes.
  • Captura e organização automática de resultados: O BenchSpan captura scores, trajetórias, erros e tempos, organizando-os para comparação posterior.
  • Execuções marcadas por commit para reprodutibilidade e comparação: Os resultados são marcados com o hash de commit do agente, permitindo que as equipes comparem execuções diferentes e saibam qual código gerou quais números.
  • Reexecutar apenas instâncias com falha: Se uma execução encontrar falhas parciais (ex.: erros de rede ou limites de taxa em algumas instâncias), você pode tentar novamente apenas o subconjunto com falha em vez de reexecutar tudo.

Como Usar o BenchSpan

  1. Onboard seu agente escrevendo um script bash que o inicia, depois aponte o BenchSpan para ele.
  2. Selecione um benchmark da biblioteca do BenchSpan ou use um benchmark que você fornecer.
  3. Execute a suíte definindo o número de instâncias e iniciando a execução; o BenchSpan executa as instâncias em paralelo usando contêineres Docker.
  4. Revise os resultados na saída organizada, compare execuções usando as marcações de hash de commit. Se algumas instâncias falharam, reexecute apenas essas instâncias com falha.

Casos de Uso

  • Comparar iterações de agentes durante o desenvolvimento: Execute uma suíte de benchmarks após atualizar prompts ou código do agente, depois compare taxas de resolução e padrões de falha entre commits.
  • Escalar avaliações no estilo SWE em centenas de instâncias: Execute suítes de benchmarks grandes que seriam impraticáveis sequencialmente, onde a execução paralela em Docker reduz o tempo total.
  • Recuperar de falhas parciais sem recomeçar: Quando algumas instâncias falham por limites de taxa ou timeouts, reexecute apenas as instâncias com falha em vez de repetir a suíte completa.
  • Colaboração em equipe sobre reivindicações de benchmarks: Compartilhe um único registro de execução de benchmark com a equipe para que os resultados não se percam em planilhas separadas ou mensagens de chat.
  • Testar agentes com prompts ou configurações subjacentes diferentes: Acompanhe qual versão de prompt e commit de código gerou quais resultados via execuções marcadas por commit, ajudando a evitar disputas sobre “qual config” foi usada.

FAQ

  • Que tipo de agente o BenchSpan suporta? O site afirma que “qualquer agente que rode via bash” funciona, ou seja, você pode iniciar o agente com um comando shell e o BenchSpan se integra por meio disso.

  • Os benchmarks rodam sequencialmente ou em paralelo? O BenchSpan executa instâncias de benchmarks em paralelo, com cada instância isolada em seu próprio contêiner Docker.

  • Como o BenchSpan lida com execuções com falha? Se algumas instâncias falharem, o BenchSpan pode reexecutar apenas as instâncias com falha em vez de exigir reinício completo da suíte inteira.

  • Como os resultados são organizados para comparação? Os resultados (scores, trajetórias, erros e tempos) são capturados e organizados, e marcados com o hash de commit do agente para comparação lado a lado.

Alternativas

  • Scripts de benchmark locais ou em máquina única: Executar suítes de benchmark em um laptop pode ser mais simples inicialmente, mas o fluxo de trabalho é mais lento, e os resultados frequentemente permanecem fragmentados, a menos que você construa suas próprias ferramentas de rastreamento e reprodutibilidade.
  • Orquestração manual com Docker e código de integração personalizado: Você pode paralelizar com contêineres e escrever código de integração para cada benchmark, mas ainda precisa implementar adaptadores de interface, lógica de retomada e um histórico centralizado de resultados.
  • Registro de resultados em planilhas/Notion/Slack de forma ad hoc: Copiar números para documentos compartilhados pode funcionar para experimentos pequenos, mas não oferece gerenciamento padronizado de execuções, histórico por commit ou comparações estruturadas automaticamente.
BenchSpan | UStack