← Todos los posts

Ensayo · Por Andrew Maryasov, fundador de Grow2.ai ·

Qué hace su proceso cuando el modelo dice «no»

Infografía: Qué hace su proceso cuando el modelo dice «no»

El registro de acciones del atacante superaba los 17 mil eventos. Revisarlo a mano significaba gastar días que el equipo no tenía. Hugging Face cargó los registros en un modelo comercial y recibió una negativa.

Los guardrails funcionaron exactamente como estaban diseñados. La solicitud contenía comandos de ataque reales, cargas de explotación y artefactos del centro de mando, y el proveedor vio en ella lo mismo que habría visto en la solicitud de un atacante. Un modelo no tiene manera de distinguir a quien repele un ataque de quien lo ejecuta.

De los guardrails se suele discutir como de una cuestión ética: qué tienen derecho a hacer los modelos, dónde termina la responsabilidad del laboratorio. Pero la empresa se los encuentra en otro lugar y con otra forma. No como una cuestión de valores, sino como un proceso detenido a las tres de la madrugada, sin error en el código, sin culpables y sin una línea en el monitoreo.

Qué ocurrió realmente en Hugging Face

La empresa publicó el análisis del incidente el 16 de julio de 2026. Vale la pena contar la historia con precisión, porque ya circula contada sin ella.

El punto de entrada fue un dataset malicioso. Aprovechó dos vías de ejecución de código en el pipeline de procesamiento de datos —un cargador de datasets con código remoto y una inyección de plantilla en la configuración— y ejecutó código en un nodo de trabajo. Después vino la escalada estándar: acceso a nivel de nodo, recolección de credenciales de nube y de clúster, movimiento lateral entre clústeres internos. Todo eso en un fin de semana.

La campaña la dirigía un framework de agentes autónomos: miles de acciones separadas a través de un enjambre de sandboxes efímeros, con el centro de mando migrando por su cuenta entre servicios públicos. Hugging Face confirmó acceso no autorizado a un conjunto limitado de datasets internos y a unas pocas credenciales de servicio. No se hallaron rastros de manipulación en modelos, datasets ni Spaces públicos, y la cadena de suministro de software resultó limpia.

El ataque no lo detectó un ingeniero de guardia, sino el propio pipeline de anomalías de la empresa, que usa una LLM para clasificar la telemetría de seguridad. La IA detectó a la IA, y después la IA de la defensa chocó contra los guardrails mientras la IA del ataque no chocaba contra nada. Hugging Face lo llama asimetría: al atacante no lo ataba ninguna política de uso, mientras que el trabajo de los defensores quedó bloqueado por las políticas de los modelos a los que acudieron primero.

El análisis forense se terminó con GLM 5.2, un modelo open-weight desplegado en infraestructura propia. La empresa señala aparte una segunda ventaja de esa decisión, y no tiene que ver con los guardrails: ningún dato del lado atacante, ni ninguna de las credenciales mencionadas en ellos, salió del perímetro.

Una aclaración, porque suele confundirse. En su propio análisis Hugging Face no nombra ni el modelo del atacante ni su identidad: dice explícitamente que la LLM utilizada se desconoce. La atribución a una prueba interna de OpenAI apareció por separado, en la divulgación de la propia OpenAI, y es a esa a la que remite Andrew Ng. Si va a contar esta historia dentro de su empresa, mantenga las dos fuentes separadas; de lo contrario tendrá una discusión sobre detalles en lugar de una conversación sobre la conclusión.

La negativa rara vez se parece a un «no»

Una semana después, en su carta del 31 de julio, Ng describió un caso de su propio equipo y para una empresa resulta más valioso, porque ahí no hubo ningún ataque.

Su equipo hacía un security review del proyecto abierto OpenWorker: su propio código, en su propio repositorio. Claude Code y Codex — los dos agentes de ingeniería más extendidos — se negaron. Ng lo formula sin piedad: no ve beneficio de seguridad en impedir que un equipo encuentre vulnerabilidades en su propio código, porque conviene encontrarlas antes que el atacante.

Ni una sola vez la negativa fue un botón de «no».

Una de las dos herramientas simplemente dejó de trabajar antes de lo que debía. La otra quiso pasar a un modelo menos capaz. Ng no precisa cuál hizo qué, pero sobre Codex añade un detalle: alcanzó a mapear de forma bastante decente los posibles vectores de ataque según procedimientos conocidos de MITRE, y después se negó a seguir más allá de cierto punto.

