Entiende por qué el agente no cambia sus propias reglas
Un agente que reescribe sus propias reglas puede, sin querer, flexibilizar justo la regla que lo limitaba. Una línea de "puede pagar facturas pequeñas" hace que la política del módulo 4.1 deje de aplicarse.
Por eso el AGENTS.md del kit lo dice claramente: "No cambies estas reglas. Para proponer un cambio, agrega una línea a la tabla 'Aprendizaje' de la runtime/POLITICA.md. Quien aprueba es la persona."
🆕 ¿Eres nuevo aquí? Los cuatro archivos del aprendizaje
- Tabla Aprendizaje — al final de la
runtime/POLITICA.md. Donde el agente escribe las propuestas. - Lessons — sección
## LessonsdelAGENTS.md. Solo reglas que aprobaste, una por línea. - FALHAS.md —
runtime/FALHAS.md. Una línea por cada cosa que se rompió. - LIMITES.md —
runtime/LIMITES.md. Una línea por cada cosa que el entorno no permitió hacer.
Cómo leer el diagrama: el camino azul de abajo siempre pasa por la caja ámbar, que eres tú. El arco rojo de arriba es el agente escribiendo directamente en Lessons, sin pasar por ti. Ese es el atajo que el AGENTS.md prohíbe.
✓ El agente puede
- ✓ Agregar una línea a la tabla Aprendizaje
- ✓ Anotar el error en
FALHAS.md - ✓ Anotar el bloqueo en
LIMITES.md - ✓ Proponer la lección cuando lo corriges
✗ El agente no puede
- ✗ Marcar su propia propuesta como aprobada
- ✗ Escribir en Lessons sin tu autorización
- ✗ Subir el límite de una acción en la POLITICA
- ✗ Borrar la línea del error que te molesta
el agente
tú
se convierte en Lesson
solo cambian con tu aprobación
Completa la tabla de Aprendizaje
La tabla está al final de runtime/POLITICA.md, bajo el título "Aprendizaje (propone → aprueba → incorpora)". En el kit viene vacía: solo el encabezado, a la espera de la primera propuesta.
Cada línea tiene cuatro columnas. La segunda pide evidencia: no vale "me pareció mejor", vale "pasó esto, este día, con este resultado".
O agente **não muda as próprias regras**. Ele acrescenta uma linha aqui; você decide. | data | o que aconteceu (com evidência) | proposta (1 linha) | status: proposto / aprovado / recusado | |---|---|---|---|
| fecha | lo que pasó (con evidencia) | propuesta (1 línea) | estado |
|---|---|---|---|
| ejemplo | Clara pidió "horarios disponibles para mañana" y el agente respondió con la fecha de hoy; la respuesta incluía horarios ya reservados | Antes de consultar la agenda, repite la fecha en AAAA-MM-DD y espera la confirmación | propuesto |
| ejemplo | En el informe de la distribuidora, el agente escribió «¿puedo emitir el boleto?» en vez de dejar el boleto listo para Sônia | En pagos, entrega el texto listo y la lista de lo que hay que revisar; nunca ofrezcas ejecutarlo | propuesto |
Qué revisar en la tabla: las dos líneas son ejemplos de cómo quedaría, escritos para este curso; no vienen en el kit. Fíjate en que la propuesta cabe en una línea y dice qué hacer, no qué sentir.
propuesto
El agente escribió. Nadie ha decidido todavía. El comportamiento no cambia.
aprobado
Cambiaste el estado. La propuesta pasa a Lessons (tema 3) y entra en vigor.
rechazado
Queda en la tabla. Así el agente no propone lo mismo otra vez la semana siguiente.
💡 No borres lo rechazado
La línea rechazada es memoria. Le muestra al agente, y a ti dentro de tres meses, que la idea ya se consideró y por qué no se incluyó.
cuándo ocurrió
el hecho, no la opinión
una línea
propuesto / aprobado / rechazado
Promueve lo aprobado a las Lessons
A POLITICA.md cierra la sección así: "Aprobado → se convierte en regla en CLAUDE.md/AGENTS.md". Sin kit, el lugar es la sección ## Lessons del AGENTS.md.
Por qué en el AGENTS.md y no en el CLAUDE.md? Porque el CLAUDE.md del kit empieza extrayendo el AGENTS.md. Una regla escrita en un solo lugar sirve para Claude y para Codex.
## Lecciones Reglas aprobadas por la persona, una por línea:
@AGENTS.md ## Autoaprendizaje Cuando el humano te corrija o notes un error tuyo: propón la lección como una fila en la tabla «Aprendizaje» de `runtime/POLITICA.md`. Después de que la aprueben, se agrega a `## Lessons` de `AGENTS.md`.
🆕 ¿Eres nuevo aquí? Qué hace el @AGENTS.md
En el CLAUDE.md, una línea con @ y el nombre de un archivo indica a Claude Code que lea ese archivo también. Codex lee el AGENTS.md directamente. Resultado: los dos agentes leen las mismas Lessons.
Cómo leer el diagrama: todo pasa por el recuadro ámbar. Escribes la regla una vez en el AGENTS.md, y las dos flechas azules llevan la misma regla a ambos agentes. No existe una versión "solo para Claude" que pueda quedar desactualizada.
Ejemplo de cómo quedaría (no viene en el kit)
Si Clara aprueba la primera propuesta del tema 2, el final de AGENTS.md queda así:
## Lecciones Reglas aprobadas por la persona, una por línea: - Antes de consultar la agenda, repetir la fecha en AAAA-MM-DD y esperar confirmación.
💡 Quién escribe la línea en Lessons
Puedes ser tú, a mano, o el agente, después de tu pedido explícito ("apruebo la línea X, copia a las Lessons"). Lo que cuenta es el orden: primero tu sí, después la copia.
una regla por línea
Claude lee contigo
las mismas reglas
corregido → propone
Anota cada falla en una línea
Cuando algo se rompe y lo arreglas, la tentación es seguir adelante. El runtime/FALHAS.md pide treinta segundos antes: una línea con la fecha, qué se rompió, la corrección mínima y si el problema era del prompt o de infraestructura.
El kit ya incluye una fila real, de cuando se puso a prueba. Es el mejor ejemplo del formato:
| data | o que quebrou | menor correção | prompt \| infra | |---|---|---|---| | 2026-10-05 | `doctor.mjs` dizia "codex sem login" com o Codex logado | ler stdout **e** stderr (`codex login status` responde no stderr) | infra |
🆕 ¿Eres nuevo aquí? stdout y stderr
Todo comando de terminal tiene dos salidas de texto: la normal (stdout) y la de avisos y errores (stderr). En pantalla aparecen juntas, pero un programa que lee solo una pierde la otra. Eso fue lo que pasó con el doctor.mjs.
prompt
- ✓ El pedido indujo el error
- ✓ El modelo entendió otra cosa
- ✓ Faltó indicar un límite en el pedido
- ✓ Corrección típica: una frase más en la instrucción
infra
- ✓ Máquina, red, inicio de sesión, versión del programa
- ✓ Script que lee el lugar equivocado
- ✓ Servicio fuera de línea o lento
- ✓ Corrección típica: una protección (límite de tiempo, nuevo intento, verificación)
💡 Por qué una sola línea
Después de unas diez líneas, el patrón aparece por sí solo: "la mitad son problemas de infraestructura de inicio de sesión", "todo error del prompt tiene fecha". El texto largo oculta el patrón. Si necesitas más detalles, escríbelos en otro archivo y agrega el enlace en la línea.
cuándo se rompió
el síntoma observado
la protección que faltaba
o ambos
Anota lo que el entorno bloqueó
No todo problema es una falla. A veces no se rompió nada: simplemente el entorno no dejó. El sandbox bloqueó la red, la herramienta no tiene esa función, el sitio pide iniciar sesión. Eso va al runtime/LIMITES.md.
En el kit viene solo con el encabezado. La última columna, estado, indica si el límite sigue abierto o si aceptaste convivir con él.
| data | o que tentei | o que barrou | contorno | status | |---|---|---|---|---|
| Situación | Va a | Por qué |
|---|---|---|
O doctor.mjs solo leía una salida y se equivocaba | FALHAS.md | era un defecto y se corrigió |
| El sandbox de Codex bloquea la red, incluso la local | LIMITES.md | es una regla del entorno; la receta R1 indica que anotes |
| Usaste ingeniería inversa en una prueba | LIMITES.md | la POLITICA manda: laboratorio anotado |
| Corregiste al agente y aprendió | tabla Aprendizaje | es un cambio de regla; necesita tu aprobación |
Qué revisar en la tabla: la pregunta clave es «¿se rompió o no lo permitieron?». Si se rompió y lo arreglaste, FALHAS. Si no lo permitieron, LIMITES. Si cambió la forma de trabajar, Aprendizado.
El ejemplo que da el propio kit
La receta R1 advierte: el sandbox de Codex bloquea la red. Si una prueba necesita iniciar un servidor, agrega a el puente el ajuste de abajo y anota en LIMITES.md:
-c sandbox_workspace_write.network_access=true
La línea registraría: qué intentaste (iniciar el servidor de prueba), qué lo impidió (sandbox sin red), la solución alternativa (este ajuste) y el estado.
⚠️ Una alternativa no es una licencia
Abrir la red del sandbox es aflojar una cerca. Por eso va en un archivo que revisas. Un desvío sin anotación se convierte, en tres meses, en una puerta abierta que nadie recuerda haber abierto.
regla del entorno
lo que hiciste
abierto o aceptado
también se anota
Haz la revisión de la semana con el agente
Los tres archivos solo ayudan si alguien los lee. Una vez por semana, pídele al agente que lea todo y convierta lo que se repite en propuestas. Él hace la parte tediosa. Tú haces la parte que importa: decidir.
Son dos solicitudes. La primera solo genera propuestas. La segunda, que escribes después de leerlas, aprueba lo que quieras.
Abre claude (o codex) en la carpeta del proyecto y pega:
Lee runtime/FALHAS.md, runtime/LIMITES.md y la tabla Aprendizado de runtime/POLITICA.md. Busca lo que se repite o sigue abierto. Para cada caso, agrega una línea en la tabla Aprendizado con fecha, evidencia, propuesta en una línea y estado propuesto. No marques nada como aprobado y no modifiques el AGENTS.md ni el CLAUDE.md. Al final, enumera las líneas que agregaste.
proposto. La sección ## Lessons del AGENTS.md sigue igual.Na tabela Aprendizado de runtime/POLITICA.md, mude para aprovado a linha <data e proposta> e para recusado a linha <data e proposta>. Copie só a proposta aprovada, em uma linha, para ## Lessons do AGENTS.md.
El agente lee y propone
Primera solicitud. Cruza FALHAS, LIMITES y las propuestas antiguas.
Tú lees cada línea
Pregunta clave: ¿esta regla flexibiliza algún límite de la POLITICA? Si lo flexibiliza, recházala.
Tú apruebas o rechazas
Segundo pedido, con tus propias palabras. Solo lo aprobado pasa a Lessons.
Git guarda el cambio
Como todo es un archivo de texto, cada regla nueva queda en el historial, con fecha. Puedes ver cuándo y por qué se agregó.
Prueba rápida (opcional): durante la revisión, el agente propuso «puedes enviar recordatorios a los pacientes sin preguntar». ¿Qué hace Clara?
un horario fijo
solo propuestas
tu decisión
historial de las reglas
🎓 Resumen del módulo
Próximo módulo:
4.3 — Guardián y panel