Original en inglés: https://argusic.com/methodology

La versión en inglés es la vinculante; si esta versión en español difiere de ella, se aplica la versión en inglés.

Última actualización 8 de octubre de 2026.

Metodología de Argusic

Cómo comprueba Argusic si el software real funciona y cómo puntúa a los AI coding agents. Todas las reglas de esta página son públicas a propósito: la idea es que cualquiera pueda revisar nuestro trabajo. Cualquier cambio en estas reglas se anota en el registro de cambios al final, entra en vigor a partir del siguiente ciclo de pruebas y nunca se aplica con carácter retroactivo.

1. En resumen

2. La pregunta que responde

Dado un proyecto real de código abierto, ¿puede un AI coding agent, completamente por su cuenta, instalarlo, iniciarlo, resolver los errores y verificar que el software funciona, como un ingeniero en su primer día, sin ayuda humana?

3. Por qué proyectos recientes

Los benchmarks estáticos se degradan a medida que sus respuestas se filtran en los datos de entrenamiento. SWE-rebench (Badertdinov et al., 2025) ejecutó los mismos agents sobre SWE-bench Verified y sobre tareas recopiladas después de que ese benchmark fuera público, y las puntuaciones cambiaron mucho: su Tabla 2 indica que DeepSeek-V3-0324 resuelve el 39.7% de SWE-bench Verified y el 21.3% del conjunto filtrado por fecha, una diferencia de 18 puntos porcentuales en un solo modelo. Argusic prueba proyectos que son tendencia en las últimas semanas, con un grupo secreto que rota cada mes, así que no hay nada que memorizar.

4. Qué se mide

Medimos exactamente una cosa: la capacidad autónoma de hacer que el software real funcione. Cada agent evaluado es una combinación fija de un modelo en una versión fijada, un harness en una versión fijada, las instrucciones estándar publicadas de Argusic y límites idénticos de tiempo y recursos. Todos los agents reciben exactamente las mismas condiciones.

5. Agents evaluados

El primer ciclo está en curso. La lista de agents se publica con la primera clasificación. Cada agent es una configuración fija y fijada en versión, presentada con una identidad neutral de Argusic; sus versiones exactas se registran y se conservan para que cada cifra de la tabla se pueda rastrear hasta la configuración precisa que la produjo, y un resultado se puede reproducir a través de Argusic si se solicita (consulta "Cómo reproducir un resultado").

6. El grupo de proyectos

6a. Qué puede ser un proyecto evaluado

Un proyecto evaluado es algo que se le puede pedir a un agent que configure y ejecute. Argusic prueba hoy un tipo y está construido para añadir otros sin cambiar nada de cómo se obtiene un resultado: la rúbrica de puntuación, las reglas de evidencia y el vocabulario de los veredictos son idénticos en todas las fuentes, así que una cifra de una fuente significa lo mismo que una cifra de otra.

FuenteQué significa aquí "funciona"Estado
Repositorio de código abiertoClonar el commit fijado, instalarlo, iniciarlo y verificar que hace el trabajo que describe su propio READMEEn uso. 3669 proyectos probados
Modelo de Hugging FaceDescargar el modelo en una revisión fijada y ejecutar la inferencia exactamente como la documenta su model card, en un worker con GPU. Funciona cuando el fragmento documentado produce una salida en una máquina limpia sin que quien prueba lo reescribaEn uso. 1 proyecto probado
Hugging Face SpaceCompilar e iniciar el Space a partir de su propia definición, después llegar a su interfaz y completar la interacción que anunciaDeclarada, no iniciada
Paquete publicado (npm, PyPI)Instalar la versión fijada en un proyecto vacío y ejecutar el quickstart de su propio READMEDeclarada, no iniciada
Herramienta de un fabricanteInstalar e iniciar la compilación publicada por el propio fabricante, siguiendo solo sus propias instruccionesDeclarada, no iniciada
Plantilla de nube preconfiguradaDesplegar la plantilla como la documenta su propia ficha y comprobar que arranca y sirve lo que anuncia, sin que quien prueba la parchee antesDeclarada, no iniciada
Imagen de contenedorDescargar la imagen en un digest fijado y ejecutar el comando que da su propia descripción, y después comprobar que hace lo que esa descripción afirmaDeclarada, no iniciada
Servidor MCPInstalar e iniciar el servidor como está documentado, conectar un cliente y confirmar que lista y responde las tools que anunciaDeclarada, no iniciada

