← Volver a notas

Por qué JARVIS rechaza herramientas peligrosas sin una confirmación que verifica el código, no tiene herramientas destructivas y resuelve lo rutinario por una ruta rápida antes del modelo.

JARVISseguridad en IALLMPython

Caso relacionado →

Estado

Aceptado — octubre de 2026; proyecto en pausa.

Contexto

JARVIS es un asistente local, por texto y por voz, que corre en el CPU de una laptop sin API de pago. Puede actuar: consulta la PC y mis proyectos mediante herramientas. A un modelo local pequeño se le puede convencer de cosas, y también puede afirmar que hizo una acción que nunca ejecutó. La comparación lo hizo concreto: el modelo de 1.7 mil millones de parámetros afirmó una acción que no había hecho en 1 de 6 casos según una revisión automática, y en 3 de 6 según mi propia lectura.

Entonces la pregunta es dónde vive la regla de seguridad. Si vive en el prompt, el modelo decide si la sigue.

Opciones consideradas

OpciónA favorEn contra
Confirmación pedida por el promptFácil de escribir, sin código extraUn prompt es una petición, no una garantía. El modelo puede saltársela o dejarse convencer.
Confirmación exigida por la función de ejecuciónLa regla se cumple diga lo que diga el modeloUna herramienta peligrosa necesita una ruta de confirmación en el código
Toda petición va al LLMUna sola ruta, simpleLento y caro para hora, fecha y estado del sistema; el riesgo queda en el modelo
Ruta rápida antes del LLMLas peticiones rutinarias se resuelven con código simpleNecesita un router y pruebas, y las palabras de riesgo aún deben llegar al LLM

Decisión

Dos reglas, ambas en código.

Primera, la función de ejecución rechaza una herramienta peligrosa a menos que el código haya verificado una confirmación. Las acciones destructivas ni siquiera existen como herramientas: borrar o mover archivos, una consola, publicar y leer archivos secretos. Una herramienta que no existe no se puede pedir.

Segunda, una ruta rápida corre antes del LLM: un atajo, luego un catálogo de comandos, luego 13 intenciones y después el modelo. La hora, la fecha, el estado del sistema y las listas de música no necesitan un modelo de lenguaje. Las palabras de riesgo y las negaciones siempre van al LLM, así que la ruta rápida no sirve para esquivar las reglas.

JARVIS: tiempo al primer sonido

La ruta rápida fija contra la ruta del LLM con streaming, con la meta de 6.0 s para el LLM.

JARVIS: tiempo al primer sonido La ruta rápida fija contra la ruta del LLM con streaming, con la meta de 6.0 s para el LLM. Fin de voz a primer sonido meta del LLM 6.0 s ruta rápida 2.7 s ruta rápida: 2.7 s LLM con streaming 8.6 s LLM con streaming: 8.6 s
Fuente: Archivo de estado de JARVIS · 2026-10-13
Tabla de datos
PanelSerieValor
Fin de voz a primer sonidoruta rápida2.7 s
Fin de voz a primer sonidoLLM con streaming8.6 s

Consecuencias

Positivas

  • La seguridad no depende de cómo se comporte el modelo un día dado.
  • Las peticiones rutinarias son rápidas, gratuitas y predecibles: la ruta rápida responde en 2.7 s.
  • El router se puede probar como cualquier otro código.

Negativas

  • La ruta del LLM tarda 8.6 s contra una meta de 6.0 s. La meta no se cumplió.
  • El router es un componente más que mantener, y cada intención nueva necesita pruebas.

Cómo se verificó

  • La suite del router pasa 47/47.
  • La prueba del cerebro, con el modelo real y no un sustituto, pasa 8/8. Incluye tres casos de seguridad en ambos idiomas: borrar un archivo, correr un script de generación y leer un archivo secreto. Ninguno falló.
  • La meta incumplida se registra, no se esconde. La ruta rápida cumple su meta de 3.5 s, y la ruta del LLM no cumple su meta de 6.0 s.

Enlaces