Repetir exactamente la misma ejecución de un agente de código cambia el resultado en el 13 % de las tareas. Cambiar de harness, de Claude Code a OpenCode o a mini-SWE-agent con el mismo modelo, también lo cambia en el 13 %. Esa coincidencia es el centro de "What does a harness buy? Mostly tokens", un estudio de dos investigadores de la Universidad de Shandong, Liu y Han, que concluye que el harness apenas mueve la tasa de acierto y sí puede triplicar el coste por tarea.
Qué midieron
El harness es todo lo que rodea al modelo: el system prompt, las herramientas y la gestión del contexto. Los autores fijaron el modelo y variaron solo eso, con las versiones publicadas de tres harnesses:
| Harness | Herramientas | System prompt y definiciones de herramientas |
|---|---|---|
| Claude Code | Ficheros, búsqueda, compresión de historial | ~16.600 tokens |
| OpenCode | Ficheros, búsqueda, compresión de historial | ~7.000 tokens |
| mini-SWE-agent | Solo Bash, sin gestión de contexto | menos de 1.000 tokens |
Pasaron por los tres cinco modelos (Qwen3.6, Qwen3.8, DeepSeek-V4-Flash, GLM-5.3-Flash y HY4-Preview) sobre las 45 tareas más difíciles de SWE-bench Verified y otras 447, varias configuraciones dos veces para medir el ruido. Claude Opus 5 entró solo como referencia y solo en Claude Code.
Todo se ejecutó sin red, y por una razón que merece titular propio: en las primeras pruebas con acceso web, el 71 % de los intentos de los modelos de DeepSeek y Qwen descargaba la solución directamente de GitHub. Los modelos de Claude casi nunca lo hicieron. Los autores no acusan a nadie de entrenar con el benchmark, pero cortaron la red para todos.
Lo que encontraron
Sobre las 447 tareas, Claude Code y mini-SWE-agent, el harness más pesado y el más ligero, quedan a menos de dos puntos con los dos modelos probados: estadísticamente equivalentes. En las 45 difíciles, la diferencia entre harnesses es de dos a cinco tareas resueltas, y una simple repetición mueve hasta tres. Cambiar de modelo, en cambio, altera el resultado en el 22 % de las tareas.
La única diferencia medible es negativa: OpenCode queda hasta nueve puntos por detrás en el conjunto grande. La mitad se explica por el límite de salida: cuando el modelo lo supera a mitad de un paso, Claude Code le pide que continúe y OpenCode da el paso por terminado.
El coste cuenta otra historia. El system prompt y las definiciones de herramientas se reenvían en cada paso, así que fijan la base de la factura, y el número de pasos la multiplica. Con GLM-5.3-Flash, Claude Code cuesta casi el doble que mini-SWE-agent; con DeepSeek-V4-Flash empatan, porque mini-SWE-agent necesita muchos más pasos. El precio reducido de los tokens en caché suaviza las diferencias, pero no cambia el orden.
Hay un caso en que el harness sí importa: el razonamiento. Sin thinking, Qwen3.6 en mini-SWE-agent pierde once puntos, mientras que en Claude Code y OpenCode se queda dentro del ruido. HY4-Preview pierde también once puntos, en su caso en Claude Code.
Qué significa
Para quien lee benchmarks, la consecuencia es incómoda. Con 45 tareas, una diferencia de 13 puntos solo se detecta la mitad de las veces; con 447, hacen falta unos cinco. Zhipu anuncia que su harness saca 2,4 puntos a Claude Code, por debajo de ambos umbrales. Los autores piden que toda comparación de harnesses publique también una repetición de la misma configuración, porque es la única forma de saber cuánto es ruido.
Para quien paga la factura, el dato útil es que el system prompt es un coste fijo por paso. Si ejecutas agentes en CI o en lote con modelos baratos, medir tokens por tarea en tu propio repositorio dice más que cualquier tabla de pass rate. Los autores lo resumen en una frase: un harness compra "menos formas de perder una tarea, y una factura, no tasa de acierto".
El límite está en el alcance: el estudio se apoya casi entero en SWE-bench Verified, con una comprobación pequeña en Terminal-Bench 2.1 que muestra el mismo patrón, y el modelo cerrado más capaz solo se probó en un harness. Los datos y los scripts del análisis están publicados en GitHub.