วิธีสร้าง Topics ใน Copilot Studio ออกแบบบทสนทนาให้ AI ตอบตรงคำถาม

วิธีสร้าง Topics ใน Microsoft Copilot Studio เริ่มจากเปิด AI Agent ที่ต้องการ เลือกเมนู Topics จากนั้นกด Add a topic แล้วเลือกสร้าง Topic แบบกำหนดเอง หรือเลือก Add from description with Copilot เพื่อให้ AI ช่วยสร้างขั้นตอนบทสนทนาจากคำอธิบาย เมื่อสร้างเสร็จสามารถเพิ่ม Question, Message, Condition และ Variables เพื่อควบคุมการสนทนา ก่อนทดสอบและ Publish ให้ผู้ใช้งานเข้าถึง

Topics เป็นส่วนสำคัญของ Microsoft Copilot Studio เพราะช่วยกำหนดว่า AI Agent ควรดำเนินบทสนทนาอย่างไร เมื่อผู้ใช้ถามคำถามหรือร้องขอให้ทำงานบางอย่าง

ตัวอย่างเช่น หากลูกค้าพิมพ์ว่า “ต้องการขอใบเสนอราคาติดตั้ง Fiber Optic” เราสามารถสร้าง Topic ให้ AI ถามข้อมูลที่จำเป็นทีละขั้นตอน เช่น สถานที่ติดตั้ง ระยะทางโดยประมาณ จำนวนจุดเชื่อมต่อ และช่องทางติดต่อ จากนั้นสรุปข้อมูลให้ลูกค้าตรวจสอบก่อนส่งต่อเจ้าหน้าที่

จุดเด่นคือสามารถออกแบบบทสนทนาได้ผ่านหน้าจอแบบกราฟิก โดยไม่จำเป็นต้องเขียนโปรแกรมทั้งหมดด้วยตัวเอง

อย่างไรก็ตาม การใช้ Topics ให้ได้ผลดีต้องเข้าใจความแตกต่างระหว่าง Classic Orchestration ซึ่งเน้น Trigger Phrases กับ Generative Orchestration ซึ่งใช้ AI พิจารณาคำอธิบาย Topic และเลือกขั้นตอนที่เหมาะสม

บทความนี้ comsiam จะสอนวิธีสร้าง Topics ใน Copilot Studio แบบละเอียด ตั้งแต่การตั้งชื่อ การกำหนด Trigger การเพิ่ม Nodes การใช้ Variables และ Conditions ไปจนถึงตัวอย่าง Flow สำหรับธุรกิจ การทดสอบ และการแก้ปัญหา Topic ไม่ทำงาน

🤖 Topics ใน Copilot Studio คืออะไร?

Topics คือชุดขั้นตอนที่กำหนดว่าบทสนทนาระหว่างผู้ใช้กับ AI Agent จะดำเนินไปอย่างไร

Topics สามารถใช้ควบคุมทั้งข้อความที่ Agent ส่ง คำถามที่ต้องถาม ข้อมูลที่ต้องบันทึก และเงื่อนไขการตัดสินใจ

ตัวอย่าง Topic แบบง่าย

ผู้ใช้ถาม:

“บริษัทเปิดทำการวันไหน?”

Agent ตอบ:

“กรุณาตรวจสอบเวลาทำการล่าสุดจากข้อมูลบริษัทที่กำหนดไว้”

หากมีข้อมูลเวลาทำการที่ยืนยันแล้ว ก็สามารถให้ Agent ตอบตามข้อมูลนั้นได้

ตัวอย่าง Topic แบบหลายขั้นตอน

ผู้ใช้ถาม:

“ต้องการแจ้งซ่อมอินเทอร์เน็ต”

Agent ดำเนินบทสนทนา:

  1. ถามประเภทการเชื่อมต่อ
  2. ถามอาการที่พบ
  3. ถามสถานที่
  4. ถามระดับความเร่งด่วน
  5. สรุปข้อมูล
  6. ให้ผู้ใช้ยืนยัน
  7. ส่งต่อหรือเรียก Tool ตามการตั้งค่า

การออกแบบเช่นนี้ช่วยให้ AI เก็บข้อมูลได้เป็นระบบและลดโอกาสลืมคำถามที่จำเป็น

✨ Topics ใช้ทำอะไรได้บ้าง?

1. กำหนดบทสนทนาสำหรับงานเฉพาะ

เช่น การแจ้งซ่อม การขอใบเสนอราคา หรือการสอบถามข้อมูลบริการ

2. ถามคำถามตามลำดับ

สามารถกำหนดให้ Agent ถามข้อมูลทีละข้อ

3. เก็บข้อมูลด้วย Variables

บันทึกคำตอบเพื่อนำไปใช้ในขั้นตอนถัดไป

4. สร้างเงื่อนไขด้วย Conditions

แยกเส้นทางบทสนทนาตามคำตอบ

5. แสดงข้อความอัตโนมัติ

ใช้ Message Node เพื่อแสดงคำแนะนำหรือผลลัพธ์

6. เรียก Topic อื่น

สามารถใช้ Redirect เพื่อเชื่อมบทสนทนาหลายชุด

7. เรียก Tools หรือ Workflows

