Análisis con el Data Agent Kit y el IDE de Antigravity

1. Introducción

Es lunes por la mañana y el director financiero te acaba de enviar un mensaje. El valor promedio del pedido disminuyó un 7% este mes, pero los ingresos totales se mantuvieron sin cambios. Algo no cuadra, y la junta quiere respuestas para el viernes.

Tu empresa, Cymbal Pets, es uno de los minoristas de artículos para mascotas en línea más grandes de EE.UU. Los datos que necesitas están dispersos en tres servicios de Google Cloud: datos de transacciones en BigQuery, registros de clientes y productos en Cloud SQL y archivos de marketing en Cloud Storage. Normalmente, realizar una investigación entre servicios como esta implica cambiar entre consolas, escribir código estándar de conexión y unir los resultados de forma manual.

En este codelab, usarás el Kit de agente de datos (DAK) de Google Cloud en el IDE de Antigravity para investigar la anomalía con lenguaje natural. Describes lo que buscas y el agente de IA se encarga de las conexiones, el lenguaje SQL y las uniones entre servicios en BigQuery, Cloud SQL y Cloud Storage. Una vez que resuelvas el caso, le pedirás al agente que cree una canalización de dbt que ponga en funcionamiento tus hallazgos, depure un error real de modelado de datos y entregue una recomendación respaldada por una previsión al director financiero.

Actividades

  • Descubre activos de datos en BigQuery, Cloud SQL y Cloud Storage con el Knowledge Catalog
  • Investiga una anomalía consultando varios servicios en una sola conversación con Herramientas de MCP
  • Crea una canalización de dbt para organizar y unir datos de varios servicios con modelos de organización y pruebas automatizadas.
  • Depura un problema de modelado de datos mientras el agente realiza un autodiagnóstico y refactoriza un error de fan-out.
  • Predecir tendencias futuras y ofrecer una recomendación basada en datos con AI.FORECAST de BigQuery

Requisitos

  • Un navegador web, como Chrome
  • Un proyecto de Google Cloud con la facturación habilitada.
  • Conocimientos básicos de SQL y la consola de Google Cloud

Este codelab es para profesionales de datos intermedios (ingenieros de estadísticas, analistas de datos y científicos de datos).

Los recursos creados en este codelab deberían costar menos de USD 5.

2. Antes de comenzar

En esta sección, ejecutarás una secuencia de comandos de configuración que aprovisiona todo tu entorno de lab: un conjunto de datos de BigQuery con datos de pedidos, una instancia de Cloud SQL Postgres con datos de clientes y productos, y un bucket de Cloud Storage con registros de campañas promocionales. La secuencia de comandos tarda entre 8 y 10 minutos en completarse, y el aprovisionamiento de Cloud SQL es el cuello de botella.

Inicie Cloud Shell

Usarás Google Cloud Shell para ejecutar la secuencia de comandos de configuración.

  1. Haz clic en Activar Cloud Shell en la parte superior de la consola de Google Cloud.

Abre Cloud Shell

  1. Una vez que te conectes, configura tu ID del proyecto y confirma tu entorno:
gcloud config set project <<YOUR_PROJECT_ID>>
export PROJECT_ID=$(gcloud config get-value project)

Deberías ver un mensaje similar a este:

