El mismo programa, escrito en cinco lenguajes por el mismo agente de IA.
Motor de workflows
mediana de 6 ejecuciones
Evaluador de expresiones
1 ejecución
JSON Patch
1 ejecución
Tokens de salida por sesión, de menos a más. Pasa el ratón o toca un lenguaje para verlo en todas las columnas.
Rust es el que más tokens gasta en el motor de workflows y el que menos en el evaluador de expresiones. Python gana en JSON Patch y queda último en expresiones. Ningún lenguaje mantiene su puesto en las tres tareas.
01 Mismo prompt, mismo modelo, ejecuciones muy distintas
El motor de workflows se ejecutó seis veces por lenguaje. La ejecución más barata de Python usó 78,4k tokens de salida y la más cara 154,2k. La diferencia entre ejecuciones de un mismo lenguaje es mayor que la diferencia entre los tres primeros lenguajes.
95,0k mediana · 2,3× de dispersión
96,1k mediana · 2,0× de dispersión
102,1k mediana · 2,4× de dispersión
120,0k mediana · 1,4× de dispersión
128,9k mediana · 1,3× de dispersión
60k90k120k150k180k
3,76M mediana · 7,2× de dispersión
4,63M mediana · 3,7× de dispersión
3,80M mediana · 3,4× de dispersión
6,17M mediana · 3,1× de dispersión
6,78M mediana · 2,1× de dispersión
03M6M9M12M
En tokens totales, la ejecución más cara de JavaScript usó 7,2× los de la más barata.
Cada punto es una ejecución. La marca ámbar es la mediana.
Seis ejecuciones por lenguaje no bastan para decir qué lenguaje es el más barato.
02 Qué incluye el recuento de tokens
El 97% de todos los tokens procesados fue contexto en caché: el agente releyendo conversación que ya había visto. Por sesión osciló entre el 92% y el 98%. Cuanto más dura una sesión, más relee, así que los tokens totales reflejan sobre todo cuánto tiempo siguió trabajando el agente. Por eso la clasificación cuenta tokens de salida.
Contexto en caché releído97,0%
Salida (código, llamadas a herramientas, razonamiento)2,2%
Entrada nueva0,7%
Alrededor del 65% de los tokens de salida fue razonamiento. El resto son llamadas a herramientas, tests, reescrituras y el código final.
Los tokens en caché, los de entrada nueva y los de salida tienen precios distintos, así que ordenar por coste puede dar otro resultado. Los costes son los que se pagaron en su momento.
Todo esto sale de un único modelo. Otro modelo podría dar un orden distinto.
03 El recorrido
Una especificación. Un programa de línea de comandos totalmente especificado: JSON de entrada, JSON de salida, determinista y con un conjunto cerrado de códigos de error.
Cinco jugadores. Python, JavaScript, Go, Rust y C. Cada uno tiene su propia sesión de agente, con herramientas, una shell y margen para probarse a sí mismo.
Un árbitro. Una batería de conformidad independiente del lenguaje que solo habla con el binario a través de su CLI. Si no la pasas, tu puntuación no cuenta.
La puntuación. Tokens de salida de la sesión: todo lo que escribió el agente, incluidos el razonamiento, las llamadas a herramientas y las reescrituras.
Motor de workflowsejecución de DAG, $ref, condiciones, reintentos, más de 40 operaciones
Evaluador de expresionestokenizador, parser con precedencia, aritmética i64, posiciones de error exactas
JSON Patchpunteros RFC 6901, seis operaciones, atomicidad, taxonomía de errores
Modelo: DeepSeek-V4.1-Flash-1017, thinking=high, una sesión autónoma por ejecución. Todas las ejecuciones contadas aquí pasan su batería de tests puntuada.
04 La letra pequeña
Pasar ≠ ser correcto
Todas las entregas pasan los tests puntuados, pero una batería finita no demuestra que el programa sea del todo correcto. Una revisión encontró dos errores en el evaluador, que se corrigieron y se volvió a puntuar. Ningún resultado de aprobado o suspenso cambió.
No es una evaluación cerrada
Algunas especificaciones, tests y oráculos se corrigieron después de examinar las entregas. El historial de Git recoge cada cambio, pero no fue una evaluación prerregistrada.
Confianza, verificada en parte
Los registros completos de las sesiones no se publican, así que ni los totales de uso ni el cumplimiento de las reglas de no copiar se pueden auditar desde el repositorio. El lanzador no es un sandbox del sistema operativo.
05 Contribuir
Todas las entregas y la batería completa de tests están en el repositorio, así que puedes comprobar estas cifras sin ejecutar ningún modelo.
Vuelve a puntuar los resultados
Recompila todas las entregas del repositorio y vuelve a pasar los tests. No hace falta clave de API.