ให้ Agent ดำเนินงานในระบบที่เชื่อมต่อและได้รับอนุญาต

8. จัดการกรณีไม่มีข้อมูล

เพิ่มขั้นตอนให้ถามเพิ่มเติมหรือแจ้งข้อจำกัด

9. ลดความซับซ้อนของบทสนทนา

แยกงานแต่ละประเภทเป็น Topic ที่ดูแลและทดสอบได้

10. ช่วยให้ Agent ตอบตรงกับกระบวนการธุรกิจ

เหมาะกับงานที่ต้องปฏิบัติตามขั้นตอนหรือกฎที่กำหนดไว้

🧩 องค์ประกอบสำคัญของ Topics

องค์ประกอบหน้าที่
Topic Nameชื่อบทสนทนา
Descriptionอธิบายว่า Topic ใช้เมื่อใด
Triggerเงื่อนไขเริ่ม Topic
Message Nodeส่งข้อความให้ผู้ใช้
Question Nodeถามและเก็บคำตอบ
Variableเก็บค่าที่ใช้ในบทสนทนา
Conditionแยกเส้นทางตามเงื่อนไข
Redirectเรียก Topic อื่น
Tool / Actionเรียกระบบหรือเครื่องมือ
Input Parameterข้อมูลที่ส่งเข้า Topic
Output Parameterข้อมูลผลลัพธ์จาก Topic
End Nodeจบขั้นตอนที่กำหนด

ไม่จำเป็นต้องใช้ทุกองค์ประกอบใน Topic เดียว ควรเลือกเฉพาะส่วนที่จำเป็นสำหรับงานนั้น

🆚 Classic Orchestration กับ Generative Orchestration ต่างกันอย่างไร?

ก่อนสร้าง Topic ควรตรวจสอบวิธีที่ Agent ใช้เลือกบทสนทนา

Classic Orchestration

เน้น Trigger Phrases เพื่อช่วยระบุความต้องการของผู้ใช้

ตัวอย่าง Trigger Phrases:

  • แจ้งซ่อมอินเทอร์เน็ต
  • Wi-Fi ใช้ไม่ได้
  • ขอแจ้งปัญหาเครือข่าย
  • อินเทอร์เน็ตเสีย

Agent ใช้ระบบ Natural Language Understanding เพื่อค้นหา Topic ที่สอดคล้องกับคำถาม

ผู้ใช้ไม่จำเป็นต้องพิมพ์ข้อความตรงกับ Trigger Phrase ทุกตัวอักษร

Generative Orchestration

ใช้โมเดล AI พิจารณาความต้องการของผู้ใช้ และเลือก Topics, Tools หรือ Knowledge ที่เหมาะสมจากคำอธิบายและบริบท

ในรูปแบบนี้ Topic Description มีความสำคัญมาก เพราะช่วยให้ระบบทราบว่าควรเรียก Topic ในสถานการณ์ใด

ตารางเปรียบเทียบ

หัวข้อClassicGenerative
การเลือก TopicTrigger PhrasesTopic Description และบริบท
ความยืดหยุ่นเน้นขั้นตอนที่กำหนดเลือกความสามารถตามคำขอ
การตั้งค่าต้องออกแบบวลีเริ่มต้นต้องเขียน Description ให้ชัดเจน
การใช้ Toolsผ่าน Flow ที่ออกแบบสามารถเลือกใช้ตามการตั้งค่า
เหมาะกับงานขั้นตอนแน่นอนงานที่มีคำถามหลากหลาย
การทดสอบทดสอบ Trigger และ Flowทดสอบการเลือก Topic และการทำงาน

คำแนะนำ: หากต้องการควบคุมขั้นตอนรับข้อมูลอย่างเข้มงวด ให้กำหนด Flow และ Conditions ภายใน Topic ให้ชัดเจน ไม่ว่าจะเลือก Orchestration รูปแบบใด

🚀 วิธีสร้าง Topics ใน Copilot Studio ทีละขั้นตอน

ตัวอย่างนี้ใช้ Agent ที่รองรับ Standard Harness

ชื่อเมนูบางรายการอาจแตกต่างกันตามเวอร์ชันของ Copilot Studio

ขั้นตอนที่ 1: เปิด Microsoft Copilot Studio

ลงชื่อเข้าใช้ Copilot Studio ด้วยบัญชีที่มีสิทธิ์แก้ไข Agent

ขั้นตอนที่ 2: เลือก Environment

ตรวจสอบว่าอยู่ใน Environment ที่มี Agent ต้องการ

ขั้นตอนที่ 3: เปิด Agent

ไปที่เมนู Agents แล้วเลือก Agent ที่ต้องการสร้าง Topic

ขั้นตอนที่ 4: เปิดเมนู Topics

เลือก Topics เพื่อแสดงรายการ Topic ที่มีอยู่

ขั้นตอนที่ 5: กด Add a topic

ระบบจะแสดงตัวเลือกสำหรับสร้าง Topic

โดยทั่วไปสามารถเลือกวิธีสร้างด้วย AI หรือสร้างเองบน Canvas

ขั้นตอนที่ 6: เลือกวิธีสร้าง

วิธีที่ 1: Add from description with Copilot