La columna Estado de la tabla anterior no se escribe a mano. Se lee de la base de datos cada vez que se sirve esta página: una fuente aparece como en uso en cuanto un proyecto publicado de ese tipo tiene una ejecución registrada, y muestra el recuento. Es la misma regla que sigue cualquier otra cifra de este sitio, y significa que nadie tiene que acordarse de actualizar esta página cuando una fuente nueva produce su primer resultado.

Dos cosas hacen que un proyecto de Hugging Face sea distinto de un repositorio, y ambas se registran con la ejecución en lugar de disimularse. Necesita un worker con GPU, así que su costo por intento es mayor y su presupuesto se decide por separado. Y una model card suele documentar un fragmento de código en lugar de una aplicación, así que el comportamiento verificado es "el fragmento documentado produjo una salida", no "el producto funciona": la página de la ejecución dice cuál de los dos, con esas palabras, y la puntuación se obtiene de la misma manera.

La tabla dice "no iniciado" en lugar de "próximamente" a propósito. Una fuente cuenta como en uso el día en que se registra una ejecución real de ese tipo con su evidencia, y ni un día antes. Hasta entonces la fila es una declaración de alcance, nunca de resultados: ninguna página muestra un veredicto, un recuento, una clasificación ni una tarjeta para compartir de una fuente que no se ha ejecutado, y esta tabla es el único lugar donde se nombra una fuente prevista.

7. Una medición

  1. Una máquina limpia de un solo uso (su entorno exacto se publica). No acepta
  2. conexiones entrantes y se destruye al terminar la ejecución. El acceso de red saliente no se filtra en esta edición; lo que limita una ejecución es la máquina de un solo uso y las reglas de la clave del modelo que siguen a la lista. La máquina descarga solo el commit fijado, no el historial del proyecto, que no forma parte de la prueba.

  3. El agent recibe una sola misión: hacer que este proyecto funcione, siguiendo
  4. las instrucciones estándar publicadas.

  5. Un límite de tiempo. Cada ejecución recibe uno de exactamente tres
  6. presupuestos (la tabla que sigue a la lista), y el presupuesto asignado se muestra en la página de la ejecución.

  7. Tres ejecuciones independientes; cuenta el resultado intermedio. Si los tres
  8. resultados difieren en más del 30%, el conjunto se marca como inestable y se aparta de la tabla de ese ciclo.

  9. Cada ejecución guarda un log completo y una grabación de terminal completa,
  10. que se publican con los resultados.

  11. Las aplicaciones de escritorio se inician en una pantalla virtual dentro de
  12. la máquina (desde v1.1). "Iniciada" significa que el proceso principal de la aplicación arrancó en esa pantalla y siguió en marcha, o que respondió a un comando de versión o de ayuda. No se hace clic en nada; lo que se mide es si el software arranca en una máquina limpia, la misma pregunta que se le hace a cualquier otro proyecto. Se le indica al agent que no envíe imágenes a su modelo (desde v1.3): el modelo estándar solo acepta texto, y una captura de pantalla adjunta a un mensaje terminó la sesión antes del informe.

Los presupuestos de tiempo del punto 3:

NivelPresupuesto
standard90 minutos
heavy120 minutos
gpu120 minutos

El presupuesto standard era de 45 minutos antes de v1.3: en la primera semana, 36 de 38 tiempos agotados de un mismo día fueron compilaciones que seguían en curso con todo el presupuesto consumido, así que se duplicó. El nivel heavy existe desde v1.2 para un proyecto que el Owner marca como heavy, o cuyo repositorio supera los 500 MB según GitHub, porque un juego grande o una aplicación de escritorio necesita ese tiempo para compilar. Un proyecto que necesita GPU recibe los mismos 120 minutos.

Las tres cifras anteriores no son decorativas. scripts/check-ttl-methodology.sh lee esta tabla y la compara con los presupuestos con los que el orquestador está configurado de verdad, y make test falla si no coinciden. Esa comprobación existe porque entre 2026-09-06 y 2026-09-11 el presupuesto de GPU del sistema en funcionamiento era de 240 minutos mientras esta página decía 120, y nada comparaba ambos valores (ISSUE-072).

