Contratos / guardrails
Límites claros y comprobables que marcan qué puede y qué no puede hacer una IA dentro del sistema. No le dicen cómo trabajar, pero impiden que se salga de lo permitido, y como son automáticos, se puede verificar que se cumplen.
En una analogía · Son las vallas de una carretera de montaña: no conducen por ti, pero impiden que el coche se salga.
El mecanismo: la regla vive en la máquina, no en un manual
Dar autonomía a un agente sin límites es arriesgado: puede generar algo que técnicamente funciona pero rompe la coherencia del producto. Un guardrail es una regla que cumple tres condiciones, y la tercera es la que casi todos se saltan:
- Prohíbe o exige algo concreto (“solo colores del sistema”, “ningún componente en uso se borra”).
- Se evalúa sin juicio humano: dado un output, la respuesta es cumple o no cumple, sin debate.
- Corre en el camino del cambio (CI, pre-commit, el propio pipeline del agente), no en un documento que alguien debería recordar.
Si la regla necesita interpretación (“los textos deben ser claros”), no es un guardrail: es un principio. Los principios guían a las personas; los contratos frenan a las máquinas.
Un ejemplo real
El mismo límite, escrito como regla de linter (la forma en que lo hacen los design systems de primera línea: Atlassian lo publica como ensure-design-token-usage en su plugin de ESLint):
// guardrail: todo color del output debe salir de los tokens del sistema
module.exports = {
meta: { messages: { fueraDeSistema: 'color fuera del sistema: {{ valor }}' } },
create: (ctx) => ({
Property(node) {
if (esColorCrudo(node.value)) {
ctx.report({ node, messageId: 'fueraDeSistema', data: { valor: node.value.value } });
}
},
}),
};
Y el contrato más simple posible, sin plugin alguno, como test en CI: un script que hace grep de valores hex crudos en el output del agente y falla el build si encuentra alguno. Un guardrail no exige infraestructura sofisticada; exige que nadie tenga que acordarse de mirar. (Si tu plataforma ya corre Open Policy Agent para otras políticas, el mismo contrato puede escribirse en Rego; pero para tokens y componentes, la industria usa los linters del propio ecosistema.)
Cómo se construye, en tres pasos
- Recolecta las últimas 10 correcciones que tu equipo le hizo a un output generado (o a un junior). Cada corrección repetida es un contrato en potencia.
- Reescribe cada una como condición binaria. “Queda raro el espaciado” no compila; “el espaciado solo puede tomar valores de la escala
space.*” sí. - Ponla donde no se pueda ignorar: la validación corre en CI o en el pipeline del agente, y su fallo bloquea, no avisa.
La guía Principios ejecutables enseña el paso 2 con detalle (de prosa a regla evaluable); la escalera de autonomía decide cuánta libertad hay dentro de las vallas.
Lecturas de referencia
A seguir
Marco propio del Instituto de Diseño Agéntico, no un estándar del sector.
Recibe la próxima guía en tu correo
Una guía operativa nueva cada poco: cómo se construye, qué decisiones implica y qué no se hace. Sin ruido, solo cuando hay algo útil.