อธิบายบทสนทนาที่ต้องการ แล้วให้ AI สร้าง Nodes เบื้องต้น

วิธีที่ 2: Create from blank

สร้าง Topic เปล่าและเพิ่ม Nodes ด้วยตัวเอง

ขั้นตอนที่ 7: ตั้งชื่อ Topic

ตัวอย่าง:

Request Fiber Optic Quotation

ชื่อควรสื่อถึงงานที่ Topic ต้องทำ

ขั้นตอนที่ 8: กำหนด Trigger หรือ Description

หากใช้ Classic Orchestration ให้กำหนด Trigger Phrases

หากใช้ Generative Orchestration ให้เขียน Description อธิบายว่า Topic นี้ทำอะไรและควรถูกเรียกเมื่อใด

ขั้นตอนที่ 9: เพิ่ม Nodes

เริ่มจาก Message หรือ Question แล้วกำหนดเงื่อนไขตามต้องการ

ขั้นตอนที่ 10: กำหนด Variables

เก็บคำตอบของผู้ใช้ไว้ในตัวแปรที่มีชื่อชัดเจน

ขั้นตอนที่ 11: เพิ่ม Conditions

ใช้แยกเส้นทางเมื่อคำตอบแตกต่างกัน

ขั้นตอนที่ 12: กำหนดขั้นตอนจบ

อาจแสดงข้อความสรุป ส่ง Output หรือ Redirect ไป Topic อื่น

ขั้นตอนที่ 13: บันทึก Topic

บันทึกการตั้งค่าตามหน้าจอ

ขั้นตอนที่ 14: ทดสอบ

เปิด Test Agent แล้วส่งข้อความที่ควรเรียก Topic

ขั้นตอนที่ 15: Publish

เมื่อทดสอบสำเร็จ ให้ Publish Agent เพื่อเผยแพร่การแก้ไขไปยังช่องทางที่รองรับ

🧠 วิธีสร้าง Topics อัตโนมัติด้วย Copilot

Microsoft Copilot Studio รองรับการสร้าง Topic จากคำอธิบายภาษาธรรมชาติในประสบการณ์ที่รองรับ

ขั้นตอน

  1. เปิด Agent
  2. เลือก Topics
  3. กด Add a topic
  4. เลือก Add from description with Copilot
  5. ตั้งชื่อ Topic
  6. เขียนคำอธิบายเป็นภาษาอังกฤษที่ชัดเจน
  7. กด Create
  8. ตรวจสอบ Nodes ที่ AI สร้าง
  9. ปรับแก้รายละเอียด
  10. ทดสอบ

ตัวอย่างคำอธิบาย

“Create a topic for customers requesting a fiber optic installation quotation. Ask for installation location, approximate cable distance, number of endpoints, and preferred contact method. Summarize the information and ask for confirmation. Do not invent prices.”

ทำไมใช้ภาษาอังกฤษในตัวอย่าง?

เอกสาร Microsoft สำหรับความสามารถสร้าง Topic ด้วย Copilot ระบุการเขียนคำอธิบายด้วยภาษาอังกฤษอย่างง่าย จึงควรตรวจสอบภาษาที่ฟีเจอร์นี้รองรับในบัญชีปัจจุบัน

แต่ข้อความที่ Agent ใช้พูดกับลูกค้าสามารถออกแบบเป็นภาษาไทยได้ตามความสามารถด้านภาษาของ Agent

สิ่งที่ต้องตรวจสอบหลัง AI สร้าง Topic

  • ลำดับคำถาม
  • ประเภท Variables
  • เงื่อนไข
  • ข้อความภาษาไทย
  • ขั้นตอนยืนยัน
  • การเรียก Tools
  • การจบ Topic

ไม่ควร Publish ทันทีโดยไม่ได้ตรวจสอบ Flow ที่ AI สร้าง

🧱 วิธีสร้าง Topic จาก Blank Canvas

หากต้องการควบคุมทุกขั้นตอน สามารถเลือกสร้าง Topic เปล่า

ขั้นตอนที่ 1: ตั้งชื่อ Topic

ตัวอย่าง:

IT Support Request

ขั้นตอนที่ 2: กำหนด Trigger

เลือก Trigger ตาม Orchestration ที่ใช้

ขั้นตอนที่ 3: เพิ่ม Message Node

ข้อความ:

“ยินดีช่วยตรวจสอบปัญหาระบบ IT กรุณาเลือกประเภทปัญหาที่พบ”

ขั้นตอนที่ 4: เพิ่ม Question Node

กำหนดคำถามและตัวเลือก

  • Wi-Fi
  • LAN
  • คอมพิวเตอร์
  • เครื่องพิมพ์
  • อื่นๆ

ขั้นตอนที่ 5: บันทึกคำตอบ

เก็บไว้ใน Variable ชื่อ IssueType

ขั้นตอนที่ 6: เพิ่ม Condition

หาก IssueType เท่ากับ Wi-Fi ให้ดำเนินเส้นทางสำหรับปัญหา Wi-Fi

หากเป็น LAN ให้ดำเนินเส้นทางสำหรับปัญหาสาย LAN

ขั้นตอนที่ 7: เพิ่มคำถามเพิ่มเติม

สอบถามรายละเอียดอาการและสถานที่

