1. บทนำ
เครื่องมือเขียนโค้ดแบบตัวแทนที่อิงตามระบบนิเวศของ VS Code ได้รับความนิยมอย่างมาก Cursor และ Antigravity เป็นเพียง 2 ตัวอย่าง Codelab นี้จะแสดงวิธีเขียน LookML ด้วยเครื่องมือโค้ดเหล่านี้
สิ่งที่คุณต้องทำ
ใน Codelab นี้ คุณจะได้ใช้ส่วนขยาย VS Code ของ Looker เพื่อแก้ไขโมเดล LookML เพื่อเพิ่มการวัดผลใหม่ ทดสอบการวัดผลใหม่ จากนั้นสร้างแดชบอร์ด LookML โดยใช้การวัดผลใหม่นั้น โดยทั้งหมดนี้จะดำเนินการโดยการแจ้งพรอมต์ Agent การเขียนโค้ด
สิ่งที่คุณต้องมี
- อินสแตนซ์ Looker ที่คุณมีสิทธิ์ของนักพัฒนาแอป
- มีความคุ้นเคยพื้นฐานกับ Looker รวมถึงการสร้างโปรเจ็กต์ LookML ใหม่ การดูและการโต้ตอบกับ Explore ใน Looker
- client_id และ client_secret ของ API สำหรับผู้ใช้ในอินสแตนซ์ Looker
- Agent การเขียนโค้ดที่อิงตาม VS Code สำหรับคำแนะนำนี้ เราจะใช้ Antigravity
- บัญชี GitHub
- โปรเจ็กต์ Google Cloud ที่เปิดใช้ BigQuery
กลุ่มเป้าหมาย: นักพัฒนา LookML, วิศวกรข้อมูล และสถาปนิก
2. ตั้งค่าอินสแตนซ์ Looker
สร้างโปรเจ็กต์ Google Cloud
- ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
- ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Cloud แล้ว ดูวิธีตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินในโปรเจ็กต์แล้วหรือไม่
เชื่อมต่อ Looker กับแหล่งข้อมูล
- ใน Looker ภายในผู้ดูแลระบบ ให้ไปที่ส่วนหัวฐานข้อมูล แล้วเลือกการเชื่อมต่อ
- คลิกเพิ่มการเชื่อมต่อที่ด้านขวาบนของหน้าจอ
- สร้างแหล่งข้อมูลใหม่สำหรับชุดข้อมูล Cymbal Gadgets ตั้งชื่อว่า
cymbal_gadgetsเลือกGoogle BigQuery Standard SQLสำหรับภาษา SQL
- ในหน้าถัดไป ให้ป้อนชื่อโปรเจ็กต์ Google Cloud, โปรเจ็กต์พื้นที่เก็บข้อมูล
looker-private-demoและชื่อชุดข้อมูลcymbal_gadgets
- ยอมรับค่าเริ่มต้นสำหรับช่องที่เหลือทั้งหมดและทําตามกระบวนการสร้างแหล่งข้อมูลใหม่ให้เสร็จสมบูรณ์
- ใน เครื่องมือเรียกใช้ SQL ให้ยืนยันว่าคุณสามารถค้นหาชุดข้อมูลได้โดยการเรียกใช้
SELECT count(*) FROM looker-private-demo.cymbal_gadgets.transactions
นำเข้าโปรเจ็กต์จาก GitHub
- Fork โปรเจ็กต์
https://github.com/looker-open-source/cymbal_gadgetsจาก GitHub ไปยังที่เก็บของคุณเอง คุณเพิ่มคีย์การติดตั้งใช้งานลงในโปรเจ็กต์ที่คุณไม่ได้เป็นเจ้าของไม่ได้ ดังนั้นจึงต้องทำการ Fork เพื่อลิงก์โปรเจ็กต์กับ Looker - เปิดใช้โหมดการพัฒนา
- เลือกพัฒนา แล้วเลือกโปรเจ็กต์
- จากหน้าโปรเจ็กต์ LookML ให้คลิกโมเดลใหม่
- คลิกลิงก์เพื่อใช้หน้าการสร้างโมเดล LookML แบบเดิม

