Elegiste un modelo barato. Hiciste los cálculos en la ficha del modelo. Luego llegó la factura y no se parecía en nada a tus cálculos.
Esa diferencia casi nunca es el modelo. Es el harness. El harness decide cuántas veces se llama a tu modelo, cuánto de la conversación se reproduce en cada llamada, qué tan grandes son los esquemas de herramientas y si una ejecución de prueba fallida se reintenta tres veces o doce. Mismo modelo, misma tarea, dos harnesses, recuentos de tokens radicalmente diferentes.
El 13 de agosto de 2026, DeepSeek publicó su propio harness de agente como código abierto y el debate se intensificó rápidamente. Un lado tiene un repositorio de dos semanas del laboratorio que construye el modelo. El otro lado tiene OpenCode, el agente de codificación con más estrellas en GitHub. Ambos son MIT. Ambos ejecutan cualquier modelo que les indiques.
Así que esta es la versión honesta de la comparación. No vibraciones, no estrellas. Lo que cada uno realmente hace con tu uso de tokens y cómo medirlo en tu propio repositorio en unos quince minutos.
Conclusiones clave
- DeepSeek Harness es un runtime de agente basado en complementos de DeepSeek AI, con licencia MIT, escrito en TypeScript, aún etiquetado como versión preliminar para desarrolladores. Los modelos, las herramientas, las sesiones, el almacenamiento, los entornos aislados, los bucles e incluso el propio bucle del agente son complementos intercambiables.
- OpenCode es un agente de codificación nativo de terminal en Go, con aproximadamente 198k estrellas en GitHub, una TUI madura, soporte LSP y un amplio catálogo de proveedores. Es la opción segura por defecto hoy en día.
- La elección del harness mueve el uso de tokens más de lo que la mayoría espera. En un benchmark de 30 flujos de trabajo en DeepSeek V4 Flash, los harnesses probados oscilaron entre aproximadamente 192,000 y 1,400,000 tokens promedio por tarea.
- DeepSeek Harness no estaba en ese benchmark. Se lanzó dos días después de su publicación, por lo que cualquiera que cite números de benchmark de Harness en este momento está adivinando.
- Ambos son independientes del modelo, por lo que puedes apuntar ambos a un mismo endpoint compatible con OpenAI y ejecutar una prueba equivalente real. Ese es el único número que importa para tu base de código.

