Menulis LookML dengan Alat Coding Agentik

1. Pengantar

Alat penulisan kode agentik berdasarkan ekosistem VS Code telah menjadi sangat populer. Kursor dan Antigravity hanyalah dua contohnya. Codelab ini akan menunjukkan cara menulis LookML 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 bantuan Agen Coding.

Yang Anda butuhkan

  • Instance Looker tempat Anda memiliki hak istimewa developer.
  • Pemahaman 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

Buat 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 heading Databases, lalu pilih Connections.
  2. Klik Tambahkan Koneksi di 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, project penyimpanan looker-private-demo, dan nama set data cymbal_gadgets. Screenshot setelan database
  5. Setujui setelan 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. Lakukan 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, jadi pembuatan fork diperlukan untuk menautkan project ke Looker.
  2. Aktifkan Mode Pengembangan.
  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 yang diberi nama cymbal_gadgets. Screenshot dialog project baru
  7. Pilih Configure Git untuk menghubungkannya ke repositori yang di-fork yang Anda buat. Screenshot penyiapan git
  8. Tambahkan Deploy Key ke repositori Git Anda. Pastikan untuk mencentang kotak guna mengizinkan akses tulis dengan kunci deployment. Screenshot penyiapan kunci deploy git
  9. Kemudian, pilih Uji dan Selesaikan Penyiapan. Screenshot penyiapan project yang telah selesai
  10. Verifikasi bahwa project dan sumber data berfungsi dengan membuat kueri data dari eksplorasi "🛍️ Cymbal Gadgets: Transaksi & Penjualan".
  11. Buka project cymbal_gadgets di editor LookML, lalu 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 YOUR_DEV_BRANCH dengan nama cabang dev Anda. Cabang dev Anda akan diberi nama seperti dev-john-doe-jhgr - yaitu kata dev yang diikuti dengan nama depan dan belakang Anda, lalu diikuti dengan string acak pendek. Anda akan menemukan cabang pengembangan pribadi di bagian atas editor LookML di UI Looker.

3. Menyiapkan IDE Agentik Anda

Menginstal ekstensi VS Code

Di IDE, klik ikon Ekstensi 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 sedang berjalan. MCP Toolbox dilengkapi dengan penerapan 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 bagi 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 menyetelnya 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 kode berikut ke Setelan Ruang Kerja Anda untuk mengonfigurasi ekstensi menggunakan client_id dan client_secret. Untuk penggunaan 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"
    }
    

Buka editor Anda

  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. Pengukuran Customer Lifetime Value akan berguna dalam kasus penggunaan retail ini. Anda akan menggunakan Agen untuk menentukan metodologi dan LookML untuk ukuran ini.

Memberi Perintah ke Agen

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

Screenshot perintah di Antigravity

Periksa rencana penerapan

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

Screenshot rencana penerapan

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. Fitur ini dapat diuji dalam Mode Pengembangan.

Pengujian di IDE

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

Screenshot data di Antigravity

Pengujian di Looker

Di Looker, dengan Mode Pengembangan diaktifkan, buka eksplorasi 🛍️ Cymbal Gadgets: Transactions & Sales. Pilih metrik Nilai Umur Pelanggan, lalu lakukan pengelompokan menurut Tahun Pendaftaran Pelanggan. Jalankan kueri ini. Tampilannya akan terlihat seperti 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 Mode perencanaan dan model Gemini terbaru dipilih. Kemudian, berikan perintah Create a dashboard showing customer lifetime value based on customer loyalty tier.

Screenshot pembuatan dasbor

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

Pengujian di Looker

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

Screenshot dasbor baru

6. Pembersihan

  1. Di Antigravity di bagian panel Source Control, batalkan perubahan LookML jika diinginkan. Di samping setiap file LookML yang diubah, akan ada simbol seperti ↶ untuk mengembalikan 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, lalu pilih Hapus. Konfirmasi bahwa Anda ingin menghapus koneksi.
  3. Di Looker, gunakan Mode Pengembangan. 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 Hapus cymbal_gadgets secara permanen.

7. Selamat

Selamat, Anda telah menyelesaikan codelab.

Yang telah kita bahas

  • Cara mengubah LookML dengan Agen.
  • Cara memverifikasi rencana penerapan.
  • 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 belum memilikinya.
  • Minta Agen untuk menambahkan jangka waktu lainnya ke salah satu Grup Dimensi.
  • Minta Agen untuk menjalankan kueri seperti "pendapatan yang dikelompokkan menurut kategori produk yang di-pivot menurut Kuartal".

Pelajari lebih lanjut