UStackUStack
BenchSpan icon

BenchSpan

BenchSpan ejecuta benchmarks de agentes con IA en paralelo, registra puntuaciones y fallos en un historial organizado y ayuda a reproducir resultados por commit.

BenchSpan

¿Qué es BenchSpan?

BenchSpan ayuda a los equipos a ejecutar benchmarks de agentes con IA de forma más rápida, reproducible y fácil de compartir. En lugar de conectar manualmente un agente a diferentes harnesses de benchmarks y copiar resultados en archivos dispersos, BenchSpan estandariza la ejecución de benchmarks y canaliza puntuaciones, errores y tiempos en un historial de ejecuciones organizado.

Su propósito principal es reducir el tiempo y costo de ejecutar suites de benchmarks (incluyendo sweeps grandes como cientos de instancias), mientras mejora la confianza en los resultados asociando las ejecuciones al hash de commit del agente y facilitando la comparación de ejecuciones lado a lado.

Características principales

  • Ejecutor de benchmarks que estandariza la configuración del agente mediante un script de shell: BenchSpan puede ejecutar agentes que se inician vía un comando bash, minimizando código de pegamento y trabajo específico de interfaces de harness.
  • Biblioteca de benchmarks más trae los tuyos propios: Puedes elegir de un conjunto incluido de benchmarks o usar tu propia definición de benchmark.
  • Ejecución paralela con contenedores Docker aislados: Cada instancia de benchmark se ejecuta en su propio contenedor Docker y puede ejecutarse en paralelo, logrando una finalización mucho más rápida para suites grandes.
  • Captura y organización automática de resultados: BenchSpan captura puntuaciones, trayectorias, errores y tiempos, y los organiza para comparaciones posteriores.
  • Ejecuciones etiquetadas por commit para reproducibilidad y comparación: Los resultados se etiquetan con el hash de commit del agente para que los equipos puedan comparar ejecuciones diferentes y saber qué código produjo qué números.
  • Reejecutar solo instancias fallidas: Si una ejecución tiene fallos parciales (p. ej., errores de red o límites de tasa en algunas instancias), puedes reintentar solo el subconjunto fallido en lugar de reejecutar todo.

Cómo usar BenchSpan

  1. Integra tu agente escribiendo un script bash que lo inicie, luego apunta BenchSpan a él.
  2. Selecciona un benchmark de la biblioteca de BenchSpan o usa uno que proporciones.
  3. Ejecuta la suite configurando el número de instancias e iniciando la ejecución; BenchSpan ejecuta las instancias en paralelo usando contenedores Docker.
  4. Revisa los resultados en la salida organizada, compara ejecuciones usando las etiquetas de hash de commit. Si algunas instancias fallaron, reejecuta solo esas instancias fallidas.

Casos de uso

  • Comparar iteraciones de agentes durante el desarrollo: Ejecuta una suite de benchmarks tras actualizar prompts o código del agente, luego compara tasas de resolución y patrones de fallo entre commits.
  • Escalar evaluaciones estilo SWE a cientos de instancias: Ejecuta suites de benchmarks grandes que serían imprácticas de forma secuencial, donde la ejecución paralela en Docker reduce el tiempo total.
  • Recuperarse de fallos parciales sin empezar de cero: Cuando algunas instancias fallan por límites de tasa o timeouts, reejecuta solo las instancias fallidas en lugar de repetir la suite completa.
  • Colaboración en equipo sobre claims de benchmarks: Comparte un único registro de ejecución de benchmark con tu equipo para que los resultados no se pierdan en hojas de cálculo separadas o mensajes de chat.
  • Probar agentes con prompts o configuraciones subyacentes diferentes: Rastrea qué versión de prompt y commit de código produjo qué resultados mediante ejecuciones etiquetadas por commit, ayudando a evitar disputas sobre “qué config” se usó.

Preguntas frecuentes

  • ¿Qué tipo de agente soporta BenchSpan? El sitio indica que “cualquier agente que se ejecute vía bash” funciona, lo que significa que puedes iniciar el agente con un comando de shell y BenchSpan se integrará a través de eso.

  • ¿Los benchmarks se ejecutan de forma secuencial o en paralelo? BenchSpan ejecuta instancias de benchmarks en paralelo, con cada instancia aislada en su propio contenedor Docker.

  • ¿Cómo maneja BenchSpan las ejecuciones fallidas? Si algunas instancias fallan, BenchSpan puede reejecutar solo las instancias fallidas en lugar de requerir un reinicio completo de toda la suite.

  • ¿Cómo se organizan los resultados para comparación? Los resultados (puntuaciones, trayectorias, errores y tiempos) se capturan y organizan, y se etiquetan con el hash de commit del agente para comparación lado a lado.

Alternativas

  • Scripts de benchmarks locales o en una sola máquina: Ejecutar suites de benchmarks en un portátil puede ser más simple al principio, pero el flujo de trabajo es más lento y los resultados suelen quedar fragmentados, a menos que construyas tu propia herramienta de seguimiento y reproducibilidad.
  • Orquestación manual con Docker y código de integración personalizado: Puedes paralelizar con contenedores y escribir código de integración para cada benchmark, pero aún necesitas implementar adaptadores de interfaz, lógica de reanudación y un historial centralizado de resultados.
  • Registro de resultados ad hoc en hojas de cálculo/Notion/Slack: Copiar números a documentos compartidos puede funcionar para experimentos pequeños, pero no proporciona gestión estandarizada de ejecuciones, historial etiquetado por commit ni comparaciones estructuradas de forma automática.
BenchSpan | UStack