แชร์ผ่าน


ปรับใช้เอเจนต์ใน Microsoft Teams

Microsoft Teams แสดงความท้าทายในการปรับใช้ที่ไม่ซ้ํากันสําหรับตัวแทน Copilot Studio เนื่องจากสภาพแวดล้อมการสนทนาแบบถาวร ซึ่งแตกต่างจากการปรับใช้บนเว็บที่เซสชันรีเซ็ตโดยอัตโนมัติ Teams จะรักษาเธรดการสนทนาไว้อย่างไม่มีกําหนดซึ่งอาจนําไปสู่บริบทเก่า การหมดอายุของโทเค็น และเนื้อหาที่แคชล้าสมัย

บทความนี้มีคําแนะนําสําหรับการปรับใช้ตัวแทน Copilot Studio ใน Teams อย่างมีประสิทธิภาพ คุณเรียนรู้วิธีการจัดการเซสชันแบบถาวร ใช้กลยุทธ์การดีบัก และรับประกันประสิทธิภาพที่เชื่อถือได้ตลอดวงจรชีวิตการสนทนาที่ขยายเวลา

ข้อควรพิจารณาที่สําคัญที่ครอบคลุม:

  • การจัดการวงจรชีวิตเซสชันและการจัดการการไม่ได้ใช้งาน
  • เทคนิคการดีบักสําหรับการสนทนาแบบถาวร
  • ควบคุมเวอร์ชันและอัปเดตกลยุทธ์การปรับใช้
  • รูปแบบการใช้งานเฉพาะของ Teams

ปฏิบัติตามแนวทางปฏิบัติเหล่านี้เพื่อสร้างตัวแทนที่มีประสิทธิภาพดําเนินการอย่างต่อเนื่องในสภาพแวดล้อมของ Teams ในขณะที่ให้คําติชมที่ชัดเจนแก่ผู้ใช้เกี่ยวกับการเปลี่ยนแปลงของสถานะและลักษณะการทํางานของระบบ

ทําไมการปรับใช้ Teams จึงแตกต่างกัน

การสนทนาของทีมจะยังคงอยู่ตลอดทั้งวันโดยไม่มีการรีเซ็ตอัตโนมัติ เหตุการณ์ ConversationStart ทํางานเฉพาะครั้งแรกที่มีการเพิ่มตัวแทน ซึ่งแตกต่างจากเซสชัน Web Chat การติดตั้งแอปพลิเคชันใหม่จะไม่ทำให้เกิดเหตุการณ์นี้อีกครั้ง

การคงอยู่ของทีมทําให้เกิดความเสี่ยงหลายอย่าง:

  • บริบทเก่า: ประวัติการสนทนายังคงอยู่เว้นแต่จะถูกล้าง
  • การหมดอายุของโทเค็น: ตัวเชื่อมต่อสามารถหมดอายุในระหว่างเซสชันที่ยาว
  • ขีดจํากัดบริบท: ข้อความสะสมสามารถเกินขีดจํากัดของแบบจําลองได้
  • อัปเดตการแคช: ผู้ใช้อาจโต้ตอบกับตรรกะที่ล้าสมัยต่อไป

การจัดการสถานะเชิงรุกและคําแนะนําผู้ใช้ที่ชัดเจนเป็นสิ่งจําเป็น

จัดการวงจรชีวิตเซสชัน

จัดการวงจรชีวิตเซสชันด้วยการจัดการการไม่ได้ใช้งาน

ดำเนินการรีเซ็ตการไม่มีการใช้งาน

สร้างหัวข้อใหม่ และเลือกทริกเกอร์เมื่อผู้ใช้ไม่มีการใช้งานสักพักเพื่อเริ่มต้นโฟลว์รีเซ็ตหลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่งของผู้ใช้

  1. เพิ่มทริกเกอร์ที่ไม่ได้ใช้งานและตั้งค่าการหมดเวลา (ตัวอย่างเช่น 15 นาที)
  2. เพิ่มโหนด ลบค่าตัวแปร อย่างน้อยหนึ่งรายการเพื่อลบตัวแปรเซสชันและประวัติการสนทนาเพื่อป้องกันการล้นของบริบท
  3. สิ้นสุดการสนทนาและทําเครื่องหมายเซสชันเป็นแก้ไขแล้ว