Your active configuration is: [cloudshell-####]
Updated property [core/project]

Clona el repositorio

Clona el repositorio del codelab en tu entorno de Cloud Shell:

cd ~/
git clone --filter=blob:none --no-checkout https://github.com/GoogleCloudPlatform/devrel-demos.git
cd ~/devrel-demos
git sparse-checkout init --cone
git sparse-checkout set codelabs/agentic-data-labs
git checkout main
cd codelabs/agentic-data-labs/

Ejecuta la secuencia de comandos de configuración

La secuencia de comandos de configuración prepara todo tu entorno de lab en unos minutos. Se encarga de habilitar las APIs, cargar y aumentar los datos de BigQuery, subir recursos de promoción a GCS y, luego, genera automáticamente un trabajador en segundo plano para aprovisionar y configurar Cloud SQL Postgres en segundo plano mientras inicias el codelab.

La secuencia de comandos genera automáticamente una contraseña de Cloud SQL de forma segura y la guarda en tu archivo .env.

cd ~/devrel-demos/codelabs/agentic-data-labs/scripts
chmod +x setup.sh setup_sql.sh
./setup.sh

Cuando termine, verás un resumen de tu entorno en primer plano:

╔══════════════════════════════════════════════════════╗
║   Base Setup complete!                               ║
╚══════════════════════════════════════════════════════╝

Your core BigQuery and GCS assets are ready.
Cloud SQL is currently provisioning in the background and will be fully ready by Step 4.

  BigQuery:   YOUR_PROJECT_ID.cymbal_pets
              ├── orders
              └── order_items

  GCS:        gs://YOUR_PROJECT_ID-cymbal-pets-raw
              └── promo_events.json

Mientras continúas con los siguientes pasos del lab, la base de datos se aprovisiona y se inicializa en segundo plano. Puedes supervisar su progreso en cualquier momento en un panel de terminal independiente con el siguiente comando:

tail -f /tmp/cloudsql_setup.log

Observa la arquitectura de datos: los datos transaccionales (pedidos y artículos de pedidos) se encuentran en BigQuery, mientras que los datos operativos (clientes, perfiles de mascotas y productos) se encontrarán en Cloud SQL. Esta división refleja cómo se distribuyen los datos en los servicios de las organizaciones reales y es lo que hace que una investigación entre servicios sea interesante.

Resumen de la sección: Ejecutaste la secuencia de comandos de configuración para iniciar el entorno de lab y comenzaste el aprovisionamiento de la base de datos en segundo plano.

3. Configura el IDE y el kit del agente de datos

Abre el IDE de Antigravity

No es necesario que esperes a que Cloud SQL termine. Abre el IDE de Antigravity y conéctalo a tu proyecto de Google Cloud.

  1. Si aún no lo hiciste, descarga e instala el IDE de Antigravity desde la página de descarga de Google Antigravity.
  2. Inicia la aplicación de escritorio del IDE de Antigravity.
  3. Crea una carpeta nueva y vacía en tu máquina local (p. ej., llamada agentic-data-labs) y ábrela en el IDE seleccionando Abrir carpeta. Este será tu lugar de trabajo local para el codelab.

Configura la carpeta del proyecto del IDE de Antigravity

Instala la extensión del Kit de agente de datos

La extensión Google Cloud Data Agent Kit proporciona una integración profunda con los servicios de datos de Google Cloud directamente en tu editor, lo que te permite interactuar con BigQuery, Cloud SQL, Cloud Storage y muchos más sin cambiar de contexto.

  1. En el IDE de Antigravity, haz clic en el ícono de Extensiones en la barra de actividad que se encuentra en el extremo izquierdo de la pantalla (parece cuatro cuadrados).
  2. En la barra de búsqueda que se encuentra en la parte superior del panel Extensiones, escribe Google Cloud Data Agent Kit.
  3. Busca la extensión llamada Google Cloud Data Agent Kit publicada por googlecloudtools.
  4. Haz clic en el botón Install.
  5. Es posible que aparezca un mensaje que pregunte: "¿Confías en el publicador "googlecloudtools" y sus extensiones?". Haz clic en Confiar en los publicadores y, luego, en Instalar para continuar.

Instala la extensión del Kit de agente de datos

Una vez instalado, verás un nuevo ícono de Google Cloud Data Agent Kit en la barra de actividad, en el extremo izquierdo del IDE de Antigravity.

Autentica y configura la extensión

Después de la instalación, conecta la extensión a tu proyecto de Google Cloud.

  1. Se debería abrir automáticamente una página de incorporación titulada "Te damos la bienvenida al kit de agentes de datos de Google Cloud". Si no accediste a tu cuenta de Cloud, sigue las instrucciones para permitir el acceso.
  2. En la sección Resumen de la configuración, busca el campo del proyecto. Haz clic en el menú desplegable y selecciona tu proyecto de Google Cloud. Establece tu región como us-central1. Luego, selecciona Configurar servidores de MCP.

Configuración inicial de la extensión del Kit de Data Agent

  1. En el panel Configuración del MCP, haz clic para habilitar BigQuery y Cloud SQL. Luego, haz clic en Comenzar.

Configura servidores de MCP

Explora las opciones de configuración

Una vez que se complete la configuración, accederás a la página "Comienza a usar el kit de agentes de datos de Google Cloud".

  1. En "Configuración", haz clic en Comenzar.
  2. Se abrirá el panel Configuración del agente de datos. Explora las pestañas:
    • Proyecto y región: Verifica el ID del proyecto seleccionado y comprueba que las APIs requeridas (API de Cloud Storage, API de BigQuery, API de Catalog y API de Cloud SQL Admin) estén habilitadas.
    • BigQuery: Configura la ubicación predeterminada para tus consultas de BigQuery. Usa la región us-central1.
    • Configura servidores de MCP: Consulta los servidores de MCP habilitados (BigQuery, Notebooks, Cloud SQL, etc.) que permiten que los agentes de IA interactúen de forma segura con tus datos.
    • Habilidades: Explora las habilidades prediseñadas que proporcionan a los agentes capacidades especializadas para tareas de datos complejas.

Panel de configuración del agente de datos

Resumen de la sección: Abriste el IDE de Antigravity, lo conectaste a tu proyecto de Google Cloud, configuraste los servidores MCP remotos del Kit de agente de datos y verificaste la conexión ejecutando una consulta en BigQuery.

4. Descubre tus datos

Es hora de preparar la escena. Esta es la situación: El director financiero dice que el valor promedio del pedido disminuyó un 7% el mes pasado, pero los ingresos totales se mantuvieron estables. Antes de pedirle al agente que investigue, primero debes comprender con qué datos estás trabajando.

En esta sección, explorarás manualmente el panel del Kit de agentes de datos para conocer su estructura. Comprender tus datos antes de comenzar a consultarlos es un primer paso fundamental en cualquier investigación.

Explora las tablas de BigQuery

  1. En el panel de Data Agent Kit, en CATALOG, expande tu proyectoBigQuerycymbal_pets.
  2. Haz clic en la tabla orders. Se abrirá una pestaña nueva en la que se mostrarán los detalles de la tabla.
  3. Explora las pestañas que se encuentran en el lado izquierdo del visualizador de tablas:
    • Datos: Obtén una vista previa de las filas reales. Desplázate por el conjunto de datos y examina las columnas.
    • Esquema: Revisa los nombres y los tipos de las columnas. Observa los campos como order_type y promo_code, que serán importantes más adelante.
    • Otras pestañas (Detalles, Estadísticas, Perfil de datos, etc.): Accede a los metadatos, el linaje de datos y los detalles de calidad que normalmente encontrarías en la consola de Google Cloud, todo sin salir de tu editor.

Tabla de pedidos de BigQuery

  1. Ahora haz clic en la tabla order_items y revisa su esquema. Observa los campos quantity y price.

Explora las tablas de Cloud SQL

La secuencia de comandos de configuración también colocó datos de clientes, mascotas y productos en una base de datos PostgreSQL en Cloud SQL.

  1. En el panel del Kit del agente de datos, haz clic en Búsqueda universal en la sección CATÁLOGO.
  2. En el cuadro de búsqueda, escribe pet_profiles y presiona Intro.
  3. En los resultados de la búsqueda, haz clic en el resultado de la tabla de PostgreSQL para pet_profiles (en la instancia de Cloud SQL de tu proyecto). Observa que el acordeón de la barra lateral se expande automáticamente y te muestra exactamente dónde se encuentra la tabla en el árbol de la base de datos. Ahora, haz clic en la tabla customers que se encuentra justo arriba en el árbol para abrir sus detalles y explora las pestañas Esquema y Detalles.

Esquema de Cloud SQL

Explora archivos de Cloud Storage

Por último, los registros de las campañas de marketing y promocionales se almacenan como archivos JSON sin procesar en Cloud Storage.

  1. En el panel del kit del agente de datos de la izquierda, expande la sección CLOUD STORAGE. Ubica el bucket sin procesar de tu proyecto (YOUR_PROJECT_ID-cymbal-pets-raw).
  2. Haz clic en el archivo promo_events.json dentro del bucket. Se abrirá una nueva pestaña del editor, que te permitirá ver el contenido sin procesar de las líneas JSON de las campañas de marketing directamente en el IDE.

Vista previa de promo_events.json de Cloud Storage

Take Stock

Esto es lo que ahora sabes sobre el panorama de datos:

Servicio

Tablas

Qué hay

BigQuery

orders, order_items

Alrededor de 1.9 millones de pedidos y 4.3 millones de líneas de pedido en el período comprendido entre 2023 y 2025

Cloud SQL

customers, pet_profiles, products

Alrededor de 92,000 clientes, alrededor de 7,600 perfiles de mascotas y 206 productos

Cloud Storage

promo_events.json

Registros de campañas promocionales

Los datos se distribuyen en tres servicios. En un flujo de trabajo tradicional, deberías configurar conexiones, escribir código de integración y unir los resultados de forma manual. En el siguiente paso, permitirás que el agente de IA se encargue de todo eso a través de una sola conversación.

Resumen de la sección: Usaste el panel del kit de Data Agent para explorar manualmente la arquitectura de datos en BigQuery, Cloud SQL y Cloud Storage. Ahora sabes dónde se encuentran los datos y qué campos están disponibles, por lo que puedes comenzar la investigación.

5. Sigue los números

Ahora comienza la investigación. Usarás el panel de chat para pedirle al agente de IA que extraiga los datos del valor promedio del pedido (AOV) de BigQuery. El AOV es una métrica comercial que representa el importe promedio en dólares que se gasta por pedido. El agente realizará la consulta en tu nombre con las herramientas de MCP, y podrás ver cada consulta de SQL que ejecute.

Extrae la tendencia del valor promedio del pedido

  1. En el panel de chat que se encuentra en el lado derecho del IDE, escribe la siguiente instrucción y presiona Intro:
    Calculate our monthly average order value from August 2024 through January 2025
    using the orders and order_items tables in BigQuery.
    
  2. Aprobar los permisos de acceso a los datos Es saludable ser cauteloso con los agentes de IA que ejecutan consultas en tus bases de datos. El Kit de agente de datos te permite mantener el control, ya que se detiene para pedir permiso explícito antes de acceder a los datos. Cuando se te solicite, puedes elegir una de las siguientes opciones:
    • Permitir esta vez: Aprueba un solo uso (ideal para auditar búsquedas de alto riesgo).
    • Permitir siempre: Aprueba el uso continuo de esta herramienta específica para la sesión.
    • No: Bloquea la acción por completo.
    Para disfrutar de la mejor experiencia en el lab, selecciona Sí y permitir siempre.Nota: Los permisos se otorgan por herramienta. Es probable que veas algunos mensajes más en breve, ya que el agente usa herramientas nuevas (como list_table_ids o execute_sql_readonly). También puedes "permitir siempre" estos mensajes.

Mensaje de permiso de la herramienta de MCP

  1. Observa cómo funciona el agente. El panel de chat también funciona como un registro de transparencia de todo lo que hace el agente. En lugar de ser una caja negra, el agente te muestra su razonamiento y sus acciones en tiempo real.
  2. Una vez que el agente termine, haz clic en el menú desplegable Worked for Xm debajo de la instrucción para expandir el registro de trabajo completo. Aquí puedes inspeccionar exactamente cómo obtuvo tu respuesta:
    • Explorado: Expande estos elementos para ver al agente leer archivos, explorar carpetas o llamar a herramientas de MCP (como datacloud_bigquery_remote / list_table_ids y execute_sql_readonly). Puedes ver los argumentos JSON exactos que se pasan a las herramientas y el SQL que se ejecuta.
    • Ejecutado: Expande estos elementos para ver los comandos de terminal que ejecutó el agente, como gcloud config list.

Registro de transparencia del agente que muestra las llamadas a las herramientas del MCP

  1. Revisa los resultados. El agente debe devolver una tabla de los valores del AOV mensual. Comprueba los números por tu cuenta: los meses anteriores rondan los USD 110, y, luego, en enero, bajan a alrededor de USD 103. Esa es la anomalía que marcó el director financiero.

Desglose por canal

El AOV general disminuyó, pero ¿de dónde proviene la disminución? Averigüémoslo.

  1. En el panel Chat, escribe lo siguiente:
    January looks lower than the prior months. 
    Break down January's AOV by order_type to see what's going on?
    
  2. El agente ejecuta otra consulta de BigQuery, esta vez agrupada por order_type. Revisa los resultados con atención.Deberías ver algo sorprendente: el AOV en línea y sin conexión se mantienen estables en USD 110 aproximadamente. Sin embargo, hay un nuevo canal, B2B-Wholesale, con un AOV mucho más bajo (alrededor de USD 75). Este nuevo canal está reduciendo el promedio combinado.
  3. El agente puede sugerir de forma proactiva que se investiguen los clientes B2B. Si no es así, no hay problema. Lo harás en el siguiente paso.

Resumen de la sección: Tú mismo detectaste la disminución del AOV de enero a partir de una extracción de datos neutral y, luego, profundizaste en order_type para identificar B2B-Wholesale como el nuevo canal que reduce el promedio combinado. Ahora debes averiguar quiénes son estos clientes B2B.

6. Cruzar el límite del servicio

Identificaste B2B-Wholesale como el canal anómalo en BigQuery, pero los datos de los clientes se encuentran en Cloud SQL. Con el Kit de agente de datos, puedes mantener la misma conversación y se encarga del límite del servicio.

Investiga a los clientes B2B

  1. En el panel de chat, escribe lo siguiente:
    Who are these B2B customers? Their profiles should be in our Cloud SQL database. 
    Check for:
    - Who they are
    - When they signed up
    - Whether they're new or existing customers
    
  2. Mira el panel de chat con atención. Esta vez, debería aparecer una herramienta del MCP diferente. Ahora el agente consulta Cloud SQL en lugar de BigQuery.El agente se conecta a la instancia de Cloud SQL Postgres cymbal-pets-ops y ejecuta una consulta en la tabla customers. Haz clic en Mostrar detalles para ver el código SQL.
  3. Revisa los resultados. El agente debe mostrar varios hallazgos clave:
    • Todos los clientes B2B tienen customer_type = 'Business'
    • Todos se registraron en los últimos 30 días (enero de 2025).
    • Sus valores de last_name son nombres de empresas, como "Pet Supply Co", "Animal Care LLC" y "Happy Paws Inc".
    • Hay alrededor de 100, una cohorte que no existía antes de este mes.

Conecta el código promocional

  1. El agente puede notar por sí solo que muchos pedidos B2B en BigQuery tienen un valor de promo_code de BIGORDER25. Si ofrece esta observación, genial. La investigación avanza de forma natural.Si el agente no menciona el código promocional, indícale que lo haga:
    I noticed a promo_code field on the orders table in BigQuery. 
    Check what promo codes appear on the B2B-Wholesale orders?
    
  2. El agente vuelve a consultar BigQuery y descubre que aproximadamente el 92% de los pedidos de B2B-Wholesale tienen promo_code = 'BIGORDER25'. Casi toda la actividad B2B está vinculada a una sola campaña promocional, por lo que el agente debería preguntarse de dónde provino este código promocional. Es posible que pregunte si hay datos promocionales en algún otro lugar del entorno. (Sí, en Cloud Storage).

Resumen de la sección: El agente consultó Cloud SQL para revelar que los clientes B2B son todas empresas nuevas que se registraron en enero de 2025. En combinación con el hallazgo de BigQuery de que aproximadamente el 92% de sus pedidos incluyen promo_code = 'BIGORDER25', el rastro ahora apunta a una campaña promocional. Es hora de encontrar la fuente.

7. Encuentra la pieza faltante

Ya tienes dos servicios. Solo falta uno. Sabes qué sucedió (los pedidos B2B reducen el AOV) y quiénes lo hacen (los clientes empresariales nuevos de los últimos 30 días). Ahora debes encontrar por qué, y la respuesta está en Cloud Storage.

Verifica el bucket de GCS

  1. En el panel de chat, escribe lo siguiente:
    Good catch on the promo code. 
    We might have promotional campaign data in our GCS bucket. 
    Can you check what's there?
    
  2. El agente no tiene una herramienta de MCP preconfigurada para Cloud Storage, por lo que automáticamente cambia a su herramienta de terminal para ejecutar comandos gcloud storage. Te pedirá permiso para ejecutar comandos como gcloud storage ls. Permite estos comandos y, luego, expande el registro Ejecutado en el panel de chat para ver los comandos exactos de la CLI que se usaron para leer y analizar el archivo promo_events.json.
  3. El agente debe identificar tres campañas promocionales en el archivo:

    Campaña

    Código promocional

    Descuento

    Objetivo

    Fechas

    Oferta de verano para el cuidado de mascotas

    PETSUMMER15

    15% de descuento

    Todos

    Junio de 2024

    B2B Wholesale Push

    BIGORDER25

    25% de descuento

    B2B

    Enero de 2025

    Bonificación de festividades para miembros del programa de lealtad

    LOYAL10

    10% de descuento

    Miembros del programa de lealtad

    Dec 2024

    Ahí está. El código promocional BIGORDER25 se asigna a una campaña llamada B2B Wholesale Push: 25% de descuento para clientes B2B con una cantidad mínima de pedido de 50 unidades. Esta es la prueba irrefutable.

Revisión general

  1. Pídele al agente que sintetice todo lo que encontró:
    Put it all together. 
    What happened to our average order value?
    
  2. El agente ofrece una síntesis clara y estructurada que conecta las tres fuentes de datos. Debería explicar algo como lo siguiente:
    1. La disminución del AOV es real, pero no se trata de una disminución en el negocio existente. El AOV en línea y sin conexión se mantiene estable en USD 110 aproximadamente.
    2. En enero de 2025, apareció un nuevo canal B2B mayorista, con alrededor de 25,000 pedidos y un AOV mucho más bajo (de USD 75 a 100).
    3. Los clientes B2B son 100 cuentas comerciales nuevas que se registraron en los últimos 30 días (Cloud SQL).
    4. La actividad se basa en una campaña promocional ("B2B Wholesale Push") que ofrece un 25% de descuento en pedidos masivos con un mínimo de 50 unidades (Cloud Storage).
    5. Los ingresos son estables porque el gran volumen de pedidos B2B compensa los precios más bajos. Sin embargo, los márgenes unitarios se comprimen considerablemente (se reducen en un 65% aproximadamente) con el descuento mayorista del 25%, lo que amenaza gravemente la rentabilidad general cuando se tienen en cuenta los gastos operativos y de envío.
    Este es el momento en que la investigación hace clic. La pregunta del CFO tiene una respuesta clara: el AOV disminuyó porque un programa B2B impulsado por el marketing inundó enero con pedidos de gran volumen y bajo precio. El negocio existente está en buen estado.

Resumen de la sección: Encontraste la prueba irrefutable en Cloud Storage: una campaña promocional B2B que ofrece un 25% de descuento en pedidos masivos. El agente sintetizó los hallazgos de los tres servicios en una narrativa clara. Se completó la fase de investigación. A continuación, pondrás en práctica estos hallazgos.

8. Compila la canalización

Resolviste el caso. Ahora, el director financiero quiere que este análisis se actualice automáticamente. En esta sección, le pedirás al agente que cree un proyecto de dbt que organice los datos de BigQuery y genere una tabla de hechos para el análisis continuo del AOV.

Aquí es donde el agente pasa de ser investigador a ingeniero. Verás cómo se genera un proyecto dbt completo y se ejecuta la canalización completa, todo desde una sola instrucción.

Crea la estructura del proyecto de dbt

  1. En el panel de chat, escribe la siguiente instrucción. Está deliberadamente orientado a objetivos en lugar de ser paso a paso. Le indicas al agente qué quieres, no cómo construirlo:
    I want to productionize our AOV analysis so it updates automatically. Build a dbt project that:
    1. Creates staging models for the BigQuery tables (orders and order_items) and a mart called fct_order_analysis that calculates AOV by channel and month
    2. Add a uniqueness test on order_id and run dbt build
    
  2. Observa la autocorrección: Si expandes el registro "Worked for Ns", es posible que veas que el agente busca dbt y, al no encontrarlo, ejecuta automáticamente comandos para crear un entorno virtual de Python (.venv). Se encarga de la configuración del entorno por ti.

El agente configura el entorno virtual

  1. Revisa el plan de implementación: El agente generará un plan de implementación formal. Puedes revisar los archivos y la arquitectura propuestos, agregar comentarios si es necesario y hacer clic en Continuar para permitir que el agente ejecute el plan.

Plan de implementación del agente

  1. Observa el panel de chat mientras el agente ejecuta su plan y escribe los archivos .sql y los parámetros de configuración de YAML necesarios. Cuando finalice y compile el proyecto correctamente, se mostrará un resumen de los cambios. Haz clic en Aceptar todo para agregar estos archivos a tu espacio de trabajo.

Cómo aceptar cambios en el código del agente

  1. Explora el proyecto de dbt recién generado en el Explorador de la izquierda. Deberías ver una estructura similar a la siguiente:
    dbt/
    ├── models/
    │   ├── marts/
    │   │   └── fct_order_analysis.sql
    │   └── staging/
    │       ├── schema.yml
    │       ├── sources.yml
    │       ├── stg_order_items.sql
    │       └── stg_orders.sql
    ├── dbt_project.yml
    └── profiles.yml
    

Estructura del proyecto de dbt en el Explorador de archivos

  1. Haz clic en los archivos del modelo .sql para revisar el código SQL que generó el agente. Presta atención a cómo maneja lo siguiente:
    • Modelos de staging: Columnas limpias y renombradas con referencias de origen
    • El modelo de mart: La lógica de unión y el cálculo del AOV por canal
  1. Verifica en el panel de chat la confirmación del agente de que se materializaron todos los modelos y se aprobaron todas las pruebas. Los resultados del AOV del mercado deben confirmar lo que encontraste durante la investigación:
    - Online: ~$110
    - Offline: ~$110
    - B2B-Wholesale: ~$75 to $77
    

Resumen de la sección: El agente creó un proyecto de dbt a partir de una sola instrucción orientada a un objetivo: generó modelos de etapa de pruebas y de mart, ejecutó un dbt build exitoso y confirmó la anomalía del AOV. A continuación, le harás una pregunta compleja para ver cómo el agente maneja la complejidad.

9. Cuando fallan las pruebas, el agente depura

La canalización funciona, pero solo usa datos de BigQuery. El equipo de productos desea enriquecer el análisis con datos de los perfiles de los clientes y sus mascotas de Cloud SQL para poder recomendar productos según las necesidades dietéticas. Esto significa que el agente debe superar el límite de Cloud SQL y controlar un error sutil de modelado de datos, una unión clásica de "fan-out" del modelado dimensional.

Según el modelo que uses y sus capacidades de razonamiento, el agente controlará esta solicitud de una de las siguientes dos maneras: Evitar el error de forma proactiva (opción A) o Autocorrección después de una prueba fallida (opción B). Veamos qué ruta toma tu agente.

Cómo activar la solicitud

  1. En el panel de chat, escribe lo siguiente:
    Enrich fct_order_analysis with customer data and pet profile data from our Cloud SQL database. 
    Include customer type and each customer's pets and dietary needs so we can recommend products. 
    Keep the uniqueness test on order_id and run dbt build.
    
  2. Observa cómo funciona el agente. Descubrirá las tablas de Cloud SQL, determinará cómo transferir los datos a BigQuery (a través de una consulta federada o una copia materializada), creará nuevos modelos de etapa de pruebas y modificará fct_order_analysis.sql.

Opción A: El agente proactivo (evita errores)

Si usas un modelo de razonamiento avanzado, es posible que el agente detecte el cambio de granularidad antes de escribir cualquier código. Se da cuenta de que, como un cliente puede tener varias mascotas, una unión directa duplicará los pedidos y fallará de inmediato la prueba de unicidad que solicitaste en order_id.

  1. Observa la agregación proactiva: En la explicación del panel de chat o en el artefacto de la guía, el agente puede indicar que preagregó los datos de mascotas antes de unirlos para evitar un "fan-out clásico". Por lo general, esto se hace con una función de agregación (p.ej., ARRAY_AGG() o STRING_AGG()) para contraer varias mascotas por cliente.
  2. Verifica los resultados: dbt build se ejecuta y pasa correctamente en el primer intento porque el agente protegió de forma proactiva la granularidad de la tabla de hechos. Para verificarlo, revisa el artefacto de la guía, que suele mostrar el resultado de la prueba exitosa junto con los resultados de la búsqueda.

Instructivo que muestra la agregación proactiva y las pruebas exitosas

Si tu agente lo hizo, ¡felicitaciones! Fuiste testigo de la ingeniería proactiva de la IA. Dedica un momento a revisar la consulta en SQL generada en fct_order_analysis.sql para ver cómo estructuró la agregación y, luego, avanza a la siguiente sección, Entrega la respuesta.

Opción B: El agente de reparación automática (depuración y diagnóstico)

Si el modelo escribe primero una combinación izquierda directa ingenua, la consulta en SQL en sí se ejecutará correctamente, pero el paquete de pruebas automatizado dbt test detectará el cambio de granularidad.

  1. Observa la falla de la prueba: Verás la falla informada en los registros de progreso de la ejecución del panel de chat:
    Completed with 1 error
    
    Failure in test unique_fct_order_analysis_order_id
    Got 287 results, configured to fail if != 0
    
    La prueba de unicidad en order_id encontró entradas duplicadas porque los clientes con varias mascotas expandieron los pedidos.
  2. Permite que el agente realice un diagnóstico y se recupere por sí solo: Como la prueba falló, pídele al agente que depure el error. En el panel de chat, escribe lo siguiente:
    The uniqueness test failed. Can you figure out why and fix it?
    
  3. Mira el diagnóstico: El agente consultará los datos, descubrirá la relación de uno a varios en pet_profiles, explicará que unirla directamente cambia la granularidad de una fila por pedido a una fila por pedido por mascota y volverá a escribir el modelo para agregar previamente los perfiles de mascotas:
    -- Pre-aggregating pets per customer to resolve fan-out
    LEFT JOIN (
      SELECT
        customer_id,
        COUNT(*) AS num_pets,
        STRING_AGG(DISTINCT pet_type, ', ') AS pet_types,
        STRING_AGG(DISTINCT dietary_needs, ', ') AS dietary_needs
      FROM pet_profiles
      GROUP BY customer_id
    ) pet_agg ON c.customer_id = pet_agg.customer_id
    
  4. Verificar la corrección: El agente vuelve a ejecutar dbt build y, esta vez, todos los modelos se materializan y todas las pruebas se aprueban correctamente.

Resumen de la sección: Ya sea que tu agente haya evitado de forma proactiva el error o se haya recuperado con éxito después de una prueba fallida, lo viste superar el límite de Cloud SQL, integrar los datos de los perfiles de clientes y mascotas, y mantener una granularidad perfecta en la tabla de hechos. La canalización ahora es sólida, completa y está totalmente probada.

10. Entrega la respuesta

Es jueves. Comenzaste la semana con un director de finanzas preocupado y datos dispersos en tres servicios en la nube. Ahora tienes la causa raíz y una canalización de producción. Es el tiempo que se tarda en entregar la respuesta, junto con una recomendación prospectiva respaldada por una previsión cuantitativa.

Escribe el resumen ejecutivo

  1. En el panel de chat, escribe lo siguiente:
    Write an executive summary covering:
    - Main findings and the quantitative margin impact
    - Project AOV for the subsequent quarter if the B2B program continues at its current trajectory
    - A data-driven recommendation
    
  2. Observa cómo funciona el agente.
  3. Revisa el resumen ejecutivo del agente. Una respuesta típica y bien estructurada debe abordar lo siguiente:
    • Hallazgo principal: El AOV de enero disminuyó únicamente debido al nuevo canal de venta mayorista B2B. Los ingresos en línea y sin conexión se mantienen estables en USD 110.
    • Causa raíz: La campaña "B2B Wholesale Push" (25% de descuento en pedidos masivos) atrajo a 100 cuentas nuevas, lo que generó alrededor de 25,000 pedidos.
    • Impacto en el margen: Los pedidos mayoristas comprimieron las ganancias promedio por unidad en un 65% aproximadamente (de USD 7.50 a USD 2.60).
    • Ingresos: Los ingresos generales se mantienen estables, ya que el alto volumen de B2B compensa los precios más bajos.

Prevé el AOV con AI.FORECAST

  1. El agente también debe generar una proyección prospectiva. Busca una llamada a MCP Tool en la que el agente ejecute una consulta AI.FORECAST en BigQuery. Esto usa el modelo de base TimesFM integrado para proyectar el AOV 90 días hacia adelante según las tendencias históricas. La consulta debe proyectar el AOV 90 días hacia adelante en dos situaciones: continuación de la campaña (AOV estructuralmente deprimido) y finalización de la campaña (recuperación a USD 110 aproximadamente).
  1. Revisa las recomendaciones estratégicas del agente. Un conjunto sólido de recomendaciones podría incluir lo siguiente:
    • Reestructura los descuentos: Implementa precios mínimos de margen o limita los descuentos masivos para proteger los márgenes a nivel de la unidad.
    • Aplica cantidades mínimas de pedido más estrictas: Evita que los compradores minoristas abusen de los precios mayoristas.
    • Informes separados: Realiza un seguimiento de las divisiones minorista y B2B de forma independiente para evitar ocultar el rendimiento minorista.

La historia completa

Lo que comenzó el lunes como un simulacro de incendio por una caída del 7% en el valor promedio del pedido tiene una resolución clara para el director financiero:

  • Retail Health: Los canales de venta minorista principales se mantienen en buen estado y estables en el nivel de referencia.
  • Aumento de ventas mayoristas: La disminución del AOV se debe por completo al nuevo canal de ventas mayoristas B2B y a la campaña de BIGORDER25.
  • Impacto en el margen: El descuento masivo del 25% redujo considerablemente los márgenes por unidad, lo que amenazó la rentabilidad a pesar de que los ingresos se mantuvieron estables.
  • Previsión estratégica: Una proyección de AI.FORECAST muestra que la reestructuración de los niveles mayoristas restablecerá el AOV combinado.

Proporcionas una recomendación respaldada por datos para establecer precios mínimos de margen mayorista y generar informes separados para el comercio minorista y el B2B.

Resumen de la sección: Le pediste al agente que escribiera un resumen ejecutivo con análisis de márgenes, que generara una proyección de AI.FORECAST y que proporcionara una recomendación basada en datos. Se completó la investigación.

11. Limpieza

Para evitar que se apliquen cargos a tu cuenta de Google Cloud, borra los recursos que creaste en este codelab ejecutando la secuencia de comandos de limpieza.

  1. En el panel Terminal que se encuentra en la parte inferior del IDE de Antigravity (o en Cloud Shell), navega al directorio del codelab y ejecuta el siguiente comando:
cd ~/devrel-demos/codelabs/agentic-data-labs/scripts
chmod +x teardown.sh
./teardown.sh
  1. La secuencia de comandos mostrará todos los recursos que planea borrar y pedirá confirmación antes de continuar:
    • Instancia de Cloud SQL (cymbal-pets-ops): Este es el recurso más costoso.
    • Conjunto de datos de BigQuery (cymbal_pets): Todas las tablas y los modelos
    • Bucket de Cloud Storage (gs://YOUR_PROJECT_ID-cymbal-pets-raw)
    • Conexión de BigQuery (cymbal-pets-cloudsql)
  2. Escribe y para confirmar. El desmontaje tarda entre 2 y 3 minutos.
[INFO]  Deleting Cloud SQL instance cymbal-pets-ops...
[ OK ]  Cloud SQL instance deleted.
[INFO]  Deleting BigQuery dataset cymbal_pets...
[ OK ]  BigQuery dataset deleted.
[INFO]  Deleting GCS bucket gs://YOUR_PROJECT_ID-cymbal-pets-raw...
[ OK ]  GCS bucket deleted.

12. ¡Felicitaciones!

Completaste correctamente La investigación de las mascotas de platillos. Pasaste de una pregunta vaga del director de finanzas a una recomendación completamente operativa y respaldada por previsiones, con un agente de IA que funciona en todo tu patrimonio de datos de Google Cloud.

Tus logros

  1. 🔍 Exploración en todos los servicios: Se descubrieron y obtuvieron vistas previas de los recursos en BigQuery, Cloud SQL y Cloud Storage con el Data Agent Kit y su Knowledge Catalog.
  2. 🕵️‍♂️ Investigación con IA: Se consultaron varios servicios en una sola conversación del panel de chat con Herramientas de MCP para rastrear la anomalía del AOV hasta una campaña promocional B2B masiva.
  3. 🔧 Compiló una canalización de producción: Creó un proyecto dbt completo para limpiar, unir y probar datos transaccionales y de clientes.
  4. 🐛 Se depuró un error de fan-out: Se observó que el agente diagnosticó automáticamente un problema de granularidad y refactorizó el modelo SQL de dbt para preagrupar los perfiles de mascotas de los clientes.
  5. 📈 Previsión y recomendación: Se usó la función AI.FORECAST integrada de BigQuery para modelar las tendencias del AOV y se entregó una recomendación basada en datos al director de finanzas.

Conceptos clave

Concepto

Qué aprendiste

Herramientas del MCP

Conexiones seguras y auditables que permiten que el agente de IA consulte servicios como BigQuery, Cloud SQL, Spanner y otras bases de datos en tu nombre, con cada llamada visible en el panel de chat

Habilidades de agentes

Conjuntos de instrucciones prediseñados (como dbt-bigquery o discovering-gcp-data-assets) que le enseñan al agente prácticas recomendadas específicas del dominio sin que tengas que indicarle que las use

Investigación en varios servicios

El agente consulta varios servicios de Google Cloud en una sola conversación, sin necesidad de configurar la conexión ni cambiar de contexto entre consolas.

Instrucciones orientadas a objetivos

Decirle al agente qué quieres ("crea un proyecto de dbt que calcule el AOV por canal") en lugar de cómo, y dejar que elija el enfoque de implementación

Data Agent Kit

Es la extensión que une todo (herramientas de MCP, habilidades del agente y descubrimiento de datos), lo que te brinda acceso a todo tu patrimonio de datos de Google Cloud desde el IDE que elijas.

Próximos pasos