Menulis LookML dengan Alat Coding Agentik

1. Pengantar

Alat penulisan kode agentik berdasarkan ekosistem VS Code menjadi sangat populer. Cursor dan Antigravity hanyalah dua contoh. Codelab ini akan menunjukkan cara LookML dapat ditulis dengan alat kode ini.

Yang akan Anda lakukan

Dalam codelab ini, Anda akan menggunakan ekstensi VS Code Looker untuk mengubah model LookML guna menambahkan ukuran baru, menguji ukuran baru, lalu membuat dasbor LookML menggunakan ukuran baru tersebut. Semua ini akan dilakukan dengan meminta Agen Coding.

Yang akan Anda butuhkan

  • Instance Looker tempat Anda memiliki hak istimewa developer.
  • Pengetahuan dasar tentang Looker, termasuk Membuat project LookML baru, Melihat dan berinteraksi dengan Eksplorasi di Looker.
  • client_id dan client_secret API untuk pengguna Anda di instance Looker.
  • Agen Coding berbasis VS Code. Untuk panduan ini, kita akan menggunakan Antigravity.
  • Akun GitHub.
  • Project Google Cloud dengan BigQuery diaktifkan.

Audiens: Developer LookML, Data Engineer, dan Arsitek.

2. Menyiapkan instance Looker Anda

Membuat Project Google Cloud

  1. Di Konsol Google Cloud, di halaman pemilih project, pilih atau buat project Google Cloud.
  2. Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.

Menghubungkan Looker ke sumber data

  1. Di Looker, di bagian Admin , buka judul Database dan pilih Connections.
  2. Klik Add Connection di pojok kanan atas layar.
  3. Buat sumber data baru untuk set data Cymbal Gadgets. Beri nama cymbal_gadgets. Pilih Google BigQuery Standard SQL untuk Dialek SQL. Screenshot setelan koneksi umum
  4. Di halaman berikutnya, masukkan nama project Google Cloud Anda, project penyimpanan looker-private-demo, dan nama set data cymbal_gadgets. Screenshot\nsetelan database
  5. Terima nilai default untuk semua kolom yang tersisa dan selesaikan proses pembuatan sumber data baru.
  6. Di SQL Runner , pastikan Anda dapat mengkueri set data dengan menjalankan
    SELECT count(*)
    FROM looker-private-demo.cymbal_gadgets.transactions
    

Mengimpor project dari GitHub

  1. Buat fork project https://github.com/looker-open-source/cymbal_gadgets dari GitHub ke repositori Anda sendiri. Anda tidak dapat menambahkan kunci deployment ke project yang bukan milik Anda, sehingga pembuatan fork diperlukan untuk menautkan project ke Looker.
  2. Aktifkan Development Mode.
  3. Pilih Develop , lalu Projects.
  4. Dari halaman LookML Projects, klik New Model.
  5. Klik link untuk menggunakan halaman pembuatan Model LookML lama. Screenshot link dialog pembuatan model lama
  6. Buat project kosong baru di Looker bernama cymbal_gadgets. Screenshot dialog project baru
  7. Pilih Configure Git untuk menghubungkannya ke repositori fork yang Anda buat. Screenshot penyiapan git
  8. Tambahkan Deploy Key ke repositori Git Anda. Pastikan untuk mengklik kotak untuk mengizinkan akses tulis dengan kunci deployment. Screenshot penyiapan kunci deploy git
  9. Kemudian, pilih Test and Finalize Setup. Screenshot penyiapan project yang telah selesai
  10. Verifikasi bahwa project dan sumber data berfungsi dengan mengkueri data dari eksplorasi "🛍️ Cymbal Gadgets: Transactions & Sales".
  11. Buka project cymbal_gadgets di editor LookML dan tekan tombol Create Developer Copy di kanan atas.
  12. Di bagian Git Actions , klik Push Changes To Remote agar cabang dev tersedia dari GitHub. Screenshot Git Actions
  13. Dari sesi terminal di komputer Anda, jalankan perintah berikut:
    cd $HOME
    git clone git@github.com:YOUR_GITHUB_USER/cymbal_gadgets.git
    cd cymbal_gadgets
    git checkout YOUR_DEV_BRANCH
    
    Ganti nama akun pengguna GitHub Anda dengan YOUR_GITHUB_USER. Ganti juga nama cabang dev Anda dengan YOUR_DEV_BRANCH. Cabang dev Anda akan diberi nama seperti dev-john-doe-jhgr - yaitu kata dev diikuti dengan nama depan dan belakang Anda, diikuti dengan string acak singkat. Anda akan menemukan cabang dev pribadi Anda di bagian atas editor LookML di UI Looker.

3. Menyiapkan IDE Agentik

Menginstal ekstensi VS Code

Di IDE, klik ikon Extensions di panel kiri. Kemudian, telusuri "Looker" dan instal ekstensi resmi dari Google dengan mengklik tombol instal.

Menginstal server MCP Toolbox for Databases

Untuk memberi Antigravity akses ke Looker API (menjalankan kueri, memeriksa SQL, memeriksa model LookML, dan memeriksa informasi skema koneksi), Anda memerlukan server MCP Toolbox for Databases lokal yang berjalan. MCP Toolbox dilengkapi dengan implementasi MCP Looker resmi. Di bagian ini, Anda akan menyiapkan dan mengonfigurasinya untuk instance Looker Anda.

  1. Pertama, Anda memerlukan client_id dan client_secret API. Gunakan panduan Kunci API Looker untuk membuat client_id dan client_secret untuk pengguna Anda. Anda juga memerlukan URL dasar untuk instance Looker Anda.
  2. Sekarang Anda akan menggunakan npx untuk menginstal MCP Toolbox. Anda dapat memberikan URL instance Looker dan kredensial API sebagai variabel lingkungan inline, atau Anda dapat menetapkannya di lingkungan shell. Jalankan perintah ini di lingkungan shell untuk Mac dan 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
    
    Untuk Windows, jalankan perintah ini di 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
    

