Utilizza Data Engineering Agent per creare e modificare pipeline di dati

L'agente di data engineering in BigQuery e Dataform ti consente di creare, modificare e gestire pipeline di dati per caricare ed elaborare i dati in BigQuery. Puoi utilizzare prompt in linguaggio naturale per generare pipeline di dati da varie origini dati o adattare le pipeline di dati esistenti alle tue esigenze di data engineering.

L'agente genera e organizza il codice della pipeline di dati direttamente all'interno dei repository Dataform e opera nell'area di lavoro di Dataform, in modo che le pipeline di Dataform siano automaticamente disponibili per l'agente. Puoi anche interagire con l'agente utilizzando l'API Data Engineering Agent, che utilizza il protocollo A2A. Per esempi di prompt che puoi utilizzare, consulta Prompt di esempio.

Data Engineering Agent è basato su Gemini per Google Cloud e supporta le funzioni di AI e ML di BigQuery per la creazione di pipeline di arricchimento AI in batch, ricerca semantica e machine learning in Dataform. Per saperne di più, consulta Supporto di AI e ML di BigQuery.

Limitazioni

Data Engineering Agent presenta le seguenti limitazioni:

  • Data Engineering Agent non supporta i comandi in linguaggio naturale per i seguenti tipi di file:
    • Notebook
    • Preparazione dei dati
  • Il Data Engineering Agent non può eseguire pipeline. Devi esaminare ed eseguire o pianificare le pipeline.
  • Il Data Engineering Agent non può eseguire ricerche in link web o URL forniti tramite istruzioni o prompt diretti.
  • Quando importi file in un file di istruzioni dell'agente, la sintassi di importazione @ supporta solo i percorsi che iniziano con ./, / o una lettera.
  • La funzionalità di anteprima dei dati è supportata solo per tabelle, dichiarazioni o query con il flag hasOutput impostato su true.
  • Data Engineering Agent è soggetto alle limitazioni generali della tecnologia AI.
  • Quando crei pipeline su tabelle esterne Apache Iceberg gestite dal catalogo di runtime Lakehouse (in precedenza metastore BigLake), si applicano tutte le limitazioni del catalogo di runtime Lakehouse. In particolare, l'agente non può generare mutazioni di scrittura (come INSERT, UPDATE, DELETE o MERGE) o istruzioni DDL (come CREATE TABLE o DROP TABLE) sulle tabelle Iceberg. Per saperne di più, consulta Concetti relativi agli endpoint del catalogo REST Apache Iceberg.

Prima di iniziare

Prima di utilizzare Data Engineering Agent, esegui i passaggi descritti in questa sezione.

Abilita Gemini in BigQuery

Assicurati che Gemini in BigQuery sia abilitato per il tuo progettoGoogle Cloud . Per saperne di più, consulta Configura Gemini in BigQuery.

Abilita le API richieste

console

Abilita le seguenti API nella console Google Cloud per il progetto Google Cloudche utilizzi con l'API Conversational Analytics, se non sono già abilitate.

Abilita l'API Gemini Data Analytics

Abilita l'API Gemini for Google Cloud

Abilita l'API BigQuery

gcloud

Per abilitare l'API Gemini Data Analytics, l'API Gemini for Google Cloud e l'API BigQuery, se non sono già abilitate, utilizza Google Cloud CLI ed esegui i seguenti comandi 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

Sostituisci PROJECT_ID con l'ID progetto Google Cloud .

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per utilizzare l'agente di data engineering, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione geminidataanalytics.locations.useDataEngineeringAgent, necessaria per utilizzare l'agente di data engineering.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Per informazioni dettagliate sui ruoli richiesti per eseguire query sulle tabelle Apache Iceberg, consulta Ruoli richiesti per il supporto di Lakehouse Apache Iceberg.

Prerequisiti per l'integrazione di Knowledge Catalog

