El modelo solo predice texto: no recuerda, no ve tus archivos, no actúa y no comprueba. Quien hace el trabajo en Claude Code y en Codex es el harness, el programa que rodea al modelo. Cuando el agente falla, la pregunta útil casi nunca es "inténtalo de nuevo": es qué pieza del harness falta. En esta lección haces el inventario del tuyo.
2Las cinco piezas del harness y el loop que las une
3Dónde vive cada pieza en tu Claude Code y en tu Codex
4Leer una falla del agente como una pieza que falta
Objetivo: listar las piezas del harness de tu máquina (contexto, memoria, herramientas, verificación, permisos) y decir cuál de ellas sostiene cada falla.
01 · El modelo y lo que queda alrededor
Haz clic en cada bloque: qué hace la pieza y dónde vive en tu máquina.
Clase 201 · El modelo y lo que queda alrededorHaz clic en cada bloque: qué hace la pieza y dónde vive en tu máquina.
1/7
Contexto
Al inicio de cada sesión el modelo no sabe nada de tu proyecto. El harness carga las reglas (CLAUDE.md en Claude Code, AGENTS.md en Codex), la estructura de carpetas y lo que cambió. Lo escribes una vez; él lo lee en cada sesión.
Desplázate por la página: cada etapa de abajo ilumina su parte del diagrama.
1/7
Contexto
Al inicio de cada sesión el modelo no sabe nada de tu proyecto. El harness carga las reglas (CLAUDE.md en Claude Code, AGENTS.md en Codex), la estructura de carpetas y lo que cambió. Lo escribes una vez; él lo lee en cada sesión.
2/7
Memoria
Cuanto más larga la sesión, más llena la ventana de contexto. El harness compacta: mantiene el objetivo y encoge los pasos antiguos. Compactar demasiado pierde detalle; por eso los loops largos guardan el estado en un archivo (lección 5) y el curso 2 trata de los rangos de contexto.
3/7
Herramientas
El modelo solo produce texto. Cuando ese texto es un pedido de herramienta (leer un archivo, correr un comando, editar), el harness lo ejecuta y le devuelve el resultado al modelo. MCP es la forma estándar de conectar herramientas de otros sistemas.
4/7
Verificación
Sin verificación, el modelo mira el código y dice "se ve bien". Con ella, corre la prueba y lee el resultado. Un resultado real vale más que la IA diciendo que está bien. Es la pieza que más necesita el loop (clases 1 y 6; curso 1).
5/7
Permisos
El harness revisa cada acción antes de ejecutarla: editar pasa, borrar pregunta. Los hooks corren tus scripts antes y después de las herramientas; el sandbox limita hasta dónde llega un comando. En un loop sin que tú mires, es lo que contiene el radio de daño (curso 4).
6/7
Loop del agente
Juntando todo: el modelo piensa y pide una herramienta, el permiso la revisa, el harness la corre, el resultado vuelve y el ciclo sigue hasta lograr el objetivo. El harness no vuelve al modelo más inteligente; lo vuelve más útil.
7/7
¿Falló? Busca la pieza
Olvidó la regla del proyecto: contexto. Perdió el hilo después de horas: memoria. No logró hacerlo: herramienta. Dijo listo sin estarlo: verificación. Hizo lo que no debía: permisos.
Claude Code y Codex son harnesses. El mismo modelo en harnesses distintos da resultados distintos.
02 · Dos lecciones de quienes construyen harnesses
De posts de ingeniería públicos (investigación del 19/10/2026).
1. Pregunta qué falta
En el post "Harness engineering", la lección central es: cuando el agente falla, preguntar qué capacidad, contexto o estructura falta, en vez de mandarlo a intentar más.
En la práctica: la corrección va al harness (una regla en el AGENTS.md, una herramienta, una prueba), no a un prompt más enfático.
2. Cada pieza es una suposición
En el post sobre el harness de apps largas, el equipo necesitó resets de contexto con handoff para un modelo que terminaba antes de tiempo; en un modelo siguiente ese comportamiento desapareció y los resets salieron, quedando la compactación automática.
Lección: cada pieza del harness codifica una suposición sobre el modelo. Cambiar de modelo pide reevaluar las piezas.
03 · Inventario de tu harness
Solo lectura: no se altera nada. Córrelo en tu máquina y anota lo que apareció.
Terminal · contexto y memoria
ls -la ~/.claude/CLAUDE.md ~/.codex/AGENTS.md 2>&1
wc -l ~/.claude/CLAUDE.md ~/.codex/AGENTS.md 2>/dev/null
ls CLAUDE.md AGENTS.md 2>&1 # en el proyecto actual
Terminal · herramientas (MCP) y skills
claude mcp list
ls ~/.claude/skills 2>/dev/null | wc -l
Terminal · permisos y hooks de Claude Code (usuario y proyecto; ejecútalo en la carpeta del proyecto)
python3 - <<'PY'
import json, pathlib
for p in (pathlib.Path.home() / ".claude/settings.json", # usuario
pathlib.Path(".claude/settings.json"), # proyecto (va al git)
pathlib.Path(".claude/settings.local.json")): # proyecto, solo en esta máquina
if not p.exists():
print(f"{p}: não existe")
continue
d = json.loads(p.read_text())
perm = d.get("permissions", {})
print(f"{p}: hooks {sorted(d.get('hooks', {})) or 'nenhum'} · allow {len(perm.get('allow', []))} · deny {len(perm.get('deny', []))}")
PY
Terminal · sandbox y aprobación de Codex
grep -nE '^(sandbox_mode|approval_policy)' ~/.codex/config.toml || echo "padrão do Codex (sem chave no config)"
harness.md · modelo para completar
# Mi harness — <fecha>
contexto: <archivos de reglas que el agente lee al empezar>
memória: <cómo guardo lo que no se puede perder: handoff, archivos de estado, nada>
ferramentas: <MCP y skills que uso de verdad>
verificação: <el comando que prueba que salió bien en mi proyecto principal>
permissões: <hooks y reglas allow/deny; sandbox de Codex>
peça mais fraca: <cuál y por qué>
04 · Video: el harness por dentro
Contexto, memoria, herramientas, verificación, permisos y el loop del agente, una pieza por capítulo (10/10/2026).
En tu máquina. Pasa al siguiente solo cuando el "listo cuando" sea verdad.
E1 · Inventario
15 min
Ejecuta los cuatro bloques del inventario y completa el harness.md con lo que apareció, una línea por pieza. Escribe las marcas del comienzo de la línea exactamente como están en el modelo: el grep del "listo cuando" las busca.
Listo cuando:grep -cE '^(contexto|memória|ferramentas|verificação|permissões):' harness.md → 5, y grep -c '<' harness.md → 0 (ningún marcador de la plantilla quedó sin completar).
E2 · ¿Realmente se lee el contexto?
10 min
Agrega al CLAUDE.md (o AGENTS.md) del proyecto una regla fácil de comprobar, por ejemplo "toda respuesta termina con la palabra CONFERIDO". Abre una sesión nueva y pide cualquier cosa.
Listo cuando: La respuesta de la sesión nueva termina con CONFERIDO sin que tú lo pidas. Después borra la regla: grep -c CONFERIDO CLAUDE.md → 0.
E3 · Una falla, una pieza
10 min
Recuerda una falla real del agente en las últimas semanas. Escribe en harness.md la línea "peça mais fraca:" con la pieza dueña de la falla y la corrección que va al harness, no al prompt.
Listo cuando:grep '^peça mais fraca:' harness.md → una línea que cite una de las cinco piezas y un archivo, comando o herramienta concreta.
06 · Prueba de la lección
Pregunta 1 de 4
En cada sesión nueva el agente olvida que el proyecto usa pnpm y ejecuta npm. ¿Qué pieza del harness lo resuelve?competencia
Correcto
Es conocimiento del proyecto que el modelo no tiene al empezar; el harness lo carga mediante el archivo de reglas. Cambiar de modelo no lo resuelve: ningún modelo adivina la convención de tu proyecto.
No es esa
Es conocimiento del proyecto que el modelo no tiene al empezar; el harness lo carga mediante el archivo de reglas. Cambiar de modelo no lo resuelve: ningún modelo adivina la convención de tu proyecto.Repasar: El modelo y lo que queda alrededor
Pregunta 2 de 4
El agente dijo "corregí el bug" y el bug sigue ahí. ¿Qué pieza faltó y cuál es la corrección de harness?
Correcto
Sin verificación, "corregí" es una opinión. Una prueba que falla antes y pasa después convierte la opinión en evidencia. Explicar mejor ayuda, pero no impide que el agente se apruebe a sí mismo.
No es esa
Sin verificación, "corregí" es una opinión. Una prueba que falla antes y pasa después convierte la opinión en evidencia. Explicar mejor ayuda, pero no impide que el agente se apruebe a sí mismo.Repasar: El modelo y lo que queda alrededor
Pregunta 3 de 4
Según el post de ingeniería de Anthropic de marzo de 2026, ¿qué hacer con el harness cuando se cambia el modelo?
Correcto
Los resets de contexto existían por un comportamiento de un modelo; en el modelo siguiente ese comportamiento desapareció y la pieza salió. Una pieza que ya no sirve solo cuesta.
No es esa
Los resets de contexto existían por un comportamiento de un modelo; en el modelo siguiente ese comportamiento desapareció y la pieza salió. Una pieza que ya no sirve solo cuesta.Repasar: Dos lecciones de quienes construyen harnesses
Pregunta 4 de 4
¿Por qué el mismo modelo da resultados distintos en Claude Code y en Codex?competencia
Correcto
Elegir la herramienta es elegir su harness. El modelo decide; el harness define qué sabe, qué puede hacer y cómo comprueba.