Respuestas

¿Las reglas de un agente de IA no deberían imponerse en el código en vez de escribirse como memoria?

Algunas sí — y esas nunca deberían haber sido instrucciones. Una regla que vale mientras el sistema esté construido como está, como un despliegue a la vez, va en un candado que el agente no puede saltarse. Pero un candado solo sabe imponer la regla mientras vale; no tiene forma de decir que dejó de valer, quién lo decidió ni qué la reemplazó. La mayoría de las reglas que un equipo les da a sus agentes son de ese segundo tipo: decisiones que alguien tomó y alguien va a revisar — qué puede ir a un cliente, qué rama sale, cuánto cuesta un plan. Eso es lo que guarda Arroway. Cada regla lleva la condición que la termina, la que la reemplaza apunta a la que retira, y solo una persona vuelve vigente una regla. El invariante va al código y la decisión a la memoria; la regla que es ambas cosas recibe el candado y el registro de por qué existe el candado.

Última actualización 24 de septiembre de 2026

Para una regla que nunca cambia, el candado es la respuesta correcta

La objeción parte de algo cierto. Una instrucción es texto que el agente lee y sopesa contra todo lo demás que tiene delante, y bajo presión a veces pierde. Cuando dos builds chocan porque una regla escrita decía que no se corrieran a la vez, convertir esa frase en un mutex es el arreglo correcto: el choque deja de estar desaconsejado y pasa a ser imposible. Lo que se puede volver mecánicamente imposible debe serlo, y una memoria que te pidiera guardar ese tipo de regla en prosa te estaría pidiendo una garantía más débil a cambio de nada.

Un candado no tiene campo para “esto dejó de ser cierto”

El problema empieza el día en que el motivo del candado desaparece y el candado se queda. El código impone con la misma fuerza el último día que el primero, y nada en él dice qué lo terminaría. Entonces pasa una de dos cosas: el candado sigue bloqueando trabajo que ahora es correcto y la gente lo esquiva, o alguien lo borra — y el historial muestra una línea cambiada, no la decisión, quién tenía autoridad para tomarla ni si estaba pensada para ser permanente. En Arroway el final es parte de la regla: toda memoria dice qué la retiraría, y cuando una decisión nueva reemplaza a una vieja, la vieja sale de la lectura con el motivo y el nombre de quien decidió.

Clasifica las reglas por cómo mueren, no por lo estrictas que son

La pregunta útil no es si una regla importa lo suficiente como para imponerla, sino qué haría que dejara de ser cierta. Si solo un cambio en cómo está construido el sistema la termina, es un invariante y va en el código. Si termina cuando alguien decide lo contrario — el cliente cambia las condiciones, se revisa una política, termina un experimento —, es una decisión, y necesita dueño, final y una forma de ser reemplazada sin que nadie salga a cazar copias. Muchas reglas son las dos cosas. Entonces el candado impone, y la memoria lleva lo que el candado no puede: por qué está ahí, quién lo puso y cuándo debería salir.

Cómo se ve en la práctica

Un equipo corre varios agentes contra un único entorno de staging. Dos despliegues llegan al mismo tiempo y uno corrompe al otro, así que el equipo cambia la regla escrita — nunca desplegar mientras otro despliegue está en curso — por un candado. Funciona, y nadie vuelve a pensar en eso. Cuatro meses después staging se divide en un entorno por rama. Los despliegues ya no pueden chocar, pero el candado sigue poniéndolos en fila a todos, y los agentes esperan cuarenta minutos detrás de trabajo que no tiene nada que ver con el suyo. El ingeniero que agregó el candado se cambió de equipo. El mensaje del commit dice “add deploy lock”. Nadie sabe si es seguro quitarlo, así que nadie lo quita. Si la regla también hubiera vivido como decisión — impuesta por el candado, registrada con “termina cuando staging deje de ser compartido” —, esa condición habría estado junto a la regla en cada lectura, y el día en que se dividió staging, retirar las dos habría sido una línea para que una persona la aprobara.

Preguntas que la gente hace sobre esto

Entonces, ¿deberíamos sacar las reglas del código?
No. Lo que puedes volver mecánicamente imposible debe seguir siéndolo, y la memoria no compite con eso. Lo que sale del código es lo que nunca supo guardar bien: el motivo, el dueño y el final. Un candado con una decisión registrada detrás es más fuerte que cualquiera de los dos solo — con el candado no se discute, y el registro dice cuándo dejó de tener razón de ser.
¿No alcanzaría con un comentario junto al candado que diga cuándo quitarlo?
Alcanzaría en parte, y es mejor que nada. Pero un comentario es un final sobre el que nadie es consultado: solo lo lee quien abra ese archivo, no puede decir si sigue siendo cierto, y cambiarlo exige el mismo acceso que cambiar el código. En Arroway el final viaja con la regla a cada lectura del proyecto, hecha por cualquier asistente en cualquier herramienta conectada, y reemplazar la decisión es un acto visible, con nombre y fecha — no un diff que alguien tiene que salir a buscar.
Los agentes ignoran instrucciones. ¿Por qué respetarían una regla solo porque está en la memoria?
La memoria no es imposición, y no debe fingir que lo es. Lo que cambia es si el agente tuvo la regla en la mano. La lectura de apertura es un primer paso obligatorio que imponen las herramientas, no algo que queda a criterio del agente, así que la regla llega antes de que empiece el trabajo en vez de depender de que algún archivo se haya cargado. Para las reglas que nunca pueden romperse eso solo no alcanza — y es justamente por eso que esas también van en el código.
Instalar ArrowayVer cómo funciona →

Dónde se puede comprobar

Documentación de producto en este sitio (Cómo funciona, Instalación), las respuestas sobre memoria sin política de escritura, sobre memoria desactualizada y sobre reglas que se escapan unos mensajes después, y las reglas de condición de fin, reemplazo y sanción en la especificación sancionada del producto. La línea entre invariante y decisión es el argumento de esta página, no una función del producto. Todo lo descrito aquí es comportamiento que las herramientas aplican hoy, no roadmap.

https://www.arroway.app/es/answers/guardrails-in-code-dont-expire-sanctioned-rules-do