Mire cualquiera de estos escenarios con los ojos de su monitoreo: código de respuesta 200, el agente respondió, la tarea se cerró, el gasto de tokens dentro de lo normal. El tablero en verde. El trabajo está hecho a medias y nadie se entera hasta que alguien relee el resultado a mano.

En su momento analizamos dónde se rompen los sistemas multiagente, y la conclusión principal era la misma: las fallas más caras no son aquellas en las que algo se cae, sino aquellas en las que todo terminó con éxito y no hay resultado. La negativa del modelo pertenece justamente a esa clase: no es un error, es una degradación silenciosa.

Por eso la primera pregunta práctica no es «qué hacemos si el modelo se niega», sino «cómo nos vamos a enterar».

Es un riesgo operativo, no una cuestión ética

Para un director de operaciones la formulación debería ser esta: en su proceso hay un paso cuyo permiso de ejecución pertenece a una empresa externa, y esa empresa puede revisar el permiso sin aviso previo y sin contar con usted.

No es una hipótesis sobre el futuro. Ng escribe que responsables de seguridad se dirigieron a él directamente, molestos porque los modelos cerrados de frontera se niegan a ayudarlos. Toda una clase de trabajo profesional ya choca con una herramienta que se detiene justo cuando más falta hace.

Conviene no irse al extremo contrario. Hugging Face dice con claridad en ese mismo análisis que esto no es un argumento contra los mecanismos de protección en modelos alojados, y que hicieron llegar sus comentarios a los proveedores. Ng tampoco pide eliminar los guardrails: dice que ante instrucciones detalladas para hacerse daño o dañar a otros, y ante solicitudes claramente delictivas, el modelo debe responder con una negativa.

El reclamo es más estrecho y por eso más serio: el clasificador no ve el contexto de su proceso. No sabe que la solicitud viene de un responsable de respuesta a incidentes y no de un atacante; de un abogado que analiza un esquema de fraude y no de quien lo arma; de un administrador médico y no de un adolescente curioso. Y cuanto más cerca esté su negocio de un ámbito sensible, más seguido el trabajo legítimo se verá sospechoso.

Nosotros construimos nuestras propias capas de contención para los agentes: prompt rules, modelo supervisor y human-in-the-loop. Es exactamente la tarea inversa: ahí acotamos al agente a conciencia para que encaje en nuestro proceso. Aquí lo acota otro para que encaje en su política, y usted descubre el límite después del hecho, sobre una solicitud real.

El vendor lock-in no es cuestión de precio

En la mayoría de las discusiones, la dependencia del proveedor se reduce a tarifas y límites. Las negativas muestran que esa mirada es más estrecha de lo necesario.

Hay al menos cuatro eventos que cambian el comportamiento de su sistema sin un solo cambio en su código. El proveedor actualiza el modelo: el mismo prompt, la misma temperatura, otro comportamiento; una regresión común, solo que sin release de su parte. El proveedor interpreta sus propias políticas de otra manera: una solicitud que ayer pasaba, hoy se clasifica como peligrosa. La versión con la que ajustó sus prompts y sus evaluaciones de calidad recibe fecha de apagado. Y, por último, decisiones de mercado o regulatorias pueden quitarle el modelo de debajo más rápido de lo que alcanza a reescribir la integración.

Nosotros vivimos nuestra versión de esto el 13 de agosto. Una flota de veintitrés tareas en segundo plano de nuestra automatización de infraestructura estuvo caída unas veintiuna horas. Todas devolvían el mismo error de token vencido, incluidas las que revisaban servicios completamente distintos y no tenían nada en común entre sí.

Justamente esa uniformidad era la pista, y no la leímos de inmediato. El error no venía de los servicios revisados, sino de la suscripción OAuth al modelo, compartida por toda la flota. Lo que completó el cuadro: al mismo tiempo se murió de verdad el token de un servicio externo. Dos fallas independientes coincidieron en el tiempo, y al arreglar la segunda no resucitamos la flota.

Alternativa teníamos: en el pool había una clave viva de otro proveedor, y cambiar costaba una edición en un archivo de configuración. El precio también era concreto: la facturación pasa de suscripción a pago por tokens. Las veintiuna horas de caída no ocurrieron porque no hubiera adónde cambiar, sino porque no entendimos de inmediato dónde mirar.

Para una empresa pequeña, el lock-in termina viéndose así: no «no nos dejan salir», sino «no lo notamos a tiempo y después perdimos media jornada en diagnosticar».

La respuesta arquitectónica aquí es aburrida: la lógica de negocio, las herramientas, la memoria y sus propias reglas de seguridad deben vivir separadas de la LLM concreta. El modelo es un valor de configuración, no un cimiento. Es la misma pregunta que conviene hacerse al elegir plataforma: qué queda suyo exactamente si cambia el proveedor.

