ถ้าเคยใช้ Microsoft Copilot Studio กัน น่าจะมีความต้องการอยากเก็บข้อมูลบางอย่างไว้ใช้ตลอดการคุยของผู้ใช้กับ Bot ไม่ว่าผู้ใช้จะคุยกับบอทในหัวข้อไหนก็ตามไหมครับ?
นี่แหละ พลจะมาเล่าเกี่ยวกับความสามารถของตัวแปร และขอบเขตการใช้งานตัวแปรกัน
รู้จักกับตัวแปร และ Scope แบบเห็นภาพ
ตัวแปร (Variable) คือวิธีการที่ Microsoft Copilot Studio มีให้เราใช้ สำหรับเก็บข้อมูลชั่วคราวภายในบอทของเรา เวลาผู้ใช้คุยกับบอท ข้อมูลที่ตอบโต้กันก็จะถูกเก็บไว้ในตัวแปรเหล่านี้
แต่ประเด็นคือ ตัวแปรแต่ละประเภทจะมีขอบเขตการใช้งาน (Scope) ที่แตกต่างกัน
ให้ลองนึกว่า Scope ก็คือบริเวณต่างๆ ในห้างซึ่ง
- ของบางอย่างห้ามเอาออกนอกบริเวณที่กำหนด เช่น เสื้อผ้าในร้านเสื้อผ้า หรือจานในร้านอาหาร พวกนี้เราเรียกว่า ตัวแปรตามหัวข้อ (Topic Variable)
- ของบางอย่างสามารถเคลื่อนย้ายไปยังบริเวณต่างๆ ของห้างได้ เช่น สายไฟ, เครื่องเสียง พวกนี้เราเรียกว่า ตัวแปรส่วนกลาง (Global Variable)
ประเภท Scope ของตัวแปร
- ตัวแปรตามหัวข้อ (Topic Variable): ตามชื่อเลยขอบเขตจำกัดอยู่แค่หัวข้อที่สร้างขึ้นเท่านั้น เหมาะสำหรับเก็บข้อมูลชั่วคราวที่เกี่ยวข้องกับการสนทนาเฉพาะหัวข้อนั้นๆ พอคุยเสร็จ ข้อมูลก็จะถูกลบไป
- ตัวแปรส่วนกลาง (Global Variable): ขอบเขตสุดๆ ! เจ้าตัวนี้สามารถใช้งานได้ทุกหัวข้อภายในบอท เหมาะสำหรับเก็บข้อมูลที่ต้องการใช้ร่วมกันตลอดการสนทนา ไม่ว่าจะคุยกันไปกี่เรื่อง ข้อมูลก็จะยังอยู่ และสามารถอ้างอิงใช้งานจากในทุกๆ topic
ตัวอย่างการใช้งาน Scope
เอาสถานการณ์จริงมาลองนึกภาพดูง่ายๆ สมมติเรากำลังสร้างบอทจองคิวร้านอาหาร เราอาจจะ
- สร้าง ตัวแปรส่วนกลาง ชื่อว่า “typeOfFood” ไว้เก็บประเภทอาหารที่ลูกค้าเลือก (เช่น อาหารไทย, อาหารฝรั่ง)
- ไม่ว่าลูกค้าจะคุยกับบอทในหัวข้อไหน เวลาเราจะแสดงเมนูอาหาร หรือ สรุปข้อมูลการจอง ก็สามารถดึงข้อมูลจากตัวแปร “typeOfFood” มาใช้ได้สะดวกเลย
เทคนิคการสร้างตัวแปรส่วนกลาง
เวลาสร้างตัวแปร จะมีช่องให้เลือก Scope ให้เราเปลี่ยนจาก “Topic” เป็น “Global” แค่นี้ ตัวแปรที่เราสร้างก็สามารถใช้งานข้าม Topic ได้เลย
ข้อควรจำ
- ข้อมูลใน Global Variable จะถูกล้างค่าไปเมื่อผู้ใช้จบการสนทนา (End of Conversation) ดังนั้น ไม่เหมาะสำหรับเก็บข้อมูลสำคัญที่ต้องการเก็บไว้ระยะยาว ถ้าต้องการเก็บตลอดไป ควรส่งไปเก็บด้านนอก เช่นระบบฐานข้อมูลอย่าง Dataverse
- ตัวแปรส่วนกลาง ช่วยให้การออกแบบการสนทนากับผู้ใช้มีความยืดหยุ่น และเชื่อมโยงข้อมูลระหว่างหัวข้อได้ง่ายขึ้น
หวังว่าบทความนี้จะเป็นประโยชน์สำหรับคนที่กำลังเริ่มต้นสร้างบอทด้วย Microsoft Power Virtual Agent นะครับ สำหรับพวกเราที่สนใจติดตามอัพเดตข่าว AI หรือเทคนิคใหม่ๆ ในการใช้เครื่องมือ สามารถติดตามให้กำลังใจพลตามช่องทางด้านล่างต่อไปนี้นะครับ