¿Es suficientemente agéntico? Benchmarking de modelos abiertos
HuggingFace mide no solo si los modelos aciertan, sino cuánto les cuesta: tokens, tiempo y errores en tareas reales.

Qué es
HuggingFace ha publicado un framework para benchmarking de agentes que no se limita a comprobar si el modelo llega a la respuesta correcta. Mide todo el proceso: cuántos tokens consume, cuánto tarda, cuántos errores comete y si usa APIs deprecated.
El post, firmado por Lysandre, Nathan Habib, Pedro Cuenca y otros, plantea una idea que cambia cómo se diseña software para la era de los agentes:
El código no solo debe ser correcto y rápido, sino estar diseñado para que un agente pueda usarlo eficazmente. Una API torpe o docs desactualizadas molestan a los devs, pero ahora también mandan al agente por un camino más largo y caro.
No todos los éxitos son iguales
Dos agentes pueden clasificar el sentimiento de una frase y llegar al mismo resultado POSITIVE (0.9999). Pero el camino importa:
# Un agent: pipear un script en python y parsear la salida
- python - <<'PY'
- from transformers import AutoTokenizer, AutoModelForSequenceClassification
- import torch, torch.nn.functional as F
- model = AutoModelForSequenceClassification.from_pretrained("...")
- tokenizer = AutoTokenizer.from_pretrained("...")
- inputs = tokenizer("I absolutely loved the movie!", return_tensors="pt")
- with torch.no_grad():
- logits = model(**inputs).logits
- probs = F.softmax(logits, dim=1)
- print(model.config.id2label[torch.argmax(probs, dim=1).item()])
- PY
# El otro agent: un comando
+ transformers classify \
+ --model distilbert/distilbert-base-uncased-finetuned-sst-2-english \
+ --text "I absolutely loved the movie!"
Mismo resultado. Perfil totalmente distinto en coste, latencia, tokens y fallos.
Setup de evaluación
Tres niveles de ayuda
| Variante | Qué recibe el agente |
|---|---|
bare |
Solo pip install transformers, nada más |
clone |
El repo completo de transformers en el directorio |
skill |
Un Skill empaquetado: docs del CLI + ejemplos por tarea |
No son anidadas: skill no contiene clone (envía docs curados, no el árbol de código).
Decisiones de diseño
- Solo tareas deterministas (exact match). Model-as-a-judge es el siguiente paso
- Cada ejecución es un Hugging Face Job independiente: uno por (modelo × revisión × tarea), corriendo en paralelo sobre hardware idéntico
- Los resultados y traces van a un Hugging Face Bucket y son compartibles via el agent-traces viewer del Hub
Métricas
| Métrica | Qué mide |
|---|---|
| match % | La respuesta final contiene el resultado esperado |
| median time | Tiempo hasta completar |
| median tokens | Tokens nuevos vs. cacheados vs. generados |
| runs with error % | Incluye guard de runs que producen nada (0 tokens, 0 tool calls) |
| marker adoption | Si el agente usa los marcadores de comportamiento definidos por la tool |
Dos experimentos
1. Modelos grandes: fijar modelo, variar la revisión
Los modelos grandes suelen acertar. Lo que importa es el esfuerzo: turns, tokens, segundos y si usan APIs deprecated.
Se fijó un modelo fuerte y se variaron las revisiones de transformers (de v5.8.0 a v5.11.0, incluyendo el commit con CLI + Skill).
Resultado: el commit con Skill resulta en menos tiempo en las tareas para los tres modelos grandes probados. Esta misma receta ya se había aplicado al hf CLI, donde los agentes usaron 1,3–1,8× menos tokens (hasta 6× menos en algunos casos).
2. Modelos más pequeños: variar el modelo
Aquí lo que cambia es si el modelo llega o no a la respuesta correcta, además del esfuerzo.
Principios para tooling optimizado para agentes
Dos principios no cambian:
- Si no está testeado, no funciona
- Si no está documentado, no existe
Para agentes específicamente:
- La tool debe ser descubrible: API clara, docs extensas, estructura que permita acceso rápido a archivos útiles y ejemplos
- Hay que testear para uso agéntico, no solo corrección
¿Para quién es relevante?
- Equipos que mantienen librerías que los agentes van a usar (casi todas, en breve)
- Devs evaluando modelos abiertos para tareas de tool-use
- Cualquiera construyendo harnesses de agentes que necesite métricas más allá del accuracy final
Conclusiones
El benchmark cambia la pregunta. No es “¿el modelo puede hacerlo?” sino “¿a qué coste lo hace?”. Un CLI bien diseñado y unos ejemplos curados pueden reducir tokens y tiempo de forma drástica. Si tu librería va a ser usada por agentes, diseñar para ellos deja de ser opcional.
📎 Fuente original: HuggingFace Blog ↗