Per ottenere l'autorizzazione necessaria per integrare l'agente di data engineering con Knowledge Catalog, chiedi all'amministratore di concederti il ruolo IAM Dataplex Catalog Editor (roles/dataplex.catalogEditor) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione geminidataanalytics.locations.useDataEngineeringAgent, necessaria per integrare l'agente di data engineering con Knowledge Catalog.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Se utilizzi un account di servizio personalizzato per eseguire le pipeline, devi concedere il ruolo Dataplex Catalog Editor (roles/dataplex.catalogEditor) al progetto o al gruppo di voci @bigquery. Inoltre, devi abilitare l'API Dataplex.

Cripta i dati con le chiavi di Cloud Key Management Service

Puoi criptare i dati a livello di set di dati o di progetto con le chiavi Cloud Key Management Service predefinite gestite dal cliente in BigQuery. Per saperne di più, consulta Imposta una chiave predefinita per il set di dati e Imposta una chiave predefinita per il progetto.

Puoi criptare il codice della pipeline a livello di progetto impostando una chiave predefinita di Cloud Key Management Service per Dataform.

Configura i perimetri dei Controlli di servizio VPC

Se utilizzi i Controlli di servizio VPC, devi configurare il perimetro per proteggere Dataform, BigQuery e l'API Conversational Analytics. Per saperne di più, consulta Dataform, BigQuery e l'API Conversational Analytics.

Genera una pipeline di dati con Data Engineering Agent

Per utilizzare l'agente di data engineering in BigQuery, seleziona una delle seguenti opzioni:

Pipeline BigQuery

Puoi utilizzare l'agente di data engineering nell'interfaccia delle pipeline di BigQuery seguendo questi passaggi:

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, fai clic su arrow_drop_down Crea nuova > Pipeline.

  3. Nell'interfaccia della pipeline, fai clic su Chiedi all'agente.

  4. Nel campo Chiedi all'agente, inserisci un prompt in linguaggio naturale per generare una pipeline di dati, ad esempio:

      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.
    

    Dopo aver inserito un prompt, fai clic su Invia.

  5. Il Data Engineering Agent genera una pipeline di dati in base al tuo prompt.

Il Data Engineering Agent genera una bozza proposta di una pipeline di dati. Puoi fare clic su un nodo della pipeline per esaminare la query SQLX generata. Per applicare la pipeline di dati suggerita dall'agente, fai clic su Applica.

Pipeline di dati con un pulsante "Applica" evidenziato, che indica le modifiche suggerite dall'agente di data engineering.

Dataform

Puoi utilizzare il Data Engineering Agent in Dataform procedendo nel seguente modo:

  1. Vai a Dataform.

    Vai a Dataform

  2. Seleziona un repository.

  3. Seleziona o crea un'area di lavoro di sviluppo.

  4. Nell'area di lavoro, fai clic su Chiedi all'agente.

  5. Nel prompt Chiedi all'agente visualizzato, inserisci un prompt in linguaggio naturale per generare una pipeline di dati, ad esempio:

      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.
    

    Dopo aver inserito un prompt, fai clic su Invia.

Dopo l'invio del prompt, Data Engineering Agent genera una pipeline di dati e modifica i file SQLX di Dataform in base al prompt. L'agente applica queste modifiche direttamente ai file del tuo workspace.

Modifica una pipeline di dati

Per modificare la pipeline di dati, fai clic su Chiedi all'agente, quindi inserisci un prompt che suggerisca una modifica alla pipeline di dati.

Interfaccia della pipeline di dati con il pulsante "Chiedi all'agente" evidenziato.

Esamina le modifiche proposte dal Data Engineering Agent, quindi fai clic su Applica per applicarle.

Puoi anche modificare manualmente una query SQLX selezionando un nodo della pipeline e poi facendo clic su Apri.

Esamina una pipeline di dati

