Todos los artículos

El modelo se alquila, el andamiaje es tuyo: cómo hacer un agente de IA que no dependa del modelo

Cómo hacer que un agente de IA no dependa del modelo: el modelo entiende y propone; el harness decide qué lee, qué toca y qué queda registrado. Cuatro prácticas para separarlos.

Illustration of a boy kneeling in a fenced field at sunset, fitting an orange harness onto a friendly white robot dog

Quien programa tiene Claude Code o Codex. Quien trabaja en una oficina tiene Claude Cowork o ChatGPT Work. Cada uno es un harness: el andamiaje que rodea a un modelo de IA para que haga un trabajo real, con herramientas, contexto y reglas. Quien instala paneles en un techo no tiene uno pensado para su trabajo.

En Werk lo construimos para equipos en movimiento, y la primera decisión fue separarlo del modelo: el modelo entiende y propone, y el harness decide qué lee, qué toca y qué queda registrado. Lo hacemos posible con cuatro prácticas: hablar con los modelos a través de una interfaz propia, que cada agente pida un nivel de trabajo y no un modelo, darles a todos los modelos el mismo formato y poner primero lo que no cambia. Con este post empieza una serie sobre cómo está hecho. Por qué existe Werk lo contamos en Por qué creamos Werk.

Qué hace el modelo y qué hace el harness

Pensemos en una nota de voz de cuatro segundos, grabada arriba de un techo: "Listo lo de Novak". Para que esa frase quede bien registrada hacen falta dos trabajos distintos.

El modelo entiende el pedido: se terminó un trabajo, y de las tarjetas que tiene delante, la de Novak es la que se nombra. El harness hace todo lo demás: elige qué tarjetas mostrarle, revisa que esa persona pueda modificarla, registra el cambio una sola vez aunque el mensaje se procese dos veces y avisa a quien tiene que enterarse.

Un estudio publicado en arXiv en 2026 leyó el código fuente de once harnesses de programación, entre ellos Claude Code, Codex, Gemini CLI, Hermes y Pi. Lo define como lo que conecta al modelo con las herramientas, el contexto, la seguridad, la orquestación y las extensiones. En simple: el modelo entiende y propone. El harness decide qué lee, qué toca y qué queda registrado.

El mismo estudio encontró que ninguno de los once harnesses estudiados importa un framework general de agentes: todos usan loops escritos a mano. Anthropic llegó a lo mismo en Building effective agents (2024): las implementaciones más exitosas que vio no usaban frameworks complejos, y su consejo es empezar llamando directamente a las APIs de los modelos.

Cómo separar el harness del modelo

Si el harness es el que decide, conviene que no dependa de un modelo en particular. Los modelos mejoran cada pocos meses, no todos rinden igual en todo, y ningún servicio en la nube está disponible el 100% del tiempo: los propios proveedores lo informan con transparencia en sus páginas de estado, como las de Anthropic y OpenAI. Estas son las cuatro prácticas que usamos para que la nota de Novak funcione igual, cambie el modelo que cambie.

Para llegar a ellas leímos el código de más de quince proyectos con licencia abierta (MIT o Apache 2.0), como Codex, Gemini CLI, OpenHands, Aider y Pi, y la documentación de otros. Tomamos ideas, no código.

La primera es hablar con los modelos a través de una interfaz propia. Ninguna parte del harness llama directamente a un proveedor: el proveedor es configuración. Trabajamos con los principales de la industria, y pasar de uno a otro es un cambio de configuración que medimos antes de hacerlo.

Diagrama: el equipo manda notas de voz, fotos, mensajes y archivos; el harness (router, contexto, herramientas, código y verificación) los convierte en el registro del equipo y en avisos; debajo, una interfaz propia conecta con proveedores de modelos intercambiables.

La segunda es que cada agente pida un nivel de trabajo, no un modelo. El agente que marca como hecha la tarjeta de Novak no sabe qué modelo lo atiende: declara el nivel que necesita, y qué modelo ocupa ese lugar lo decide nuestra batería de casos, agente por agente.

La tercera es un formato que todos los modelos lean igual. Seguimos lo que recomienda la industria, por ejemplo las guías de Anthropic y de OpenAI: cada tipo de dato dentro de su propia etiqueta, para que el modelo sepa dónde empieza y dónde termina cada cosa. Así, la conversación, las tarjetas y la nota de voz llegan con la misma forma a cualquier modelo.

La cuarta es poner lo estable adelante y lo que cambia al final. Las instrucciones de cada agente son las mismas en cada mensaje; la nota de Novak, no. Si lo estable va primero, el proveedor reutiliza lo que ya procesó y la respuesta llega antes y cuesta menos: con DeepSeek Harness, un usuario midió un 98% de aciertos de caché en 650 pedidos. La optimización del caché da para un artículo propio, que vamos a escribir más adelante.

Lo que ningún SDK puede resolver por ti

Los SDK de agentes, como el Agents SDK de OpenAI o el Claude Agent SDK, son una muy buena forma de empezar: resuelven el ciclo de llamar al modelo, ejecutar herramientas y repetir. Los estudiamos a fondo, junto con LangGraph, Vercel AI SDK, Pydantic AI y Mastra. Pero lo más difícil de la nota de Novak no está en ese ciclo.

Está en lo que es propio de un equipo. La tarjeta de Novak vive en un registro que comparten varias personas, cada una con sus permisos. Si Werk pregunta cuál de dos tarjetas es y la respuesta llega como "la segunda", esa respuesta tiene que quedar atada a lo que esa persona vio en pantalla. Eso depende de cada producto, y los buenos SDK lo dicen con claridad: la documentación de Mastra recomienda que una aprobación quede atada a los argumentos exactos que vio quien aprobó.

Tampoco alcanza con un agente personal. Hermes Agent y OpenClaw, dos de los proyectos abiertos que leímos, están pensados para una persona. Hermes lo explica en su política de seguridad: es un agente personal de un solo usuario, y todos los que tienen acceso reciben la misma confianza. Para un agente personal es lo correcto. En un equipo, cada persona ve lo suyo y lo que comparte el proyecto, y el modelo nunca decide quién ve qué.

Por eso armamos un harness propio, y por eso la próxima parte de la serie cuenta su pieza central: el router, que recibe la nota de Novak y la reparte al agente que corresponde.

El modelo cambia, el harness queda

Como las decisiones importantes viven en el harness, el modelo se puede elegir, comparar y cambiar cuando aparece uno mejor. El harness es lo propio: qué lee cada agente, qué verifica el código antes de tocar el registro, cómo se detecta un error y cómo se corrige sin romper otra cosa.

Los modelos van a seguir mejorando. Con un harness bien separado, cada mejora llega sola al uso diario: una nota de voz mejor entendida, la tarjeta correcta, el aviso a quien tiene que enterarse.

Los equipos que usan Werk no tienen que hacer nada para aprovecharla. Ese trabajo lo hace el harness.

Únete a la lista de espera.

Werk todavía no salió. Anótate y tendrás acceso antes que nadie.

Anotarme