Para lograr una alta precisión de las consultas de QueryData y una baja latencia en línea en tus aplicaciones de agentes de datos, puedes usar el agente de ingeniería de contexto para compilar, evaluar y optimizar conjuntos de información contextual. Con la automatización de la creación, la carga y la optimización del contexto, el agente ayuda a tus aplicaciones a devolver respuestas rápidas, deterministas y explicables a las preguntas en lenguaje natural.
Para obtener más información sobre los conjuntos de información contextual y QueryData, consulta Descripción general de los conjuntos de información contextual y Descripción general de QueryData.
Si proporcionas QueryData con un contexto adaptado a tu aplicación empresarial, proporcionas las reglas empresariales precisas que el sistema necesita para resolver la intención del usuario con matices y ofrecer una calidad de consulta cercana al 100%. A medida que trabajas en tu CLI o IDE, el agente de ingeniería de contexto sube automáticamente tus conjuntos de contexto a Google Cloud mientras guarda archivos locales en tu espacio de trabajo para el control de versión.
Agente de ingeniería de contexto
El agente de ingeniería de contexto actúa como tu asistente de tiempo de diseño directamente en tu CLI o IDE. La creación manual de contexto requiere escribir patrones de consulta detallados a mano, anticipar cada variación de fraseo y diagnosticar manualmente las fallas de consulta en las iteraciones. El agente de ingeniería de contexto elimina esta sobrecarga, ya que inicia el contexto de referencia, selecciona conjuntos de datos de evaluación de verdad fundamental, realiza una búsqueda de ascenso de colinas iterativa para corregir las brechas de exactitud y demuestra que tu contexto se generaliza en las preguntas nuevas.
Conversas con el agente usando lenguaje natural para impulsar el flujo de trabajo de optimización. Comienza con una instrucción como "Optimiza el conjunto de información contextual según los requisitos de mi aplicación".
Antes de comenzar
Antes de usar el agente de ingeniería de contexto, completa los requisitos previos que se indican en las
siguientes secciones. Puedes crear y almacenar conjuntos de contexto en las regiones us-central1,
us-east1, europe-west4 y asia-southeast1, incluso si tu instancia de base de datos
está en una región diferente.
Habilita los servicios obligatorios
Habilita los siguientes servicios para tu proyecto:
Prepara tu base de datos
Prepara tu instancia de Cloud SQL para MySQL y configura el acceso para el agente:
- Crea una instancia de Cloud SQL para MySQL y crea una base de datos en la instancia de Cloud SQL para MySQL, o usa una instancia y una base de datos existentes.
- Habilita el acceso a la API de datos en tu instancia de Cloud SQL para MySQL. Establece el
parámetro de configuración de acceso a la API de datos (
data_api_access) enALLOW_DATA_APIen tu instancia para que el agente pueda inspeccionar esquemas y validar consultas. Para las instancias creadas sin el acceso a la API de datos habilitado, consulta Habilita el acceso a la API de datos o configúralo en la consola de Google Cloud .
Roles y permisos requeridos
Para obtener los permisos que necesitas para usar el agente de ingeniería de contexto y administrar conjuntos de contexto, configura los siguientes roles de Identity and Access Management (IAM) y privilegios de base de datos:
- Agrega un usuario o una cuenta de servicio de IAM a la instancia. Para obtener más información, consulta Agrega un usuario individual o una cuenta de servicio de IAM a una instancia de Cloud SQL.
- Otorga los roles
roles/cloudsql.instanceUser(oroles/cloudsql.studioUsersi también pruebas consultas en Cloud SQL Studio),roles/serviceusage.serviceUsageConsumer,roles/geminidataanalytics.queryDataUseryroles/mcp.toolUseral usuario o a la cuenta de servicio de IAM a nivel del proyecto. Para obtener más información, consulta Agrega una vinculación de política de IAM para un proyecto. - Para crear, subir y administrar conjuntos de contexto, otorga el rol de editor de Dataplex Catalog (
roles/dataplex.catalogEditor) o de administrador de Dataplex Catalog (roles/dataplex.catalogAdmin) al usuario de IAM o a la cuenta de servicio a nivel del proyecto. Para obtener más información, consulta Permisos de los conjuntos de contexto. Haz que un usuario con privilegios otorgue privilegios de base de datos de solo lectura (y privilegios de ejecución en
mysql.ml_embeddingsi usas búsquedas de valores semánticos) a la cuenta de servicio o al usuario de IAM:GRANT SELECT ON *.* TO "IAM_USERNAME"; GRANT EXECUTE ON FUNCTION mysql.ml_embedding TO "IAM_USERNAME";Reemplaza
IAM_USERNAMEpor el nombre de usuario de la base de datos del usuario o de la cuenta de servicio de IAM (la dirección de correo electrónico sin el@ni el nombre de dominio). Para obtener más información, consulta Otorga privilegios de base de datos a un usuario o una cuenta de servicio de IAM individuales.
Prepara la base de datos para las búsquedas de valores
Para usar las búsquedas de valores semánticos y de trigramas, debes configurar tu instancia de Cloud SQL para MySQL para que admita embeddings de vectores y la indexación de n-gramas.
Habilita la API de Vertex AI y la API de Compute Engine, y otorga el rol
roles/aiplatform.usera la cuenta de servicio de tu instancia de Cloud SQL para MySQL. Para obtener más información, consulta Habilita la integración de Vertex AI.Habilita las marcas de base de datos
cloudsql_vectoryngram_token_size, y la integración de Vertex AI en tu instancia de Cloud SQL para MySQL:gcloud sql instances patch INSTANCE_NAME \ --enable-google-ml-integration \ --database-flags=cloudsql_iam_authentication=on,cloudsql_vector=on,ngram_token_size=3Reemplaza
INSTANCE_NAMEpor el nombre de tu instancia de Cloud SQL para MySQL.Para permitir que la instancia de Cloud SQL para MySQL realice búsquedas de valores semánticos, haz lo siguiente:
Crea una columna de vectores para almacenar embeddings (por ejemplo, embeddings de
cityen la tablaproperties):ALTER TABLE `properties` ADD COLUMN `city_embedding` VECTOR(768) USING VARBINARY;Genera y almacena embeddings de vectores para los valores de la columna:
UPDATE `properties` SET `city_embedding` = mysql.ml_embedding('text-embedding-005', `city`) WHERE `city` IS NOT NULL;
Para permitir que la instancia de Cloud SQL para MySQL realice búsquedas de valores de trigramas, crea un índice
FULLTEXTcon el analizadorngramen la columna de texto de destino (por ejemplo,addressen la tablaproperties):CREATE FULLTEXT INDEX `idx_ngram_properties_address` ON `properties`(`address`) WITH PARSER ngram;
Prepara el entorno
Puedes compilar y optimizar conjuntos de contexto desde tu entorno de desarrollo local o IDE.
Instala uv
El agente de ingeniería de contexto requiere uv para administrar los paquetes de Python
subyacentes:
Instala
uvsiguiendo las instrucciones que se indican en Instalauv.Verifica que
uvesté instalado y que se pueda acceder a él desde la línea de comandos:uv --version
Instala el agente de ingeniería de contexto
Instala el complemento del agente de ingeniería de contexto en tu entorno de desarrollo preferido:
CLI de Antigravity
- Instala la CLI de Antigravity. Consulta Comienza a usar la CLI de Antigravity.
- Instala el complemento del agente de ingeniería de contexto:
agy plugin install https://github.com/GoogleCloudPlatform/db-context-enrichment/tree/main/plugin
- Inicia la CLI de Antigravity:
agy
Para actualizar el complemento más adelante, ejecuta agy plugin uninstall db-context-engineering seguido de agy plugin install https://github.com/GoogleCloudPlatform/db-context-enrichment/tree/main/plugin.
Claude Code
- Agrega el mercado de complementos:
/plugin marketplace add https://github.com/GoogleCloudPlatform/db-context-enrichment.git
- Instala el complemento:
/plugin install db-context-engineering@db-context-enrichment-marketplace
- Vuelve a cargar los complementos para activar los cambios:
/reload-plugins
Para actualizar el complemento más adelante, ejecuta /plugin update db-context-engineering@db-context-enrichment-marketplace.
Gemini CLI (obsoleto)
- Instalar la CLI de Gemini Consulta Comienza a usar Gemini CLI.
- Instala la extensión:
gemini extensions install https://github.com/GoogleCloudPlatform/db-context-enrichment
Para actualizar la extensión más adelante, ejecuta gemini extensions update google-cloud-db-context-engineering.
Autenticar con Google Cloud
Configura las credenciales predeterminadas de la aplicación (ADC) para autenticar tu entorno de desarrollo:
gcloud auth application-default loginEstablece el proyecto de cuota para tus credenciales de modo que las herramientas del Protocolo de contexto del modelo (MCP) puedan usar tu proyecto de Google Cloud :
gcloud auth application-default set-quota-project PROJECT_IDReemplaza
PROJECT_IDpor el ID del proyecto de Google Cloud .
Conéctate a tu base de datos
Inicia el entorno del agente y pídele que establezca la conexión con la base de datos (por ejemplo, "Ayúdame a configurar la conexión con la base de datos"). El agente te guía para crear el archivo de configuración
.context-engineering/tools.yaml, de modo que pueda leer esquemas y validar SQL. (Antes de que se cree.context-engineering/tools.yaml, se espera una advertencia inicial de conexión del servidor de MCP detoolboxal inicio).Vuelve a cargar la conexión del servidor de MCP para aplicar la configuración de
.context-engineering/tools.yaml:- CLI de Antigravity: Ejecuta
/mcpy seleccionatoolbox(odb-context-engineering_toolbox) para reiniciar. - Claude Code: Ejecuta
/mcp, seleccionatoolboxy, luego,Reconnect. - Gemini CLI: Ejecuta
/mcp refresh(o/mcp reload).
- CLI de Antigravity: Ejecuta
Cómo crear y optimizar el contexto
El agente de ingeniería de contexto guía tu conjunto de contexto a través de un ciclo de vida de extremo a extremo, desde el inicio inicial hasta la generalización verificada.
Cómo iniciar un conjunto de contextos de referencia
Para evitar crear contexto desde una página en blanco, el agente inspecciona el esquema de tu base de datos junto con cualquier artefacto de aplicación disponible, como requisitos empresariales, documentación o consultas en SQL de ejemplo. El agente deriva un conjunto de contexto de referencia inicial que contiene plantillas de consultas fundamentales y facetas de consultas basadas en tu modelo de base de datos.
Después de generar y validar el contexto de referencia, el agente lo sube directamente a Google Cloud y devuelve el nombre del recurso del conjunto de contexto.
Crea conjuntos de datos de evaluación y de exclusión a partir de artefactos de la aplicación
Para mejorar la exactitud de forma sistemática, necesitas preguntas de verdad fundamental vinculadas con consultas en SQL verificadas. Si aún no tienes un benchmark de evaluación, el agente puede generar uno extrayendo situaciones empresariales del código de la aplicación, las consultas históricas y el esquema de la base de datos.
Durante la generación del conjunto de datos, el agente crea dos conjuntos distintos:
- Comparativa de entrenamiento: Es una colección de pares de preguntas y SQL representativos que se usan durante la optimización iterativa.
- Conjunto de datos de exclusión: Es un conjunto independiente de preguntas similares en el dominio a tu comparativa de entrenamiento, reservado para probar la generalización.
Optimiza la precisión con el algoritmo de ascenso de colinas
En la optimización de ascenso de colinas, el agente define de forma iterativa tu conjunto de contexto para impulsar la exactitud de QueryData hacia casi el 100%:
- Evaluar: El agente prueba tu conjunto de contexto actual con el comparativo de entrenamiento usando la API de QueryData y puntúa la exactitud.
- Diagnostica brechas: El agente analiza las fallas de las consultas, identifica sus causas raíz (como uniones de tablas faltantes, entidades privadas no vinculadas o condiciones de filtro complejas) y formula correcciones específicas.
- Define mejor y sube: El agente agrega o mejora las plantillas de consultas, las facetas de consultas y las búsquedas de valores para resolver las brechas, y sube automáticamente el conjunto de contexto actualizado a Google Cloud desde tu CLI.
- Iterar: El agente repite este ciclo en varias rondas hasta que la exactitud converge en la puntuación óptima.
En el siguiente diagrama, se muestra el flujo de trabajo sistemático de ascenso de colinas:
Demuestra la generalización con el conjunto de datos de exclusión
Es necesario lograr una precisión alta en una comparativa de entrenamiento, pero el tráfico de producción incluye variaciones de frases y preguntas compuestas complejas que nunca se vieron durante el desarrollo.
Después de que converge la optimización de ascenso de colinas, el agente prueba el conjunto de contexto resultante con el conjunto de datos de exclusión. En este paso, se verifica que el contexto establecido se generalice de forma clara a las entradas de usuarios nuevos sin sobreajustarse a la comparación inicial. El agente produce un informe de generalización que muestra la exactitud en las variaciones de preguntas no vistas y los filtros compuestos (como "Encuentra casas cerca de buenas escuelas en Del Mar para una familia que recién empieza, con vista al mar").
Creación y razonamiento on demand
Además de las ejecuciones de optimización completas, puedes conversar con el agente para obtener actualizaciones específicas a medida que evolucionan los requisitos empresariales:
Creación de contenido segmentado: Describe un requisito empresarial específico en lenguaje natural, y el agente dará formato al elemento de contexto y lo subirá directamente desde tu CLI sin necesidad de editarlo de forma manual:
- "Crea una plantilla para: 'Encuentra casas cerca de buenas escuelas en Del Mar' con SQL:
SELECT p.property_id, p.address FROM properties AS p JOIN schools AS s ON p.school_id = s.school_id WHERE p.city = 'Del Mar' AND s.rating >= 7". - "Crea una faceta para el filtro
properties.bedrooms BETWEEN 3 AND 4 AND properties.square_feet BETWEEN 1500 AND 2500etiquetado como 'para una familia que recién comienza'". - "Crea una búsqueda de valor para
properties.city".
- "Crea una plantilla para: 'Encuentra casas cerca de buenas escuelas en Del Mar' con SQL:
Actualizaciones masivas en un conjunto de contexto: Si se cambia el nombre de las columnas de la base de datos o cambian las estructuras de las tablas, el agente puede actualizar todos los elementos de contexto afectados de forma simultánea sin modificar las entradas no relacionadas:
- "En mi conjunto de contexto, reemplaza
properties.property_type = 'SFR'porproperties.property_type = 'Single Family Residential'para cualquier elemento que haga referencia a casas unifamiliares. No modifiques los elementos no relacionados".
- "En mi conjunto de contexto, reemplaza
¿Qué sigue?
- Obtén más información sobre los conjuntos de contexto.
- Aprende a probar QueryData en Cloud SQL Studio.
- Obtén información para integrar QueryData en una aplicación.
- Obtén más información para crear o borrar un conjunto de contexto en Cloud SQL Studio.