Proyectos

Un asistente de IA que no puede romper nada

Responde con datos reales del ERP, pero no puede escribir, ver datos personales ni lanzar consultas que frenen el almacén.

Detalles

Año 2026
Resultado Solo lectura por diseño, con 55 tests
Herramientas Python, LLM con herramientas, PostgreSQL, Redis, pytest

Cómo funciona

  1. 1 Pregunta en lenguaje normal
  2. 2 Herramienta el modelo elige entre funciones permitidas
  3. 3 SQL una única consulta SELECT, validada
  4. 4 Solo lectura transacción READ ONLY y coste limitado
  5. 5 Enmascarado emails, teléfonos e IBAN ocultos
  6. 6 Respuesta en texto o como informe en PDF o Excel

Contexto

Dirección y operaciones querían respuestas rápidas sobre stock, cobertura, rendimiento o la previsión de Black Friday sin esperar a que alguien preparara un informe. Dar a un modelo de lenguaje acceso a la base de datos tenía riesgos claros: que escribiera, que viera datos personales o que lanzara una consulta carísima en plena jornada.

Qué hice

El asistente vive dentro del ERP. El modelo solo puede usar herramientas de una lista cerrada, y cuando necesita datos genera una única consulta SELECT que se ejecuta en una transacción de solo lectura, con su propio pool de conexiones y un usuario de base de datos con los permisos mínimos. Las tablas sensibles están bloqueadas; los emails, teléfonos o IBAN se enmascaran mirando el contenido, aunque la consulta los renombre, y cada consulta tiene un límite de coste. Un semáforo evita que varias preguntas a la vez afecten al almacén. Las respuestas pueden salir como texto o como informe en PDF o Excel.

Resultado

Está en beta en producción para dirección, con 55 tests que cubren estos límites.

Lo que aprendí

Los límites se ponen en la base de datos, no en el prompt. Y enmascarar por nombre de columna no basta: hay que mirar el contenido.