Écrire du code LookML avec des outils de codage agentique

1. Introduction

Les outils de création de code agentiques basés sur l'écosystème VS Code sont devenus très populaires. Cursor et Antigravity ne sont que deux exemples. Cet atelier de programmation vous montrera comment écrire du code LookML avec ces outils de code.

Objectifs de l'atelier

Dans cet atelier de programmation, vous allez utiliser l'extension VS Code de Looker pour modifier un modèle LookML afin d'ajouter une mesure, tester cette nouvelle mesure, puis créer un tableau de bord LookML à l'aide de cette nouvelle mesure. Pour ce faire, vous devrez envoyer une requête à un agent de codage.

Prérequis

  • Une instance Looker pour laquelle vous disposez de droits de développeur.
  • Connaissances de base de Looker, y compris créer un projet LookML et afficher et interagir avec les explorations dans Looker.
  • Un client_id et un client_secret d'API pour votre utilisateur sur l'instance Looker.
  • Agent de codage basé sur VS Code. Pour ce guide, nous utiliserons Antigravity.
  • Un compte GitHub.
  • Un projet Google Cloud avec BigQuery activé.

Public : développeurs LookML, ingénieurs et architectes de données.

2. Configurer votre instance Looker

Créer un projet Google Cloud

  1. Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
  2. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

Connecter Looker à la source de données

  1. Dans Looker, sous Admin, accédez à l'en-tête Bases de données, puis sélectionnez Connexions.
  2. Cliquez sur Ajouter une connexion en haut à droite de l'écran.
  3. Créez une source de données pour l'ensemble de données Cymbal Gadgets. Nommez-le cymbal_gadgets. Sélectionnez Google BigQuery Standard SQL pour le dialecte SQL. Capture d'écran des paramètres de connexion généraux
  4. Sur la page suivante, saisissez le nom de votre projet Google Cloud, le projet de stockage looker-private-demo et le nom de l'ensemble de données cymbal_gadgets. Capture d'écran des paramètres de la base de données
  5. Acceptez les valeurs par défaut pour tous les autres champs et terminez le processus de création de la source de données.
  6. Dans l'exécuteur SQL, vérifiez que vous pouvez interroger l'ensemble de données en exécutant
    SELECT count(*)
    FROM looker-private-demo.cymbal_gadgets.transactions
    

Importer le projet depuis GitHub

  1. Dupliquez le projet https://github.com/looker-open-source/cymbal_gadgets depuis GitHub dans votre propre dépôt. Vous ne pouvez pas ajouter de clé de déploiement à un projet qui ne vous appartient pas. Vous devez donc le forker pour l'associer à Looker.
  2. Activez le mode Développement.
  3. Sélectionnez Développer, puis Projets.
  4. Sur la page "Projets LookML", cliquez sur Nouveau modèle.
  5. Cliquez sur le lien pour utiliser l'ancienne page de création de modèles LookML. Capture d'écran du lien vers l'ancienne boîte de dialogue de création de modèles
  6. Créez un projet vide dans Looker nommé cymbal_gadgets. Capture d'écran de la boîte de dialogue "Nouveau projet"
  7. Sélectionnez Configurer Git pour le connecter au dépôt dupliqué que vous avez créé. Capture d'écran de la configuration de Git
  8. Ajoutez Deploy Key à votre dépôt Git. Veillez à cocher la case pour autoriser l'accès en écriture avec la clé de déploiement. Capture d'écran de la configuration de la clé de déploiement Git
  9. Sélectionnez ensuite Tester et finaliser la configuration. Capture d'écran de la configuration du projet terminée
  10. Vérifiez que le projet et la source de données fonctionnent en interrogeant les données de l'exploration "🛍️ Cymbal Gadgets : transactions et ventes".
  11. Ouvrez le projet cymbal_gadgets dans l'éditeur LookML, puis cliquez sur le bouton Créer une copie développeur en haut à droite.
  12. Sous Actions Git, cliquez sur Transférer les modifications vers le dépôt distant pour que la branche de développement soit disponible sur GitHub. Capture d'écran des actions Git
  13. Depuis une session de terminal sur votre ordinateur, exécutez la commande suivante :
    cd $HOME
    git clone git@github.com:YOUR_GITHUB_USER/cymbal_gadgets.git
    cd cymbal_gadgets
    git checkout YOUR_DEV_BRANCH
    
    Remplacez YOUR_GITHUB_USER par le nom de votre compte utilisateur GitHub. Remplacez également YOUR_DEV_BRANCH par le nom de votre branche de développement. Votre branche de développement sera nommée dev-john-doe-jhgr, c'est-à-dire le mot dev suivi de votre prénom et de votre nom, puis d'une courte chaîne aléatoire. Votre branche de développement personnelle se trouve en haut de l'éditeur LookML dans l'interface utilisateur Looker.