ขั้นตอนที่ 8: แสดงสรุป

ให้ผู้ใช้ตรวจสอบข้อมูล

ขั้นตอนที่ 9: จบ Topic หรือส่งต่อ

สามารถ Redirect ไป Topic สำหรับการส่งต่อเจ้าหน้าที่ หรือเรียก Tool เมื่อมีการเชื่อมต่อจริง

🗣️ Question Node คืออะไร?

Question Node คือ Node สำหรับถามคำถามและเก็บคำตอบจากผู้ใช้

ตัวอย่าง:

“ต้องการติดตั้งสาย Fiber Optic ระยะทางประมาณกี่เมตร?”

คำตอบสามารถถูกบันทึกใน Variable

Question Node ใช้รับข้อมูลอะไรได้บ้าง?

  • ข้อความ
  • ตัวเลข
  • วันที่
  • ตัวเลือก
  • ข้อมูลที่ตรงกับ Entity ที่กำหนด
  • ค่าประเภทอื่นที่ระบบรองรับ

ตัวอย่างการใช้งาน

คำถาม: ต้องการติดตั้งกี่จุด?

Variable: EndpointCount

ชนิดข้อมูล: Number

ข้อควรระวัง

หากต้องการจำนวนจุดติดตั้งเป็นตัวเลข ควรใช้ชนิดข้อมูลที่เหมาะสมและตรวจสอบว่าค่ามากกว่าศูนย์

ไม่ควรนำข้อความที่ยังไม่ผ่านการตรวจสอบไปคำนวณทันที

💾 Variables ใน Copilot Studio คืออะไร?

Variables คือพื้นที่เก็บข้อมูลที่ใช้ระหว่างบทสนทนา

ตัวอย่างเช่น ผู้ใช้ตอบว่า

“ต้องการติดตั้งที่จังหวัดขอนแก่น”

ระบบสามารถบันทึกคำตอบใน Variable ชื่อ InstallationLocation

ตัวอย่าง Variables สำหรับขอใบเสนอราคา

Variableข้อมูลที่เก็บ
ServiceTypeประเภทบริการ
InstallationLocationสถานที่ติดตั้ง
CableDistanceระยะทางสาย
EndpointCountจำนวนจุด
CustomerNoteรายละเอียดเพิ่มเติม
ContactMethodช่องทางติดต่อ
Confirmedสถานะยืนยันข้อมูล

ทำไมต้องตั้งชื่อตัวแปรให้ชัดเจน?

ช่วยให้เข้าใจการทำงานของ Flow ง่ายขึ้น

ตัวอย่าง:

ชื่อที่ไม่เหมาะ: var1, var2, var3

ชื่อที่เหมาะ: CableDistance, EndpointCount, CustomerNote

Topic Variables กับ Global Variables ต่างกันอย่างไร?

Topic Variables ใช้ภายในขอบเขต Topic หรือถูกส่งผ่าน Inputs และ Outputs ตามการตั้งค่า

Global Variables สามารถใช้ร่วมกันในระดับการสนทนาได้ตามขอบเขตและวิธีการที่ระบบรองรับ

ควรใช้ขอบเขตที่จำเป็นเพื่อไม่ให้เกิดการใช้ค่าผิดหรือข้อมูลค้างจากบทสนทนาก่อนหน้า

🔀 Condition Node คืออะไร?

Condition Node ใช้กำหนดเส้นทางการทำงานตามค่าหรือเงื่อนไข

ตัวอย่าง:

หากลูกค้าเลือกประเภทบริการเป็น Fiber Optic ให้ถามระยะทางสาย

หากเลือก Wi-Fi ให้ถามพื้นที่ครอบคลุมและจำนวนผู้ใช้งาน

ตัวอย่าง Flow

Condition: ServiceType

กรณี Fiber Optic:

  • ถามระยะทาง
  • ถามจำนวนจุด
  • ถามประเภทพื้นที่

กรณี Wi-Fi:

  • ถามพื้นที่ใช้งาน
  • ถามจำนวนผู้ใช้
  • ถามจำนวนชั้น

กรณี CCTV:

  • ถามจำนวนกล้อง
  • ถามพื้นที่ติดตั้ง
  • ถามความต้องการบันทึกภาพ

ประโยชน์

ทำให้ Agent ไม่ถามข้อมูลที่ไม่เกี่ยวข้องกับบริการนั้น

และสามารถออกแบบการรับข้อมูลให้เหมาะกับงานแต่ละประเภท

🛠️ ตัวอย่างสร้าง Topic ขอใบเสนอราคาติดตั้ง Fiber Optic

ตัวอย่างนี้เป็น Flow สำหรับธุรกิจรับติดตั้งระบบ Fiber Optic

ชื่อ Topic

Fiber Optic Quotation Request

วัตถุประสงค์

เก็บข้อมูลเบื้องต้นสำหรับให้เจ้าหน้าที่ประเมินราคา

ขั้นตอนที่ 1: เริ่มบทสนทนา

ข้อความ:

“ยินดีให้ข้อมูลบริการติดตั้ง Fiber Optic กรุณาแจ้งรายละเอียดเบื้องต้นเพื่อช่วยให้เจ้าหน้าที่ประเมินงานได้เหมาะสม”

