Usa el agente de ingeniería de datos para crear y modificar canalizaciones de datos
El agente de ingeniería de datos en BigQuery y Dataform te permite crear, modificar y administrar canalizaciones de datos para cargar y procesar datos en BigQuery. Puedes usar instrucciones en lenguaje natural para generar canalizaciones de datos a partir de varias fuentes de datos o adaptar las canalizaciones de datos existentes para que se ajusten a tus necesidades de ingeniería de datos.
El agente genera y organiza el código de la canalización de datos directamente en los repositorios de Dataform y opera en el espacio de trabajo de Dataform, por lo que las canalizaciones de Dataform están disponibles automáticamente para el agente. También puedes interactuar con el agente usando la API de Data Engineering Agent, que usa el protocolo A2A. Para ver ejemplos de instrucciones que puedes usar, consulta Instrucciones de ejemplo.
El agente de ingeniería de datos cuenta con la tecnología de Gemini para Google Cloud y admite las funciones de IA y AA de BigQuery para crear canalizaciones de enriquecimiento de IA por lotes, búsqueda semántica y aprendizaje automático en Dataform. Para obtener más información, consulta Compatibilidad con IA y AA de BigQuery.
Limitaciones
El agente de ingeniería de datos tiene las siguientes limitaciones:
- El agente de ingeniería de datos no admite comandos de lenguaje natural para los
siguientes tipos de archivos:
- Notebooks
- Preparación de datos
- El agente de ingeniería de datos no puede ejecutar canalizaciones. Debes revisar y ejecutar o programar canalizaciones.
- El agente de ingeniería de datos no puede buscar ningún vínculo web ni URL que se proporcione a través de instrucciones o instrucciones directas.
- Cuando importas archivos en un
archivo de instrucciones del agente,
la sintaxis de importación
@solo admite rutas de acceso que comiencen con./,/o una letra. - La función de vista previa de datos solo se admite para
tablas, declaraciones o consultas con la marca
hasOutputestablecida entrue. - El agente de ingeniería de datos está sujeto a las limitaciones generales de la tecnología de IA.
- Cuando se crean canalizaciones en tablas externas de Apache Iceberg administradas por el catálogo de entornos de ejecución de Lakehouse (antes metastore de BigLake), se aplican todas las limitaciones del catálogo de entornos de ejecución de Lakehouse. En particular, el agente no puede generar mutaciones de escritura (como
INSERT,UPDATE,DELETEoMERGE) ni declaraciones DDL (comoCREATE TABLEoDROP TABLE) en tablas de Iceberg. Para obtener más información, consulta Conceptos de extremos del catálogo de REST de Apache Iceberg.
Antes de comenzar
Antes de usar el agente de ingeniería de datos, completa los pasos de esta sección.
Habilita Gemini en BigQuery
Asegúrate de que Gemini en BigQuery esté habilitado para tu proyecto deGoogle Cloud . Para obtener más información, consulta Configura Gemini en BigQuery.
Habilite las API necesarias
Console
Habilita las siguientes APIs en la consola de Google Cloud para el proyecto de Google Cloud que usas con la API de Conversational Analytics, si aún no están habilitadas.
Habilitar la API de Gemini Data Analytics
gcloud
Para habilitar la API de análisis de datos de Gemini, la API de Gemini para Google Cloud
y la API de BigQuery, si aún no están habilitadas, usa la
Google Cloud CLI y ejecuta los siguientes
comandos de gcloud services enable:
gcloud services enable geminidataanalytics.googleapis.com --project=PROJECT_ID gcloud services enable cloudaicompanion.googleapis.com --project=PROJECT_ID gcloud services enable bigquery.googleapis.com --project=PROJECT_ID
Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud .
Roles obligatorios
Para obtener el permiso que necesitas para usar el agente de ingeniería de datos, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
- Editor de código de Dataform (
roles/dataform.codeEditor) - Usuario de trabajo de BigQuery (
roles/bigquery.jobUser) - Usuario de chat sin estado de Gemini Data Analytics (
roles/geminidataanalytics.dataAgentStatelessUser)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso
geminidataanalytics.locations.useDataEngineeringAgent,
que se requiere para
usar el agente de ingeniería de datos.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Para obtener detalles sobre los roles necesarios para consultar tablas de Apache Iceberg, consulta Roles necesarios para la compatibilidad con Lakehouse Apache Iceberg.
Requisitos previos para la integración de Knowledge Catalog
Para obtener el permiso que
necesitas para integrar el agente de ingeniería de datos con Knowledge Catalog,
pídele a tu administrador que te otorgue el
rol de IAM de editor de Dataplex Catalog (roles/dataplex.catalogEditor) en el proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el
permiso geminidataanalytics.locations.useDataEngineeringAgent,
que se requiere para
integrar el agente de ingeniería de datos con Knowledge Catalog.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Si usas una cuenta de servicio personalizada para ejecutar canalizaciones, debes otorgar el rol de
Editor de Dataplex Catalog
(roles/dataplex.catalogEditor) en el proyecto o el grupo de entradas @bigquery.
Además, debes habilitar la
API de Dataplex.
Encripta datos con claves de Cloud Key Management Service
Puedes encriptar datos a nivel de conjunto de datos o de proyecto con las claves predeterminadas de Cloud Key Management Service administradas por el cliente en BigQuery. Para obtener más información, consulta Establece una clave predeterminada para un conjunto de datos y Establece una clave predeterminada para un proyecto.
Puedes encriptar el código de la canalización a nivel del proyecto configurando una clave predeterminada de Cloud Key Management Service de Dataform.
Configura perímetros de Controles del servicio de VPC
Si usas los Controles del servicio de VPC, debes configurar el perímetro para proteger Dataform, BigQuery y la API de Conversational Analytics. Para obtener más información, consulta Dataform, BigQuery y la API de Conversational Analytics.
Genera una canalización de datos con el agente de ingeniería de datos
Para usar el agente de ingeniería de datos en BigQuery, selecciona una de las siguientes opciones:
Canalizaciones de BigQuery
Puedes usar el agente de ingeniería de datos en la interfaz de canalizaciones de BigQuery siguiendo estos pasos:
Ve a la página de BigQuery.
En el editor de consultas, haz clic en arrow_drop_down Crear nueva > Canalización.
En la interfaz de la canalización, haz clic en Preguntar al agente.
En el campo Preguntar al agente, ingresa una instrucción en lenguaje natural para generar una canalización de datos, por ejemplo:
Create dimension tables for a taxi trips star schema from new_york_taxi_trips.tlc_green_trips_2022. Generate surrogate keys and all the descriptive attributes.Después de ingresar una instrucción, haz clic en Enviar.
El agente de ingeniería de datos genera una canalización de datos según tu instrucción.
El agente de ingeniería de datos genera un borrador propuesto de una canalización de datos. Puedes hacer clic en un nodo de la canalización para revisar la consulta en SQLX generada. Para aplicar la canalización de datos sugerida por el agente, haz clic en Aplicar.
Dataform
Puedes usar el agente de ingeniería de datos en Dataform siguiendo estos pasos:
Ve a Dataform.
Selecciona un repositorio.
Selecciona o crea un espacio de trabajo de desarrollo.
En el espacio de trabajo, haz clic en Preguntarle al agente.
En el cuadro de diálogo Preguntar al agente que aparece, ingresa una instrucción en lenguaje natural para generar una canalización de datos, por ejemplo:
Create dimension tables for a taxi trips star schema from new_york_taxi_trips.tlc_green_trips_2022. Generate surrogate keys and all the descriptive attributes.Después de ingresar una instrucción, haz clic en Enviar.
Después de que se envía la instrucción, el agente de ingeniería de datos genera una canalización de datos y modifica los archivos SQLX de Dataform según tu instrucción. El agente aplica estos cambios directamente a los archivos de tu espacio de trabajo.
Edita una canalización de datos
Para editar tu canalización de datos, haz clic en Preguntar al agente y, luego, ingresa una instrucción que sugiera un cambio en la canalización de datos.
Revisa los cambios propuestos por el agente de ingeniería de datos y, luego, haz clic en Aplicar para aplicarlos.
También puedes editar una consulta de SQLX de forma manual. Para ello, selecciona un nodo de canalización y, luego, haz clic en Abrir.
Revisa una canalización de datos
Puedes hacer clic en un nodo de canalización en una canalización de datos generada por el agente de ingeniería de datos para revisarlo.
- En la pestaña Configuración, se muestra la consulta de SQLX generada asociada con el nodo.
- En la pestaña Vista previa de los datos, se muestra la tabla de entrada y salida del archivo. Para obtener una vista previa de la transformación de datos a través de este nodo, haz clic en Ejecutar tarea para ejecutar la tarea con o sin dependencias.
Soluciona errores de canalización de datos
Si encuentras algún error cuando generas la canalización de datos, completa todos los requisitos previos para ejecutar el agente de ingeniería de datos.
Los errores en tu canalización aparecen como ejecuciones con errores en la pestaña Ejecuciones. Para usar el agente de ingeniería de datos para ejecutar un análisis de causa raíz y obtener recomendaciones para solucionar problemas, haz lo siguiente:
En la pestaña Ejecuciones, haz clic en el estado de una ejecución con errores y, luego, en Investigar.
Se abrirá el panel Preguntar al agente con una solicitud que le pide al agente que realice un análisis de causa raíz de la ejecución con errores.
Revisa el informe de solución de problemas del agente.
El informe de solución de problemas incluye más información sobre los errores en el proceso de generación de la canalización. Puedes pedirle al agente que corrija estos errores de la canalización según el informe.
Crea instrucciones para el agente
Las instrucciones del agente son instrucciones en lenguaje natural para el agente de ingeniería de datos que te permiten almacenar instrucciones persistentes para que el agente siga un conjunto de reglas personalizadas y predefinidas. Usa las instrucciones del agente si quieres que los resultados del agente sean coherentes en toda tu organización, por ejemplo, con convenciones de nombres o para aplicar una guía de estilo.
Puedes crear un archivo de contexto GEMINI.MD
como un archivo de instrucciones para el agente de ingeniería de datos. Puedes crear archivos de instrucciones de agentes
para usarlos en tu espacio de trabajo local o puedes usar los mismos
archivos de instrucciones en varias canalizaciones de datos con un repositorio externo.
Para crear instrucciones del agente, haz lo siguiente:
- En Preguntar al agente, haz clic en Instrucciones de canalización.
- En el panel Instrucciones para la canalización, haz clic en Crear archivo de instrucciones.
En el archivo
GEMINI.MDque aparece, ingresa tus instrucciones en lenguaje natural.En el siguiente ejemplo, se muestra un archivo de instrucciones del agente con varias reglas:
1. All event-specific tables MUST be prefixed with `cs_event_`. 2. The primary key for any player activity table is a composite key of `player_id` and `event_timestamp_micros`. 3. Filter out any player actions where `mana_spent` is greater than `max_mana_pool`. This is considered a data anomaly.Haz clic en Guardar.
Para obtener información sobre cómo estructurar mejor los archivos de instrucciones del agente, consulta Prácticas recomendadas con los archivos de instrucciones del agente.
Carga instrucciones del agente desde un repositorio externo
Para reutilizar un conjunto de instrucciones de agentes en varias canalizaciones de datos, vincula un repositorio externo:
- En Preguntar al agente, haz clic en Instrucciones de canalización.
- En Repositorio externo, selecciona Usar instrucciones del repositorio externo.
- En los campos proporcionados, especifica un repositorio que contenga las instrucciones del agente que deseas usar con tu canalización de datos.
- Haz clic en Guardar.
Asistencia de IA y AA de BigQuery
El agente de ingeniería de datos admite muchas funciones y sentencias de IA,
AA y objetos de BigQuery en las canalizaciones de SQLX de Dataform generadas y en los archivos de instrucciones
del agente (GEMINI.MD) que creas, incluidas las
siguientes:
AI.FORECASTAI.DETECT_ANOMALIESAI.CAUSAL_EFFECTAI.EVALUATEAI.KEY_DRIVERSAI.GENERATEAI.GENERATE_TABLEAI.GENERATE_EMBEDDINGAI.IFAI.SCOREAI.CLASSIFYAI.SEARCHAI.SIMILARITYAI.AGGCREATE MODEL(incluidosLOGISTIC_REG,KMEANS,CONTRIBUTION_ANALYSIS, modelos remotos (REMOTE WITH CONNECTION) y la cláusulaTRANSFORM)CREATE TABLEcon generación de incorporaciones autónoma (AI.EMBED)ML.PREDICTML.EVALUATEML.CORRELATIONML.DETECT_CHANGE_POINTSML.GET_INSIGHTSML.SEASONALITYML.TRENDML.VALIDATE_DATA_DRIFTVECTOR_SEARCHOBJ.GET_ACCESS_URL
Para ejecutar canalizaciones de Dataform que contengan funciones de IA generativa
o modelos remotos, la cuenta de servicio o el usuario que ejecuta la canalización
debe tener los permisos necesarios para ejecutar consultas de IA
generativa. Cuando el agente de ingeniería de datos
genera declaraciones de DDL, como CREATE MODEL o CREATE TABLE, con
la generación de incorporaciones autónomas, las configura como acciones de Dataform
operations (type: "operations") con hasOutput: true para que
los nodos de canalización descendentes puedan hacer referencia a ellas con ${ref("RESOURCE_NAME")}.
El agente solo usa la función AI.SEARCH en las tablas que tienen habilitada la generación de incorporaciones autónomas.
Cuando se trabaja con funciones de ObjectRef, el usuario también debe tener acceso delegado
al bucket de Cloud Storage subyacente. Para obtener más información, consulta
Acceso delegado.
Para obtener más información sobre las funciones de IA y AA en BigQuery, consulta Introducción a la IA en BigQuery.
Casos de uso
Para activar las funciones de IA y AA compatibles en tus canalizaciones de datos, úsalas de las siguientes maneras:
Indícale al agente de ingeniería de datos que cree o modifique una canalización. Por ejemplo, si eres un ingeniero de datos que crea una canalización de ELT programada que enriquece texto sin procesar, extrae campos estructurados de documentos no estructurados o califica registros nuevos, el agente genera los archivos SQLX de Dataform y el grafo de dependencias adecuados.
Define reglas de canalización persistentes en un archivo de instrucciones del agente (
GEMINI.MD), por ejemplo, para estandarizar los extremos del modelo, los IDs de conexión o los umbrales de anomalías predeterminados en las canalizaciones de tu organización.
En la siguiente tabla, se muestran ejemplos de instrucciones que activan el uso de funciones de IA o AA para la canalización de datos por lotes:
| Caso de uso | Ejemplo de uso | Conjunto de datos público |
|---|---|---|
Resumen de texto por lotes (AI.GENERATE) |
"Crea una tabla de etapa de pruebas a partir de bigquery-public-data.bbc_news.fulltext para los artículos de 'deportes' y agrega una columna que resuma la columna del cuerpo en 1 o 2 oraciones". |
bigquery-public-data.bbc_news.fulltext |
Extracción de esquemas estructurados (AI.GENERATE_TABLE) |
"Crea una tabla de canalización que extraiga un esquema estructurado (company_name STRING, key_topic STRING, is_earnings_related BOOL) de la columna body de los artículos de negocios en bigquery-public-data.bbc_news.fulltext". |
bigquery-public-data.bbc_news.fulltext |
Enriquecimiento de objetos multimodal (OBJ.GET_ACCESS_URL) |
"Crea una tabla de objetos externa sobre nuestro bucket de imágenes de productos de Cloud Storage y compila una tabla downstream que genere un array de image_description y entidades para cada imagen con OBJ.GET_ACCESS_URL". |
Tabla de objetos de Cloud Storage (por ejemplo, gs://cloud-samples-data/bigquery/tutorials/cymbal-pets/images/*.png) |
Filtrado semántico de datos (AI.IF) |
"Crea una tabla limpia de artículos de tecnología de bigquery-public-data.bbc_news.fulltext, filtrando para mantener solo las filas que analizan los avances en inteligencia artificial". |
bigquery-public-data.bbc_news.fulltext |
Puntuación de opiniones por lotes (AI.SCORE) |
"Crea una tabla enriquecida a partir de bigquery-public-data.bbc_news.fulltext para la categoría de entretenimiento con una columna numérica sentiment_score que califique el grado de sentimiento positivo". |
bigquery-public-data.bbc_news.fulltext |
Clasificación de taxonomía automatizada (AI.CLASSIFY) |
"Con las opiniones sobre películas de bigquery-public-data.imdb.reviews, clasifica automáticamente cada opinión en nuestros niveles de taxonomía editorial para Arquetipo narrativo (p.ej., 'Estudio de personajes', 'Espectáculo de acción', 'Thriller psicológico') y Estado de ánimo de visualización (p.ej., 'Oscuro y crudo', 'Inspirador', 'De suspenso'). Escribe los resultados junto con los metadatos de las películas en una tabla seleccionada". |
bigquery-public-data.imdb.reviews |
Resumen semántico agrupado (AI.AGG) |
"Para cada película de bigquery-public-data.imdb.reviews, recopila todos los comentarios del público de cientos de opiniones en un resumen ejecutivo consolidado que destaque la recepción crítica de consenso, los principales elogios y las quejas recurrentes de los espectadores. Agrupa los resultados por movie_id y title junto con métricas como el recuento total de opiniones y la calificación promedio para producir una tabla de inteligencia unificada a nivel de película para los ejecutivos del estudio y los equipos de marketing". |
bigquery-public-data.imdb.reviews |
Generación de embeddings por lotes (AI.GENERATE_EMBEDDING) |
"Crea un nodo de canalización que genere embeddings de vectores para la columna de opiniones en bigquery-public-data.imdb.reviews y los materialice en una tabla de atributos". |
bigquery-public-data.imdb.reviews |
Embeddings autónomos y búsqueda semántica (AI.EMBED, AI.SEARCH) |
"Crea una tabla de opiniones sobre películas con la generación de embeddings autónomos habilitada en la columna de opiniones y crea una tabla de informes downstream que busque las 10 opiniones principales que coincidan con 'tension-building psychological thriller'". | bigquery-public-data.imdb.reviews |
Previsión de la demanda programada (AI.FORECAST) |
"Crea una tabla de informes diarios que prevea la cantidad de viajes en bicicleta compartida por día para los próximos 30 días a partir del bigquery-public-data.san_francisco_bikeshare.bikeshare_trips". |
bigquery-public-data.san_francisco_bikeshare.bikeshare_trips |
Detección de anomalías en la canalización (AI.DETECT_ANOMALIES) |
"Crea una tabla de supervisión que detecte anomalías en el volumen de viajes diarios en 2018 con 2017 como el valor de referencia histórico de bigquery-public-data.san_francisco_bikeshare.bikeshare_trips". |
bigquery-public-data.san_francisco_bikeshare.bikeshare_trips |
Informes automatizados de factores clave (AI.KEY_DRIVERS) |
"Crea una tabla de informes que identifique los factores clave de los cambios en el volumen de viajes entre 2017 y 2018 con bigquery-public-data.austin_bikeshare.bikeshare_trips". |
bigquery-public-data.austin_bikeshare.bikeshare_trips |
Detección de puntos de cambio (ML.DETECT_CHANGE_POINTS) |
"Crea una tabla que detecte los puntos de cambio estructural en el volumen de viajes diarios de bigquery-public-data.san_francisco_bikeshare.bikeshare_trips". |
bigquery-public-data.san_francisco_bikeshare.bikeshare_trips |
Entrenamiento de modelos con procesamiento previo, evaluación y puntuación por lotes (CREATE MODEL, TRANSFORM, ML.EVALUATE, ML.PREDICT) |
"Crea una canalización de Dataform en bigquery-public-data.ml_datasets.census_adult_income que entrene un modelo de regresión logística con una cláusula TRANSFORM para predecir income_bracket, evalúe el modelo en una tabla de evaluación y genere predicciones por lotes en una tabla de puntuación". |
bigquery-public-data.ml_datasets.census_adult_income |
Segmentación de clientes (CREATE MODEL con KMEANS) |
"Crea una canalización que entrene un modelo de agrupamiento en clústeres de k-means con las mediciones físicas de pingüinos de bigquery-public-data.ml_datasets.penguins y asigne IDs de clúster a una tabla de salida segmentada". |
bigquery-public-data.ml_datasets.penguins |
Validación automatizada de desvío de datos (ML.VALIDATE_DATA_DRIFT) |
"Agrega una tabla de supervisión a la canalización que valide la desviación de atributos entre nuestra tabla de viajes de referencia de 2017 y la tabla de viajes de entrega de 2018 de bigquery-public-data.san_francisco_bikeshare.bikeshare_trips". |
bigquery-public-data.san_francisco_bikeshare.bikeshare_trips |
Ejemplos de instrucciones
En las siguientes secciones, se proporcionan instrucciones de ejemplo que puedes usar con el agente de ingeniería de datos para desarrollar tu canalización de datos.
Agrega datos existentes a una tabla nueva
Con esta instrucción, el agente de ingeniería de datos usa el esquema y las muestras para inferir la agrupación de datos por clave. Por lo general, el agente establece una nueva configuración de tabla con descripciones de tablas y columnas.
Create a daily sales report from the
bigquery-public-data.thelook_ecommerce.order_items table into a
reporting.daily_sales_aggregation table.
Crea una nueva columna derivada y agrega verificaciones de calidad de los datos a la tabla nueva
En este mensaje, se muestra cómo agregar una tabla y una columna, y especificar verificaciones de calidad a la tabla al mismo tiempo:
Create a new table named staging.products from
bigquery-public-data.thelook_ecommerce.products and add a calculated column
named gross_profit, which is the retail_price minus the cost.
Also, add the following assertions: ID must not be null and must be unique.
The retail_price must be greater than or equal to the cost. The department
column can only contain 'Men' or 'Women'.
Crea UDF como parte de la definición del modelo
El agente de ingeniería de datos también puede configurar el DDL para crear funciones definidas por el usuario (UDF). Si bien el agente no creará la UDF, puedes crearla ejecutando la canalización de datos. Estas UDF se pueden usar en las definiciones de modelos de tu canalización de datos.
Create a user-defined function (UDF) named get_age_group that takes an integer
age as input and returns a string representing the age group ('Gen Z',
'Millennial', 'Gen X', 'Baby Boomer').
Use this UDF on the age column from the
bigquery-public-data.thelook_ecommerce.users table to create a new view called
reporting.user_age_demographics that includes user_id, age, and the calculated
age_group.
Enriquece datos no estructurados y ejecuta predicciones de AA por lotes en una canalización
En esta instrucción, se muestra cómo combinar la ingeniería de atributos de comportamiento, el modelado de clasificación de BigQuery ML y la personalización de IA generativa en nodos de canalización de Dataform encadenados:
Create a multi-step Dataform pipeline using
bigquery-public-data.thelook_ecommerce.users and bigquery-public-data.thelook_ecommerce.orders:
1. Create a staging table on a sample of customers to engineer retention
features (tenure, lifetime spend, recency) and label churn based on
inactivity over the past 90 days.
2. Train a BigQuery ML logistic regression model on those behavioral features
to predict churn risk.
3. Create a final table that scores customer churn probabilities and drafts
personalized, 3-sentence win-back emails with purchase-tailored discounts
for the 20 customers at highest risk of churning.
Prácticas recomendadas
Para mejorar los resultados cuando trabajas con el agente de ingeniería de datos y Dataform, te recomendamos que hagas lo siguiente:
Usa instrucciones del agente para las solicitudes comunes. Si sueles aplicar ciertas técnicas o si realizas las mismas correcciones al agente con frecuencia, usa las instrucciones del agente como una ubicación centralizada para almacenar instrucciones y solicitudes comunes.
Utiliza planes de agentes. Los planes de agentes pueden ser útiles para desglosar tareas complejas de la canalización. Los planes de agentes también pueden mostrarte las suposiciones y las intenciones de los agentes, por lo que te recomendamos que los revises para asegurarte de que se proporcione el contexto correcto.
Después de revisar un plan, puedes editarlo enviando instrucciones al agente de ingeniería de datos con comentarios y cambios. Por ejemplo:
In the plan, ensure that all of the intermediate tables are views.
En algunos casos, puede ser útil pedirle al agente que genere un plan que no necesite tu aprobación explícita. El acto de hacer que el agente planifique obliga al agente de ingeniería de datos a desglosar sus acciones, lo que suele generar mejores resultados. Puedes forzar al agente a generar un plan y ejecutarlo automáticamente. Por ejemplo:
Create a plan for a pipeline that finds the
top N pick up and drop off locations in NYC. You have my explicit pre-approval
to go ahead and execute this plan.
Escribe con claridad. Expresa tu solicitud con claridad y evita ser impreciso. Siempre que sea posible, proporciona las fuentes de datos de origen y destino cuando envíes instrucciones, como se muestra en el siguiente ejemplo:
Extract data from the sales.customers table in the us_west_1 region, and load
it into the reporting.dim_customers table in BigQuery. Match the schema of the
destination table.
Proporciona instrucciones directas y acotadas. Haz una pregunta a la vez y mantén las instrucciones breves. En el caso de las instrucciones con más de una pregunta, desglosa cada parte de la pregunta para mejorar la claridad, como se muestra en el siguiente ejemplo:
1. Create a new table named staging.events_cleaned. Use raw.events as the
source. This new table should filter out any records where the user_agent
matches the pattern '%bot%'. All original columns should be included.
2. Next, create a table named analytics.user_sessions. Use
staging.events_cleaned as the source. This table should calculate the
duration for each session by grouping by session_id and finding the
difference between the MAX(event_timestamp) and MIN(event_timestamp).
Proporciona instrucciones explícitas y enfatiza los términos clave. Puedes agregar énfasis a los términos o conceptos clave en tus instrucciones y etiquetar ciertos requisitos como importantes, como se muestra en el siguiente ejemplo:
When creating the staging.customers table, it is *VERY IMPORTANT* that you
transform the email column from the source table bronze.raw_customers.
Coalesce any NULL values in the email column to an empty string ''.
Especifica el orden de las operaciones. Para las tareas ordenadas, estructura tu instrucción en listas, en las que los elementos enumerados se dividen en pasos pequeños y enfocados, como se muestra en el siguiente ejemplo:
Create a pipeline with the following steps:
1. Extract data from the ecomm.orders table.
2. Join the extracted data with the marts.customers table on customer_id.
3. Load the final result into the reporting.customer_orders table.
Define mejor e itera. Sigue probando diferentes frases y enfoques para ver cuál genera los mejores resultados. Si el agente genera SQL no válido o comete otros errores, guíalo con ejemplos o documentación pública.
The previous query was incorrect because it removed the timestamp. Please
correct the SQL. Use the TIMESTAMP_TRUNC function to truncate the
event_timestamp to the nearest hour, instead of casting it as a DATE. For
example: TIMESTAMP_TRUNC(event_timestamp, HOUR).