3. Configurer votre IDE Agentic

Installer l'extension VS Code

Dans l'IDE, cliquez sur l'icône Extensions dans le panneau de gauche. Recherchez ensuite "Looker" et installez l'extension officielle de Google en cliquant sur le bouton d'installation.

Installer le serveur MCP Toolbox for Databases

Pour permettre à Antigravity d'accéder à l'API Looker (exécuter des requêtes, inspecter le code SQL, inspecter le modèle LookML et inspecter les informations sur le schéma de connexion), vous avez besoin d'un serveur MCP Toolbox for Databases local en cours d'exécution. MCP Toolbox est fourni avec l'implémentation officielle de Looker MCP. Dans cette section, vous allez configurer cette fonctionnalité pour votre instance Looker.

  1. Vous avez d'abord besoin d'une API client_id et client_secret. Utilisez le guide sur les clés API Looker pour générer les client_id et client_secret pour votre utilisateur. Vous aurez également besoin de l'URL de base de votre instance Looker.
  2. Vous allez maintenant utiliser npx pour installer MCP Toolbox. Vous pouvez fournir l'URL de votre instance Looker et vos identifiants d'API en tant que variables d'environnement intégrées, ou les définir dans votre environnement shell. Exécutez cette commande dans l'environnement shell pour Mac et Linux :
    LOOKER_BASE_URL="https://your-instance.looker.com" \
    LOOKER_CLIENT_ID="YOUR_CLIENT_ID" \
    LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET" \
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    
    Pour Windows, exécutez cette commande dans PowerShell :
    $env:LOOKER_BASE_URL="https://your-instance.looker.com"
    $env:LOOKER_CLIENT_ID="YOUR_CLIENT_ID"
    $env:LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET"
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    

Configurer l'extension VS Code

Au cours de cette étape, vous allez configurer l'extension VS Code pour qu'elle se connecte à Looker et au serveur MCP Looker.

  1. Dans Antigravity, utilisez CMD+MAJ+P (Mac) ou CTRL+MAJ+P (Linux/Windows) pour ouvrir la palette de commandes et sélectionnez Preferences: Open Workspace Settings (JSON).
  2. Ajoutez les éléments suivants à vos paramètres d'espace de travail pour configurer l'extension à l'aide de client_id et client_secret. Pour looker.projectId, utilisez cymbal_gadgets :
    {
       "looker.instanceURL": "https://your-instance.looker.com",
       "looker.clientId": "YOUR_API_KEY_CLIENT_ID",
       "looker.clientSecret": "YOUR_API_KEY_CLIENT_SECRET",
       "looker.projectId": "cymbal_gadgets"
    }
    

Ouvrir l'éditeur

  1. Ouvrez Antigravity.
  2. Cliquez sur Fichier > Ouvrir le dossier...
  3. Accédez au dossier cymbal_gadgets et sélectionnez-le.

4. Créer une mesure de la valeur vie client

Vous allez d'abord créer une mesure dans le modèle LookML existant à l'aide de l'agent. Une métrique Customer Lifetime Value sera utile dans ce cas d'utilisation pour le secteur de la vente au détail. Vous utiliserez l'agent pour déterminer la méthodologie et le LookML de cette mesure.

Envoyer une requête à l'agent

Dans le projet cymbal_gadgets de votre espace de travail Antigravity, une nouvelle interface de conversation devrait s'afficher à droite. Commencez la conversation en mode Planification à l'aide du dernier modèle Gemini avec la requête : Create a Customer Lifetime Value measure.

