Saltar al contenido
Guía

Desplegar un Agente Contra Databricks Unity Catalog

La inyección de esquema colapsa pasadas unos cientos de tablas. Un conjunto reducido de herramientas de sondeo, descubrimiento por recuperación, un patrón de puntero para resultados masivos — y los tres modos de fallo que solo aparecen con un catálogo real detrás.

4 min de lectura

Un agente no puede cargar un catálogo de 50.000 tablas en su contexto, y la solución habitual —volcar el esquema y entregar una sola herramienta de consulta— falla en costo, latencia y precisión a la vez. Lo que funciona contra Unity Catalog es un conjunto reducido de herramientas de sondeo, descubrimiento por recuperación y una regla estricta: los resultados grandes nunca entran al contexto del modelo.

Esta es una guía de despliegue. Describe cómo se estructura el conector, qué se le permite hacer al agente en cada paso y los tres modos de fallo que solo aparecen cuando hay un catálogo real detrás.

Del estándar

“Pre-trained models with a differentiable access mechanism to explicit non-parametric memory can overcome this issue”
Lewis et al. (2020), Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks — arxiv.org

Por qué deja de funcionar la inyección de esquema

Toda demostración funciona con doce tablas. Cargue el esquema en el prompt, dé al modelo una herramienta de consulta y rinde bien. El enfoque no tiene problema de escala hasta que lo tiene, y entonces tiene tres a la vez: el esquema cuesta más tokens que la pregunta, la precisión de recuperación cae a medida que crece la lista de tablas, y la latencia sube con un contexto que el modelo debe releer en cada turno.

Un Unity Catalog empresarial no son doce tablas. Trate el catálogo como lo haría un analista competente ante un almacén desconocido: busque candidatos, revise unos pocos, descarte la mayoría, acote.

La superficie de herramientas

Una única herramienta de consulta general es la forma equivocada. Da al agente el máximo alcance y a la plataforma nada sobre lo que razonar: todas las llamadas parecen iguales, así que nada puede acotarse, priorizarse ni costearse distinto. Reemplazarla por un conjunto reducido de herramientas específicas hace inspeccionable cada paso.

Paso Forma de la herramienta Por qué está separada
Encontrar candidatas búsqueda en catálogo Recuperación sobre metadatos, no un barrido del catálogo
Inspeccionar vista previa de tabla Número de filas acotado, para que una inspección nunca sea una extracción
Dimensionar el trabajo conteo de filas Permite al agente decidir antes de comprometerse a una consulta
Responder métricas agregadas El caso común es un número, no una tabla
Buscar texto libre búsqueda de texto o registros Otro índice y otro perfil de costo
Entregar volumen puntero a conjunto de datos Materializar y entregar una URL prefirmada: las filas nunca entran en la ventana de contexto
Seis herramientas estrechas en vez de una amplia, cada una con su propio límite.

La separación es el control. Una vista previa no puede devolver un millón de filas porque las vistas previas están acotadas por definición, no por un parámetro que elige el modelo. Un agregado no puede filtrar datos a nivel de fila porque no devuelve filas. Herramientas específicas dan a la capa de política algo concreto que permitir o denegar.

El patrón de puntero

Superado un umbral de filas, el conector materializa el resultado en almacenamiento de objetos y devuelve una URL prefirmada en lugar de las filas. El modelo recibe un puntero y un resumen; el usuario recibe los datos. Nada grande transita nunca por la ventana de contexto.

Es un control de seguridad, no solo de costo

Acotar tokens es el beneficio obvio. El mayor es que un resultado que el modelo nunca vio es un resultado que no puede reformular, resumir mal ni filtrar en un turno posterior. El puntero mantiene los datos masivos en una ruta que va del almacén al usuario sin pasar por una llamada de inferencia.

Tres modos de fallo que solo aparecen a escala

1. El agente responde sin mirar

Dé a un modelo un conjunto de herramientas de sondeo y a veces las omitirá, produciendo una respuesta segura solo a partir de los nombres de tabla. La salida es fluida, plausible y no está fundamentada en nada. Este es el más peligroso de los tres porque se parece exactamente al éxito.

La solución es estructural, no instruccional: restrinja al agente para que una respuesta que no cite ningún resultado de sondeo no sea entregable. Pedirle al modelo en el prompt que por favor verifique primero no es un control: es una solicitud dirigida al componente que acaba de no hacerlo.

2. La URL del puntero se convierte en canal de salida

En cuanto el sistema devuelve una URL, tiene una superficie de falsificación de peticiones del lado del servidor. Un destino que el modelo influye es un destino que puede alcanzar quien logre influir en el modelo. Restrinja el destino del puntero a una lista de dominios de almacenamiento que usted controla, y valide donde el modelo no pueda alcanzar la verificación.

3. Evasión por subconsulta

Una lista de tablas permitidas verificada por coincidencia de texto no es una lista de permitidos. Un nombre permitido en la consulta externa con uno restringido anidado dentro pasa una verificación ingenua y lee exactamente lo que la política prohibía. La consulta debe analizarse hasta su árbol sintáctico y verificarse cada relación referenciada, incluidas subconsultas, CTEs y uniones.

Los tres se encontraron atacando el sistema, no leyendo sobre ellos. Ese es el argumento para hacer red team a un conector de datos antes de que llegue al catálogo de un cliente: ninguno aparece en una prueba funcional, porque en cada caso el sistema hace exactamente lo que se le pidió.

Dónde corre el conector

Dentro de su propia cuenta de nube, en el plano de ejecución. Unity Catalog gobierna el acceso por identidad, y ese gobierno solo tiene sentido si el agente actúa bajo la identidad de la persona que lo dirige y no de un principal de servicio compartido; de lo contrario cada usuario hereda la unión de los permisos de todos y el modelo de acceso del catálogo ha sido eludido en silencio.

El conector en sí es un manifiesto declarativo, no código: herramientas, autenticación, reglas de compuerta y definiciones de radio de impacto en configuración. Agregar un sistema pasa a ser un commit de configuración revisado como cualquier otro cambio, no un lanzamiento.

Lo que cuesta

Más viajes de ida y vuelta. Una pregunta que la inyección de esquema responde en una llamada al modelo puede requerir aquí cuatro o cinco llamadas de sondeo, y en un catálogo pequeño eso es estrictamente peor: más lento y no más preciso. El patrón justifica su complejidad en algún punto por encima de unos cientos de tablas, y por debajo de eso el enfoque simple es el correcto.

La pregunta a resolver antes de construir no es qué tan grande es el catálogo hoy. Es si el agente apuntará a un catálogo que nadie del equipo pueda enumerar de memoria.

Axionalytics

IA agéntica en producción para equipos empresariales de ingeniería, datos e ingresos.

Seguir leyendo

¿Enfrenta esto en su propio entorno?

Cuarenta y cinco minutos con los ingenieros que construyen estos sistemas. Traiga la restricción que lo ha estado bloqueando — saldrá con una opinión arquitectónica trabaje con nosotros o no.