SSD Nodes Learn 🎉 VPS desde $5.50/mes
Guías Matt ConnorPor Matt Connor · Actualizado 2026-08-21

Qué es un agent harness y cómo funciona

Un agent harness ejecuta el bucle, las herramientas, los permisos y el estado de sesión alrededor del modelo. Conozca sus diferencias frente a un LLM y un framework.

Qué es un agent harness

Un agent harness es el programa que se ejecuta alrededor de un modelo de lenguaje y lo convierte en un agente. Contiene el bucle que sigue llamando al modelo, las definiciones de las herramientas que el modelo puede usar, las reglas de permisos que determinan cuáles de esas llamadas se ejecutan realmente, el estado de la sesión que se conserva entre turnos y el directorio de trabajo donde se realizan las tareas. El modelo se puede cambiar dentro de esta estructura.

La última frase es la que debe recordar. Un modelo por sí solo responde a una pregunta y se olvida de usted. Un harness pregunta al modelo qué debe hacer a continuación, ejecuta el comando que el modelo solicita, le devuelve el resultado y vuelve a preguntar. Esa repetición es lo que se entiende por «agente». Si la terminología relacionada aún no está clara, la diferencia entre un agente de IA, un LLM y un asistente aclara los términos antes de elegir una herramienta.

El harness no es el modelo

Se confunden porque los proveedores los distribuyen bajo una misma marca.

dsh y DeepSeek son productos distintos. DeepSeek Harness, publicado en github.com/deepseek-ai/deepseek-harness el 13 August 2026 con licencia MIT, es un programa de Node que se instala en una máquina. Los modelos de DeepSeek son pesos servidos mediante una API (interfaz de programación de aplicaciones). Apunte dsh a un modelo de otro proveedor y seguirá funcionando, porque el harness sólo necesita algo que acepte mensajes y devuelva llamadas a herramientas.

Claude Code y Claude forman el mismo par. Claude Code es un harness: un programa de terminal con un bucle, un sistema de permisos y herramientas para archivos y shell. Claude es la familia de modelos que utiliza de forma predeterminada. Codex y Gemini CLI se separan de la misma manera.

Esta es la prueba que lo deja claro en todos los casos. Instale un harness. Llame a un modelo. Si el elemento tiene una versión en el disco y un archivo de configuración en el directorio principal, es un harness. Si es una cadena dentro de ese archivo de configuración, como deepseek-chat, es el modelo.

Qué hace realmente el bucle

Un ciclo del harness funciona así. Léalo despacio, porque casi todas las diferencias entre harnesses se deben a diferencias dentro de estos cinco pasos.

  1. El harness envía al modelo la conversación hasta ese momento y una lista de definiciones de herramientas.
  2. El modelo responde con texto o solicita llamar a una de esas herramientas.
  3. El harness comprueba esa solicitud según sus reglas de permisos y ejecuta la herramienta o se detiene para pedirle confirmación.
  4. El harness ejecuta la herramienta, captura la salida y el código de salida, y trunca la salida si es muy larga.
  5. El harness añade ese resultado a la conversación y vuelve al paso 1.

El paso 3 es donde más se diferencian los harnesses en el uso diario. Un harness que pregunta antes de cada comando es seguro y agotador. Un harness que nunca pregunta acabará ejecutando un comando destructivo sobre una ruta que el modelo interpretó mal. Todos los harnesses serios tienen ahora una configuración intermedia: una lista de permitidos de comandos que se ejecutan sin preguntar y una solicitud de confirmación para todo lo demás.

El paso 1 concentra el resto de las diferencias. La conversación crece en cada turno y el modelo tiene una ventana de contexto fija, por lo que el harness debe decidir qué descartar, qué resumir y qué escribir en un archivo para leerlo más adelante. Esa decisión explica en gran medida que dos harnesses que utilizan el mismo modelo produzcan trabajos de distinta calidad.

La mayoría de los harnesses conectan ahora herramientas externas mediante MCP (model context protocol), una forma estándar de exponer una herramienta a cualquier harness compatible. Así, una sola integración puede utilizarse con varios harnesses. Ejecutar servidores MCP en un VPS trata ese aspecto.

Comparación entre agent harness y agent framework

Esta pregunta aparece cada vez que se publica un nuevo harness, y las respuestas no coinciden, en parte porque los proveedores tampoco coinciden. Esta es la explicación que se mantiene válida.