- สร้างโปรเจ็กต์ว่างใหม่ใน Looker ชื่อ
cymbal_gadgets
- เลือกกำหนดค่า Git เพื่อเชื่อมต่อกับที่เก็บที่แยกที่คุณสร้างขึ้น

- เพิ่ม
Deploy Keyลงในที่เก็บ Git อย่าลืมคลิกช่องเพื่ออนุญาตสิทธิ์การเขียนด้วยคีย์การติดตั้งใช้งาน
- จากนั้นเลือกทดสอบและตั้งค่าให้เสร็จสิ้น

- ยืนยันว่าโปรเจ็กต์และแหล่งข้อมูลทํางานได้โดยการค้นหาข้อมูลจากสํารวจ "🛍️ อุปกรณ์ Cymbal: ธุรกรรมและการขาย"
- เปิด
cymbal_gadgetsโปรเจ็กต์ในเครื่องมือแก้ไข LookML แล้วกดปุ่มสร้างสำเนาสำหรับนักพัฒนาซอฟต์แวร์ที่ด้านขวาบน - ในส่วน Git Actions ให้คลิก Push Changes To Remote เพื่อให้สาขา dev พร้อมใช้งานจาก GitHub

- จากเซสชันเทอร์มินัลในคอมพิวเตอร์ ให้เรียกใช้คำสั่งต่อไปนี้
แทนที่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ตามด้วยชื่อและนามสกุลของคุณ ตามด้วยสตริงแบบสุ่มสั้นๆ คุณจะเห็น Branch การพัฒนาส่วนตัวที่ด้านบนของโปรแกรมแก้ไข LookML ใน UI ของ Looker
3. ตั้งค่า IDE ของ Agentic
ติดตั้งส่วนขยาย VS Code
ใน IDE ให้คลิกไอคอนส่วนขยายในแผงด้านซ้าย จากนั้นค้นหา "Looker" แล้วติดตั้งส่วนขยายอย่างเป็นทางการจาก Google โดยคลิกปุ่มติดตั้ง
ติดตั้งเซิร์ฟเวอร์ MCP Toolbox สำหรับฐานข้อมูล
หากต้องการให้ Antigravity มีสิทธิ์เข้าถึง Looker API (เรียกใช้การค้นหา ตรวจสอบ SQL ตรวจสอบโมเดล LookML และตรวจสอบข้อมูลสคีมาการเชื่อมต่อ) คุณต้องมีเซิร์ฟเวอร์ MCP Toolbox สำหรับฐานข้อมูลที่ทำงานในเครื่อง MCP Toolbox มาพร้อมกับการติดตั้งใช้งาน MCP ของ Looker อย่างเป็นทางการ ในส่วนนี้ คุณจะต้องตั้งค่าและกำหนดค่าสำหรับอินสแตนซ์ Looker
- ก่อนอื่นคุณต้องมี API
client_idและclient_secretใช้คู่มือคีย์ API ของ Looker เพื่อสร้างclient_idและclient_secretสำหรับผู้ใช้ นอกจากนี้ คุณจะต้องมี URL ฐานสำหรับอินสแตนซ์ Looker ด้วย - ตอนนี้คุณจะใช้ npx เพื่อติดตั้งกล่องเครื่องมือ MCP คุณระบุ URL ของอินสแตนซ์ Looker และข้อมูลเข้าสู่ระบบ API เป็นตัวแปรสภาพแวดล้อมแบบอินไลน์ หรือจะตั้งค่าในสภาพแวดล้อมของ Shell ก็ได้ เรียกใช้คำสั่งนี้ในสภาพแวดล้อมของ Shell สำหรับ Mac และ Linux
สำหรับ Windows ให้เรียกใช้คำสั่งนี้ใน PowerShellLOOKER_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
ในขั้นตอนนี้ คุณจะกำหนดค่าส่วนขยาย VS Code เพื่อเชื่อมต่อกับ Looker และเซิร์ฟเวอร์ MCP ของ Looker
- ใน Antigravity ให้ใช้ CMD-SHIFT-P (Mac) หรือ CTRL+SHIFT+P (Linux/Windows) เพื่อเปิดจานสีคำสั่ง แล้วเลือก
Preferences: Open Workspace Settings (JSON) - เพิ่มข้อมูลต่อไปนี้ในการตั้งค่า Workspace เพื่อกำหนดค่าส่วนขยายโดยใช้
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 ที่มีอยู่โดยใช้ Agent มาตรการ Customer Lifetime Value จะมีประโยชน์ในกรณีการใช้งานค้าปลีกนี้ คุณจะใช้ Agent เพื่อกำหนดวิธีกรณีและ LookML สำหรับเมตริกนี้
พรอมต์ Agent
ในcymbal_gadgetsโปรเจ็กต์ในพื้นที่ทำงาน Antigravity คุณควรมีอินเทอร์เฟซการสนทนาใหม่ทางด้านขวา เริ่มการสนทนาในโหมดการวางแผนโดยใช้โมเดล Gemini ล่าสุดด้วยพรอมต์ Create a Customer Lifetime Value measure.