La clave del modelo. Un agent necesita una clave para llamar a su modelo, y una ejecución corre código de un proyecto no confiable, así que esa clave es la credencial que más conviene limitar. Para los agents que llegan a su modelo a través de la capa de enrutamiento de Argusic, cada ejecución recibe su propia clave, creada solo para esa ejecución. Límite de gasto de la clave del modelo de cada ejecución: 3 USD. La clave se elimina cuando la ejecución termina, se cancela o agota el tiempo, y un barrido programado elimina cualquier clave que ya no pertenezca a un trabajo en curso. Si no se puede crear la clave de una ejecución, la ejecución no se inicia y se reintenta; nunca se usa una clave compartida en su lugar. Los agents que usan el servicio propio del fabricante de su modelo lo llaman con una clave compartida que guarda Argusic, no con una clave por ejecución; pasarlos a claves por ejecución está en nuestra lista de pendientes. La línea del límite anterior la lee scripts/check-cost-methodology.sh, que hace fallar make test si no coincide con el valor configurado, por la misma razón que los presupuestos de tiempo.

8. Puntuación, sobre 100

El resultado de una ejecución es uno de estos:

ResultadoSignificado
pass_fullFuncionó y se verificó de verdad
pass_mockFuncionó, verificado con servicios simulados
failNo se instaló o no se inició
timeoutSe quedó sin tiempo

Las cuatro líneas de puntuación dejan algunos casos implícitos. Se resuelven aquí y no solo en el código, porque una regla que nadie puede leer es una regla que nadie puede comprobar. La puntuación la calcula un programa determinista con pruebas que cubren cada regla de abajo; ningún modelo de IA interviene en la puntuación en ningún momento.

9. De muchas ejecuciones a una puntuación en la tabla

La puntuación califica un par proyecto y agent. La clasificación necesita una sola cifra por agent, y cómo se combinan es una decisión de metodología, así que se explica aquí.

La puntuación de un agent en la tabla es el valor intermedio de sus puntuaciones intermedias por proyecto. Volvemos a usar el valor intermedio, en lugar de una media, por la misma razón: un proyecto desastroso no debería hundir a un agent capaz, y un proyecto con suerte no debería elevar a uno débil.

Dos tipos de resultado se excluyen de esa cifra, y ambos se siguen mostrando en la tabla para que la exclusión sea visible y no silenciosa: los resultados marcados como inestables (consulta la sección siguiente) y todos los resultados de un proyecto marcado como en revisión (consulta el control de calidad del entorno).

Un agent cuyos resultados se excluyen todos no tiene puntuación en la tabla. Se muestra al final sin puntuación en lugar de eliminarse, porque un agent que se probó y no produjo nada utilizable es en sí un resultado, y ocultarlo favorecería discretamente al resto.

La tasa de aprobados cuenta cada intento que hizo un agent en el ciclo, incluidos los fallos y los tiempos agotados. Consulta independencia y sin selección de resultados más abajo.

10. Dispersión e inestabilidad

La dispersión es el rango de las tres ejecuciones como porcentaje de su valor intermedio:

spread = (highest - lowest) / middle * 100

Un conjunto se marca como inestable cuando la dispersión es estrictamente mayor que el 30%. Exactamente el 30% no supera el 30% y se queda en la tabla. De la fórmula se derivan dos casos límite:

11. El veredicto del proyecto

La tabla clasifica agents. El veredicto responde otra pregunta, sobre el propio proyecto: ¿puede un recién llegado, en forma de AI agent, hacer que este software funcione hoy?

Las pruebas son adaptativas, porque la evidencia es asimétrica. Un aprobado demuestra que el proyecto funciona; un solo fallo no demuestra nada por sí mismo, porque puede deberse al agent y no al proyecto.

  1. Primero, el agent estándar se ejecuta una vez. Cualquier aprobado termina el
  2. proceso: un aprobado completo da "funciona", un aprobado con servicios simulados da "funciona con mocks". No hay razón para seguir probando algo que ya ha demostrado que funciona.

  3. Si falló, un reintento con el mismo agent descarta una casualidad puntual.
  4. Si sigue fallando, el veredicto es "no se pudo verificar", nunca "roto":
  5. Argusic informa de lo que los agents pudieron hacer y dice exactamente eso (desde v1.3: dos intentos completos con el agent estándar lo deciden). Se puede ejecutar un agent más potente si se solicita; cuando se hace, su aprobado deja el proyecto en "funciona" (el registro muestra qué agent lo verificó) y su fallo también deja "no se pudo verificar".