Un framework es una biblioteca que se importa. Usted escribe el bucle, decide cuándo llamar al modelo y gestiona directamente los resultados de las herramientas. LangChain es el ejemplo más conocido: proporciona bloques de construcción y usted ensambla el agente en el código.

Un harness es un programa que se ejecuta. El bucle ya está escrito, las herramientas ya existen y el modelo de permisos ya tiene una configuración predeterminada. Obtiene un agente funcional con el primer comando y, a partir de ahí, lo configura.

La prueba de instalación suele resolver la cuestión. Si lo instala y después escribe código, es un framework. Si lo instala y después interactúa con él, es un harness.

La frontera está realmente en disputa, y la evidencia más clara está en la documentación del propio LangChain. En agosto de 2026 describe Deep Agents como un framework «opinionated, batteries-included» creado sobre LangGraph, mientras que el repositorio de langchain-ai/deepagents se denomina «the batteries-included agent harness». Ambas descripciones son válidas. Deep Agents es un SDK de Python (kit de desarrollo de software) que se importa, por lo que la prueba de instalación lo clasifica como una biblioteca, y proporciona suficiente comportamiento predeterminado para que se use como un harness. Microsoft publicó un harness y agentes alojados con disponibilidad general en agosto de 2026, lo que demuestra que la palabra es ahora una categoría de producto y no sólo jerga.

Por tanto, formule la pregunta que predice mejor su carga de trabajo. Si usted escribe el bucle, es responsable del bucle: los reintentos, el recorte del contexto, las solicitudes de permisos y el registro de lo ocurrido. Si el bucle ya viene incluido, hereda las respuestas de otra persona para todos esos aspectos. Esto permite empezar mucho más rápido, pero dificulta los cambios posteriores.

En qué se diferencia un harness de una ventana de chat

Una ventana de chat y un harness muestran la salida del modelo. La diferencia es en qué equipo se realiza el trabajo. En una ventana de chat, cualquier código que ejecute el modelo se ejecuta dentro del sandbox del proveedor, sobre los archivos que haya cargado, y desaparece cuando termina la sesión. Un harness ejecuta herramientas en el equipo donde lo inició, con el usuario que lo inició, sobre sus archivos reales y con sus credenciales reales disponibles en el entorno.

Estas dos frases resumen toda la ventaja y todo el riesgo. El agente por fin puede realizar el trabajo. El agente también puede eliminarlo.

Los harnesses que se usan realmente

Esta lista está fechada el 19 de agosto de 2026 de forma intencionada. La categoría cambia cada semana y cualquier recopilación queda desactualizada rápidamente.

  • Claude Code y Codex son harnesses de los proveedores. Están orientados primero al terminal, vinculados de forma predeterminada a los modelos de su propio proveedor y ofrecen la gestión de permisos más pulida. Comparación entre Claude Code, Cursor, Codex y Copilot los analiza en detalle.
  • DeepSeek Harness (dsh) usa la licencia MIT y se basa en una idea: todo es un plugin. Por tanto, los modelos, las herramientas, las sesiones, los sandboxes y la interfaz de usuario son componentes intercambiables. Tenía aproximadamente 166,800 estrellas en GitHub el 19 de agosto de 2026, seis días después de su publicación.
  • Hermes, de Nous Research, es un agente autónomo general, no una herramienta de programación. Se publicó con licencia MIT en febrero de 2026 y guarda sus memorias y habilidades en una base de datos SQLite local del equipo. Alojar Hermes en un VPS explica el proceso.
  • Omnigent es un meta-harness: controla otros harnesses, incluidos Claude Code y Codex, mediante una API común con sesiones compartidas, límites de gasto y un sandbox a nivel del sistema operativo. Omnigent como harness multiagente explica qué ventajas ofrece.
  • OneCLI es un harness aislado en un sandbox para equipos. Se basa en una pasarela que inyecta credenciales reales en las solicitudes salientes, de modo que el agente sólo ve claves de marcador de posición.

El inicio rápido de dsh consiste en un solo comando. Ejecutarlo una vez es la forma más rápida de entender qué es un harness. Requiere Node.js en el equipo.

npx @deepseek-ai/dsh web