Puoi fare clic su un nodo della pipeline in una pipeline di dati generata dall'agente di data engineering per esaminarlo.

  • La scheda Configurazione mostra la query SQLX generata associata al nodo.
  • La scheda Anteprima dati mostra la tabella di input e output del file. Puoi visualizzare l'anteprima della trasformazione dei dati tramite questo nodo facendo clic su Esegui attività per eseguire l'attività con o senza dipendenze.

Risolvi gli errori della pipeline di dati

Se si verificano errori durante la generazione della pipeline di dati, completa tutti i prerequisiti per eseguire l'agente di data engineering.

Gli errori nella pipeline vengono visualizzati come esecuzioni non riuscite nella scheda Esecuzioni. Per utilizzare il Data Engineering Agent per eseguire un'analisi delle cause principali e ottenere suggerimenti per la risoluzione dei problemi, segui questi passaggi:

  1. Nella scheda Esecuzioni, fai clic sullo stato di un'esecuzione non riuscita, quindi su Esamina.

    Interfaccia della pipeline di dati con un'esecuzione non riuscita evidenziata e il pulsante Indaga nella scheda Esecuzioni.

    Si apre il riquadro Chiedi all'agente con una richiesta che invita l'agente a eseguire un'analisi delle cause principali dell'esecuzione non riuscita.

  2. Esamina il report sulla risoluzione dei problemi dell'agente.

Il report sulla risoluzione dei problemi include ulteriori informazioni sugli errori nel processo di generazione della pipeline. Puoi chiedere all'agente di correggere questi errori della pipeline in base al report.

Crea istruzioni per l'agente

Le istruzioni per l'agente sono istruzioni in linguaggio naturale per il Data Engineering Agent che ti consentono di archiviare istruzioni persistenti in modo che l'agente segua un insieme di regole personalizzate e predefinite. Utilizza le istruzioni dell'agente se vuoi che i risultati dell'agente siano coerenti in tutta l'organizzazione, ad esempio con le convenzioni di denominazione o per applicare una guida di stile.

Puoi creare un file di contesto GEMINI.MD come file di istruzioni per l'agente di data engineering. Puoi creare file di istruzioni dell'agente da utilizzare nel tuo workspace locale o utilizzare gli stessi file di istruzioni in più pipeline di dati con un repository esterno.

Per creare le istruzioni dell'agente:

  1. In Chiedi all'agente, fai clic su Istruzioni della pipeline.
  2. Nel riquadro Istruzioni per la pipeline, fai clic su Crea file di istruzioni.
  3. Nel file GEMINI.MD visualizzato, inserisci le istruzioni in linguaggio naturale.

    L'esempio seguente mostra un file di istruzioni dell'agente con diverse regole:

      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.
    
  4. Fai clic su Salva.

Per informazioni su come strutturare al meglio i file di istruzioni dell'agente, consulta Best practice per i file di istruzioni dell'agente.

Carica le istruzioni dell'agente da un repository esterno

Per riutilizzare un insieme di istruzioni dell'agente in più pipeline di dati, collega un repository esterno:

  1. In Chiedi all'agente, fai clic su Istruzioni della pipeline.
  2. In Repository esterno, seleziona Usa le istruzioni del repository esterno.
  3. Nei campi forniti, specifica un repository che contiene le istruzioni dell'agente che vuoi utilizzare con la pipeline di dati.
  4. Fai clic su Salva.

Supporto di AI e ML di BigQuery

L'agente di data engineering supporta molte funzioni e istruzioni BigQuery AI, ML e degli oggetti nelle pipeline SQLX di Dataform generate e nei file di istruzioni dell'agente (GEMINI.MD) che crei, tra cui:

Per eseguire pipeline Dataform che contengono funzioni di AI generativa o modelli remoti, il account di servizio o l'utente che esegue la pipeline deve disporre delle autorizzazioni necessarie per eseguire query di AI generativa. Quando l'agente di data engineering genera istruzioni DDL come CREATE MODEL o CREATE TABLE con la generazione autonoma di embedding, le configura come azioni Dataform operations (type: "operations") con hasOutput: true in modo che i nodi della pipeline downstream possano farvi riferimento utilizzando ${ref("RESOURCE_NAME")}. L'agente utilizza la funzione AI.SEARCH solo sulle tabelle in cui è abilitata la generazione autonoma di embedding.

Quando lavora con le funzioni ObjectRef, l'utente deve anche avere accesso delegato al bucket Cloud Storage sottostante. Per saperne di più, vedi Accesso delegato.

Per saperne di più sulle funzioni di AI e ML in BigQuery, consulta Introduzione all'AI in BigQuery.

Casi d'uso

Per attivare le funzioni di AI e ML supportate nelle pipeline di dati, utilizzale nei seguenti modi:

  • Chiedi all'agente Data Engineering di creare o modificare una pipeline. Ad esempio, se sei un data engineer che sta creando una pipeline ELT pianificata che arricchisce il testo non elaborato, estrae campi strutturati da documenti non strutturati o assegna un punteggio ai nuovi record, l'agente genera i file SQLX di Dataform e il grafico delle dipendenze appropriati.

  • Definisci regole di pipeline persistenti in un file di istruzioni dell'agente (GEMINI.MD), ad esempio per standardizzare gli endpoint del modello, gli ID connessione o le soglie di anomalia predefinite nelle pipeline della tua organizzazione.

La tabella seguente mostra esempi di prompt che attivano l'utilizzo di funzioni AI o ML per la pipeline di dati batch:

Caso d'uso Esempi di utilizzo Set di dati pubblico
Riassunto del testo in batch (AI.GENERATE) "Crea una tabella di gestione temporanea da bigquery-public-data.bbc_news.fulltext per gli articoli di "sport" e aggiungi una colonna che riassuma la colonna del corpo in 1-2 frasi." bigquery-public-data.bbc_news.fulltext
Estrazione di schemi strutturati (AI.GENERATE_TABLE) "Crea una tabella della pipeline che estrae uno schema strutturato (company_name STRING, key_topic STRING, is_earnings_related BOOL) dalla colonna body degli articoli di business in bigquery-public-data.bbc_news.fulltext." bigquery-public-data.bbc_news.fulltext
Arricchimento di oggetti multimodali (OBJ.GET_ACCESS_URL) "Crea una tabella di oggetti esterni nel nostro bucket di immagini dei prodotti Cloud Storage e crea una tabella downstream che genera un array image_description ed entità per ogni immagine utilizzando OBJ.GET_ACCESS_URL." Tabella degli oggetti di Cloud Storage (ad esempio, gs://cloud-samples-data/bigquery/tutorials/cymbal-pets/images/*.png)
Filtro dei dati semantici (AI.IF) "Crea una tabella pulita di articoli di tecnologia da bigquery-public-data.bbc_news.fulltext, filtrando per mantenere solo le righe che parlano di scoperte nell'intelligenza artificiale." bigquery-public-data.bbc_news.fulltext
Punteggio del sentiment in batch (AI.SCORE) "Crea una tabella arricchita da bigquery-public-data.bbc_news.fulltext per la categoria Intrattenimento con una colonna numerica sentiment_score che valuta il grado di sentiment positivo." bigquery-public-data.bbc_news.fulltext
Classificazione automatica della tassonomia (AI.CLASSIFY) "Utilizzando le recensioni dei film in bigquery-public-data.imdb.reviews, classifica automaticamente ogni recensione nei livelli della nostra tassonomia editoriale per Archetipo narrativo (ad es. 'Studio del personaggio', 'Spettacolo d'azione', 'Thriller psicologico') e Atmosfera di visione (ad es. 'Cupo e crudo', 'Incoraggiante', 'Suspense'). Scrivi i risultati insieme ai metadati dei film in una tabella selezionata." bigquery-public-data.imdb.reviews
Rollup semantico raggruppato (AI.AGG) "Per ogni film in bigquery-public-data.imdb.reviews, aggrega tutti i feedback del pubblico di centinaia di recensioni in un riepilogo esecutivo consolidato che evidenzi il consenso della critica, i principali elogi e i reclami ricorrenti degli spettatori. Raggruppa i risultati per movie_id e title insieme a metriche come il numero totale di recensioni e la valutazione media per produrre una tabella di intelligence unificata a livello di film per i dirigenti degli studi e i team di marketing." bigquery-public-data.imdb.reviews
Generazione di embedding in batch (AI.GENERATE_EMBEDDING) "Crea un nodo della pipeline che genera vector embedding per la colonna delle recensioni in bigquery-public-data.imdb.reviews e li materializza in una tabella delle caratteristiche." bigquery-public-data.imdb.reviews
Embedding autonomi e ricerca semantica (AI.EMBED, AI.SEARCH) "Crea una tabella di recensioni di film con la generazione di embedding autonomi abilitata nella colonna delle recensioni e crea una tabella report downstream che trovi le prime 10 recensioni corrispondenti a 'thriller psicologico che crea tensione'." bigquery-public-data.imdb.reviews
Previsione della domanda pianificata (AI.FORECAST) "Crea una tabella report giornaliera che preveda il numero di corse di bike sharing al giorno per i prossimi 30 giorni a partire dal giorno bigquery-public-data.san_francisco_bikeshare.bikeshare_trips." bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
Rilevamento di anomalie nella pipeline (AI.DETECT_ANOMALIES) "Crea una tabella di monitoraggio che rilevi le anomalie del volume di corse giornaliere nel 2018 utilizzando il 2017 come riferimento storico di bigquery-public-data.san_francisco_bikeshare.bikeshare_trips." bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
Report automatici sui fattori chiave (AI.KEY_DRIVERS) "Crea una tabella report che identifichi i fattori chiave delle variazioni del volume delle corse tra il 2017 e il 2018 utilizzando bigquery-public-data.austin_bikeshare.bikeshare_trips." bigquery-public-data.austin_bikeshare.bikeshare_trips
Rilevamento dei punti di variazione (ML.DETECT_CHANGE_POINTS) "Crea una tabella che rilevi i punti di variazione strutturale nel volume delle corse giornaliere da bigquery-public-data.san_francisco_bikeshare.bikeshare_trips." bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
Addestramento del modello con pre-elaborazione, valutazione e punteggio batch (CREATE MODEL, TRANSFORM, ML.EVALUATE, ML.PREDICT) "Crea una pipeline Dataform su bigquery-public-data.ml_datasets.census_adult_income che addestra un modello di regressione logistica con una clausola TRANSFORM per prevedere income_bracket, valuta il modello in una tabella di valutazione e genera previsioni in batch in una tabella di punteggio." bigquery-public-data.ml_datasets.census_adult_income
Segmentazione dei clienti (CREATE MODEL con KMEANS) "Crea una pipeline che addestra un modello di clustering k-means sulle misurazioni fisiche dei pinguini da bigquery-public-data.ml_datasets.penguins e assegna gli ID cluster a una tabella di output segmentata." bigquery-public-data.ml_datasets.penguins
Convalida automatica della deviazione dei dati (ML.VALIDATE_DATA_DRIFT) "Aggiungi una tabella di monitoraggio alla pipeline che convalida la deviazione delle caratteristiche tra la nostra tabella delle corse di riferimento del 2017 e la tabella delle corse di distribuzione del 2018 di bigquery-public-data.san_francisco_bikeshare.bikeshare_trips." bigquery-public-data.san_francisco_bikeshare.bikeshare_trips

Prompt di esempio

Le sezioni seguenti forniscono esempi di prompt che puoi utilizzare con l'agente di data engineering per sviluppare la tua pipeline di dati.

Aggrega i dati esistenti in una nuova tabella

Con questo prompt, l'agente di data engineering utilizza lo schema e gli esempi per dedurre il raggruppamento dei dati per chiave. In genere, l'agente configura una nuova tabella con descrizioni di tabelle e colonne.

  Create a daily sales report from the
  bigquery-public-data.thelook_ecommerce.order_items table into a
  reporting.daily_sales_aggregation table.

Crea una nuova colonna derivata e aggiungi controlli della qualità dei dati alla nuova tabella

Questo prompt mostra come aggiungere una tabella e una colonna e specificare contemporaneamente i controlli di qualità per la tabella:

  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 funzioni definite dall'utente nell'ambito della definizione del modello

L'agente di data engineering può anche configurare il DDL per creare funzioni definite dall'utente (UDF). Anche se l'agente non creerà effettivamente la funzione definita dall'utente, puoi crearla eseguendo la pipeline di dati. Queste funzioni definite dall'utente possono essere utilizzate nelle definizioni dei modelli nella pipeline di dati.

  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.

Arricchisci i dati non strutturati ed esegui previsioni ML batch in una pipeline

Questo prompt mostra come combinare il feature engineering comportamentale, la modellazione della classificazione di BigQuery ML e la personalizzazione dell'AI generativa tra i nodi della pipeline Dataform concatenati:

  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.

Best practice

Per migliorare i risultati quando utilizzi l'agente di data engineering e Dataform, ti consigliamo di seguire questi passaggi:

Utilizza le istruzioni dell'agente per le richieste comuni. Se applichi comunemente determinate tecniche o se apporti spesso le stesse correzioni all'agente, utilizza le istruzioni dell'agente come posizione centralizzata per archiviare istruzioni e richieste comuni.

Utilizza i piani degli agenti. I piani degli agenti possono essere utili per suddividere le attività complesse della pipeline. I piani dell'agente possono anche mostrare le ipotesi e le intenzioni dell'agente, quindi ti consigliamo di esaminarli per assicurarti che all'agente venga fornito il contesto corretto.

Dopo aver esaminato un piano, puoi modificarlo fornendo all'agente di data engineering feedback e modifiche. Ad esempio:

In the plan, ensure that all of the intermediate tables are views.

In alcuni casi, può essere utile chiedere all'agente di generare un piano che non richiede la tua approvazione esplicita. L'atto di far pianificare l'agente costringe il Data Engineering Agent a suddividere le sue azioni, il che spesso porta a risultati migliori. Puoi forzare l'agente a generare un piano ed eseguirlo automaticamente. Ad esempio:

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.

Scrivi in modo chiaro. Formula la tua richiesta in modo chiaro ed evita di essere vago. Se possibile, fornisci le origini dati di origine e di destinazione quando esegui il prompt, come mostrato nell'esempio seguente:

  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.

Fornisci richieste dirette e mirate. Fai una domanda alla volta e utilizza prompt concisi. Per i prompt con più di una domanda, elenca ogni parte distinta della domanda per migliorare la chiarezza, come mostrato nell'esempio seguente:

  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).

Fornisci istruzioni esplicite ed enfatizza i termini chiave. Puoi enfatizzare i termini o i concetti chiave nei prompt ed etichettare determinati requisiti come importanti, come mostrato nell'esempio seguente:

  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 ''.

Specifica l'ordine delle operazioni. Per le attività ordinate, struttura il prompt in elenchi, in cui gli elementi elencati sono suddivisi in passaggi piccoli e mirati, come mostrato nell'esempio seguente:

  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.

Perfeziona ed esegui l'iterazione. Continua a provare diverse frasi e approcci per vedere cosa produce i risultati migliori. Se l'agente genera SQL non valido o altri errori, guidalo con esempi o documentazione pubblica.

  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).