Dos portátiles uno al lado del otro en un escritorio soleado ejecutando la misma tarea de codificación a través de dos harnesses de agente diferentes
La única forma justa de ejecutar DeepSeek Harness vs OpenCode: un modelo, una tarea, dos terminales.
Por qué DeepSeek Harness vs OpenCode se convirtió en el debate del mes
El planteamiento de DeepSeek es un eslogan: Agente = Modelo + Harness. El modelo piensa, el harness lee archivos, ejecuta la terminal y llama a las herramientas. Durante dos años, todos optimizaron la primera mitad y trataron la segunda como fontanería.
La fontanería resultó ser cara.
Composio ejecutó 30 flujos de trabajo complejos de múltiples aplicaciones a través de 8 harnesses de agente diferentes, todos impulsando el mismo modelo DeepSeek V4 Flash, con un límite de 900 segundos por tarea y calificación binaria programática en 240 ejecuciones (Composio, agosto de 2026). El mismo modelo en todas partes. Los resultados no fueron cercanos.
| Harness | Tasa de aprobación | Tiempo mediano | Tokens promedio por tarea |
|---|---|---|---|
| Pi Agent | 66.7% | 132.2s | 559,000 |
| Prime Agent | 62.5% | 242.1s | 1,400,000 |
| OMP | 56.7% | 272.4s | 742,000 |
| Claude Code | 53.3% | 122.7s | 742,000 |
| Codex | 53.3% | 245.0s | 678,000 |
| DeepAgents | 53.3% | 187.1s | 665,000 |
| Hermes Agent | 50.0% | 175.5s | 192,000 |
| OpenCode | 46.7% | 129.7s | 692,000 |
Lee la columna de tokens nuevamente. El harness más frugal usó aproximadamente una séptima parte de los tokens del más derrochador, ejecutando el modelo idéntico en las tareas idénticas. La conclusión del propio benchmark fue que los harnesses "pueden importar tanto como los modelos que ejecutan".
Ahora la parte que la mayoría de los artículos omiten. DeepSeek Harness no está en esa tabla. El benchmark se publicó el 11 de agosto y el Harness llegó el 13 de agosto. No hay un número de tokens creíble cara a cara para DeepSeek Harness todavía, y cualquiera que te muestre uno este mes o lo ejecutó él mismo en una tarea estrecha o lo inventó. Lo que la tabla te da es una línea de base sólida y con fuente para OpenCode: 692,000 tokens por tarea, 46.7% de tasa de aprobación, 129.7 segundos de mediana.
Ese es el número que intentas superar, y el resto de este artículo trata sobre cómo probarlo honestamente.
DeepSeek Harness vs OpenCode: mismo modelo, un endpoint, dos runtimes
Aquí está la forma práctica de cada herramienta antes de ejecutar nada.
| DeepSeek Harness (dsh) | OpenCode | |
|---|---|---|
| De | DeepSeek AI | Anomaly (originalmente SST) |
| Lanzado | 13 de agosto de 2026 | Finales de 2025 |
| Estrellas GitHub | ~143k | ~198k |
| Licencia | MIT | MIT |
| Lenguaje | TypeScript | Go |
| Interfaz | Interfaz web en 127.0.0.1:3080 | TUI de terminal |
| Estado | Vista previa para desarrolladores, se esperan cambios disruptivos | Maduro, ampliamente implementado |
| Arquitectura | Todo es un complemento: modelos, herramientas, habilidades, sesiones, sandboxes, almacenamiento, bucles, programación, UI | Núcleo fijo, dos agentes integrados (build, plan), extensiones MCP y LSP |
| Configuración | $DSH_HOME/settings.yaml | opencode.json |
| Contabilidad de tokens | Medidor de tokens integrado con proyecciones de presión de contexto y desglose, más compactación por plegado | Seguimiento de tokens y costos por sesión, desglose mínimo en la TUI |
| Mejor para | Equipos que quieren reescribir el bucle del agente en sí mismo | Equipos que quieren un agente de codificación que funcione hoy |
La línea importante es la fila de arquitectura. OpenCode te da un agente bien construido y te permite extender los bordes. DeepSeek Harness te da un esqueleto y te permite reemplazar la columna vertebral, incluido el bucle del agente, que en sí mismo es un complemento. Eso es realmente inusual, y también es por lo que sigue siendo una vista previa.
Ambos son independientes del modelo, y esa es toda la razón por la que una prueba justa es posible. Apunta ambos a un endpoint compatible con OpenAI que sirva un modelo y cada diferencia que midas pertenece al harness.
Para este tutorial estoy sirviendo DeepSeek V4 Flash desde Atlas Cloud, porque expone un endpoint simple compatible con OpenAI que ambos harnesses aceptan sin ningún código adaptador, y la misma clave funciona para ambas ejecuciones. El listado deepseek-v4-flash-0731 allí cuesta $0.14 por millón de tokens de entrada y $0.28 por millón de tokens de salida, con una ventana de contexto de 1,048,576 tokens y un máximo de salida de 393,216, a partir de agosto de 2026. Cualquier proveedor compatible con OpenAI funciona para esta prueba. El punto es que ambos harnesses deben alcanzar el mismo.
Vale la pena saberlo antes de elegir un modelo: OpenCode publica sus propios datos de uso agregados, y los modelos DeepSeek han movido 233 billones de tokens a través de él, con V4 Flash representando el 85.5% de eso y V4 Pro el 14.5% restante (OpenCode, agosto de 2026). Flash es lo que el ecosistema realmente ejecuta.
Paso 1: Apunta DeepSeek Harness vs OpenCode al mismo modelo
Obtén una clave de API y una URL base, luego alimenta a ambas herramientas con el mismo par exacto. Crea la clave en la consola de Atlas Cloud y expórtala una vez:
bash1export ATLAS_API_KEY="tu-clave-de-api" 2
Antes de conectar cualquiera de los harnesses, verifica el endpoint y el ID exacto del modelo con una llamada. Si esto no devuelve texto, nada aguas abajo funcionará:
bash1curl https://api.atlascloud.ai/v1/chat/completions \ 2 -H "Authorization: Bearer $ATLAS_API_KEY" \ 3 -H "Content-Type: application/json" \ 4 -d '{ 5 "model": "deepseek-ai/deepseek-v4-flash-0731", 6 "messages": [{"role": "user", "content": "Responde con la única palabra: listo"}] 7 }' 8
Ayuda ver el modelo responder la tarea real una vez, directamente a través del endpoint, antes de pasársela a un agente. Así sabrás que una ejecución fallida es del harness y no de la ruta:

El prompt de la tarea del artículo publicado en api.atlascloud.ai, junto a la respuesta real que devolvió DeepSeek V4 Flash 0731 y el uso de tokens que informó la llamada
Una llamada real a deepseek-ai/deepseek-v4-flash-0731, el mismo ID de modelo que usarán ambos harnesses: 148 tokens de entrada, 6,879 tokens de salida devueltos, 5,731 de ellos de razonamiento. Ese es tu piso antes de que un harness agregue un solo esquema de herramienta.
Ahora configura cada lado. DeepSeek Harness lee $DSH_HOME/settings.yaml, y los proveedores personalizados compatibles con OpenAI van bajo el complemento llm-pi-ai (documentación de DeepSeek Harness, agosto de 2026):
yaml1llm-pi-ai: 2 providers: 3 atlas: 4 apiKeyEnv: ATLAS_API_KEY 5 api: openai-completions 6 baseURL: https://api.atlascloud.ai/v1 7 models: 8 - id: deepseek-ai/deepseek-v4-flash-0731 9
El campo api acepta openai-completions, openai-responses o anthropic-messages. Usa openai-completions aquí. Si prefieres no editar YAML manualmente, la interfaz web tiene Configuración, luego Modelos, luego Agregar un proveedor personalizado, que escribe el mismo bloque y almacena la clave en $DSH_HOME/.credentials.yaml en su lugar.
OpenCode lee opencode.json en la raíz de tu proyecto o en el directorio de configuración global (documentación de OpenCode, agosto de 2026):
json1{ 2 "$schema": "https://opencode.ai/config.json", 3 "provider": { 4 "atlas": { 5 "npm": "@ai-sdk/openai-compatible", 6 "name": "Atlas Cloud", 7 "options": { 8 "baseURL": "https://api.atlascloud.ai/v1", 9 "apiKey": "{env:ATLAS_API_KEY}" 10 }, 11 "models": { 12 "deepseek-ai/deepseek-v4-flash-0731": { 13 "name": "DeepSeek V4 Flash 0731", 14 "limit": { "context": 1048576, "output": 393216 } 15 } 16 } 17 } 18 }, 19 "model": "atlas/deepseek-ai/deepseek-v4-flash-0731" 20} 21
Usa @ai-sdk/openai-compatible, no @ai-sdk/openai, ya que este endpoint sirve /v1/chat/completions. Establece los valores de limit a los números reales de contexto y salida, porque OpenCode los usa para decidir cuándo resumir, y un límite incorrecto sesgará gravemente tu comparación de tokens.
Paso 2: Ejecuta la tarea de benchmark en DeepSeek Harness
Elige una tarea que sea lo suficientemente grande como para necesitar varias llamadas a herramientas y lo suficientemente pequeña como para calificarla objetivamente. Multifile, más un conjunto de pruebas que realmente deba pasar. Usa el mismo estado del repositorio para ambas ejecuciones, así que haz commit o stash primero.
Este es el prompt de la tarea exacta. Pégalo textualmente en ambos harnesses:
text1En este repositorio, agrega un middleware de limitador de velocidad de tipo token-bucket para la aplicación Express en src/server.js. Limita cada IP a 60 solicitudes por minuto. Ante una denegación, devuelve HTTP 429 con el cuerpo JSON {"error":"rate_limited","retryAfter":<segundos>}. Conecta el middleware a todas las rutas /api/*. Agrega pruebas unitarias en test/rate-limit.test.js que cubran tres casos: una solicitud dentro del límite se permite, una solicitud que excede el límite se bloquea con 429 y el contador se reinicia después de que expire la ventana. Ejecuta el conjunto de pruebas y corrige las fallas hasta que pase. No modifiques ningún archivo fuera de src/ y test/.
Inicia Harness desde el directorio de tu proyecto:
bash1cd /ruta/a/tu/repositorio 2npx @deepseek-ai/dsh web 3
Esto sirve la interfaz web en http://127.0.0.1:3080. Selecciona el proveedor atlas y el modelo deepseek-ai/deepseek-v4-flash-0731, pega la tarea y déjalo ejecutar hasta completarse. No intervengas, no respondas preguntas aclaratorias con pistas. Cualquier ayuda que le des a un harness y no al otro invalida la comparación.
Cuando termine, abre la vista de Trayectoria. Ese es el registro de la sesión, y ahí es donde viven los números de tokens.
Paso 3: Repite la ejecución en OpenCode para una prueba justa de DeepSeek Harness vs OpenCode
Restablece el repositorio exactamente al mismo estado inicial. Este paso es donde la mayoría de las comparaciones informales se rompen silenciosamente, porque el segundo harness comienza en un repositorio que el primero ya ha arreglado a medias.
bash1git checkout -- . && git clean -fd 2
Luego ejecuta OpenCode contra el mismo modelo:
bash1opencode --model atlas/deepseek-ai/deepseek-v4-flash-0731 2
Pega el prompt de tarea idéntico del Paso 2. Usa el agente build predeterminado, ya que es el que tiene acceso completo a archivos y shell. Nuevamente, sin pistas, sin correcciones de rumbo, el mismo trato de no intervención.
Déjalo terminar, luego verifica ambas ejecuciones de la misma manera que calificarías cualquier PR:
bash1npm test 2
Una ejecución que deja el conjunto en rojo no pasó, sin importar lo seguro que sonara el resumen. Califícalo binariamente, exactamente como lo hace la metodología de Composio. Un limitador de velocidad a medio funcionar es un fracaso.
Paso 4: Lee el uso de tokens de DeepSeek Harness vs OpenCode
Ahora recoge los números. Ambos harnesses rastrean el uso, pero lo muestran de manera muy diferente, y esta es la mayor diferencia día a día entre ellos.
DeepSeek Harness incluye un medidor de tokens montado por defecto. Expone tres proyecciones de sesión que puedes leer directamente: tokenUsage para el total acumulado, contextPressure para saber qué tan cerca estás de la ventana y contextBreakdown para saber adónde fueron realmente los tokens. Este último es el útil, porque te dice si tu factura es por el prompt del sistema, los esquemas de herramientas, las lecturas de archivos o la reproducción de la conversación. El medidor usa una heurística fija de aproximadamente un token por cada cuatro caracteres en lugar de un tokenizador real, así que trátalo como una estimación sólida, no como una factura.
Harness también maneja un contexto completo de manera diferente. En lugar de truncar, su motor de compactación pliega: reemplaza la superficie visible del modelo con un resumen mientras que el registro completo permanece en la capa de persistencia. Pierdes tokens del prompt, no el historial del registro.
OpenCode rastrea tokens y costo por sesión y los imprime en la línea de estado mientras trabajas. El desglose dentro de la TUI es deliberadamente mínimo, razón por la cual existe un pequeño ecosistema de analizadores externos que leen la base de datos de sesiones de OpenCode directamente para desglosar el uso por herramienta y por tasa de aciertos de caché. Si deseas una atribución por herramienta, tendrás que instalar algo.
Para la comparación en sí, no confíes en el contador de ninguna de las herramientas como palabra final. Usa el número del lado del proveedor, porque eso es lo que realmente estás pagando:
| Qué comparar | Dónde obtenerlo |
|---|---|
| Total de tokens de entrada | Panel de uso del proveedor, por clave de API |
| Total de tokens de salida | Panel de uso del proveedor, por clave de API |
| Número de llamadas al modelo | Vista de trayectoria del Harness / registro de sesión de OpenCode |
| Tiempo real | Cronómetro, desde el inicio hasta la última escritura de archivo |
| Aprobado o fallido | Código de salida de npm test |
El método más limpio es crear dos claves de API separadas, una llamada harness-test y otra opencode-test, y usar cada una para exactamente una ejecución. Luego, la página de uso del propio proveedor te da una comparación indiscutible lado a lado con cero error de estimación. Ese truco toma dos minutos y elimina toda fuente de desacuerdo sobre qué contador tiene la razón.
Uso de tokens de DeepSeek Harness: qué mueve realmente la factura
Una vez que tengas números reales, estas son las palancas que vale la pena tocar. Se aplican a ambos harnesses e importan mucho más que cuál elegiste.
La reproducción de la conversación suele ser la partida más grande. Los agentes reenvían la conversación creciente en cada paso. Una tarea de 40 pasos no cuesta 40 prompts, cuesta algo más cercano a la suma de 40 prompts cada vez más largos. Esta es la razón por la que la dispersión del benchmark fue de 192,000 a 1,400,000 tokens en trabajo idéntico. Los harnesses que resumen agresivamente aterrizan en la parte inferior de ese rango.
Los aciertos de caché son la optimización más barata disponible. Los aciertos de caché de DeepSeek V4 Flash tienen un precio de alrededor de $0.0028 por millón de tokens frente a $0.14 por millón en caso de fallo, aproximadamente un 98% más baratos. El almacenamiento en caché solo funciona cuando el prefijo de la solicitud es idéntico byte por byte, que es exactamente por qué DeepSeek Harness aplica una interpolación estricta de {{variable}} con semántica de fallo ruidoso y mantiene un encabezado de solicitud estable. Un harness que baraja tu prompt del sistema entre llamadas convierte silenciosamente cada acierto en un fallo.
Los esquemas de herramientas viajan en cada llamada. Veinte servidores MCP conectados significan veinte conjuntos de esquemas en el prompt, para siempre, ya sea que la tarea los toque o no. Desconecta lo que esta tarea no necesita antes de hacer benchmark, o estarás midiendo tu configuración de MCP en lugar de tu harness.
Los resultados de herramientas sobredimensionados envenenan el contexto. Un cat de un archivo de 3,000 líneas, o un ejecutor de pruebas verboso que arroja trazas completas de pila, se sienta en la conversación durante el resto de la ejecución. Harness tiene un compañero de poda de resultados opcional que reescribe los resultados de herramientas sobredimensionados antes de resumirlos. Vale la pena activarlo.
Los reintentos son invisibles hasta que cuentas las llamadas. Un harness que reintenta una prueba fallida tres veces gasta el triple. Compara la columna de recuento de llamadas, no solo los tokens totales, o diagnosticarás erróneamente un bucle de reintento como un modelo caro.
En cuanto al costo, la aritmética es simple una vez que tienes un recuento de tokens. A la tarifa de Atlas Cloud para DeepSeek V4 Flash, una tarea de 692,000 tokens ponderada hacia la entrada cuesta unos pocos céntimos de dólar. Esa es la buena noticia sobre toda esta categoría: el modelo es lo suficientemente barato como para que el desperdicio del harness sea un problema de eficiencia más que una emergencia presupuestaria. Solo se convierte en un número real cuando lo multiplicas por un equipo, ejecutándose todo el día, todos los días. Explora el catálogo completo de modelos si deseas ejecutar la misma prueba contra un segundo modelo y separar los efectos del modelo de los efectos del harness.
Una advertencia que debería dar forma a tu decisión más que cualquier número de tokens: DeepSeek Harness está explícitamente en vista previa para desarrolladores y su propio README advierte en mayúsculas que habrá cambios que rompan la compatibilidad. Eso está bien para hacer benchmark y es arriesgado para estandarizar un equipo este mes. OpenCode es la opción aburrida, y aburrido es una característica cuando se ejecuta contra tu repositorio de producción.
Preguntas frecuentes
¿Es DeepSeek Harness mejor que OpenCode?
Todavía no, para la mayoría de las personas. OpenCode es maduro, nativo de terminal, tiene aproximadamente 198k estrellas y un gran catálogo de proveedores, y funciona hoy. DeepSeek Harness tiene dos semanas de antigüedad, está en vista previa para desarrolladores y advierte sobre cambios disruptivos. Harness es más interesante arquitectónicamente, porque cada componente, incluido el bucle del agente, es un complemento reemplazable. Si deseas reescribir el interior del agente, Harness está construido para eso. Si deseas enviar código esta semana, OpenCode.
¿DeepSeek Harness solo funciona con modelos DeepSeek?
No. Es independiente del modelo. Incluye proveedores de catálogo para DeepSeek, Anthropic, OpenAI, Bedrock, Vertex, Azure y Codex, y puedes agregar cualquier proveedor personalizado que hable openai-completions, openai-responses o anthropic-messages agregando un bloque a $DSH_HOME/settings.yaml. La configuración en el Paso 1 lo apunta a un endpoint compatible con OpenAI de terceros sin código adaptador.
¿Cómo verifico el uso de tokens de DeepSeek Harness?
Usa el medidor de tokens integrado, que está montado por defecto y expone las proyecciones tokenUsage, contextPressure y contextBreakdown, visibles en la vista de Trayectoria. Ten en cuenta que estima con una heurística fija de aproximadamente un token por cada cuatro caracteres en lugar de ejecutar un tokenizador real. Para precisión de facturación, lee el panel de uso de tu proveedor, idealmente con una clave de API dedicada por ejecución. Los complementos de la comunidad, como los paneles de uso de tokens, agregan registros de sesión persistentes adicionales.
¿Qué harness usa menos tokens, DeepSeek Harness u OpenCode?
Todavía no hay una comparación publicada cara a cara. El benchmark de 8 harnesses en DeepSeek V4 Flash midió OpenCode en 692,000 tokens promedio por tarea, pero se ejecutó dos días antes de que se lanzara DeepSeek Harness, por lo que Harness no fue incluido. Cualquiera que cite un número de Harness de ese benchmark está citando algo que no existe. Ejecuta la prueba del Paso 2 al Paso 4 en tu propio repositorio, ya que el uso de tokens depende en gran medida del tamaño de tu base de código, tu configuración de MCP y la forma de tu tarea.
¿Puedo ejecutar DeepSeek Harness y OpenCode contra la misma clave de API?
Sí, y para una prueba casual está bien. Para una medición limpia, usa dos claves separadas, una por harness. Entonces, el panel de uso de tu proveedor atribuye cada token a la ejecución correcta automáticamente y nunca tendrás que conciliar dos estimadores internos diferentes con una sola factura.
¿Cuál es la diferencia entre un agente y un harness?
El propio planteamiento de DeepSeek es Agente = Modelo + Harness. El modelo hace el razonamiento. El harness es todo lo que lo conecta con la realidad: leer y escribir archivos, ejecutar comandos de shell, llamar a herramientas, gestionar sesiones, manejar aprobaciones y conducir el bucle que decide qué sucede a continuación. Mismo modelo más un harness diferente te da un agente mediblemente diferente, que es el punto de toda esta comparación.