ขั้นตอนที่ 2: ถามสถานที่

Question:

“สถานที่ติดตั้งอยู่จังหวัดใด?”

เก็บใน InstallationLocation

ขั้นตอนที่ 3: ถามระยะทาง

Question:

“ระยะทางเดินสายโดยประมาณกี่เมตร?”

เก็บใน CableDistance

หากลูกค้าไม่ทราบ สามารถกำหนดทางเลือก “ยังไม่ทราบ ต้องสำรวจหน้างาน” แทนการบังคับกรอกตัวเลข

ขั้นตอนที่ 4: ถามจำนวนจุด

Question:

“ต้องการเชื่อมต่อกี่จุด?”

เก็บใน EndpointCount

ขั้นตอนที่ 5: ถามพื้นที่ติดตั้ง

Question:

“เป็นงานภายในอาคาร ภายนอกอาคาร หรือทั้งสองประเภท?”

เก็บใน InstallationType

ขั้นตอนที่ 6: ถามรายละเอียดเพิ่มเติม

Question:

“มีข้อมูลเพิ่มเติม เช่น ประเภทอาคาร หรือช่วงเวลาที่ต้องการติดตั้งหรือไม่?”

เก็บใน CustomerNote

ขั้นตอนที่ 7: สรุปข้อมูล

Agent แสดง:

“สรุปรายละเอียดงานที่ได้รับ”

จากนั้นแสดงค่าที่ผู้ใช้กรอก

ขั้นตอนที่ 8: ขอให้ยืนยัน

Question:

“ข้อมูลถูกต้องหรือไม่?”

ตัวเลือก:

  • ถูกต้อง
  • ต้องการแก้ไข

ขั้นตอนที่ 9: แยก Condition

หากเลือกถูกต้อง ให้ดำเนินการส่งต่อ

หากเลือกแก้ไข ให้กลับไปส่วนที่เหมาะสม

ขั้นตอนที่ 10: ส่งต่อเจ้าหน้าที่

หากมี Tool เชื่อมระบบรับข้อมูล ก็สามารถเรียก Tool ได้หลังผู้ใช้ยืนยัน

หากยังไม่มีการเชื่อมต่อ ให้แนะนำช่องทางติดต่อจริงแทนการอ้างว่าบันทึกข้อมูลแล้ว

🖥️ ตัวอย่าง Flow การแจ้งซ่อมระบบ Wi-Fi

Topic นี้เหมาะกับฝ่าย IT Helpdesk

ชื่อ Topic

Wi-Fi Troubleshooting

Trigger หรือ Description

กำหนดให้ใช้เมื่อผู้ใช้แจ้งปัญหาการเชื่อมต่อ Wi-Fi

ตัวอย่างบทสนทนา

ผู้ใช้: Wi-Fi ใช้ไม่ได้

Agent: รบกวนแจ้งว่าพบปัญหาที่อุปกรณ์ประเภทใด?

ตัวเลือก:

  • คอมพิวเตอร์
  • โทรศัพท์มือถือ
  • หลายอุปกรณ์

ผู้ใช้: หลายอุปกรณ์

Agent: ไฟแสดงสถานะที่ Access Point หรือ Router มีลักษณะผิดปกติหรือไม่?

ผู้ใช้: ไม่แน่ใจ

Agent: หากไม่สะดวกตรวจสอบอุปกรณ์ สามารถแจ้งสถานที่และรายละเอียดอาการเพื่อส่งต่อเจ้าหน้าที่ได้

สิ่งที่ควรหลีกเลี่ยง

ไม่ควรให้ Agent สั่ง Reset Factory หรือเปลี่ยนค่าเครือข่ายสำคัญทันที โดยไม่ตรวจสอบผลกระทบและสิทธิ์ของผู้ใช้

🔗 วิธีเชื่อม Topics หลายชุดเข้าด้วยกัน

Copilot Studio รองรับการเรียก Topic อื่นผ่าน Redirect ตามประเภท Agent ที่ใช้

ตัวอย่าง

Topic A: Customer Service

รับคำขอจากลูกค้า

Topic B: Fiber Optic Quotation

เก็บรายละเอียดงานไฟเบอร์

Topic C: Contact Confirmation

ตรวจสอบข้อมูลติดต่อ

Topic D: Handoff

ส่งต่อเจ้าหน้าที่หรือแนะนำช่องทางติดต่อ

ทำไมควรแบ่ง Topics?

เพราะช่วยให้

  • ลด Flow ที่ยาวเกินไป
  • แก้ไขง่าย
  • ทดสอบเฉพาะส่วนได้
  • นำบทสนทนากลับมาใช้ซ้ำ
  • กำหนดความรับผิดชอบชัดเจน

ข้อควรระวัง

หาก Redirect ไปยัง Topic อื่น ควรตรวจสอบว่ามีการส่งค่าที่จำเป็นผ่าน Input และ Output Parameters อย่างถูกต้อง

📥 Input และ Output Parameters คืออะไร?

Topics สามารถรับและส่งค่าระหว่างกันได้

Input

ค่าที่ Topic ต้องได้รับก่อนทำงาน

ตัวอย่าง:

  • CustomerID
  • ServiceType
  • TicketID