Un intento completo es aquel cuya grabación muestra al agent trabajando hasta su propio final o hasta el límite de tiempo. Un intento que las propias herramientas de Argusic cortaron antes de tiempo (un harness que no pudo leer el informe del agent, un error de instrumentación ajeno al proyecto) se marca como no válido con el motivo guardado en la ejecución, sigue publicado con su evidencia y no cuenta.

El veredicto es el mejor resultado que alcanzó cualquier intento:

Cada intento se publica con toda su evidencia, sea cual sea el veredicto, con una excepción: una grabación de la que no se puede demostrar que esté libre de una credencial activa se retiene y su ejecución se repite (sección 17, "Redacción de seguridad").

12. Qué no mide Argusic

Para evitar malentendidos, lo decimos con claridad. Argusic no mide la calidad a largo plazo del código que escribe un agent, la seguridad de sus correcciones ni la experiencia de producto a fondo, función por función. Mide una sola cosa: la capacidad autónoma de hacer que el software real funcione.

13. Independencia y sin selección de resultados

14. Transparencia del harness

El harness (el andamiaje, las herramientas, las instrucciones y los límites que rodean al modelo) es público e idéntico para todos los agents de un ciclo. Cualquier diferencia de puntuación debe poder atribuirse al agent, no a la infraestructura. Los cambios en el harness solo se publican entre ciclos y se anotan en el registro de cambios.

15. Control de calidad del entorno

Cuando un proyecto falla con todos los agents, se marca automáticamente como en revisión y se excluye de la puntuación hasta que una persona lo revisa: el fallo puede deberse al entorno o al proyecto y no a los agents. Un problema de configuración común nunca debería puntuarse como un fallo del agent.

16. Verificar significa decodificar, no sondear

Que un archivo exista no es un resultado, y leer su cabecera no es una comprobación. ffprobe -show_streams, file y un recuento de bytes informan todos de un contenedor y no decodifican nada: un video cuyos fotogramas son todos verdes supera los tres exactamente igual que uno bueno. La regla, vigente desde v1.4, es que un agent informa de lo que decodificó, nunca de lo que esperaba.

17. Integridad de la evidencia

Dos capas, que nunca se confunden.

La capa de evidencia es en bruto y permanente: cada ejecución produce una grabación de terminal completa de la sesión real, y para las aplicaciones gráficas un video en bruto de la sesión, además de logs completos. A cada archivo se le calcula una huella al llegar y se guarda para siempre. Cualquiera puede reproducir la sesión completa sin editar.

La capa de presentación es derivada: cualquier video o imagen para redes sociales es un render de la evidencia. Las ediciones permitidas son acelerar, recortar por duración, subtítulos tomados de la cronología registrada de errores y correcciones, y voz en off. Las ediciones prohibidas son reordenar eventos, empalmar sesiones distintas, ocultar fallos o alterar la sustancia de lo que hizo el agent. Cada video publicado enlaza de vuelta a su evidencia.

Se aplican tres transformaciones derivadas a la grabación antes de servirla, y ninguna cambia la sustancia del trabajo del agent:

Se aplica una transformación de presentación al texto citado (decisión del Owner 2026-09-04): cuando una página muestra la frase de estado final del propio agent ("What the test found") o la descripción de GitHub de un repositorio, un guion largo que escribió el autor se muestra como una coma o un punto para que la página siga la puntuación de la casa. El informe guardado, el registro del repositorio, el log, la grabación y las imágenes generadas a partir de la grabación no se tocan; las palabras y su orden nunca cambian.

Regla permanente: cada cifra se rastrea hasta un log, y cada fotograma se rastrea hasta una grabación de la sesión real.

18. Cómo reproducir un resultado

