เขียน LookML ด้วยเครื่องมือการเขียนโค้ดแบบ Agentic

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

  1. ในคอนโซล Google Cloud ในหน้าตัวเลือกโปรเจ็กต์ ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud
  2. ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์แล้ว ดูวิธีตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินในโปรเจ็กต์แล้วหรือไม่

เชื่อมต่อ Looker กับแหล่งข้อมูล

  1. ใน Looker ให้ไปที่ส่วนหัวฐานข้อมูลในส่วนผู้ดูแลระบบ แล้วเลือกการเชื่อมต่อ
  2. คลิกเพิ่มการเชื่อมต่อที่ด้านขวาบนของหน้าจอ
  3. สร้างแหล่งข้อมูลใหม่สำหรับชุดข้อมูล Cymbal Gadgets ตั้งชื่อว่า cymbal_gadgets เลือก Google BigQuery Standard SQL สำหรับภาษา SQL ภาพหน้าจอของการตั้งค่าการเชื่อมต่อทั่วไป
  4. ในหน้าถัดไป ให้ป้อนชื่อโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google, โปรเจ็กต์พื้นที่เก็บข้อมูล looker-private-demo และชื่อชุดข้อมูล cymbal_gadgets ภาพหน้าจอของการตั้งค่าฐานข้อมูล
  5. ยอมรับค่าเริ่มต้นสำหรับช่องที่เหลือทั้งหมด และทําตามกระบวนการสร้างแหล่งข้อมูลใหม่ให้เสร็จสมบูรณ์
  6. ใน เครื่องมือเรียกใช้ SQL ให้ยืนยันว่าคุณสามารถค้นหาชุดข้อมูลได้โดยการเรียกใช้
    SELECT count(*)
    FROM looker-private-demo.cymbal_gadgets.transactions
    

นำเข้าโปรเจ็กต์จาก GitHub

  1. Fork โปรเจ็กต์ https://github.com/looker-open-source/cymbal_gadgets จาก GitHub ไปยังที่เก็บของคุณเอง คุณเพิ่มคีย์การติดตั้งใช้งานลงในโปรเจ็กต์ที่คุณไม่ได้เป็นเจ้าของไม่ได้ ดังนั้นจึงต้องทำการ Fork เพื่อลิงก์โปรเจ็กต์กับ Looker
  2. เปิดใช้โหมดการพัฒนา
  3. เลือกพัฒนา แล้วเลือกโปรเจ็กต์
  4. จากหน้าโปรเจ็กต์ LookML ให้คลิกโมเดลใหม่
  5. คลิกลิงก์เพื่อใช้หน้าการสร้างโมเดล LookML แบบเดิม ภาพหน้าจอของลิงก์กล่องโต้ตอบการสร้างโมเดลเวอร์ชันเก่า
  6. สร้างโปรเจ็กต์ว่างใหม่ใน Looker ชื่อ cymbal_gadgets ภาพหน้าจอของกล่องโต้ตอบโปรเจ็กต์ใหม่
  7. เลือกกำหนดค่า Git เพื่อเชื่อมต่อกับที่เก็บที่แยกที่คุณสร้างขึ้น ภาพหน้าจอของการตั้งค่า Git
  8. เพิ่ม Deploy Key ลงในที่เก็บ Git อย่าลืมคลิกช่องเพื่ออนุญาตสิทธิ์การเขียนด้วยคีย์การติดตั้งใช้งาน ภาพหน้าจอการตั้งค่าคีย์การทำให้ใช้งานได้ของ Git
  9. จากนั้นเลือกทดสอบและตั้งค่าให้เสร็จสมบูรณ์ ภาพหน้าจอของการตั้งค่าโปรเจ็กต์ที่เสร็จสมบูรณ์แล้ว
  10. ยืนยันว่าโปรเจ็กต์และแหล่งข้อมูลทํางานได้โดยการค้นหาข้อมูลจากสํารวจ "🛍️ อุปกรณ์ Cymbal: ธุรกรรมและการขาย"
  11. เปิดcymbal_gadgetsโปรเจ็กต์ในเครื่องมือแก้ไข LookML แล้วกดปุ่มสร้างสำเนาสำหรับนักพัฒนาซอฟต์แวร์ที่ด้านขวาบน
  12. ในส่วน Git Actions ให้คลิก Push Changes To Remote เพื่อให้สาขา dev พร้อมใช้งานจาก GitHub ภาพหน้าจอของ Git Actions
  13. จากเซสชันเทอร์มินัลในคอมพิวเตอร์ ให้เรียกใช้คำสั่งต่อไปนี้
    cd $HOME
    git clone git@github.com:YOUR_GITHUB_USER/cymbal_gadgets.git
    cd cymbal_gadgets
    git checkout YOUR_DEV_BRANCH
    
    แทนที่ชื่อบัญชีผู้ใช้ GitHub ด้วย YOUR_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

  1. ก่อนอื่นคุณต้องมี API client_id และ client_secret ใช้คู่มือคีย์ API ของ Looker เพื่อสร้าง client_id และ client_secret สำหรับผู้ใช้ นอกจากนี้ คุณจะต้องมี URL ฐานสำหรับอินสแตนซ์ Looker ด้วย
  2. ตอนนี้คุณจะใช้ npx เพื่อติดตั้งกล่องเครื่องมือ MCP คุณระบุ URL ของอินสแตนซ์ Looker และข้อมูลเข้าสู่ระบบ API เป็นตัวแปรสภาพแวดล้อมแบบอินไลน์ หรือจะตั้งค่าในสภาพแวดล้อมของ Shell ก็ได้ เรียกใช้คำสั่งนี้ในสภาพแวดล้อมของ Shell สำหรับ Mac และ 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
    
    สำหรับ Windows ให้เรียกใช้คำสั่งนี้ใน 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
    

