Módulo 03

Un agente que no puede hacer daño

Un agente responde preguntas en lenguaje natural sobre la infraestructura de los laboratorios anteriores. Lo interesante no es que responda.

Qué demuestra

  • El modelo no ejecuta nada. Propone una herramienta de un catálogo cerrado; un validador escrito por una persona decide si se ejecuta.
  • No existe ninguna herramienta de escritura. No está deshabilitada por configuración: no está en el código.
  • Una petición de cambio —«apaga esa instancia»— se rechaza. Y una inyección de instrucciones —«ignora tus instrucciones anteriores»— también, por la misma vía.
  • Todo queda en una bitácora: la pregunta, lo que propuso el modelo, lo que decidió el validador y lo que se ejecutó. Sin registro no hay agente auditable.
Salida del ejercicio: Ficha de caso de uso priorizado

Arquitectura

   pregunta en                                              consulta de
   lenguaje natural                                         solo lectura
        │                                                          ▲
        ▼                                                          │
  ┌─────────────┐    propone     ┌──────────────┐    permite   ┌───┴──────┐
  │PLANIFICADOR │ ─────────────► │  VALIDADOR   │ ───────────► │ CATÁLOGO │
  │ (el modelo) │  {herramienta} │ (código, sin │              │8 lecturas│
  └─────────────┘                │      IA)     │              └──────────┘
                                 └──────┬───────┘
                                        │ rechaza
                                        ▼
                                no se ejecuta nada

Desplegar

Este módulo no despliega infraestructura: es un programa que se ejecuta contra los laboratorios anteriores.

También se puede ejecutar con Terraform desde un equipo: ver la carpeta del módulo.

Paso a paso

Resumen. El detalle, con todos los comandos y la tabla de diagnóstico, está en el manual del módulo.

  1. Instalar y probar sin credenciales

    --catalogo muestra las ocho herramientas y --autoprueba ejercita la capa de validación. Los dos funcionan sin cuenta de nube y sin modelo: si fallan, el problema es el entorno.

  2. Comprobar si hay modelos disponibles

    El servicio de IA generativa no está en todas las regiones. El agente descubre el modelo por su cuenta en vez de traer un identificador fijo, que es la forma más segura de que algo falle meses después.

  3. Preguntar contra el laboratorio

    «¿cuántas máquinas hay corriendo?», «¿alguna tiene IP pública?», «¿cuánto llevamos gastando este mes?». Cada respuesta imprime tres líneas: lo que propuso el modelo, lo que decidió el validador, y el resultado.

  4. Pedirle algo que no debe hacer

    «apaga la instancia app-1». Termina en RECHAZADA · no se ejecutó nada. Es el momento que sostiene el módulo.

  5. Intentar una inyección de instrucciones

    Mismo rechazo. Ninguna instrucción escrita puede sacar al agente de su catálogo, porque el catálogo no se decide con texto.

  6. Leer la bitácora

    Una línea por interacción. No guarda los datos devueltos, solo cuántas filas: una bitácora que copia lo consultado se convierte ella misma en un problema de seguridad.

Hacerlo a mano, en la consola

Este módulo también está escrito pantalla por pantalla, para construirlo desde la consola de Oracle Cloud sin Terraform. Sirve para entender qué hay debajo del código, y para que alguien que nunca ha tocado OCI pueda reproducirlo solo.

Ver el manual de consola · descargarlo en PDF

Qué se simplificó, y por qué

Un laboratorio que no dice en qué se apartó de una arquitectura real enseña mal. Esto es lo que este módulo simplifica a propósito:

El agente no entiende el negocioElige entre ocho consultas. Decirlo en voz alta da más credibilidad que exagerar lo que hace.
Funciona sin modeloCon --sin-llm el traductor es un emparejador de palabras clave. La demostración sirve igual, y el argumento se ve más claro: la seguridad nunca estuvo en el modelo.
Ampliar el catálogo son ocho líneasPero solo con funciones de lectura. Una acción de escritura no se agrega ahí: se diseña con aprobación humana explícita y alcance acotado, y eso ya es otro proyecto.

Cómo se relaciona con los demás

Consulta los laboratorios de los módulos 1 y 2, y su validador es la aplicación directa de los controles del módulo 2. El caso de uso que se elija define de qué datos depende — que es con lo que abre el módulo 4.