Una ruta de respaldo no es una vía de escape

Aquí es donde más fácil resulta cometer el error que después sale caro en una auditoría. «Tenemos un modelo de respaldo sin restricciones» no es una decisión de arquitectura, es un agujero presentado como funcionalidad.

La diferencia está en cuatro condiciones.

La ruta está definida de antemano. El respaldo se activa para clases de solicitud enumeradas, no para todo lo que no pasó. La lista debe ser corta y de apariencia aburrida: por ejemplo, «análisis de registros de un incidente de seguridad» y nada más; no «solicitudes complejas» ni «casos en que el modelo principal no pudo». Si el agente decide por su cuenta cuándo esquivar una negativa, construyó un jailbreak automático, y en la primera auditoría tendrá que explicarlo.

La política de acceso es la misma. Quien no puede ver datos personales en la ruta principal tampoco los ve en la de respaldo.

Sus propias verificaciones no se apagan. Se apaga el clasificador externo del proveedor, no su control: las reglas, la verificación de datos y la aprobación humana funcionan igual en ambas rutas.

El cambio deja rastro. Cada negativa y cada cambio de ruta se escribe en un registro: qué solicitud, qué clase, qué ruta la resolvió. Es la más aburrida de las cuatro condiciones y la única que le dirá algo dentro de seis meses. Sin ese registro no verá ni la tendencia de las negativas ni el momento silencioso en que la ruta de respaldo se volvió la principal sin que nadie lo notara.

La formulación de Hugging Face merece ir a una diapositiva sin cambios: tener un modelo verificado que se pueda ejecutar en infraestructura propia, listo antes del incidente, tanto para evitar el bloqueo como para que los datos no salgan del perímetro.

La palabra que trabaja en esa frase es «verificado». Un modelo que nunca ejecutó sobre sus tareas no es una ruta de respaldo. Es una intención.

El precio de la autonomía

Hay que decirlo con franqueza, porque el entusiasmo alrededor de los pesos abiertos se convierte muy fácil en una factura subestimada.

Un modelo propio en servidores propios elimina la dependencia de la política ajena y mantiene los datos dentro del perímetro. A cambio, usted asume la infraestructura, las actualizaciones, la seguridad del despliegue en sí y la evaluación de la calidad: es decir, lo que antes era trabajo ajeno incluido en el precio de la suscripción. Es un intercambio, no una ventaja gratuita, y la factura ya la desglosamos en el material sobre el costo real de propiedad.

Para la mayoría de las empresas de 10 a 200 personas, la posición sensata está en el medio. La ruta principal es un modelo alojado, porque sale más barato y más rápido. La de respaldo es un modelo abierto, desplegado y verificado de antemano, para una lista corta de escenarios donde una negativa o una fuga resultan críticas. No «migremos a open source», sino «tenga una segunda llave de la puerta que usa todos los días».

Aparte vale evaluar el escenario en el que cayó Hugging Face. Si su material sensible son registros de un incidente, documentos en disputa, datos de clientes bajo NDA o información médica, el argumento «los datos no salen del perímetro» se sostiene solo, aunque las negativas no existieran.

Qué revisar en tu propio circuito

Un programa mínimo que no exige presupuesto ni migración:

  1. Anote los pasos donde la decisión la toma un modelo externo. No sistemas: pasos del proceso. Suelen ser menos de los que parece, y entre ellos hay uno o dos realmente críticos.
  2. Marque los que son sensibles por su contenido. Seguridad, disputas legales, investigaciones financieras, reclamos, datos médicos, moderación. Esos son los candidatos a una negativa.
  3. Revise si su monitoreo distingue una negativa de una degradación silenciosa. Si la única señal es un error de llamada, no verá ni la detención temprana ni el paso a un modelo más débil.
  4. Corra una solicitud de trabajo real sobre un modelo abierto. No para migrar: para saber cuánto cuesta de verdad encender la ruta de respaldo mientras nada está en llamas.
  5. Describa adónde va la solicitud si no funcionó ninguna ruta. Cola, responsable, plazo.

Ninguno de estos puntos es un proyecto trimestral. Juntos convierten el «y si el modelo se niega» de tema de discusión en una línea del reglamento operativo.

Para el dueño aquí importa una sola cosa: el proceso debe nombrar a la persona a la que llega la solicitud cuando ninguna ruta funcionó. No «el sistema lo resolverá de algún modo», sino un nombre y un plazo. Abajo va cómo se ve eso en el código y qué debe poner el equipo en la cola.