Screenshot ของตัวแก้ไขหัวข้อ Copilot Studio ที่แสดงเวิร์กโฟลว์การรีเซ็ตที่ไม่ได้ใช้งานพร้อมทริกเกอร์ ข้อความ ล้างค่าตัวแปร และโหนดการสนทนาสิ้นสุด

วิธีการนี้จะป้องกันไม่ให้บริบทล้นและรับประกันพฤติกรรมที่สามารถคาดการณ์ได้เมื่อผู้ใช้กลับมาใช้งานอีกครั้ง

ให้คําแนะนําหลังจากรีเซ็ต

หลังจากล้างสถานะ ให้ส่งข้อความที่อธิบายสิ่งที่เกิดขึ้น ตัวอย่างเช่น: "ดูเหมือนว่าการสนทนาของเราไม่ได้ใช้งานดังนั้นฉันจะล้างบริบทก่อนหน้าเพื่อความปลอดภัย พูดว่า "hello" เพื่อเริ่มการรีสตาร์ทใหม่

เนื่องจาก ConversationStart ทํางานเพียงครั้งเดียว ในครั้งแรกที่มีการเพิ่มตัวแทน หัวข้อ คําทักทา ยจะกลายเป็นจุดเริ่มต้นที่มีประสิทธิภาพของคุณ การพร้อมท์ผู้ใช้ให้พูดว่า "hello" ช่วยให้แน่ใจว่าตรรกะการเริ่มต้นของคุณทํางานอย่างถูกต้อง

เสนอคําสั่งรีเซ็ตด้วยตนเอง

เพิ่มข้อความที่จะแจ้งให้ผู้ใช้ทราบว่าพวกเขาสามารถพิมพ์คําสั่งเฉพาะได้: "หากมีบางอย่างผิดปกติ ให้ลองพิมพ์ /debug clearstate เพื่อรีเฟรชสถานะของฉัน"

คําสั่งนี้บังคับให้รีเซ็ตการสนทนาทั้งหมด:

  • ล้างสถานะการสนทนา
  • เอาข้อมูลตัวเชื่อมต่อที่แคชไว้ออก
  • การรับรองความถูกต้องของตัวเชื่อมต่อใหม่อีกครั้ง
  • โหลดเวอร์ชันล่าสุดของเอเจนต์

ใช้คําสั่งนี้เมื่อ:

  • บอทดูเหมือน "ติดอยู่" ที่มีข้อมูลที่ล้าสมัย
  • การรับรองความถูกต้องของตัวเชื่อมต่อหมดอายุแล้ว
  • หลังจากอัปเดตตรรกะของบอท
  • เมื่อดูเหมือนว่าพฤติกรรมไม่สอดคล้องกัน

เพิ่มความโปร่งใสและปรับปรุงการดีบัก

หากต้องการเพิ่มความโปร่งใสและปรับปรุงการตรวจสอบข้อผิดพลาดสำหรับตัวแทนที่ถูกใช้งานใน Teams ให้ใช้ OnKnowledgeRequested ทริกเกอร์

ใช้ OnKnowledgeRequested เพื่อแสดงคิวรีที่เขียนใหม่

Copilot Studio เขียนคําถามผู้ใช้ใหม่ก่อนที่จะทําการค้นคืน ถ้าคุณเปิดใช้งาน OnKnowledgeRequested ทริกเกอร์ คุณสามารถ:

  • วินิจฉัยเจตนาที่ไม่ตรงกัน
  • ทําความเข้าใจวิธีการเขียนคิวรีใหม่
  • เพิ่มความน่าเชื่อถือของผู้ใช้ในระหว่างการดีบัก

Note

คุณสามารถกําหนดค่า OnKnowledgeRequested ทริกเกอร์ ในมุมมองโค้ด เท่านั้นโดยใช้ YAML ไม่มีการสนับสนุนตัวออกแบบวิชวล

เพิ่มข้อความที่แสดงทั้งคําสําคัญและคิวรีเชิงความหมายที่สร้างขึ้น เช่น:

kind: AdaptiveDialog
beginDialog:
  kind: OnKnowledgeRequested
  id: main
  actions:
    - kind: SendActivity
      id: sendActivity_debug
      activity: |-    
        **Debug**: sending this lexical query "{System.KnowledgeSearchQuery}"
        **Debug**: sending this semantic query "{System.SearchQuery}"
inputType: {}
outputType: {}