La parte del proyecto de cada resultado es totalmente pública: el commit exacto probado, el entorno publicado, las instrucciones estándar y el log y la grabación completos. La página de cada ejecución contiene todo esto. El agent es una configuración fija de Argusic, fijada en versión, con una identidad neutral; Argusic guarda sus versiones exactas y puede volver a ejecutar un resultado para reproducirlo. La lista pública de proyectos y la divulgación del grupo secreto se publican junto con la primera clasificación.

19. Impugnar un resultado

Si un mantenedor o un laboratorio cree que un resultado es incorrecto, puede impugnarlo. Escribe a [email protected] con el enlace de la ejecución. Revisamos el log y la grabación completos frente a la reclamación y respondemos. Si el resultado se vio afectado por un problema de entorno o de configuración por nuestra parte, lo volvemos a ejecutar y corregimos el registro con una nota; si la evidencia respalda el resultado original, explicamos lo que muestra la grabación. La evidencia original nunca se edita ni se elimina.

20. Registro de cambios

Cada edición lleva dos fechas, y responden a preguntas distintas. Redactada es el día en que la regla se anotó en este documento. En vigor desde es el día en que se midió de verdad la primera ejecución con ella, según los registros de ejecución, no según este archivo. Normalmente coinciden. Cuando no, mandan los registros de ejecución y se indican aquí, porque una edición que llegó a las máquinas antes de llegar a esta página es justo lo que un registro de cambios existe para dar a conocer. Ninguna edición se aplica nunca con carácter retroactivo: una ejecución conserva las reglas que estaban en vigor el día en que se ejecutó.

Las ediciones v0.2 a v1.0 se anotaron todas el 2026-08-31, en el commit que creó la primera edición pública; sus fechas de abajo son los días en que se decidieron las propias reglas, antes de la primera medición.

Apéndice: estimaciones de hardware, qué cabe y a qué velocidad

Las estimaciones de abajo aparecen junto a los portátiles y equipos de sobremesa para programación, IA y ciencia de datos que lista Argusic.

Este apéndice no forma parte de las reglas del benchmark anteriores y no cambia ninguna edición: explica las estimaciones que Argusic muestra junto a los portátiles y equipos de sobremesa que lista a la venta, que son aritmética sobre las cifras publicadas por los fabricantes, nunca mediciones. Las cifras de esta sección las calcula un único archivo compartido (lib/hardware-estimates.ts), y ninguna puede cambiar sin que ese archivo y su prueba cambien en el mismo commit.

El listado de hardware de Argusic muestra, para cada portátil y equipo de sobremesa, el mayor tamaño de modelo que puede alojar y un límite superior de la velocidad a la que puede generar texto. Ambos son Estimados: se calculan a partir de las especificaciones publicadas por el fabricante con las fórmulas de abajo. Argusic no ha ejecutado ningún modelo en estas máquinas. Cuando Argusic mide de verdad una máquina, esa cifra lleva la etiqueta Medido, enlaza al log de su ejecución y nunca se mezcla con una estimación.

Una estimación solo se muestra cuando se conocen todos los datos de entrada. Si falta el tamaño de la memoria, el tipo de memoria o el ancho de banda del chip, la página dice "Desconocido" en lugar de adivinar.

Datos de entrada y su origen

Memoria: qué tamaño de modelo cabe

Un modelo necesita espacio para tres cosas.

  1. Pesos. Argusic supone la cuantización Q4_K_M de llama.cpp, a 4.8944 bits por peso (README de quantize de llama.cpp):
  2. bytes de pesos = parámetros x 4.8944 / 8. Ejemplo, calculado y no medido: un modelo de 70B necesita 42.8 GB de pesos.

  3. Contexto (caché KV). Según la fórmula de NVIDIA (Mastering LLM Techniques: Inference Optimization, NVIDIA Technical Blog, 2023-11-17):
  4. bytes de caché KV por token = 2 x capas x (cabezas x dimensión de cabeza) x bytes por valor. Los modelos modernos comparten cabezas de clave/valor entre las cabezas de atención (grouped-query attention), así que aquí "cabezas" es el número de cabezas de clave/valor que el modelo almacena realmente en caché. Argusic reserva 8,192 tokens de contexto con precisión de 16 bits (2 bytes, el tipo de caché predeterminado de llama.cpp), usando la configuración publicada de un modelo denso abierto por clase: Qwen3-8B, Qwen3-14B, Qwen3-32B, Qwen2.5-72B-Instruct y Mistral-Large-Instruct-2411.

  5. Sobrecarga del entorno de ejecución. Argusic reserva 1 GB para los búferes propios del entorno de inferencia.

