UStackUStack
BenchSpan icon

BenchSpan

BenchSpan exécute des benchmarks d’agents IA en parallèle, consigne scores et échecs dans un historique, et facilite la reproductibilité via des exécutions taguées par commit.

BenchSpan

Qu’est-ce que BenchSpan ?

BenchSpan aide les équipes à exécuter des benchmarks d’agents IA de manière plus rapide, reproductible et facile à partager. Au lieu de connecter manuellement un agent à différents harnais de benchmarks et de copier les résultats dans des fichiers dispersés, BenchSpan standardise l’exécution des benchmarks et centralise scores, erreurs et timings dans un historique organisé.

Son objectif principal est de réduire le temps et le coût d’exécution de suites de benchmarks (y compris des balayages massifs comme des centaines d’instances), tout en renforçant la confiance dans les résultats en liant les exécutions au hash de commit de l’agent et en facilitant les comparaisons côte à côte.

Fonctionnalités clés

  • Lanceur de benchmarks standardisant la configuration de l’agent via un script shell : BenchSpan peut exécuter des agents lancés par une commande bash, minimisant le code d’intégration et les adaptations spécifiques aux harnais.
  • Bibliothèque de benchmarks + apportez les vôtres : Choisissez parmi un ensemble de benchmarks inclus ou utilisez votre propre définition de benchmark.
  • Exécution parallèle dans des conteneurs Docker isolés : Chaque instance de benchmark s’exécute dans son propre conteneur Docker et peut tourner en parallèle, pour un achèvement beaucoup plus rapide des grandes suites.
  • Capture et organisation automatique des résultats : BenchSpan enregistre scores, trajectoires, erreurs et timings, puis les organise pour une comparaison ultérieure.
  • Exécutions taguées par commit pour reproductibilité et comparaison : Les résultats sont associés au hash de commit de l’agent, permettant aux équipes de comparer les exécutions et de savoir quel code a produit quels chiffres.
  • Relancer uniquement les instances échouées : En cas d’échecs partiels (ex. : erreurs réseau ou limites de taux sur certaines instances), relancez uniquement les instances concernées plutôt que tout le lot.

Comment utiliser BenchSpan

  1. Intégrez votre agent en écrivant un script bash qui le lance, puis indiquez-le à BenchSpan.
  2. Sélectionnez un benchmark dans la bibliothèque de BenchSpan ou utilisez le vôtre.
  3. Lancez la suite en définissant le nombre d’instances et en démarrant l’exécution ; BenchSpan traite les instances en parallèle via des conteneurs Docker.
  4. Consultez les résultats dans la sortie organisée, comparez les exécutions via les tags de commit. En cas d’échecs partiels, relancez uniquement ces instances.

Cas d’usage

  • Comparer les itérations d’agents en développement : Exécutez une suite de benchmarks après mise à jour des prompts ou du code d’agent, puis comparez taux de résolution et motifs d’échec entre commits.
  • Évaluer à l’échelle de centaines d’instances style SWE : Exécutez de grandes suites de benchmarks impraticables en séquentiel, l’exécution parallèle Docker réduisant le temps total.
  • Récupérer des échecs partiels sans recommencer : En cas d’échecs dus à des limites de taux ou timeouts, relancez uniquement les instances échouées au lieu de la suite complète.
  • Collaboration d’équipe sur les benchmarks : Partagez un enregistrement unique d’exécution avec l’équipe pour éviter la perte de résultats dans des tableurs ou messages dispersés.
  • Tester des agents avec prompts ou configs différents : Suivez quelle version de prompt et commit de code a produit quels résultats via les exécutions taguées, évitant les litiges sur la « config » utilisée.

FAQ

  • Quels types d’agents BenchSpan supporte-t-il ? Le site indique que « tout agent lancé via bash » est compatible, c’est-à-dire démarrable par une commande shell que BenchSpan intègre.

  • Les benchmarks s’exécutent-ils en séquentiel ou en parallèle ? BenchSpan exécute les instances de benchmarks en parallèle, chaque instance isolée dans son propre conteneur Docker.

  • Comment BenchSpan gère-t-il les exécutions échouées ? En cas d’échecs partiels, BenchSpan permet de relancer uniquement les instances concernées plutôt que de redémarrer toute la suite.

  • Comment les résultats sont-ils organisés pour comparaison ? Les résultats (scores, trajectoires, erreurs et timings) sont capturés, organisés et tagués avec le hash de commit de l’agent pour une comparaison côte à côte.

Alternatives

  • Scripts de benchmarks locaux ou mono-machine : Exécuter des suites de benchmarks sur un ordinateur portable peut être plus simple au départ, mais le workflow est plus lent, et les résultats restent souvent fragmentés sans outil de suivi et de reproductibilité personnalisé.
  • Orchestration manuelle avec Docker et code de liaison personnalisé : Vous pouvez paralléliser avec des conteneurs et écrire du code de liaison pour chaque benchmark, mais il faut quand même implémenter des shims d’interface, une logique de reprise, et un historique centralisé des résultats.
  • Journalisation ad hoc des résultats dans des tableurs/Notion/Slack : Copier des chiffres dans des documents partagés peut convenir pour de petites expériences, mais cela ne fournit pas de gestion standardisée des exécutions, d’historique tagué par commit, ni de comparaisons structurées automatiquement.
BenchSpan | UStack