Claix Retrieve frente a frameworks de text-to-SQL de código abierto: la forma más segura de dar acceso a bases de datos a agentes IA
Compara Claix Retrieve con Vanna, Wren AI, SQLCoder y servidores MCP. Acceso de solo lectura y controlado a SQL para agentes IA.
Claix · Actualizado noviembre 2026. Guías relacionadas: Claix Guard frente a guardrails de código abierto (/es/blog/claix-guard-vs-open-source-ai-agent-guardrails), un rol de Postgres de solo lectura (/es/blog/read-only-postgres-role-for-ai-agents) y consultas seguras (/es/blog/how-to-let-an-ai-agent-query-postgres-safely). Producto: Claix Retrieve (https://www.claix.dev).
¿Qué es Claix Retrieve?
Claix Retrieve es un servicio de recuperación controlada de bases de datos para agentes de IA. Conectas una base SQL compatible, publicas un Data Map, creas rutas que autorizan tablas y columnas concretas y las adjuntas a un agente Retrieve. El agente responde usando solo los datos y las reglas de sus rutas.
Una ruta no es un prompt. Es un límite técnico: las tablas y columnas que el agente puede usar, más una guía en lenguaje llano sobre cómo interpretar los datos. Si la información no está en la ruta, Claix no inventa un valor ni consulta fuera de ese límite.
| Componente | Qué controla | Ejemplo |
|---|---|---|
| Conexión | A qué puede acceder Claix en la base | Un rol de solo lectura claix_agent con grants limitados. |
| Data Map | Qué metadatos entiende Claix | Tablas, vistas, columnas, tipos y relaciones. |
| Ruta | Qué tablas y columnas puede usar un agente | Una ruta de pedidos que solo expone estado e importe. |
| Agente | Qué rutas puede usar | Un agente de soporte con rutas de pedidos y clientes. |
| Modo de respuesta | Si la respuesta es cruda o tipada | Filas crudas, o un entero, booleano, texto u objeto. |
| Traza | Qué ocurrió en la petición | Pregunta, ruta, consulta, resultado, duración y errores. |
Cómo funciona Claix Retrieve
Cuando tu aplicación llama a un agente Retrieve, Claix autentica la petición, identifica el agente, elige una ruta, propone una consulta de solo lectura, la valida, la ejecuta en la base conectada y devuelve filas crudas o un valor tipado.
La validación comprueba que sea una sola sentencia de lectura y que use solo las tablas y columnas de la ruta. Si no cumple, Claix la rechaza y puede reintentar con una consulta corregida, hasta tres veces.
| Paso | Qué hace Claix |
|---|---|
| 1. Autenticar | Comprueba la API key, el estado de la cuenta, que el agente exista y que esté activo. |
| 2. Interpretar la pregunta | Lee la pregunta junto con el prompt de negocio y las rutas autorizadas. |
| 3. Elegir una ruta | Elige una ruta que encaje. Si ninguna encaja, no adivina ni consulta la base. |
| 4. Construir la consulta | Crea un único SELECT con tablas y columnas autorizadas. |
| 5. Validar | Rechaza varias sentencias, lo que no sea SELECT, tablas o columnas fuera de la ruta, SELECT * y funciones no permitidas. |
| 6. Ejecutar | Ejecuta la consulta validada en la base conectada. |
| 7. Devolver el resultado | Filas crudas o un valor tipado, según el modo del agente. |
| 8. Registrar la traza | Guarda un log_id que se puede revisar en Traces. |
Por qué un prompt no es un control de seguridad
Decirle a un modelo “nunca leas la columna de salario” es una petición, no un permiso. Un mensaje, un documento o un valor guardado en la base puede contener instrucciones que cambien el comportamiento del modelo. Eso es prompt injection, y funciona porque el modelo trata el texto como texto.
Retrieve no usa el prompt como límite de seguridad. La ruta define tablas y columnas. El rol limita lo que Claix puede leer. El validador rechaza lo que queda fuera de la ruta.
| Control | ¿Lo puede anular un prompt? | Papel en Retrieve |
|---|---|---|
| System prompt | Sí | Orienta el comportamiento. No es el límite de seguridad. |
| Ruta | No | Define tablas y columnas. |
| Rol de la base | No | Limita lo que Claix puede leer. |
| Validación | No | Rechaza consultas inseguras o fuera de alcance. |
| Traza | No | Registra lo ocurrido. |
Modos de respuesta
Hay dos modos: raw y reasoned. Se configuran en el agente, en el Dashboard, y no se envían en cada petición. En reasoned los tipos son string, int, boolean, timestamp, timestamptz, date, json, array:string y array:int.
| Modo | Qué devuelve | Para qué |
|---|---|---|
| Raw | { rows, truncated }. rows es el resultado. truncated indica si se alcanzó el tope de filas. | Aplicaciones que necesitan los registros. |
| Reasoned | Un valor tipado del formato pedido, o null si falta el dato o no es seguro tiparlo. | Agentes y flujos que necesitan una respuesta legible por máquina. |
| Pregunta | Formato | Respuesta reasoned |
|---|---|---|
| ¿Cuántos pedidos están confirmados? | int | 42 |
| ¿Qué cliente tiene más pedidos? | string | Acme Corp |
| ¿Este cliente aceptó el consentimiento de marketing? | boolean | true o false |
| ¿Cuál es la próxima reserva de este cliente? | json | Un objeto con fecha, comensales, mesa y depósito. |
Qué permite y qué bloquea
Dentro de la ruta, Claix puede filtrar, unir tablas de la ruta, agrupar, ordenar, contar, sumar, promediar y usar funciones de fecha, texto y ventana. También puede devolver listas y JSON. Fuera de ese límite bloquea todo lo que no sea un único SELECT de solo lectura.
| Operación | Comportamiento |
|---|---|
| SELECT de tablas y columnas autorizadas | Permitido. |
| Joins entre tablas de la ruta | Permitido. |
| Filtros, agrupación, orden y agregados | Permitido. |
| SELECT * | Rechazado. |
| Tabla fuera de la ruta | Rechazado. |
| Columna fuera de la ruta | Rechazado. |
| Varias sentencias | Rechazado. |
| INSERT, UPDATE, DELETE o cambio de esquema | Rechazado. |
| Función no permitida | Rechazado. |
| Pregunta fuera de todas las rutas | No se ejecuta ninguna consulta. |
Claix Retrieve frente a Vanna AI
Vanna es un framework de Python de código abierto para text-to-SQL. Construye un almacén vectorial con metadatos, documentación y ejemplos, y un LLM genera el SQL, lo ejecuta y devuelve resultados. Es una base para aplicaciones a medida. La gobernanza, el determinismo, la auditoría y la operación quedan en el desarrollador. Su repositorio oficial se archivó y pasó a solo lectura en marzo de 2026, lo que cambia el cálculo de mantenimiento de un despliegue nuevo.
| Dimensión | Claix Retrieve | Vanna AI |
|---|---|---|
| Modelo | Capa gestionada basada en rutas. | Framework Python de text-to-SQL. |
| Despliegue | Claix opera el servicio. | Tú lo despliegas, alojas, configuras y mantienes. |
| Límite de acceso | Tablas y columnas de la ruta, más un rol de solo lectura. | Permisos de la base y controles de la aplicación. |
| Generación SQL | Claix construye y valida un único SELECT dentro de la ruta. | El LLM genera SQL a partir del esquema, la documentación y los ejemplos. |
| Validación | Integrada en el flujo. | La implementas o configuras tú. |
| Respuesta | Filas crudas o valores tipados. | Resultados SQL. Lo tipado exige lógica extra. |
| Determinismo | La ruta y la validación acotan la consulta. | La generación puede variar si no añades restricciones. |
| Auditoría | Cada petición tiene log_id y se revisa en Traces. | Tienes que crear y conservar los registros. |
| Mantenimiento | Lo mantiene Claix. | Tu equipo mantiene el framework, las dependencias y la seguridad. |
| Ideal para | Equipos que quieren recuperación gestionada y controlada. | Quien quiera construir y operar un text-to-SQL a medida. |
Por qué Retrieve es más seguro que montar el text-to-SQL tú
Vanna se puede hacer más seguro con un usuario de solo lectura, revisión de consultas, un proxy y aislamiento transaccional. Esas protecciones las diseña, implementa, prueba y mantiene tu equipo. En Retrieve forman parte del producto: rol de solo lectura, tablas y columnas por ruta, validación antes de ejecutar, límites de resultado y trazas.
| Control | Vanna AI | Claix Retrieve |
|---|---|---|
| Rol de solo lectura | Recomendado, y lo configuras tú. | Recomendado y parte de la arquitectura. |
| Revisión de consultas | Opcional. La implementas tú. | Validación antes de ejecutar. |
| Tablas y columnas | Construyes el control. | Definidas en la ruta. |
| Límite de filas | Lo implementas tú. | Integrado en la respuesta. |
| Validación | La implementas tú. | Integrada en el flujo. |
| Prompt injection | Exige un diseño cuidadoso de la aplicación. | La ruta y la validación reducen el impacto. |
| Auditoría | La construyes tú. | Integrada en Traces. |
| Propiedad | Tu equipo. | Claix. |
Claix Retrieve frente a Wren AI
Wren AI es una opción de código abierto para consultar datos en lenguaje natural. Ofrece un motor GenBI apoyado en MDL y una capa de contexto legible, útil si quieres construir tú la analítica gobernada. Wren te da un motor que operar. Claix te da un límite de recuperación gestionado.
| Dimensión | Claix Retrieve | Wren AI |
|---|---|---|
| Modelo | Recuperación gestionada por rutas. | Motor GenBI de código abierto. |
| Límite de acceso | Tablas y columnas por ruta. | Modelo semántico y controles de la aplicación. |
| Validación SQL | Integrada. | La configuras y operas tú. |
| Respuestas tipadas | Modo reasoned nativo. | Depende de la implementación. |
| Auditoría | Integrada en Traces. | La construyes y conservas tú. |
| Mantenimiento | Lo mantiene Claix. | Tu equipo opera el motor. |
| Ideal para | Equipos de producto que necesitan acceso controlado. | Equipos que construyen una plataforma semántica a medida. |
Claix Retrieve frente a SQLCoder y modelos locales
SQLCoder y modelos locales parecidos dan el máximo control del modelo y de la inferencia. Encajan en entornos sensibles, aislados o con un equipo fuerte de MLOps. Un modelo local no resuelve el acceso a la base. Sigues necesitando conexión, validación, límites de filas, tiempos de espera, auditoría y permisos.
| Dimensión | Claix Retrieve | SQLCoder o un modelo local |
|---|---|---|
| Control del modelo | Claix gestiona la configuración. | Tú controlas el modelo y la inferencia. |
| Acceso a la base | Recuperación gestionada por rutas. | Construyes la capa de acceso. |
| Validación | Integrada. | La construyes tú. |
| Auditoría | Integrada. | La construyes tú. |
| Mantenimiento | Lo mantiene Claix. | Tu equipo mantiene todo. |
| Ideal para | Seguridad gestionada y un camino más corto a producción. | Self-hosting estricto o entornos aislados. |
Claix Retrieve frente a capas semánticas
Capas como Cube, dbt Semantic Layer y Wren AI mejoran la consistencia al definir métricas, dimensiones y relaciones una vez. Sirven para analítica gobernada. Retrieve es más estrecho y más operativo: un agente responde una pregunta concreta sobre un subconjunto controlado de una base en vivo. No sustituye una plataforma semántica.
| Dimensión | Claix Retrieve | Capa semántica |
|---|---|---|
| Propósito | Recuperación controlada para agentes. | Métricas consistentes y analítica gobernada. |
| Límite | Tablas y columnas por ruta. | Métricas, dimensiones y modelos semánticos. |
| SQL | Claix construye y valida una consulta de solo lectura. | La capa genera o restringe consultas. |
| Respuestas tipadas | Nativas. | Depende de la implementación. |
| Ideal para | Acceso operativo de agentes. | Equipos de BI e informes gobernados. |
Claix Retrieve frente a servidores MCP de bases de datos
Un servidor MCP expone la base como herramienta de un cliente de IA. Sirve para desarrollo local, prototipos y exploración interna de confianza. No es, por usarse, un límite de producción. Retrieve está pensado como ese límite: autorización por ruta, validación, ejecución de solo lectura y trazas.
| Dimensión | Claix Retrieve | Servidor MCP de base de datos |
|---|---|---|
| Punto de control | Ruta y validación. | Límite de la herramienta o del servidor. |
| Acceso | Tablas y columnas por ruta. | Depende de la configuración. |
| Validación SQL | Integrada. | Depende de la implementación. |
| Respuestas tipadas | Nativas. | Depende de la implementación. |
| Auditoría | Integrada en Traces. | Depende de la implementación. |
| Producción | Pensado para recuperación gestionada. | A menudo orientado al desarrollo. |
| Mejor uso | Acceso controlado en producción. | Desarrollo local y prototipos. |
Por qué encaja mejor en agentes de producción
Un agente de producción necesita comportamiento predecible, un alcance limitado, errores claros, una traza y un límite de seguridad que no dependa del prompt.
| Requisito | Cómo lo cubre Retrieve |
|---|---|
| Mínimo privilegio | Rol de solo lectura más tablas y columnas por ruta. |
| Alcance limitado | El agente solo usa las rutas que tiene adjuntas. |
| Consultas seguras | Un único SELECT de solo lectura, validado antes de ejecutarse. |
| Salida predecible | Filas crudas o valores tipados. |
| Errores | Errores claros, también por pregunta cuando no se puede responder. |
| Auditoría | Cada petición incluye log_id y se revisa en Traces. |
| Operación | No tienes que construir validador, proxy ni registro. |
| Varios agentes | Una ruta puede servir a varios agentes con las mismas reglas. |
Arquitectura de producción recomendada
La arquitectura más sólida no depende de un solo control. Combina mínimo privilegio, autorización por ruta, validación, límites de resultado, trazas y monitorización. Retrieve es la capa de lectura. La base sigue siendo el límite técnico final. Las escrituras corresponden a Claix Guard, no a Retrieve.
| Capa | Control | Para qué |
|---|---|---|
| Modelo | System prompt e instrucciones | Orientar el comportamiento. No son el control de seguridad. |
| Agente | Configuración acotada y rutas adjuntas | Limitar qué rutas puede usar. |
| Claix Retrieve | Tablas, columnas, guía y validación | Controlar qué puede recuperar. |
| Base de datos | Rol de solo lectura, grants, restricciones, RLS y registro | Límites técnicos independientes. |
| Aplicación | Autenticación, límites y validación de resultados | Proteger tu sistema y validar salidas. |
| Operaciones | Monitorización, alertas, copias y respuesta a incidentes | Detectar, investigar y recuperarse. |
Checklist de implementación
- Crea un rol de solo lectura dedicado.
- Concede solo las tablas y columnas que el agente necesita.
- No concedas escritura, administración ni operaciones destructivas.
- Publica un Data Map y revísalo antes de crear rutas.
- Crea una ruta por propósito de negocio.
- Selecciona solo las tablas y columnas de cada ruta.
- Escribe una guía clara de códigos, estados y reglas.
- Adjunta a cada agente solo las rutas necesarias.
- Prueba las rutas en el Sandbox con preguntas reales.
- Revisa Traces para detectar consultas o errores inesperados.
- Usa límites de filas y tiempos de espera en tu base cuando proceda.
- Trata los resultados como datos no fiables.
- Mantén la autorización por persona, el row-level security y el aislamiento de inquilinos en la base o en la aplicación.
Preguntas frecuentes
- ¿Qué es Claix Retrieve?
- Es un servicio gestionado de recuperación de bases de datos basado en rutas. Defines qué tablas y columnas puede usar un agente, adjuntas las rutas, y Claix valida y ejecuta consultas de solo lectura dentro de esos límites.
- ¿Tengo que escribir SQL?
- No. Eliges tablas y columnas y escribes una guía breve en lenguaje llano. Claix escribe la consulta de solo lectura.
- ¿Puede Claix Retrieve modificar mis datos?
- No. Las rutas solo sirven para leer. Retrieve no hace inserts, updates, deletes ni cambios de esquema. Las escrituras son Claix Guard.
- ¿Qué pasa si la pregunta necesita datos fuera de la ruta?
- Claix no responde con tus datos. Si ninguna ruta encaja, no se ejecuta ninguna consulta para esa pregunta.
- ¿Una ruta puede usar más de una tabla?
- Sí. Puede incluir varias tablas y las consultas pueden unirlas, siempre que todas pertenezcan a la ruta.
- ¿El acceso está acotado por usuario final?
- No. Está acotado por agente, no por usuario final. Si necesitas reglas por persona, aplícalas con row-level security o en la capa anterior al agente.
- ¿Retrieve evita el prompt injection?
- Reduce su impacto porque el límite de seguridad está fuera del prompt. Las rutas, el rol y la validación no dependen de que el modelo obedezca.
- ¿Retrieve sustituye una capa semántica?
- No. Está pensado para que un agente acceda de forma controlada a datos en vivo. Una capa semántica encaja mejor en analítica gobernada y definiciones de negocio consistentes.
- ¿Retrieve es mejor que Vanna?
- Para equipos que quieren recuperación gestionada, con rutas, validación, respuestas tipadas y trazas, sí. Vanna encaja mejor si quieres construir y operar tú un text-to-SQL a medida.
Conclusión
Los frameworks de text-to-SQL de código abierto dan flexibilidad y también responsabilidad: la capa de acceso, la validación, los permisos, los errores, los registros y el mantenimiento. Claix Retrieve está pensado para equipos que quieren recuperación de producción sin operar otro sistema de seguridad. El límite es explícito, las consultas se validan antes de ejecutarse, la respuesta puede ser cruda o tipada, y cada petición deja traza. Para agentes que necesitan acceso controlado a bases SQL, es la opción más segura y más manejable.
También te podría interesar…
Comparativa · Seguridad
Claix Guard frente a frameworks de guardrails de IA de código abierto: ¿qué capa de seguridad de base de datos deberías usar?
Comparativa · Agentes
Alternativas a Vanna para agentes text-to-SQL (2026)
Seguridad · Postgres
Rol Postgres de solo lectura para agentes de IA: configuración paso a paso
Seguridad · Agentes
Cómo dejar que un agente de IA consulte tu base Postgres con seguridad