Introduzione a AI.AGG e al contesto di BigQuery
Da più di dieci anni BigQuery è il punto di riferimento per l'aggregazione strutturata di dati su scala petabyte, consentendo di calcolare somme finanziarie, contare utenti attivi e produrre medie storiche in pochi secondi. Tuttavia, con l’aumento esponenziale di dati non strutturati – log di applicazioni, trascrizioni di assistenza clienti, immagini di prodotto e report diagnostici – è emersa una lacuna critica: i tradizionali motori SQL relazionali non sono in grado di aggregare, sintetizzare ed estrarre temi semantici da milioni di righe di testo o dati multimodali.
BigQuery ha risposto introducendo funzioni AI a livello di riga, come AI.GENERATE e AI.CLASSIFY. Queste consentono di eseguire inferenze su singole righe, ma l’analisi olistica di dataset massivi richiede ancora una soluzione di “map‑reduce” esterna, con gestione di rate‑limit, fallback e ricostruzione di sintesi a più livelli.
AI.AGG, attualmente in preview, elimina questa complessità. Si tratta di una funzione gestita, multi‑livello, integrata nativamente in GoogleSQL, che permette di lanciare istruzioni in linguaggio naturale su milioni di righe con una singola query SQL, sfruttando il modello di linguaggio avanzato Gemini.
Architettura a più livelli di AI.AGG
AI.AGG astrae la complessità ingegneristica del chunking e dell’esecuzione parallela. Quando si esegue una query AI.AGG, il motore di BigQuery orchestra automaticamente una sequenza di operazioni interamente all’interno del database:
- Validazione a livello di riga: il sistema verifica che nessuna riga superi il limite di contesto massimo (payload > 10 MiB vengono scartati o generano errore).
- Batching sicuro per il contesto: le righe vengono raggruppate dinamicamente in batch più piccoli, in modo da rimanere entro i limiti di token dell’endpoint Gemini selezionato.
- Inferenza parallela: il prompt in linguaggio naturale viene applicato a ciascun batch in parallelo, generando sintesi semantiche intermedie tramite Vertex AI.
- Sintesi ricorsiva: le uscite intermedie vengono nuovamente raggruppate e inviate al LLM con lo stesso prompt. Questo ciclo si ripete ricorsivamente fino a produrre una singola stringa aggregata per ogni clausola
GROUP BY.
Poiché AI.AGG richiede ragionamento profondo per sintetizzare concetti tra batch disparati, utilizza modelli LLM a pieno peso in tutte le fasi, a differenza di funzioni a livello di riga come AI.CLASSIFY, che possono sfruttare modelli proxy più leggeri.
Supporto multimodale
AI.AGG gestisce nativamente sia input testuali sia multimodali. Grazie alle Object Tables di BigQuery e alla funzione OBJ.GETACCESSURL, è possibile aggregare insight visivi da migliaia di immagini archiviate in Cloud Storage senza spostare o transcodificare i dati.
Regola di esclusività NULL e consigli pratici
Quando si valutano più colonne, spesso si passa una STRUCT alla funzione. Tuttavia, se anche un solo campo all’interno della struttura è NULL, l’intera riga viene considerata NULL e scartata silenziosamente. Per evitare perdite di dati, è consigliabile avvolgere i campi nullable con IFNULL(), ad esempio IFNULL(description, 'No data provided'), garantendo che ogni riga entri correttamente nel pipeline.
Casi d'uso trasformativi per le imprese
Il vero potere di AI.AGG si manifesta quando viene combinato con le tradizionali operazioni GROUP BY di SQL.
- Analisi diagnostica di log ad alto volume
I log generati da microservizi distribuiti a livello globale nascondono degradazioni sottili (es. thrashing di memoria o drift dell’orologio) che raramente generano errori fatali. Con AI.AGG, i team DevOps possono raggruppare milioni di log per componente di sistema e produrre sintesi leggibili che evidenziano lo “stato normale” prima di cercare anomalie, riducendo il rischio di allucinazioni del modello.
- Costruzione del “cloud dati agentico”
AI.AGG non è solo uno strumento di reporting, ma un motore di orchestrazione dinamica. Immaginate un archivio massiccio di ticket legacy senza categorizzazione. AI.AGG può leggere il testo grezzo, sintetizzare una lista definitiva di categorie e restituirla come array JSON rigoroso. Successivamente, l’array può essere estratto con
JSONVALUEARRAYe alimentare classificatori a livello di riga (AI.CLASSIFY), creando una pipeline di etichettatura autonoma interamente in SQL, senza script Python esterni.
Prompt engineering come ingegneria dei dati
Integrare modelli generativi in pipeline SQL deterministiche richiede prompt rigorosi:
- Contratti di output espliciti: trattare il prompt come un contratto API, aggiungendo istruzioni del tipo “Restituisci esattamente un array JSON valido di stringhe. Non includere blocchi markdown o testo conversazionale”.
- Delimitatori contestuali: usare concatenazioni di stringa con etichette esplicite (es. “- Descrizione: ”) per ancorare il LLM e impedire la confusione tra campi.
- Gestione degli stati di fallimento: indicare al modello di restituire
nullper informazioni mancanti anziché indovinare, evitando allucinazioni di schema. - Ancoraggio few‑shot: fornire un esempio letterale della struttura attesa all’interno del prompt per guidare l’attenzione del modello.
Governance, gestione dei costi e guardrail
Portare carichi di lavoro semantici in produzione richiede un monitoraggio operativo attento. Poiché l’architettura ricorsiva invia più token al modello rispetto ai dati originali, è consigliabile filtrare rigorosamente con WHERE e LIMIT per contenere i costi. Per dataset statici di grandi dimensioni, BigQuery offre il Gemini Context Caching, che riduce i token di input e la latenza.
Utilizzate la utility AI.COUNTTOKENS per stimare i costi prima dell’esecuzione. AI.AGG opera all’interno del framework di governance di BigQuery, supportando i VPC Service Controls (VPC‑SC) per prevenire l’esfiltrazione dei dati. In caso di errore transitorio in un batch, la funzione degrada elegantemente, saltando le righe fallite anziché interrompere l’intera query.
Guardrail da tenere a mente nella preview:
- L’output finale per ogni gruppo SQL è limitato a 10 000 token.
- Le righe di payload non devono superare 10 MiB.
- Per array multimodali, limitare a meno di 10 immagini per riga per evitare scarti silenziosi.
- Per stabilità ottimale, non superare 20 milioni di righe e 1 000 gruppi distinti per query.
Esempi pratici di utilizzo
Di seguito alcuni esempi di query che combinano AI.AGG con metriche SQL tradizionali.
Scoperta di argomenti a livello macro
Supponiamo di voler riassumere i temi trattati dai top autori su una piattaforma di commenti. La query seguente raggruppa per autore, calcola il numero di commenti e utilizza AI.AGG per sintetizzare una narrazione concisa.
WITH topcommenters AS (
SELECT
`by` AS author,
`text`
FROM `bigquery-public-data.hacker_news.comments`
WHERE `by` IN (
SELECT author
FROM `bigquery-public-data.hacker_news.comments`
GROUP BY author
ORDER BY COUNT(*) DESC
LIMIT 10
)
)
SELECT
author,
COUNT(*) AS comment_count,
AI.AGG(
text,
'Summarize in one paragraph what this author typically discusses, focusing on recurring topics and tone.',
'gemini-1.5-pro'
) AS author_summary
FROM top_commenters
GROUP BY author
ORDER BY comment_count DESC;
Il risultato fornisce, per ciascun autore, sia la metrica quantitativa (numero di commenti) sia una sintesi qualitativa generata dal modello.
Aggregazione di insight visivi da immagini di prodotto
Con le Object Tables è possibile analizzare immagini senza spostarle. L’esempio seguente estrae descrizioni di prodotto da migliaia di foto archiviate in Cloud Storage, aggregandole per categoria di prodotto.
SELECT
category,
AI.AGG(
OBJ.GETACCESSURL(image_object),
'Describe the main visual characteristics of the products in these images, focusing on color, shape, and any visible branding.',
'gemini-1.5-pro-vision',
STRUCT('maximagesper_row', 5)
) AS visual_summary
FROM `mydataset.productimages`
GROUP BY category;
Il risultato è una sintesi visiva per ciascuna categoria, ottenuta senza alcun trasferimento di dati.
Conclusioni
AI.AGG rappresenta un passo decisivo verso l’unificazione di analisi strutturata e semantica all’interno di BigQuery. Grazie a un’architettura a più livelli che gestisce in modo trasparente il chunking, l’inferenza parallela e la sintesi ricorsiva, le organizzazioni possono passare da pipeline esterne complesse a semplici query SQL per ottenere insight da dati testuali e multimodali a scala petabyte.
Con le best practice illustrate – validazione dei payload, gestione dei NULL, prompt rigorosi e monitoraggio dei costi – le imprese possono adottare AI.AGG in produzione mantenendo governance, sicurezza e controlli di spesa. La preview è già disponibile; provare subito AI.AGG significa sperimentare il futuro dell’aggregazione semantica direttamente nella piattaforma di data analytics più potente al mondo.