กำหนดค่าส่วนขยาย VS Code

ในขั้นตอนนี้ คุณจะกำหนดค่าส่วนขยาย VS Code เพื่อเชื่อมต่อกับ Looker และเซิร์ฟเวอร์ MCP ของ Looker

  1. ใน Antigravity ให้ใช้ CMD-SHIFT-P (Mac) หรือ CTRL+SHIFT+P (Linux/Windows) เพื่อเปิดจานสีคำสั่ง แล้วเลือก Preferences: Open Workspace Settings (JSON)
  2. เพิ่มข้อมูลต่อไปนี้ในการตั้งค่า 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"
    }
    

เปิดโปรแกรมแก้ไข

  1. เปิด Antigravity
  2. คลิก File > Open Folder...
  3. ไปที่โฟลเดอร์ cymbal_gadgets แล้วเลือกโฟลเดอร์ดังกล่าว

4. สร้างการวัดมูลค่าตลอดช่วงชีวิตของลูกค้า

ก่อนอื่นคุณจะต้องสร้างการวัดใหม่ในโมเดล LookML ที่มีอยู่โดยใช้ Agent เมตริก Customer Lifetime Value จะมีประโยชน์ในกรณีการใช้งานค้าปลีกนี้ คุณจะใช้เอเจนต์เพื่อกำหนดวิธีการและ LookML สำหรับเมตริกนี้

พรอมต์ Agent

ในcymbal_gadgetsโปรเจ็กต์ในพื้นที่ทำงาน Antigravity คุณควรมีอินเทอร์เฟซการสนทนาใหม่ทางด้านขวา เริ่มการสนทนาในโหมดการวางแผนโดยใช้โมเดล Gemini ล่าสุดพร้อมพรอมต์ Create a Customer Lifetime Value measure.

ภาพหน้าจอของพรอมต์ใน Antigravity

ตรวจสอบแผนการติดตั้งใช้งาน

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

ภาพหน้าจอของแผนการติดตั้งใช้งาน

ตรวจสอบ LookML

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

ภาพหน้าจอของ LookML ที่เปลี่ยนแปลง

ส่วนขยาย VS Code จะซิงค์ LookML ที่แก้ไขกับ Looker โดยอัตโนมัติ ทดสอบได้ในโหมดการพัฒนา

ทดสอบใน IDE

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

ภาพหน้าจอของข้อมูลใน Antigravity

ทดสอบใน 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. ล้างข้อมูล

  1. ใน Antigravity ภายใต้แผงควบคุมแหล่งที่มา ให้เปลี่ยนการเปลี่ยนแปลง LookML กลับหากต้องการ ข้างไฟล์ LookML ที่แก้ไขแต่ละไฟล์จะมีสัญลักษณ์เช่น ↶ เพื่อเปลี่ยนไฟล์กลับ กดปุ่มนั้นสำหรับแต่ละไฟล์ ภาพหน้าจอของการเปลี่ยนกลับการเปลี่ยนแปลง
  2. ใน Looker ให้เลือกผู้ดูแลระบบ จากนั้นเลือกฐานข้อมูล แล้วเลือกการเชื่อมต่อ คลิกไอคอนรูปเฟืองสำหรับการเชื่อมต่อ cymbal_gadgets แล้วเลือกลบ ยืนยันว่าต้องการลบการเชื่อมต่อ
  3. ใน Looker ให้ใช้โหมดการพัฒนา เลือกพัฒนา แล้วเลือกโปรเจ็กต์ cymbal_gadgets ในส่วนการตั้งค่าโปรเจ็กต์ ให้เลือกลบโปรเจ็กต์ ยืนยันว่าคุณต้องการลบโปรเจ็กต์โดยพิมพ์ชื่อโปรเจ็กต์ - cymbal_gadgets - แล้วเลือกปุ่มที่มีป้ายกำกับว่าลบ cymbal_gadgets ถาวร

7. ขอแสดงความยินดี

ขอแสดงความยินดีที่ทำ Codelab นี้เสร็จสมบูรณ์

สิ่งที่เราได้พูดถึง

  • วิธีแก้ไข LookML ด้วย Agent
  • วิธียืนยันแผนการติดตั้งใช้งาน
  • วิธีทดสอบจาก IDE
  • วิธีทดสอบใน UI ของ Looker
  • วิธีสร้างแดชบอร์ดใหม่ด้วย Agent

สิ่งที่น่าลอง

ตอนนี้ลองใช้พรอมต์ต่อไปนี้ใน UI เพื่อดูความสามารถต่างๆ ของ IDE แบบเอเจนต์

  • คำอธิบายที่ดีเป็นสิ่งสำคัญสำหรับทั้งผู้ใช้และ AI แจ้งให้ Agent เพิ่มคำอธิบายในช่องทั้งหมดที่ไม่มีคำอธิบาย
  • ขอให้ตัวแทนเพิ่มกรอบเวลาลงในกลุ่มมิติข้อมูลกลุ่มใดกลุ่มหนึ่ง
  • ขอให้ Agent ทำการค้นหา เช่น "รายได้แบ่งตามหมวดหมู่สินค้าโดยหมุนตามไตรมาส"

ดูข้อมูลเพิ่มเติม