คิวรีนี้ให้การเข้าถึงแบบอ่านอย่างเดียวในคิวรีการค้นหาที่ปรับแต่งแล้ว (เขียนคิวรีใหม่) ที่ orchestrator สร้างขึ้นจากคําถามของผู้ใช้

ประโยชน์:

  • ช่วยแก้จุดบกพร่องของเจตนาที่ไม่ตรงกัน
  • แสดงสิ่งที่เจ้าหน้าที่ค้นหาต่อผู้ใช้
  • สร้างความน่าเชื่อถือในการดําเนินการของตัวแทน
  • ช่วยผู้ผลิตในระหว่างการทดสอบ

การควบคุมเวอร์ชันและอัปเดตความน่าเชื่อถือ

การจัดการเวอร์ชันของตัวแทนและทําให้แน่ใจว่าผู้ใช้โต้ตอบกับตรรกะล่าสุดเป็นสิ่งสําคัญอย่างยิ่งในสภาพแวดล้อมแบบถาวร เช่น Teams

แสดงเวอร์ชันของบอทในคำทักทายหรือหัวข้อเฉพาะ

รวมตัวระบุเวอร์ชันโดยใช้หัวข้อคําทักทายหรือหัวข้อเวอร์ชันเฉพาะ:

Contoso Helpdesk Bot – Version 1.3 (Nov 2025)

อัปเดตค่านี้ด้วยการเผยแพร่แต่ละครั้งเพื่อช่วยให้ผู้ใช้และทีมสนับสนุนตรวจสอบว่ารุ่นใดที่ใช้งานอยู่ การอัปเดตเมตาดาต้าเวอร์ชันยังรีเฟรชเนื้อหาที่แคชไว้ การเปลี่ยนชื่อหรือคําอธิบายของตัวแทนจะแจ้งให้ Teams โหลดเป็นการอัปเดตใหม่

เปิดใช้งาน "บังคับใช้เวอร์ชันใหม่ล่าสุด" เมื่อเผยแพร่

การตั้งค่า บังคับเวอร์ชันใหม่ล่าสุด ช่วยให้แน่ใจว่า Teams โหลดตรรกะของเอเยนต์ใหม่ล่าสุดครั้งถัดไปที่ผู้ใช้ส่งข้อความ การตั้งค่านี้ยังช่วยทําให้เวอร์ชันที่แคชไม่ถูกต้องอีกด้วย อย่างไรก็ตาม การบังคับให้การปรับปรุงขัดจังหวะการสนทนาใดๆ ที่กําลังดําเนินอยู่

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

ข้อควรพิจารณาเกี่ยวกับการใช้งานเฉพาะทีม

ทีมมีพฤติกรรมที่ไม่ซ้ําใครซึ่งต้องการความสนใจเป็นพิเศษ

ถือว่าหัวข้อทักทายเป็นตรรกะการเริ่มต้นของคุณ

เนื่องจาก ConversationStart ถูกเรียกใช้งานเพียงครั้งเดียวเมื่อมีการเพิ่มตัวแทนครั้งแรก:

  • วางตรรกะการเตรียมใช้งานในคําทักทาย
  • เพิ่มคําแนะนําที่ชัดเจนในคําอธิบายแอป Teams
  • เตือนผู้ใช้: "หลังจากหมดเวลา พิมพ์ 'hello' เพื่อเริ่มการสนทนาใหม่"

ปรับทริกเกอร์และทางเลือกสำรองให้เหมาะสม

ผู้ใช้ Teams โต้ตอบอย่างเป็นธรรมชาติและไม่สามารถคาดเปลี่ยนได้ ตรวจสอบให้แน่ใจว่าบอทของคุณ:

  • จัดการการเปลี่ยนแปลงคําทักทายหลายรายการ
  • รวมถึงการจัดการอําลา
  • ให้ตัวอย่างคำพูดหลายตัวอย่าง
  • เสนอคําตอบสํารองที่เป็นมิตรและเป็นประโยชน์
  • ใช้คําหลักเพื่อแนะนําผู้ใช้ในหัวข้อที่เกี่ยวข้อง
  • ใช้ OnKnowledgeRequested เพื่อช่วยในการวินิจฉัยเจตนาที่พลาดไป
  • เปลี่ยนเส้นทางไปยังหัวข้อที่เกี่ยวข้องตามคําหลัก
  • แจ้งให้ผู้ใช้ปรับคำพูดใหม่ถ้าบอทติดขัดจริง ๆ