Mengonfigurasi ekstensi VS Code

Pada langkah ini, Anda akan mengonfigurasi ekstensi VS Code untuk terhubung ke Looker dan server MCP Looker.

  1. Di Antigravity, gunakan CMD-SHIFT-P (Mac) atau CTRL+SHIFT+P (Linux/Windows) untuk membuka palet perintah dan memilih Preferences: Open Workspace Settings (JSON).
  2. Tambahkan hal berikut ke Workspace Settings Anda untuk mengonfigurasi ekstensi menggunakan client_id dan client_secret. Untuk looker.projectId, gunakan 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"
    }
    

Membuka editor

  1. Buka Antigravity.
  2. Klik File > Open Folder....
  3. Buka dan pilih folder cymbal_gadgets.

4. Membuat ukuran Nilai Umur Pelanggan

Pertama, Anda akan membuat ukuran baru dalam model LookML yang ada menggunakan Agen. Ukuran Customer Lifetime Value akan berguna dalam kasus penggunaan retail ini. Anda akan menggunakan Agen untuk menentukan metodologi dan LookML untuk ukuran ini.

Meminta Agen

Di project cymbal_gadgets di ruang kerja Antigravity Anda, Anda akan memiliki antarmuka percakapan baru di sebelah kanan. Mulai percakapan dalam Planning mode menggunakan model Gemini terbaru dengan perintah: Create a Customer Lifetime Value measure.

Screenshot perintah di Antigravity

Memeriksa rencana implementasi

Agen akan membuat rencana implementasi terlebih dahulu. Buka rencana implementasi untuk meninjaunya, lalu klik tombol Proceed.

Screenshot rencana implementasi

Meninjau LookML

Tinjau LookML yang diubah. Pastikan perubahan tersebut masuk akal dan valid.

Screenshot LookML yang diubah

LookML yang diubah akan otomatis disinkronkan dengan Looker oleh ekstensi VS Code. LookML dapat diuji dalam Development Mode.

Menguji di IDE

Minta Antigravity untuk query CLV broken down by customer loyalty tier. Antigravity akan menggunakan Looker MCP Server untuk menemukan model, memeriksa kolom yang tersedia, dan menjalankan kueri menggunakan Looker. Hasilnya akan terlihat seperti ini:

Screenshot data di Antigravity

Menguji di Looker

Di Looker, dengan Development Mode diaktifkan, buka eksplorasi 🛍️ Cymbal Gadgets: Transactions &Sales. Pilih ukuran Nilai Umur Pelanggan, lalu buat pivot berdasarkan Customer Registration Year. Jalankan kueri ini. Hasilnya akan terlihat mirip dengan ini.

Screenshot eksplorasi

5. Membuat dasbor Nilai Umur Pelanggan

Sekarang kita akan mencoba contoh yang lebih kompleks. Kita akan meminta agen untuk membuat dasbor LookML yang benar-benar baru.

Meminta dasbor baru dari Agen

Beralih kembali ke Antigravity. Dalam percakapan yang sama, pastikan Planning mode dan model Gemini terbaru dipilih. Kemudian, minta Create a dashboard showing customer lifetime value based on customer loyalty tier.

Screenshot pembuatan dasbor

Sekali lagi, setujui rencana implementasi dan terima perubahan kode. Sekarang, file LookML baru ini akan otomatis disinkronkan dengan Looker.

Menguji di Looker

Dalam Development Mode, buka folder LookML Dashboards. Pilih dasbor yang baru dibuat untuk melihatnya.

Screenshot dasbor baru

6. Pembersihan

  1. Di Antigravity, di panel Source Control, batalkan perubahan LookML jika diinginkan. Di samping setiap file LookML yang diubah, akan ada simbol seperti ↶ untuk membatalkan perubahan file. Tekan tombol tersebut untuk setiap file. Screenshot mengembalikan perubahan
  2. Di Looker, pilih Admin , lalu Database , lalu Connections. Klik ikon roda gigi untuk koneksi cymbal_gadgets dan pilih Delete. Konfirmasi bahwa Anda ingin menghapus koneksi.
  3. Di Looker, gunakan Development Mode. Pilih Develop , lalu project cymbal_gadgets. Di bagian Project Settings , pilih Delete Project. Konfirmasi bahwa Anda ingin menghapus project dengan mengetik nama project - cymbal_gadgets - lalu memilih tombol berlabel Permanently Delete cymbal_gadgets.

7. Selamat

Selamat, Anda telah menyelesaikan codelab.

Yang telah kita bahas

  • Cara mengubah LookML dengan Agen.
  • Cara memverifikasi rencana implementasi.
  • Cara menguji dari IDE.
  • Cara menguji di UI Looker.
  • Cara membuat dasbor baru dengan Agen.

Untuk dicoba

Sekarang, coba perintah berikut di UI untuk melihat berbagai kemampuan IDE agentik:

  • Deskripsi yang baik sangat penting bagi pengguna dan AI. Minta Agen untuk menambahkan deskripsi ke semua kolom yang tidak memiliki deskripsi.
  • Minta Agen untuk menambahkan lebih banyak jangka waktu ke salah satu Grup Dimensi.
  • Minta Agen untuk menjalankan kueri seperti "revenue broken down by product category pivoted by Quarter".

Pelajari lebih lanjut