Esto inicia la interfaz web en http://127.0.0.1:3080. Lea el README antes de depender de ella, porque dsh se describe como una versión preliminar para desarrolladores y afirma claramente que habrá cambios incompatibles. Ejecutar DeepSeek Harness en un VPS explica la instalación en el servidor, y por qué esa dirección empieza por 127.0.0.1 explica el valor predeterminado de loopback.

Los routers se sitúan por encima del harness

Un router de modelos es un proxy local entre el harness y la API del proveedor. Claude Code Router es el ejemplo habitual: se enlaza de forma predeterminada a 127.0.0.1:3456, acepta las solicitudes que Claude Code habría enviado a su propio proveedor y las reenvía al proveedor que haya configurado. El harness no sabe que se ha producido ningún cambio.

Los routers existen porque el modelo se puede sustituir, por lo que demuestran bien la idea principal de este artículo. También concentran riesgos, porque el proxy ve todos los prompts y almacena todas las claves de los proveedores. Trátelo como infraestructura, no como una comodidad. Dónde guarda un harness las claves de API y la configuración de los modelos plantea el mismo problema un nivel más abajo.

Qué cambia cuando el harness se ejecuta en un VPS

Cuatro cosas cambian cuando el harness deja el portátil y pasa a un servidor que alquilas.

Sigue ejecutándose cuando cierras la tapa. Una tarea larga sobrevive al trayecto y a la batería. Iníciala dentro de tmux y desconéctate de ella:

tmux new -s agent
# start the harness, then press Ctrl-b and then d to detach
tmux attach -t agent

Para cualquier tarea que deba volver a ejecutarse después de un reinicio, es preferible un servicio de usuario a una sesión de terminal:

loginctl enable-linger $USER
systemctl --user status my-agent.service

loginctl enable-linger es el punto que muchas personas pasan por alto. Sin él, systemd detiene los servicios de tu usuario en cuanto se cierra la última sesión SSH (secure shell), por lo que el agente muere cuando sales y no se muestra ningún error. Ejecutar dsh sin interfaz bajo systemd incluye el archivo de unidad. Cuando una sesión ya está activa en ese servidor, una segunda no añade ningún coste, y dos sesiones de Claude Code en el mismo equipo pueden enviarse mensajes, de modo que la que iniciaste esta mañana puede entregar una tarea a la otra sin que tengas que retransmitirla manualmente.

Almacena tus claves. La clave del proveedor ahora se encuentra en un archivo de configuración de ese servidor. Comprueba quién puede leerlo:

ls -l ~/.config

Cualquier proceso que se ejecute con tu usuario puede leer ese archivo. Esto incluye al agente y a todo lo que el agente decida ejecutar.

Puede acceder a tus otros equipos. Un VPS en la misma red privada que los demás equipos proporciona al agente una ruta hacia ellos. Ese es precisamente el objetivo, pero también define el alcance de un posible incidente.

Es accesible desde cualquier lugar. La mayoría de los harnesses exponen una interfaz web y, por un motivo, la mayoría la enlazan a loopback. Comprueba la tuya:

ss -tlnp | grep 3080

127.0.0.1:3080 significa que sólo el propio servidor puede conectarse. 0.0.0.0:3080 significa que cualquiera que encuentre la dirección puede hacerlo. Accede a una interfaz de loopback mediante un túnel SSH en lugar de cambiar la dirección de enlace:

ssh -N -L 3080:127.0.0.1:3080 you@your-server

Después, abre http://127.0.0.1:3080 en el navegador del portátil. El tráfico circula dentro de la sesión SSH, por lo que no se expone nada nuevo a Internet.

Todas esas propiedades también constituyen el argumento de seguridad

Vuelva a leer las cuatro propiedades desde la perspectiva de un atacante.

Se ejecuta sin supervisión, por lo que nadie observa el momento en que el modelo interpreta mal una ruta. Contiene sus claves, por lo que un solo archivo de configuración legible da acceso a toda su cuenta del proveedor. Puede acceder a sus otras máquinas, por lo que una inyección de instrucciones, es decir, instrucciones ocultas en una página web o en un archivo que lee el agente, ahora tiene una ruta hasta el servidor de base de datos. Es accesible desde cualquier lugar, por lo que una interfaz web enlazada a 0.0.0.0 sin contraseña es un shell en Internet público.

La solución en cada caso es sencilla y siempre la misma. Asigne al agente su propia cuenta de usuario sin privilegios en lugar de usar la suya:

sudo adduser --disabled-password --gecos "" agent