ตรวจสอบความถูกต้องของลักษณะการทํางานของการรับรองความถูกต้องของตัวเชื่อมต่อ

เมื่อคุณใช้ตัวเชื่อมต่อ (ServiceNow, Outlook และอื่นๆ) ให้ทดสอบ:

  • วิธีการทํางานของการ์ดลงชื่อเข้าใช้เริ่มต้น
  • จะเกิดอะไรขึ้นเมื่อโทเค็นหมดอายุและวิธีต่ออายุโดยอัตโนมัติ
  • วิธีการบังคับการทำให้ข้อมูลเป็นโมฆะและโฟลว์การยืนยันใหม่ทำงานอย่างไร

เคล็ดลับ

ตัวเชื่อมต่ออาจไม่รีเฟรชโทเค็นในระหว่างเซสชันที่ขยายเวลา คุณสามารถใช้การรีเซ็ตเวลาที่ไม่ได้ใช้งานหรือ /debug clearstate เพื่อเรียกใช้ OAuth อีกครั้งเมื่อจำเป็น สื่อสารคําสั่งนี้เพื่อสนับสนุนทีมและผู้ใช้เพื่อการแก้ไขปัญหาอย่างรวดเร็ว

ทดสอบภายใต้เงื่อนไขจริง

เนื่องจาก Teams ยังคงสถานะตลอดทั้งเซสชัน การทดสอบของคุณควรสะท้อนถึงประสบการณ์การใช้งานจริง:

  1. ปรับใช้โดยใช้แสดงเฉพาะฉัน
  2. ทดสอบสถานการณ์ที่ดำเนินไปนาน (กลับมาหลังเวลานาน)
  3. เผยแพร่การอัปเดตและยืนยันว่าเอเจนต์มีการเปลี่ยนเวอร์ชัน
  4. ตรวจสอบการแสดงผลอะแดปทีฟการ์ดทั่วทั้งเดสก์ท็อปและอุปกรณ์เคลื่อนที่
  5. ทดสอบการดําเนินการในบริบทการสนทนาที่แตกต่างกัน

รายการตรวจสอบการปรับใช้

เสร็จแล้ว? งาน
ทริกเกอร์การไม่ใช้งานที่กําหนดค่าเพื่อล้างประวัติการสนทนา
การรับส่งข้อความของผู้ใช้อธิบายการรีเซ็ตและคู่มือการรีสตาร์ท
/debug clearstate จัดทําเอกสารสําหรับผู้ใช้
OnKnowledgeRequested เปิดใช้งานสําหรับความโปร่งใสในระหว่างการพัฒนา
ตัวระบุเวอร์ชันที่รวมอยู่ในการตอบสนอง
บังคับให้เปิดใช้งานเวอร์ชันใหม่ล่าสุด ตามความเหมาะสม
หัวข้อคําทักทายประกอบด้วยตรรกะการเตรียมใช้งาน
พฤติกรรมการสำรองเป็นมิตรกับผู้ใช้
ทดสอบการรับรองความถูกต้องของตัวเชื่อมต่อสําหรับการหมดอายุและการต่ออายุ
การทดสอบใน Teams ภายใต้เงื่อนไขจริงเสร็จสมบูรณ์

ประเด็นสําคัญ

  • จัดการวงจรชีวิตเซสชันโดยการกําหนดค่าทริกเกอร์ที่ไม่มีการใช้งานและใช้ตัวเลือกการล้างสถานะเมื่อเหมาะสม
  • ปรับปรุงความโปร่งใสโดยการสร้างกิจกรรมของระบบด้วยการเขียนคิวรีใหม่และข้อความที่เกี่ยวข้องกับสถานะ
  • บัญชีสําหรับลักษณะการทํางานเฉพาะของ Teams เช่น การจัดการคําทักทายด้วยตนเองและการจัดการหน่วยความจําแบบถาวร
  • รักษาความน่าเชื่อถือของเอเจนต์โดยใช้แนวทางปฏิบัติการกําหนดเวอร์ชันและบังคับใช้การอัปเดตเมื่อจําเป็น
  • สนับสนุนการมอบสิทธิ์ของผู้ใช้โดยอัตโนมัติด้วยการให้คําสั่งแก้ไขปัญหาด้วยตนเองและตัวเลือกการกู้คืนที่แนะนํา