Output

ผลลัพธ์ที่ Topic ส่งกลับ

ตัวอย่าง:

  • RequestStatus
  • ValidationResult
  • TicketNumber

ตัวอย่างการใช้งาน

Topic รับข้อมูล ServiceType เป็น Fiber Optic

หลังเก็บข้อมูลเสร็จ ส่ง Output เป็น QuotationDetails

จากนั้น Topic หรือ Orchestration ที่เรียกใช้งานสามารถนำผลลัพธ์ไปดำเนินการต่อได้ตามการตั้งค่า

แนวทาง Generative Orchestration

ควรตั้งชื่อและ Description ของ Input ให้ชัดเจน เพราะ Agent สามารถใช้บริบทเพื่อเติมค่าหรือถามข้อมูลที่ยังขาดได้ในรูปแบบที่รองรับ

⚙️ วิธีเขียน Topic Description ให้ Generative Orchestration เลือกถูก

สำหรับ Agent ที่ใช้ Generative Orchestration ควรให้ความสำคัญกับ Topic Description

ตัวอย่าง Description ที่กว้างเกินไป

“Help customers”

คำอธิบายนี้ไม่ชัดเจนว่า Topic ช่วยเรื่องอะไร

ตัวอย่าง Description ที่ดีกว่า

“This topic collects installation requirements from customers requesting a fiber optic quotation, including location, approximate distance, and number of endpoints. Use it when customers ask for fiber optic installation pricing or request a site survey.”

คำอธิบายนี้ระบุได้ชัดเจนว่า

  1. ใช้เมื่อใด
  2. ต้องเก็บข้อมูลอะไร
  3. เกี่ยวข้องกับงานประเภทใด

เทคนิค

หลีกเลี่ยงการสร้าง Topics หลายตัวที่มี Description ใกล้เคียงกันเกินไป เพราะอาจทำให้ระบบเลือก Topic ไม่ตรงความตั้งใจ

🚦 System Topics คืออะไร?

System Topics เป็น Topics ที่ใช้จัดการพฤติกรรมพื้นฐานของ Agent

ตัวอย่างเช่น

  • Conversation Start
  • Greeting
  • Fallback
  • Escalate
  • Multiple Topics Matched
  • End of Conversation
  • Sign in
  • Reset Conversation

รายการที่มีและพฤติกรรมอาจแตกต่างตามรูปแบบ Orchestration

Fallback Topic

ใช้จัดการกรณีที่ระบบไม่สามารถระบุ Topic หรือคำตอบได้ตามเงื่อนไข

Escalate Topic

ใช้เมื่อจำเป็นต้องส่งต่อหรือแนะนำช่องทางติดต่อเจ้าหน้าที่

Multiple Topics Matched

ใน Classic Orchestration อาจใช้เมื่อข้อความของผู้ใช้ตรงกับหลาย Topics และต้องการให้เลือกเส้นทางที่เหมาะสม

Conversation Start

ใช้กำหนดข้อความหรือขั้นตอนเมื่อเริ่มสนทนาใหม่

ข้อควรระวัง

ควรทดสอบก่อนแก้ System Topics เพราะอาจกระทบพฤติกรรมของ Agent ทั้งระบบ

🧪 วิธีทดสอบ Topics ใน Copilot Studio

หลังสร้าง Topic ควรทดสอบอย่างน้อย 8 รูปแบบ

1. ทดสอบข้อความตรง Trigger

เช่น

“ขอใบเสนอราคา Fiber Optic”

2. ทดสอบข้อความใกล้เคียง

“อยากให้ช่างมาประเมินงานเดินไฟเบอร์”

3. ทดสอบข้อความสั้น

“ขอราคาไฟเบอร์”

4. ทดสอบคำตอบไม่ครบ

เมื่อผู้ใช้ไม่ระบุสถานที่หรือจำนวนจุด

5. ทดสอบข้อมูลผิดประเภท

เช่น ผู้ใช้ใส่ข้อความแทนจำนวนเมตร

6. ทดสอบการย้อนกลับ

เมื่อผู้ใช้ต้องการแก้ข้อมูลก่อนยืนยัน

7. ทดสอบการเรียก Tool ผิดพลาด

เช่น ระบบรับแจ้งซ่อมไม่ตอบสนอง

8. ทดสอบคำถามนอก Topic

ตรวจสอบว่า Agent ไม่เรียก Topic นี้กับคำถามที่ไม่เกี่ยวข้อง

สิ่งที่ควรตรวจสอบ

  • Topic ถูกเรียกหรือไม่
  • Nodes ทำงานตามลำดับหรือไม่
  • Variables เก็บค่าถูกต้องหรือไม่
  • Condition แยกเส้นทางถูกต้องหรือไม่
  • มีข้อความซ้ำหรือไม่
  • จบ Topic ถูกต้องหรือไม่

📊 Checklist ก่อน Publish Topics