Mantenga la interfaz web en loopback y acceda a ella mediante SSH. Asigne al agente las credenciales más limitadas que aún le permitan completar el trabajo; mantener los secretos fuera de los agentes de IA explica este tema correctamente. Para cualquier proceso que se ejecute mientras usted no lo supervisa, una máquina desechable es mejor que una configuración cuidadosa: ejecutar agentes de programación en una VM desechable y ejecutar Claude Code de forma segura en un VPS siguen ese enfoque.

¿Necesita un arnés para agentes?

Si su trabajo consiste en resolver una pregunta cada vez, basta con una ventana de chat y un arnés sólo añade un bucle que debe supervisar. Un arnés empieza a compensar cuando una tarea requiere muchos pasos sobre archivos reales o cuando debe seguir trabajando mientras usted duerme.

La mayor parte de esta categoría es reciente. dsh indica «developer preview» en su propio README en agosto de 2026, y el resto evoluciona con suficiente rapidez como para que un archivo de configuración que escriba hoy necesite modificaciones el mes que viene. Por eso conviene mantener una configuración pequeña y reproducible, y dejar constancia de los cambios realizados. La misma moderación resulta útil dentro del bucle: una skill que orienta al agente hacia el cambio mínimo que funciona deja un diff que puede leer realmente al final de una ejecución sin supervisión. Empiece con un arnés en un servidor, asígnele una tarea y una clave con permisos limitados, y amplíe el acceso sólo después de que esa primera tarea haya sido predecible durante una semana. Los agentes autoalojados que merece la pena ejecutar hoy es un punto de partida razonable para elegir el primero.

FAQ

¿Qué es un agent harness en términos sencillos?

Es el programa que rodea al modelo. El modelo genera texto y solicita el uso de herramientas. El harness ejecuta el bucle que sigue haciendo peticiones, ejecuta las herramientas que solicita el modelo, aplica las reglas sobre qué herramientas pueden ejecutarse sin permiso y conserva el estado de la sesión y los archivos entre turnos. Si cambia el modelo y el harness sigue funcionando, esa es la señal más clara de que son componentes distintos.

¿Claude Code es un modelo o un harness?

Claude Code es un harness. Es un programa de terminal con un bucle, un sistema de permisos y herramientas integradas para archivos y shell. Claude es la familia de modelos que utiliza de forma predeterminada. La misma separación se aplica a DeepSeek Harness (dsh), que es un programa Node que se instala, y a los modelos DeepSeek, que se ofrecen mediante una API. Se instala un harness en una máquina. Se llama a un modelo a través de la red.

¿Cuál es la diferencia entre un agent harness y un agent framework?

Un framework es una biblioteca que se importa y contra la que se escribe código, por lo que usted controla el bucle, los reintentos y la gestión del contexto. Un harness es un programa que se ejecuta, por lo que todos esos componentes vienen incluidos con valores predeterminados que se configuran en lugar de implementarlos. En la práctica, la distinción no siempre es clara: Deep Agents de LangChain es un SDK que se puede importar y cuyo propio repositorio denomina agent harness completo, a fecha de agosto de 2026. Pregúntese si tendrá que escribir el bucle usted mismo. La respuesta determina qué término encaja en su situación.

¿Necesito un VPS para ejecutar un agent harness?

No. Todos los harness mencionados aquí se ejecutan en un portátil. Un servidor cambia cuatro aspectos: el agente sigue ejecutándose cuando cierra la tapa, conserva las claves en una máquina que está siempre encendida, puede acceder a sus otros servidores y permite volver a la misma sesión desde cualquier dispositivo. Cada uno de esos aspectos también implica consideraciones de seguridad, por lo que debe asignar al agente su propia cuenta de usuario y mantener cualquier interfaz web enlazada a 127.0.0.1.

¿Puedo utilizar otro modelo dentro del mismo harness?

Normalmente sí, y esa es la propiedad que define a un harness. La mayoría acepta un nombre de modelo y una URL base en su configuración, por lo que dirigirlo a otro proveedor requiere editar la configuración, no reescribirla. Si un harness no lo permite fácilmente, un router local como Claude Code Router se sitúa entre el harness y el proveedor y traduce las solicitudes; de forma predeterminada, se enlaza a 127.0.0.1:3456. Tenga cuidado con ese proxy, porque ve todas las solicitudes y conserva todas las claves.