Explorar notas
Harness de agente
Codex, Claude Code y OpenCode pueden utilizar un modelo para trabajar sobre un repositorio porque hay software alrededor que prepara cada llamada y conecta sus decisiones con el entorno. Ese software es el harness.
En cada iteración puede reunir instrucciones y contexto, presentar las tools disponibles, ejecutar una acción en un runtime y devolver el resultado al modelo para continuar el bucle de agente.
Contexto y tools
El harness decide qué material llega a la siguiente inferencia: instrucciones del proyecto, conversación, ficheros recuperados, resultados anteriores y las definiciones de las tools. También puede descubrir una skill o conectar operaciones externas cuando la tarea las necesita.
La implementación cambia entre productos. Codex, Claude Code y OpenCode no tienen por qué buscar instrucciones en las mismas rutas, cargar una skill de la misma forma ni exponer exactamente las mismas tools. Esas diferencias forman parte del comportamiento del harness, no del modelo.
Runtime
Las acciones ocurren en un entorno concreto: una shell local, una VM, un sandbox o un workspace cloud. Ese runtime determina qué ficheros, binarios, red, credenciales y servicios están realmente disponibles.
Por eso el mismo modelo puede completar una tarea en un harness y fallar en otro. Si el repositorio no está montado o el test runner no existe en el runtime, generar una respuesta mejor no añade esa capacidad.
Comprobaciones y resultados
El harness también puede combinar decisiones del modelo con comprobaciones deterministas. Contar findings, validar un JSON o ejecutar tests suele ser más fiable con código que con una inferencia adicional.
En este repositorio, por ejemplo, las reglas editoriales orientan al agente y npm run test:content comprueba invariantes que no dependen de que el modelo las recuerde.
Para revisar un run conviene conservar las tool calls, sus resultados, errores y validaciones. El resultado que vuelve al modelo puede ser mucho más pequeño que el artefacto original: un log completo puede quedar guardado en un fichero mientras la siguiente inferencia recibe solo las líneas relevantes.