Para el equipo técnico: adónde va la solicitud si no funcionó ninguna ruta

La respuesta correcta es una cola marcada como «requiere una persona», con responsable y plazo. Las respuestas incorrectas son dos: perderla en silencio o intentar ejecutar la acción esquivando los límites.

En nuestro propio sistema editorial esto se ve rutinario. Cuando el agente publicador no puede subir un material porque faltan credenciales de la plataforma, no inventa un atajo ni informa éxito. La tarea pasa al estado «bloqueada», conserva la lista de plataformas que fallaron y el material espera a una persona.

También vimos el peor escenario. Una vez atribuimos un resultado vacío a un bloqueo conocido de credenciales, cuando en realidad el agente ni siquiera había arrancado por un motor roto: la señal era que la tarea no tenía ni un solo comentario. El diagnóstico equivocado se sostuvo veinticuatro días. Cuando el estado «no funcionó» no distingue causas, uno trata la enfermedad equivocada, y encima con calma, porque sobre el papel la situación está identificada y explicada.

Los guardrails no van a desaparecer, y está bien que no lo hagan. Pero fueron escritos para el proceso de otro, y algún día se activarán en un momento inconveniente para usted; la única pregunta es si lo verá ese mismo día.

Si quiere recorrer esta lista sobre su propio circuito, empiece por una auditoría de IA gratuita. También le diremos con franqueza si no necesita una ruta de respaldo. Si su pregunta no es de auditoría, escríbanos directamente.

Preguntas frecuentes

¿Pasar a un modelo open-weight significa renunciar a los mecanismos de protección?

No, si la ruta de respaldo está bien diseñada. Lo que se desactiva es el clasificador externo del proveedor, no sus propias reglas: la política de acceso, la verificación de datos y la aprobación humana siguen siendo idénticas en ambas rutas. Si la ruta alternativa amplía los datos accesibles o las acciones permitidas, eso no es redundancia, es una vía de escape.

¿Cómo saber si el modelo se negó y no simplemente dio una respuesta peor?

Con el monitoreo habitual, no hay forma, y ese es el problema de fondo. La negativa parece una respuesta exitosa: la llamada devuelve un código 200 y la tarea se cierra. En el equipo de Andrew Ng una herramienta se detuvo antes de tiempo y la otra quiso cambiar a un modelo menos capaz. Hacen falta señales propias: terminación temprana, cambio de modelo, caída brusca del volumen de salida, las fórmulas típicas de una negativa dentro del texto.

¿Cuánto cuesta mantener un modelo de respaldo?

El costo directo es la infraestructura para desplegarlo y el tiempo de la configuración inicial. El costo indirecto, casi siempre subestimado, son las actualizaciones, la seguridad del propio despliegue y la revisión periódica de la calidad sobre sus tareas reales. La opción más barata para una empresa pequeña: un segundo proveedor con la clave lista, y despliegue propio solo para los casos donde lo crítico es que los datos salgan del perímetro.

¿Una empresa pequeña necesita una ruta de respaldo?

No depende del tamaño, sino del costo de que ese paso concreto se detenga. Si la negativa del modelo frena el procesamiento de solicitudes o el cierre de un incidente, hace falta. Si se trata de borradores que una persona revisa igual, basta con un mensaje de error claro y una vía manual.

Estamos conformes con nuestro proveedor. ¿El vendor lock-in sigue siendo un problema?

El problema no es el proveedor. Es que el comportamiento de su sistema puede cambiar sin que cambie una línea de su código: una actualización del modelo, otra lectura de las políticas, una versión con fecha de retiro. El mínimo práctico es mantener la lógica de negocio, las herramientas, la memoria y sus propias reglas de seguridad separadas de cualquier LLM concreta, para que el modelo siga siendo un valor de configuración.

¿Qué hacer si no funciona ninguna ruta?

La solicitud pasa a una cola marcada como «requiere una persona», con responsable y plazo. Las dos respuestas incorrectas son perderla en silencio o intentar ejecutar la acción esquivando los límites. El estado «no funcionó» tiene que distinguir causas; si no, el diagnóstico va por el camino equivocado.

¿Con qué frecuencia hay que probar la ruta de respaldo?

Igual que se prueba la restauración de una copia de seguridad: con calendario y sobre una solicitud real de trabajo, no sobre un ejemplo sintético. Un modelo que nunca corrió sobre sus tareas no es una ruta de respaldo.

Agentes de IA para empresas — 2–3 emails al mes

Análisis, casos y herramientas que ya funcionan dentro de empresas.

Sin spam. Puedes darte de baja en un clic.