ตรวจสอบแผนการติดตั้งใช้งาน
Agent จะสร้างแผนการติดตั้งใช้งานก่อน เปิดแผนการติดตั้งใช้งานเพื่อตรวจสอบ แล้วคลิกปุ่มดำเนินการต่อ

ตรวจสอบ LookML
ตรวจสอบ LookML ที่เปลี่ยนแปลง ตรวจสอบว่าการเปลี่ยนแปลงมีความสมเหตุสมผลและถูกต้อง

ส่วนขยาย VS Code จะซิงค์ LookML ที่แก้ไขกับ Looker โดยอัตโนมัติ ทดสอบได้ในโหมดการพัฒนา
ทดสอบใน IDE
ป้อนพรอมต์ให้ Antigravity สำหรับ query CLV broken down by customer loyalty tier Antigravity จะใช้เซิร์ฟเวอร์ MCP ของ Looker เพื่อค้นหาโมเดล ตรวจสอบฟิลด์ที่มี และเรียกใช้การค้นหาโดยใช้ Looker ผลลัพธ์ที่ได้จะมีลักษณะดังนี้

ทดสอบใน Looker
ใน Looker เมื่อเปิดใช้งานโหมดการพัฒนาแล้ว ให้เปิดสำรวจ 🛍️ อุปกรณ์ Cymbal: ธุรกรรมและการขาย เลือกเมตริกมูลค่าตลอดช่วงชีวิตของลูกค้า แล้วหมุนตามปีที่ลูกค้ารลงทะเบียน เรียกใช้การค้นหา โดยควรมีลักษณะคล้ายกับตัวอย่างนี้

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 ให้ใช้โหมดการพัฒนา เลือกพัฒนา แล้วเลือกโปรเจ็กต์
cymbal_gadgetsในส่วนการตั้งค่าโปรเจ็กต์ ให้เลือกลบโปรเจ็กต์ ยืนยันว่าคุณต้องการลบโปรเจ็กต์โดยพิมพ์ชื่อโปรเจ็กต์ -cymbal_gadgets- แล้วเลือกปุ่มที่มีป้ายกำกับว่าลบ cymbal_gadgets ถาวร
7. ขอแสดงความยินดี
ขอแสดงความยินดีที่ทำ Codelab เสร็จสมบูรณ์
สิ่งที่เราได้พูดถึง
- วิธีแก้ไข LookML ด้วย Agent
- วิธียืนยันแผนการติดตั้งใช้งาน
- วิธีทดสอบจาก IDE
- วิธีทดสอบใน UI ของ Looker
- วิธีสร้างแดชบอร์ดใหม่ด้วย Agent
สิ่งที่น่าลอง
ตอนนี้ลองใช้พรอมต์ต่อไปนี้ใน UI เพื่อดูความสามารถต่างๆ ของ IDE ที่มี Agent
- คำอธิบายที่ดีเป็นสิ่งสำคัญสำหรับทั้งผู้ใช้และ AI แจ้งให้ Agent เพิ่มคำอธิบายในช่องทั้งหมดที่ไม่มีคำอธิบาย
- ขอให้ Agent เพิ่มกรอบเวลาลงในกลุ่มมิติข้อมูลกลุ่มใดกลุ่มหนึ่ง
- ขอให้เอเจนต์ทำการค้นหา เช่น "รายได้แยกตามหมวดหมู่สินค้าที่หมุนตามไตรมาส"