Escrita por un proveedor destacado del directorio. Describe su propia forma de trabajar; no es una comparativa independiente. Ver la ficha de Andrés Ramírez Leria ↗
Las decisiones y cifras proceden del caso AtalayaIQ publicado por su autor (consultado el 16/10/2026). Las preguntas y operaciones de ejemplo son ilustrativas y no corresponden a datos de ningún cliente.
«¿Qué clientes han bajado pedidos este trimestre?». Es la pregunta que dirección quiere hacer sin escribir un correo a sistemas ni esperar una hoja de cálculo. Los modelos de lenguaje lo hacen posible, pero la forma más obvia de construirlo —darle al modelo acceso a la base de datos y dejar que escriba SQL— es también la más arriesgada.
Esta guía explica el patrón alternativo que apliqué en AtalayaIQ, una capa de inteligencia sobre siete años de datos operativos de una empresa de eventos: el modelo decide qué preguntar; el servidor decide cómo.
El problema de dejar que el modelo escriba SQL
Un asistente «texto a SQL» parece magia en una demo. En producción plantea tres riesgos:
- Seguridad. El SQL libre amplía las consultas que puede intentar ejecutar el sistema. Lo que realmente puede leer depende de los permisos de su conexión; si son demasiado amplios, puede exponer nóminas, datos personales o información ajena a la tarea. Una instrucción maliciosa escondida en un dato puede intentar aprovechar ese acceso.
- Exactitud. Una consulta sintácticamente correcta puede responder otra pregunta. Si une mal dos tablas o ignora registros anulados, devuelve una cifra equivocada con total seguridad.
- Trazabilidad. Si cada respuesta sale de una consulta distinta e improvisada, nadie puede validar de dónde sale una cifra ni repetirla mañana.
El patrón: un catálogo cerrado de operaciones
En lugar de SQL libre, se define un catálogo de operaciones. Cada operación es una consulta escrita y revisada por una persona, con parámetros acotados.
clientes_con_caida_pedidos(periodo, umbral_porcentaje)horas_registradas_por_proyecto(desde, hasta, fase?)gastos_por_tipo(mes)
El modelo recibe la pregunta y la lista de operaciones disponibles. Su único trabajo es elegir la operación y rellenar los parámetros. El servidor valida esos parámetros, ejecuta la consulta fija con un usuario de solo lectura y devuelve el resultado al modelo para que lo redacte.
En AtalayaIQ eso se traduce en cuatro garantías:
- El modelo no escribe SQL ni ve credenciales.
- Solo lectura impuesta en cada conexión, no confiada a la buena voluntad del código.
- Al proveedor de IA solo viajan la pregunta y resultados agregados, nunca la tabla completa.
- Los nombres de personas se ocultan salvo activación expresa.
Antes del asistente: el contrato de datos
El catálogo solo es tan bueno como la comprensión de los datos. Antes de escribir una línea del asistente redactamos un contrato de datos: qué significa cada tabla y cada campo, verificado con quien lo usa a diario.
Ahí aparecen los problemas que un modelo nunca detectaría solo: horas que se registran con días de retraso, gastos que pueden solaparse entre tipos, un calendario de festivos incompleto. Por eso en AtalayaIQ cada día se compara con el anterior del mismo tipo y al mismo retraso de registro, y las cifras se concilian con consultas escritas a mano antes de publicarse.
También decidimos qué no calcular. La base no contenía presupuestos ni ingresos, así que margen, rentabilidad y previsiones quedaron fuera. Un asistente que inventa un margen es peor que uno que dice «ese dato no existe».
Reglas antes que IA
Las alertas del informe diario salen de siete reglas deterministas, no del modelo. La IA responde preguntas; no decide qué es una alerta. Así una alerta siempre tiene una definición escrita, una evidencia y se puede probar: el proyecto tiene 36 tests automatizados.
¿Y si preguntan algo fuera del catálogo?
Es la pregunta que más me hacen. La respuesta correcta es que el asistente lo diga y registre la pregunta. Ese registro es oro: muestra qué operaciones nuevas merece la pena añadir. El catálogo crece con el uso real, revisado por una persona, en lugar de abrirse al SQL libre.
Cuándo encaja este patrón
- Tienes años de datos en un ERP o gestor propio que nadie explota.
- Dirección hace siempre un conjunto parecido de preguntas.
- No puedes —o no quieres— migrar ni modificar el sistema original.
- Los datos son sensibles y necesitas controlar qué sale hacia el proveedor del modelo.
No encaja tan bien si necesitas exploración totalmente abierta por analistas: para eso existen herramientas de BI con su propio control de permisos.
Qué debe validar el servidor antes de consultar
Un catálogo cerrado necesita validaciones fuera del modelo. La operación debe estar permitida para la persona autenticada y sus parámetros tienen que respetar tipos, fechas, rangos y volumen máximo. El identificador del cliente o empresa autorizada debe obtenerse de la sesión y sus permisos, no aceptarse sin comprobar desde el texto de una pregunta.
| Control | Dónde se impone | Ejemplo de rechazo |
|---|---|---|
| Identidad y alcance | Servidor y acceso a datos | Otro cliente u organización |
| Parámetros | Esquema de la operación | Periodo inválido o sin límite |
| Permisos de lectura | Usuario de base de datos | Tablas fuera del alcance |
| Recursos | Consulta y ejecución | Tiempo o filas excesivos |
| Resultado | Contrato de salida | Dato ausente o inconsistente |
La documentación de privilegios de PostgreSQL ilustra cómo se conceden permisos por objeto y operación. Es una referencia general, no la tecnología del gestor de AtalayaIQ, que utiliza MySQL. En cada motor hay que comprobar los privilegios efectivos de la conexión y evitar que el usuario de la aplicación tenga permisos innecesarios.
Una credencial de lectura reduce el riesgo de modificar registros, pero no resuelve por sí sola la confidencialidad ni la carga sobre producción. Limita también el acceso por vistas, campos o filtros autorizados y acuerda el tiempo máximo de las consultas.
Cómo comprobar que responde a la pregunta correcta
Prepara un conjunto de preguntas con operaciones y resultados esperados. Incluye sinónimos, periodos ambiguos, referencias a otras empresas y preguntas que no se pueden resolver. Evalúa por separado la elección de la operación, la ejecución y la explicación final.
Una persona pregunta «¿cómo vamos este mes?». Antes de devolver una cifra, un asistente de prueba debería aclarar qué indicador y qué periodo quiere comparar. Si la pregunta es «margen por cliente» y no hay ingresos y costes completos, debe indicar que no puede calcularlo. Este ejemplo no añade capacidades al caso AtalayaIQ.
Prueba una consulta sin filas: ¿significa que no hay actividad, que aún no se han cargado datos o que el filtro no coincide? La respuesta debe conservar esa distinción. También conviene mostrar fecha de corte, filtros y operación utilizada para que una persona pueda contrastarla.
El registro de ejecución debería permitir repetir el cálculo sin exponer información innecesaria. Conserva versión de la operación, parámetros autorizados, resultado de validación y estado. Si cambian las definiciones del negocio, actualiza las pruebas junto a las consultas.
Preguntas frecuentes sobre IA y bases de datos
¿Un catálogo de operaciones elimina todos los errores?
No. Una operación revisada puede contener un error o usar una definición incorrecta. El catálogo facilita delimitar, probar y reproducir el comportamiento; necesita revisión y conciliación con referencias independientes.
¿El modelo puede consultar datos personales?
Solo debería recibir los necesarios y autorizados para la tarea. Una agregación también puede revelar información si el grupo es muy pequeño. Revisa el contenido de los resultados, además de ocultar nombres.
¿Cómo se amplía el catálogo?
Registra preguntas no cubiertas, prioriza las que aportan valor y define nuevas operaciones con su contrato y pruebas. Una pregunta nueva no debería abrir automáticamente permisos ni habilitar consultas improvisadas.
¿Qué debo pedir en la entrega?
Catálogo documentado, permisos efectivos comprobados, contrato de datos, pruebas y trazabilidad de respuestas. La guía de integración con ERP ayuda a preparar el acceso, y la guía de costes explica cómo limitar el consumo.
Preguntas para cualquier proveedor
- ¿El modelo escribe SQL o elige entre operaciones definidas?
- ¿Con qué usuario y permisos se conecta a la base de datos?
- ¿Qué datos exactos viajan al proveedor del modelo de IA?
- ¿Qué pasa con una pregunta que el sistema no sabe responder?
- ¿Cómo se comprueba que una cifra es correcta antes de enseñarla?
- ¿Qué cifras no pueden calcularse con nuestros datos actuales?
Si un proveedor responde con soltura a estas seis preguntas, la conversación va bien encaminada.
Casos y soluciones relacionados
AAtalayaIQDatos operativos convertidos en una lectura diaria para dirección.↗✳Pregunta a tus datos en lenguaje natural
«¿Qué clientes han bajado pedidos este trimestre?» y la respuesta, sin que la IA toque tu base de datos.↗◫Informe de dirección diario sin tocar tu ERP
Cada mañana, lo que necesita atención, con la evidencia detrás y sin migrar tus sistemas.↗