รายการสิ่งที่ต้องตรวจสอบ
Topic Nameชัดเจน
Descriptionสื่อหน้าที่ตรง
Triggerเหมาะกับ Orchestration
Messagesใช้ภาษาชัดเจน
Questionsถามเฉพาะข้อมูลจำเป็น
Variablesชื่อและประเภทถูกต้อง
Conditionsครอบคลุมคำตอบ
Input Parametersตั้งค่าถูกต้อง
Output Parametersส่งค่าถูกต้อง
Redirectไม่มีการวนผิด
Toolsมีสิทธิ์และทำงานจริง
Error Handlingมีทางเลือกเมื่อผิดพลาด
Privacyเก็บข้อมูลเท่าที่จำเป็น
Test Casesผ่านการทดสอบ
Publishเวอร์ชันล่าสุดพร้อมใช้งาน

🔧 Topic ไม่ทำงาน แก้อย่างไร?

ปัญหาที่ 1: Topic ไม่ถูกเรียก

ตรวจสอบว่าใช้ Generative หรือ Classic Orchestration

หากเป็น Classic ให้ปรับ Trigger Phrases

หากเป็น Generative ให้ตรวจสอบ Topic Description และความเกี่ยวข้องกับคำถาม

ปัญหาที่ 2: Agent เรียกผิด Topic

ตรวจสอบว่ามี Topics ที่มีชื่อหรือ Description คล้ายกันหรือไม่

ควรแยกขอบเขตการใช้งานให้ชัดเจน

ปัญหาที่ 3: Question Node ไม่เก็บค่า

ตรวจสอบ Variable ที่เชื่อมกับ Question และประเภทข้อมูล

ปัญหาที่ 4: Condition ไม่ทำงาน

ตรวจสอบค่า Variable และเงื่อนไขการเปรียบเทียบ

ปัญหาที่ 5: Agent ถามซ้ำ

ตรวจสอบว่า Flow มีการ Redirect กลับหรือใช้ Question Node ซ้ำโดยไม่จำเป็นหรือไม่

ปัญหาที่ 6: Topic จบก่อนกำหนด

ตรวจสอบ End Node, Conditions และ Redirect

ปัญหาที่ 7: เรียก Tool ไม่สำเร็จ

ตรวจสอบ Authentication, Parameters และสิทธิ์ของ Connection

ปัญหาที่ 8: Agent ไม่ถามข้อมูลที่จำเป็น

ตรวจสอบว่าใช้ Question Nodes หรือกำหนด Input Parameters เหมาะสมหรือไม่

ปัญหาที่ 9: ตัวแปรแสดงค่าเก่า

ตรวจสอบ Scope และขั้นตอน Reset Variable

ปัญหาที่ 10: Topic ทำงานใน Test แต่ไม่ทำงานหลัง Publish

ตรวจสอบว่า Agent ถูก Publish เวอร์ชันล่าสุดแล้วหรือยัง

ปัญหาที่ 11: Agent ตอบข้อความซ้ำ

หากใช้ Generative Orchestration ควรตรวจสอบว่า Topic ส่ง Message ให้ผู้ใช้แล้ว และ Orchestration สรุปข้อความซ้ำอีกครั้งหรือไม่

อาจออกแบบให้ Topic ส่งผลลัพธ์เป็น Output แล้วปล่อยให้ Orchestration เป็นผู้จัดรูปแบบคำตอบตามกรณีที่เหมาะสม

ปัญหาที่ 12: Topic มีจำนวน Nodes มากเกินไป

พิจารณาแบ่งออกเป็น Topics ย่อย และใช้ Redirect หรือ Input/Output Parameters เชื่อมต่อกัน

📈 10 เทคนิคออกแบบ Topics ให้ AI ตอบตรงคำถาม

1. หนึ่ง Topic ควรมีหน้าที่หลักชัดเจน

หลีกเลี่ยงการรวมหลายกระบวนการที่ไม่เกี่ยวข้องกัน

2. ตั้งชื่อให้สื่อถึงหน้าที่

เช่น Request Quotation หรือ Report Network Issue

3. เขียน Description ให้ชัดเจน

โดยเฉพาะเมื่อใช้ Generative Orchestration

4. ออกแบบ Trigger ให้ตรง Intent

สำหรับ Classic Orchestration ควรใช้ตัวอย่างประโยคหลากหลาย แต่เป็นความต้องการเดียวกัน

5. ถามเฉพาะข้อมูลที่จำเป็น

ไม่ควรให้ Agent ขอข้อมูลส่วนบุคคลเกินความจำเป็น

6. ใช้ Variables ที่เข้าใจง่าย

ช่วยให้แก้ไขและทดสอบ Flow ได้สะดวก

7. เพิ่ม Conditions ตามความจำเป็น

ลดการถามคำถามที่ไม่เกี่ยวข้อง

8. จัดการกรณีข้อมูลไม่ครบ

อนุญาตให้ผู้ใช้ตอบว่ายังไม่ทราบเมื่อเหมาะสม

9. ตรวจสอบการจบ Topic

ป้องกันการวนซ้ำหรือกลับไปเริ่มต้นโดยไม่ตั้งใจ

10. ทดสอบจากคำถามจริง

ใช้ข้อความที่ลูกค้าและพนักงานพิมพ์จริง ไม่ใช่เพียงประโยคตัวอย่างที่เตรียมไว้

❓ คำถามที่พบบ่อยเกี่ยวกับ Topics ใน Copilot Studio

Topics ใน Copilot Studio คืออะไร?

