1. はじめに
VS Code エコシステムに基づくエージェント コード作成ツールが非常に普及しています。カーソルや Antigravity はその一例です。この Codelab では、これらのコードツールを使用して LookML を記述する方法を説明します。
演習内容
この Codelab では、Looker の VS Code 拡張機能を使用して LookML モデルを変更し、新しいメジャーを追加して、その新しいメジャーをテストし、その新しいメジャーを使用して LookML ダッシュボードを作成します。これらはすべて、コーディング エージェントにプロンプトを入力することで行われます。
必要なもの
- デベロッパー権限を持つ Looker インスタンス。
- 新しい LookML プロジェクトの作成、Looker での Explore の表示と操作など、Looker の基本的な知識があること。
- Looker インスタンスのユーザーの API client_id と client_secret。
- VS Code ベースのコーディング エージェント。このガイドでは、Antigravity を使用します。
- GitHub アカウント。
- BigQuery が有効になっている Google Cloud プロジェクト。
対象者: LookML デベロッパー、データ エンジニア、アーキテクト。
2. Looker インスタンスを設定する
Google Cloud プロジェクトの作成
- Google Cloud コンソールのプロジェクト セレクタ ページで、Google Cloud プロジェクトを選択または作成します。
- Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
Looker をデータソースに接続する
- Looker で、[管理者] の [データベース] 見出しに移動し、[接続] を選択します。
- 画面の右上にある [Add Connection] をクリックします。
- Cymbal Gadgets データセットの新しいデータソースを作成します。
cymbal_gadgetsという名前を付けます。SQL 言語にGoogle BigQuery Standard SQLを選択します。
- 次のページで、Google Cloud プロジェクト名、ストレージ プロジェクト
looker-private-demo、データセット名cymbal_gadgetsを入力します。
- 残りのすべてのフィールドのデフォルトを受け入れ、新しいデータソースの作成プロセスを完了します。
- SQL Runner で、次のコマンドを実行してデータセットにクエリを実行できることを確認します。
SELECT count(*) FROM looker-private-demo.cymbal_gadgets.transactions
GitHub からプロジェクトをインポートする
- GitHub から自分のリポジトリにプロジェクト
https://github.com/looker-open-source/cymbal_gadgetsをフォークします。所有していないプロジェクトにデプロイキーを追加することはできないため、プロジェクトを Looker にリンクするにはフォークが必要です。 - 開発モードを有効にします。
- [Develop]、[Projects] の順に選択します。
- [LookML プロジェクト] ページで、[新しいモデル] をクリックします。
- リンクをクリックして、以前の LookML モデル作成ページを使用します。