El contexto de 8,192 tokens y la sobrecarga de 1 GB son la reserva de Argusic, una decisión de criterio y no una medición. Los contextos más largos necesitan más memoria; un modelo que cabe aquí puede no caber con una conversación mucho más larga.

Cuánta memoria de la máquina cuenta. Cuenta toda la VRAM de una GPU dedicada. De la memoria unificada o del sistema, Argusic cuenta el 75% y deja el 25% para el sistema operativo y otros programas. Esto coincide con lo que AMD indica para sus propios chips de memoria unificada: hasta 96GB de 128GB se pueden convertir en VRAM (AMD), y 64GB permiten hasta 48GB (AMD).

Los tamaños de memoria se leen como 10^9 bytes por GB, la misma unidad que usan los fabricantes para el ancho de banda. La memoria se dimensiona en realidad en unidades binarias, así que esto subestima la capacidad en torno a un 7% y hace que cada ajuste sea ligeramente conservador.

El requisito resultante para cada clase, calculado con las reglas anteriores:

ClasePesos (Q4_K_M)Reserva de contextoSobrecargaNecesitaVRAM desdeMemoria unificada desde
7-8B4.89 GB1.21 GB1 GB7.10 GB7.10 GB9.47 GB
14B8.57 GB1.34 GB1 GB10.91 GB10.91 GB14.54 GB
27-32B19.58 GB2.15 GB1 GB22.73 GB22.73 GB30.30 GB
70B42.83 GB2.68 GB1 GB46.51 GB46.51 GB62.01 GB
120B y más73.42 GB2.95 GB1 GB77.37 GB77.37 GB103.16 GB

Así, por ejemplo, una GPU de 8GB aloja la clase 7-8B, una GPU de 24GB la clase 27-32B y 64GB de memoria unificada la clase 70B. Una máquina por debajo de la primera fila se muestra como que no le cabe ninguna clase.

Velocidad: un límite superior, no una predicción

Generar cada token requiere leer una vez de memoria todos los pesos del modelo, así que la generación de texto está limitada por el ancho de banda de memoria (NVIDIA: "Model execution is frequently memory-bandwidth bound"). Eso da un techo:

tokens por segundo, como máximo = ancho de banda de memoria / bytes de pesos.

Ejemplo, calculado y no medido: un chip con 546 GB/s que ejecuta un modelo de 8B en Q4_K_M (4.89 GB de pesos) no puede superar unos 111 tokens por segundo.

La velocidad real siempre es menor. El límite ignora el tiempo dedicado a leer el contexto, el cálculo y la sobrecarga del software. Las mediciones recopiladas en la discusión #4167 de llama.cpp muestran que la velocidad aumenta con el ancho de banda, pero por debajo de lo lineal. Para Llama 2 7B en Q4_0 en Apple silicon: M3 Max (400 GB/s) 66.31 tokens por segundo, M4 Max (546 GB/s) 83.06, M2 Ultra (800 GB/s) 94.27. Pasar de 400 a 546 GB/s (1.37 veces el ancho de banda) dio 1.25 veces la velocidad; duplicarlo a 800 GB/s dio 1.42 veces. Lee el límite como "esta máquina no puede ser más rápida que esto", nunca como "esta máquina funciona a esta velocidad".

El límite supone un modelo denso, en el que se leen todos los pesos para cada token. Los modelos mixture-of-experts leen solo los expertos activos para cada token, así que pueden ir más rápido de lo que sugiere el límite para su tamaño total.

Memoria para el modelo por dólar

Uno de los órdenes de ese listado es la memoria para el modelo por dólar: los gigabytes de memoria para el modelo (VRAM o memoria unificada) divididos entre el precio actual en Amazon, con la fecha del precio indicada. Responde a "qué aloja el modelo más grande por este dinero". No es una clasificación de calidad ni de velocidad, y una comisión nunca la cambia.

Lo que no son estas estimaciones