Benchmark · agentic
Terminal-Bench
Terminal-Bench évalue dans quelle mesure les agents d'IA accomplissent de vraies tâches en ligne de commande dans un terminal, comme installer des logiciels, déboguer et effectuer des opérations système. Le score est le pourcentage de tâches que l'agent termine avec succès.
En savoir plus
- Exemple
- Une tâche typique donne à l'agent un environnement cassé ou vide et lui demande de le rendre fonctionnel — par exemple, installer les bonnes dépendances et corriger la configuration pour qu'un programme s'exécute, le tout via des commandes du terminal.
- Notation
- Chaque tâche est notée réussie ou échouée selon que l'agent a atteint l'état final requis, et le score du benchmark est le pourcentage de tâches résolues sur le total.
- Vérification
- Un résultat n'est accepté que si des vérifications automatiques dans un environnement isolé (sandbox) confirment que l'objectif visé de la tâche a été atteint — et non par des votes humains ni une correspondance exacte de texte.
- Pourquoi c'est important
- Les compétences en terminal — installer, déboguer et administrer des systèmes depuis la ligne de commande — sont au cœur du vrai travail d'ingénierie, donc ce benchmark montre si un agent peut agir de façon autonome et fiable dans une véritable ligne de commande. Sa version 2.x, plus difficile, maintient la barre haute à mesure que les agents progressent.
Exemple résolu
Tâche
Dans un conteneur Docker de Terminal-Bench, le fichier /app/access.log contient les journaux d'accès Apache. Écrivez une seule commande qui compte le nombre d'adresses IP client distinctes (le premier champ séparé par des espaces de chaque ligne) et enregistre uniquement ce nombre dans /app/answer.txt.
Solution
awk '{print $1}' /app/access.log | sort -u | wc -l > /app/answer.txt
Explication
awk affiche le premier champ (l'IP du client) de chaque ligne de journal, sort -u supprime les doublons et wc -l compte les IP uniques restantes, le résultat étant redirigé vers /app/answer.txt. Terminal-Bench l'évalue en exécutant dans le conteneur un test pytest qui lit /app/answer.txt et vérifie qu'il est égal au nombre connu d'IP uniques.