- Looker で
cymbal_gadgetsという名前の新しい空のプロジェクトを作成します。![[新しいプロジェクト] ダイアログのスクリーンショット](https://codelabs.developers.google.com/static/next26/looker-agentic-lookml/img/screenshot_new_project.png?hl=ja)
- [Git の構成] を選択して、作成したフォーク リポジトリに接続します。

Deploy Keyを Git リポジトリに追加します。デプロイキーで書き込みアクセスを許可するボックスを必ずオンにしてください。
- [設定のテストとファイナライズ] を選択します。

- 「🛍️ Cymbal Gadgets: Transactions & Sales」の Explore からデータをクエリして、プロジェクトとデータソースが機能していることを確認します。
- LookML エディタで
cymbal_gadgetsプロジェクトを開き、右上にある [Create Developer Copy] ボタンを押します。 - [Git Actions] で [Push Changes To Remote] をクリックして、GitHub から dev ブランチを使用できるようにします。

- パソコンのターミナル セッションで、次のコマンドを実行します。
cd $HOME git clone git@github.com:YOUR_GITHUB_USER/cymbal_gadgets.git cd cymbal_gadgets git checkout YOUR_DEV_BRANCHYOUR_GITHUB_USERは、GitHub ユーザー アカウント名に置き換えます。また、YOUR_DEV_BRANCHは開発ブランチの名前に置き換えます。開発ブランチの名前はdev-john-doe-jhgrのようになります。これは、devという単語の後に、下の名前と名字、短いランダムな文字列が続いたものです。個人用開発ブランチは、Looker UI の LookML エディタの上部に表示されます。
3. エージェント IDE を設定する
VS Code 拡張機能をインストールする
IDE で、左側のパネルにある拡張機能アイコンをクリックします。次に、「Looker」を検索し、インストール ボタンをクリックして Google の公式拡張機能をインストールします。
MCP Toolbox for Databases サーバーをインストールする
Antigravity に Looker API へのアクセス権(クエリの実行、SQL の検査、LookML モデルの検査、接続スキーマ情報の検査)を付与するには、実行中のローカル MCP Toolbox for Databases サーバーが必要です。MCP ツールボックスには、Looker MCP の公式実装が付属しています。このセクションでは、Looker インスタンスでこれを設定して構成します。
- まず、API の
client_idとclient_secretが必要です。Looker API キーガイドを使用して、ユーザーのclient_idとclient_secretを生成します。Looker インスタンスのベース URL も必要です。 - 次に、npx を使用して MCP Toolbox をインストールします。Looker インスタンスの URL と API 認証情報は、インライン環境変数として指定することも、シェル環境で設定することもできます。Mac と Linux のシェル環境で次を実行します。
Windows の場合は、PowerShell で次のコマンドを実行します。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$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
VS Code 拡張機能を構成する
このステップでは、Looker と Looker MCP サーバーに接続するように VS Code 拡張機能を構成します。
- Antigravity で、CMD-SHIFT-P(Mac)または CTRL+SHIFT+P(Linux/Windows)を使用してコマンド パレットを開き、
Preferences: Open Workspace Settings (JSON)を選択します。 client_idとclient_secretを使用して拡張機能を構成するには、ワークスペースの設定に以下を追加します。looker.projectIdには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" }
エディタを開く
- Antigravity を開きます。
- [File] > [Open Folder...] をクリックします。
cymbal_gadgetsフォルダに移動して選択します。
4. 顧客のライフタイム バリュー指標を作成する
まず、エージェントを使用して、既存の LookML モデルに新しいメジャーを作成します。この小売業のユースケースでは、Customer Lifetime Value 指標が役立ちます。このメジャーのメソッドと LookML を決定するには、エージェントを使用します。
エージェントにプロンプトを入力する
Antigravity ワークスペースの cymbal_gadgets プロジェクトの右側に、新しい会話インターフェースが表示されます。最新の Gemini モデルを使用して、プランニング モードで会話を開始します。プロンプトは Create a Customer Lifetime Value measure. です。

実装計画を確認する
エージェントはまず実装計画を作成します。実装プランを開いて確認し、[続行] ボタンをクリックします。

LookML を確認する
変更された LookML を確認します。変更が適切で有効であることを確認します。

変更された LookML は、VS Code 拡張機能によって Looker と自動的に同期されます。Development Mode でテストできます。
IDE でテストする
Antigravity に query CLV broken down by customer loyalty tier を求める。Antigravity は、Looker MCP サーバーを使用してモデルを検索し、使用可能なフィールドを調べて、Looker を使用してクエリを実行します。結果は次のようになります。

Looker でテストする
Looker で、開発モードを有効にして、[🛍️ Cymbal Gadgets: Transactions & Sales] 探索を開きます。顧客のライフタイム バリューの指標を選択し、顧客登録年でピボットします。クエリを実行します。次のような設定になっているはずです。

5. 顧客のライフタイム バリュー ダッシュボードを作成する
では、もう少し複雑な例を試してみましょう。エージェントに新しい LookML ダッシュボードの作成を依頼します。
エージェントから新しいダッシュボードをリクエストする
Antigravity に戻します。同じ会話で、[プランニング モード] と最新の Gemini モデルが選択されていることを確認します。次に、Create a dashboard showing customer lifetime value based on customer loyalty tier をプロンプトします。

実装計画を承認し、コードの変更を承認します。この新しい LookML ファイルは、Looker と自動的に同期されます。
Looker でテストする
開発モードで、フォルダ LookML Dashboards に移動します。新しく作成したダッシュボードを選択して表示します。

6. クリーンアップ
- [Antigravity] の [ソース コントロール] ペインで、必要に応じて LookML の変更を元に戻します。変更された各 LookML ファイルの横に、ファイルを元に戻すための ↶ などの記号が表示されます。ファイルごとにそのボタンを押します。

- Looker で、[管理者]、[データベース]、[接続] の順に選択します。
cymbal_gadgets接続の歯車アイコンをクリックし、[削除] を選択します。リンク解除を確定します。 - Looker で Development Mode を使用します。[Develop] を選択し、
cymbal_gadgetsプロジェクトを選択します。[プロジェクトの設定] で [プロジェクトの削除] を選択します。プロジェクトを削除することを確認するため、プロジェクト名(cymbal_gadgets)を入力し、[cymbal_gadgets を完全に削除] というラベルの付いたボタンを選択します。
7. 完了
以上で、この Codelab は完了です。
学習した内容
- エージェントを使用して LookML を変更する方法。
- 実装計画を確認する方法。
- IDE からテストする方法。
- Looker UI でテストする方法。
- エージェントを使用して新しいダッシュボードを作成する方法。
次の方法をお試しください
次に、UI で次のプロンプトを試して、エージェント IDE のさまざまな機能を確認します。
- 優れた説明は、ユーザーと AI の両方にとって重要です。説明のないすべてのフィールドに説明を追加するようエージェントに促します。
- エージェントに、ディメンショングループのいずれかにタイムフレームを追加するよう依頼します。
- エージェントに「四半期でピボットした商品カテゴリ別の収益」などのクエリを実行するよう依頼します。