Topics คือชุดขั้นตอนสำหรับกำหนดการสนทนาของ AI Agent สามารถมี Trigger, Messages, Questions, Variables และ Conditions

วิธีสร้าง Topics ใน Copilot Studio ทำอย่างไร?

เปิด Agent ไปที่ Topics เลือก Add a topic แล้วสร้างจาก Blank หรือใช้ Add from description with Copilot จากนั้นเพิ่ม Nodes และทดสอบ

Copilot Studio สร้าง Topics อัตโนมัติได้ไหม?

ได้ในประสบการณ์ที่รองรับ โดยใช้ Copilot ช่วยสร้าง Topic จากคำอธิบาย

Topics ต้องเขียนโค้ดหรือไม่?

ไม่จำเป็นสำหรับการออกแบบพื้นฐาน เพราะใช้ Canvas และ Nodes ได้

Trigger Phrases คืออะไร?

คือข้อความตัวอย่างที่ใช้ช่วยให้ Agent แบบ Classic Orchestration เลือก Topic ให้ตรงกับความต้องการของผู้ใช้

Generative Orchestration ใช้ Trigger Phrases หรือไม่?

โดยทั่วไปใช้ Topic Description เพื่อช่วยเลือก Topic แทนรูปแบบการจับคู่ Trigger Phrases แบบ Classic

Question Node คืออะไร?

คือ Node สำหรับถามคำถามและบันทึกคำตอบใน Variable

Condition Node คืออะไร?

คือ Node ที่ใช้กำหนดเส้นทางการทำงานตามค่าหรือเงื่อนไข

Variable คืออะไร?

คือตัวแปรสำหรับเก็บข้อมูลระหว่างบทสนทนา

Topics เชื่อมกันได้ไหม?

ได้ สามารถใช้ Redirect และ Input/Output Parameters ตามความสามารถที่รองรับ

Topics ใช้กับ SharePoint ได้ไหม?

สามารถสร้าง Topic ที่ใช้ Knowledge หรือเรียกความสามารถที่เกี่ยวข้องกับ SharePoint ตามสิทธิ์และการเชื่อมต่อที่รองรับ

Topics เรียก Power Automate ได้ไหม?

ได้ผ่านเครื่องมือหรือ Workflow ที่รองรับ โดยต้องตั้งค่าการเชื่อมต่อให้ถูกต้อง

Topics ใช้ภาษาไทยได้ไหม?

สามารถออกแบบข้อความบทสนทนาเป็นภาษาไทยได้สำหรับ Agent ที่รองรับ แต่ควรตรวจสอบภาษาที่รองรับในแต่ละฟีเจอร์

Topic ไม่ถูกเรียกควรทำอย่างไร?

ตรวจสอบ Orchestration และปรับ Trigger Phrases หรือ Description ให้ตรงกับงาน

Topics จำเป็นสำหรับทุก Agent หรือไม่?

ไม่จำเป็นเสมอไป Agent ที่เน้นตอบคำถามจาก Knowledge อาจไม่ต้องสร้าง Topics เพิ่มจำนวนมาก

Topic สร้างแล้วต้อง Publish หรือไม่?

หากต้องการให้การเปลี่ยนแปลงมีผลกับ Agent ที่เผยแพร่แล้ว ต้อง Publish เวอร์ชันล่าสุดตามกระบวนการที่รองรับ

✅ สรุปวิธีสร้าง Topics ใน Copilot Studio ให้ AI ตอบตรงคำถาม

Topics เป็นองค์ประกอบสำคัญของ Microsoft Copilot Studio ที่ช่วยกำหนดการสนทนาอย่างเป็นระบบ โดยสามารถตั้งค่า Trigger, Messages, Questions, Variables, Conditions และการเชื่อมต่อ Topics หรือ Tools ได้

สำหรับผู้เริ่มต้น สามารถสร้าง Topic จาก Blank Canvas หรือใช้ Copilot ช่วยสร้างจากคำอธิบาย แล้วค่อยปรับขั้นตอนให้ตรงกับความต้องการ

หากใช้ Classic Orchestration ควรให้ความสำคัญกับ Trigger Phrases แต่หากใช้ Generative Orchestration ควรเขียน Topic Description ให้ชัดเจน เพื่อช่วยให้ AI เลือก Topic เหมาะกับคำถาม

สำหรับธุรกิจ Topics เหมาะกับงานที่ต้องมีขั้นตอน เช่น การรับแจ้งซ่อม การขอใบเสนอราคา การสอบถามบริการ และการเก็บรายละเอียดก่อนส่งต่อเจ้าหน้าที่

comsiam แนะนำให้ใช้แนวทาง กำหนด Intent → สร้าง Topic → ตั้ง Trigger หรือ Description → เพิ่ม Nodes → เก็บ Variables → สร้าง Conditions → ทดสอบ → Publish → ตรวจสอบผล

การออกแบบ Topics ที่ดีไม่ได้หมายถึงการสร้าง Flow ให้ยาวที่สุด แต่คือการทำให้ Agent เข้าใจความต้องการ ถามข้อมูลที่จำเป็น และดำเนินงานตามขั้นตอนที่ตรวจสอบได้อย่างถูกต้อง