1. บทนำ
เครื่องมือเขียนโค้ดแบบตัวแทนที่อิงตามระบบนิเวศของ VS Code ได้รับความนิยมอย่างมาก Cursor และ Antigravity เป็นเพียง 2 ตัวอย่าง Codelab นี้จะแสดงวิธีเขียน LookML ด้วยเครื่องมือโค้ดเหล่านี้
สิ่งที่คุณต้องทำ
ใน Codelab นี้ คุณจะได้ใช้ส่วนขยาย VS Code ของ Looker เพื่อแก้ไขโมเดล LookML เพื่อเพิ่มข้อมูลการวัดค่าใหม่ ทดสอบข้อมูลการวัดค่าใหม่ จากนั้นสร้างแดชบอร์ด LookML โดยใช้ข้อมูลการวัดค่าใหม่นั้น โดยการดำเนินการทั้งหมดนี้จะทำได้ด้วยการแจ้งพรอมต์เอเจนต์การเขียนโค้ด
สิ่งที่คุณต้องมี
- อินสแตนซ์ 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
- ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์แล้ว ดูวิธีตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินในโปรเจ็กต์แล้วหรือไม่
เชื่อมต่อ Looker กับแหล่งข้อมูล
- ใน Looker ให้ไปที่ส่วนหัวฐานข้อมูลในส่วนผู้ดูแลระบบ แล้วเลือกการเชื่อมต่อ
- คลิกเพิ่มการเชื่อมต่อที่ด้านขวาบนของหน้าจอ
- สร้างแหล่งข้อมูลใหม่สำหรับชุดข้อมูล Cymbal Gadgets ตั้งชื่อว่า
cymbal_gadgetsเลือกGoogle BigQuery Standard SQLสำหรับภาษา SQL
- ในหน้าถัดไป ให้ป้อนชื่อโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google, โปรเจ็กต์พื้นที่เก็บข้อมูล
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

- จากเซสชันเทอร์มินัลในคอมพิวเตอร์ ให้เรียกใช้คำสั่งต่อไปนี้
แทนที่ชื่อบัญชีผู้ใช้ GitHub ด้วยcd $HOME git clone git@github.com:YOUR_GITHUB_USER/cymbal_gadgets.git cd cymbal_gadgets git checkout YOUR_DEV_BRANCHYOUR_GITHUB_USERและแทนที่ชื่อ Branch สำหรับนักพัฒนาซอฟต์แวร์ด้วยYOUR_DEV_BRANCHสาขาสำหรับนักพัฒนาซอฟต์แวร์จะมีชื่อคล้ายกับdev-john-doe-jhgr- นั่นคือคำว่าdevตามด้วยชื่อและนามสกุลของคุณ ตามด้วยสตริงแบบสุ่มสั้นๆ คุณจะเห็นสาขาการพัฒนาส่วนตัวที่ด้านบนของโปรแกรมแก้ไข 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 จะมีประโยชน์ในกรณีการใช้งานค้าปลีกนี้ คุณจะใช้เอเจนต์เพื่อกำหนดวิธีการและ 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 แบบเอเจนต์
- คำอธิบายที่ดีเป็นสิ่งสำคัญสำหรับทั้งผู้ใช้และ AI แจ้งให้ Agent เพิ่มคำอธิบายในช่องทั้งหมดที่ไม่มีคำอธิบาย
- ขอให้ตัวแทนเพิ่มกรอบเวลาลงในกลุ่มมิติข้อมูลกลุ่มใดกลุ่มหนึ่ง
- ขอให้ Agent ทำการค้นหา เช่น "รายได้แบ่งตามหมวดหมู่สินค้าโดยหมุนตามไตรมาส"