Matt Shumer se sentó ante su ordenador y le dio a su agente de IA una instrucción sencilla: limpia los archivos. Había ejecutado esta rutina cientos de veces sin un solo problema. Esta vez, un error de resolución de rutas convirtió una tarea ordinaria de mantenimiento en un desastre total. Años de código, documentos y fotos desaparecieron en segundos.

Este no es un riesgo hipotético. Le ocurrió a un desarrollador real con una máquina real, y el agente en cuestión tenía un historial que parecía infalible hasta el momento de su fallo. Los agentes de IA que pueden escribir archivos, ejecutar comandos de terminal y generar subagentes están ahora integrados en IDEs, interfaces de chat y flujos de automatización. Se les confía el acceso directo a los sistemas operativos, y es precisamente en esa confianza donde reside el peligro. Los mismos modos de fallo que destruyeron la máquina de Shumer existen en cada agente con acceso a herramientas. Comprender por qué fallan, y cómo encuadrarlos adecuadamente, es ahora una habilidad de supervivencia básica para cualquiera que utilice estas herramientas.

Cuando el reconocimiento de patrones se encuentra con el sistema de archivos

Los agentes de IA no piensan. Reconocen patrones. Cuando dices «limpia los archivos», el modelo busca en su memoria de entrenamiento miles de interacciones similares y genera un comando que encaja estadísticamente con el patrón. Si la instrucción es eliminar archivos temporales en un directorio de compilación, podría generar un comando como rm -rf /tmp/build-cache/*. Parece razonable porque se asemeja a cualquier otro comando de limpieza que el modelo haya visto jamás.

Pero, ¿qué ocurre cuando una variable como $HOME no se resuelve correctamente? Un humano ve una cadena vacía o una ruta inesperada, se detiene y hace preguntas. Un agente ve que el patrón sigue coincidiendo y pulsa enter. En el caso de Shumer, un comando que debía podar una carpeta específica se dirigió en su lugar a la raíz del directorio de usuario. El agente no se detuvo a preguntarse por qué la ruta parecía extraña. No verificó el objetivo. Ejecutó el comando porque la ejecución coincidía con el patrón de «limpiar».

Este es el desajuste fundamental entre los modelos de lenguaje de gran tamaño y la administración de sistemas. El razonamiento real implica comprender el contexto, verificar suposiciones y manejar casos límite. El reconocimiento de patrones consiste en producir texto que se asemeja estadísticamente a una respuesta correcta. Cuando esa respuesta es un comando de terminal que lleva una bandera de eliminación recursiva, la semejanza estadística no es suficiente.

El punto ciego de los subagentes

Muchos marcos de trabajo de agentes modernos utilizan un orquestador principal que delega tareas a subagentes. El padre puede tener instrucciones estrictas: nunca tocar el directorio personal, preguntar siempre antes de eliminar, mantener un registro de auditoría. Entonces, genera un trabajador con un prompt estrecho como «limpia los registros antiguos».

Ese subagente suele operar de forma aislada. Hereda las herramientas, pero no la cultura de seguridad del padre. Las restricciones que mantenían la cautela del agente principal se comprimen, se resumen o se descartan por completo durante la gestión de la ventana de contexto. El subagente recibe una tarea y un conjunto de herramientas, pero no recibe las horas de prompts cuidadosos que establecieron las salvaguardas.

El resultado es una especie de amnesia organizacional. Una regla de seguridad que reside en el prompt del sistema del agente padre es como si no existiera para el subagente. Esto es particularmente peligroso porque a los subagentes se les suelen asignar los tipos de tareas repetitivas y de bajo nivel que los operadores dejan de supervisar de cerca. Nadie vigila una tarea de limpieza de registros hasta que borra la base de datos de producción.

El peligro de la determinación

Existe una tendencia de diseño en los agentes de IA hacia la autonomía máxima. El agente ideal, en esta visión, nunca molesta al usuario con preguntas triviales. Actúa con determinación, encadena llamadas a herramientas y completa flujos de trabajo de varios pasos sin detenerse a respirar.

Esa determinación es precisamente lo que hace que estos sistemas sean inseguros. Un modelo programado para «actuar con determinación» no comprueba su trabajo. No se detiene cuando un comando parece destructivo. Trata la vacilación como un error en lugar de como una característica. Cuando el modelo acierta, esto parece mágico. Cuando se equivoca, parece implacable. No hay una fricción natural en el sistema que frene un comando erróneo.

El agente de Shumer había funcionado correctamente cientos de veces. Ese historial creó una falsa sensación de seguridad. Pero la fiabilidad a lo largo de cien pruebas no significa nada si la prueba ciento uno es el valor atípico estadístico donde el patrón se rompe. En la seguridad de sistemas, el rendimiento pasado solo importa si el modo de fallo es gradual y visible. Los fallos de los agentes de IA son repentinos, silenciosos y totales. «Funcionó cientos de veces» no es un historial de seguridad. Es una descripción de la suerte que, tarde o temprano, se agota.

Cómo construir una protección real

Si el modelo no es la capa de seguridad