Capture d'écran de la requête dans Antigravity

Vérifier le plan d'implémentation

L'agent va d'abord créer un plan d'implémentation. Ouvrez le plan d'implémentation pour l'examiner, puis cliquez sur le bouton Continuer.

Capture d'écran du plan d'implémentation

Examiner le code LookML

Examinez le code LookML modifié. Assurez-vous que les modifications sont logiques et valides.

Capture d'écran du code LookML modifié

Le code LookML modifié est automatiquement synchronisé avec Looker par l'extension VS Code. Vous pouvez le tester en mode Développement.

Tester dans l'IDE

Demandez à Antigravity de query CLV broken down by customer loyalty tier. Antigravity utilisera le serveur MCP Looker pour trouver les modèles, examiner les champs disponibles et exécuter une requête à l'aide de Looker. Le résultat ressemblera à ceci :

Capture d'écran des données dans Antigravity

Tester dans Looker

Dans Looker, avec le mode Développement activé, ouvrez l'exploration 🛍️ Cymbal Gadgets : transactions et ventes. Sélectionnez la mesure "Valeur vie client", puis pivotez par année d'inscription du client. Exécutez la requête. Voici à quoi cela doit ressembler :

Capture d'écran de l'onglet "Explorer"

5. Créer un tableau de bord de la valeur vie client

Nous allons maintenant essayer un exemple plus complexe. Nous allons demander à l'agent de créer un tout nouveau tableau de bord LookML.

Demander un tableau de bord à l'agent

Revenez à Antigravity. Dans la même conversation, assurez-vous que le mode Planification et le dernier modèle Gemini sont sélectionnés. Saisissez ensuite le prompt Create a dashboard showing customer lifetime value based on customer loyalty tier.

Capture d'écran de la création d'un tableau de bord

Approuvez à nouveau le plan d'implémentation et acceptez les modifications de code. Ce nouveau fichier LookML se synchronise automatiquement avec Looker.

Tester dans Looker

En mode Développement, accédez au dossier LookML Dashboards. Sélectionnez le tableau de bord que vous venez de créer pour l'afficher.

Capture d'écran du nouveau tableau de bord

6. Effectuer un nettoyage

  1. Dans Antigravity, dans le volet "Source Control" (Contrôle des sources), rétablissez les modifications LookML si vous le souhaitez. Un symbole tel que ↶ s'affiche à côté de chaque fichier LookML modifié. Appuyez sur ce bouton pour chaque fichier. Capture d'écran de l'option "Annuler les modifications"
  2. Dans Looker, sélectionnez Admin, puis Base de données, puis Connexions. Cliquez sur l'icône en forme de roue dentée de la connexion cymbal_gadgets, puis sélectionnez Supprimer. Confirmez que vous souhaitez supprimer la connexion.
  3. Dans Looker, utilisez le mode Développement. Sélectionnez Développer, puis le projet cymbal_gadgets. Sous Paramètres du projet, sélectionnez Supprimer le projet. Confirmez que vous souhaitez supprimer le projet en saisissant son nom (cymbal_gadgets), puis en sélectionnant le bouton Supprimer définitivement cymbal_gadgets.

7. Félicitations

Bravo ! Vous avez terminé cet atelier de programmation.

Points abordés

  • Comment modifier le code LookML avec un agent ?
  • Comment vérifier les plans d'implémentation ?
  • Comment effectuer des tests depuis l'IDE
  • Tester dans l'interface utilisateur Looker
  • Découvrez comment créer un tableau de bord avec un agent.

Solutions possibles

Essayez maintenant les requêtes suivantes dans l'UI pour découvrir les différentes fonctionnalités de l'IDE agentique :

  • Des descriptions de qualité sont essentielles pour les utilisateurs et l'IA. Demandez à l'agent d'ajouter des descriptions à tous les champs qui n'en ont pas.
  • Demandez à l'agent d'ajouter d'autres périodes à l'un des groupes de dimensions.
  • Demandez à l'agent d'effectuer une requête telle que "Revenus répartis par catégorie de produits, avec un tableau croisé dynamique par trimestre".

En savoir plus