ใช้การประสานงานพร้อมกัน
การประสานงานพร้อมกันช่วยให้ตัวแทนหลายคนทํางานในงานเดียวกันได้ในเวลาเดียวกัน ตัวแทนแต่ละคนจัดการงานอย่างอิสระจากนั้นผลลัพธ์ของพวกเขาจะถูกรวบรวมและรวมกัน วิธีนี้ใช้ได้ผลดีอย่างยิ่งเมื่อคุณต้องการแนวทางหรือวิธีแก้ปัญหาที่หลากหลาย เช่น ระหว่างการระดมสมอง การตัดสินใจแบบกลุ่ม หรือการลงคะแนนเสียง
รูปแบบนี้มีประโยชน์เมื่อคุณต้องการแนวทางหรือแนวคิดที่แตกต่างกันเพื่อแก้ปัญหาเดียวกัน แทนที่จะให้ตัวแทนทํางานทีละคน สิ่งนี้ช่วยเร่งกระบวนการและครอบคลุมปัญหาจากหลายมุม
โดยปกติแล้ว ผลลัพธ์จากตัวแทนแต่ละคนจะถูกรวมเข้าด้วยกันเพื่อสร้างคําตอบสุดท้าย แต่ก็ไม่จําเป็นเสมอไป ตัวแทนแต่ละรายยังสามารถสร้างผลลัพธ์แยกต่างหาก เช่น เครื่องมือการโทรเพื่อทํางานให้เสร็จหรืออัปเดตที่เก็บข้อมูลต่างๆ อย่างอิสระ
ตัวแทนทํางานด้วยตัวเองและไม่แบ่งปันผลลัพธ์ซึ่งกันและกัน อย่างไรก็ตาม ตัวแทนสามารถเรียกตัวแทน AI อื่นๆ ได้โดยการเรียกใช้การประสานงานของตนเองซึ่งเป็นส่วนหนึ่งของกระบวนการ ตัวแทนจําเป็นต้องรู้ว่าตัวแทนรายอื่นที่พร้อมทํางาน รูปแบบนี้ช่วยให้คุณสามารถโทรหาตัวแทนที่ลงทะเบียนทั้งหมดได้ทุกครั้ง หรือเลือกตัวแทนที่จะเรียกใช้ตามงานเฉพาะ
เมื่อใดควรใช้การประสานรวมพร้อมกัน
คุณอาจต้องการพิจารณาใช้รูปแบบการประสานรวมพร้อมกันในสถานการณ์เหล่านี้:
- เมื่องานสามารถทํางานได้ในเวลาเดียวกัน ไม่ว่าจะโดยใช้กลุ่มตัวแทนคงที่หรือโดยการเลือกตัวแทน AI แบบไดนามิกตามสิ่งที่งานต้องการ
- เมื่องานได้รับประโยชน์จากทักษะหรือแนวทางเฉพาะทางต่างๆ (เช่น เทคนิค ธุรกิจ หรือความคิดสร้างสรรค์) ที่ทํางานอย่างอิสระ แต่มีส่วนช่วยในการแก้ปัญหาเดียวกัน
การทํางานเป็นทีมประเภทนี้เป็นเรื่องปกติในวิธีการตัดสินใจของหลายตัวแทน เช่น:
- ระดมความคิด
- การรวมวิธีการให้เหตุผลที่แตกต่างกัน (การให้เหตุผลแบบรวม)
- การตัดสินใจตามการลงคะแนนเสียงหรือฉันทามติ (องค์ประชุม)
- การจัดการงานที่มีความสําคัญต่อความเร็วและการเรียกใช้ตัวแทนแบบควบคู่กันช่วยลดเวลารอ
เมื่อใดที่ควรหลีกเลี่ยงการประสานงานพร้อมกัน
คุณอาจต้องการหลีกเลี่ยงการใช้รูปแบบการประสานรวมพร้อมกันในสถานการณ์สมมติต่อไปนี้:
- ตัวแทนจําเป็นต้องสร้างงานของกันและกันหรือขึ้นอยู่กับบริบทที่ใช้ร่วมกันตามลําดับเฉพาะ
- งานนี้ต้องใช้ลําดับขั้นตอนที่เข้มงวดหรือผลลัพธ์ที่คาดการณ์ได้และทําซ้ําได้
- ขีดจํากัดทรัพยากร เช่น โควต้าการใช้โมเดล ทําให้การเรียกใช้เอเจนต์แบบขนานไม่มีประสิทธิภาพหรือเป็นไปไม่ได้
- ตัวแทนไม่สามารถประสานงานการเปลี่ยนแปลงข้อมูลที่แชร์หรือระบบภายนอกได้อย่างน่าเชื่อถือในขณะที่ทํางานพร้อมกัน
- ไม่มีวิธีที่ชัดเจนในการแก้ไขความขัดแย้งหรือความขัดแย้งระหว่างผลลัพธ์จากตัวแทนต่างๆ
- การรวมผลลัพธ์นั้นซับซ้อนเกินไปหรือจบลงด้วยการลดคุณภาพโดยรวม
ใช้การประสานงานพร้อมกัน
ใช้รูปแบบการประสานรวมพร้อมกันกับ Microsoft Agent Framework:
สร้างไคลเอ็นต์แชทของคุณ
ตั้งค่าไคลเอ็นต์แชท (ตัวอย่างเช่นAzureOpenAIChatClient) ด้วยข้อมูลประจําตัวที่เหมาะสมเพื่อเชื่อมต่อกับผู้ให้บริการ AI ของคุณกําหนดตัวแทนของคุณ
สร้างอินสแตนซ์ของตัวแทนโดยใช้วิธีการของcreate_agentไคลเอ็นต์แชท ตัวแทนแต่ละคนควรมีคําแนะนําเฉพาะและชื่อที่กําหนดบทบาทและขอบเขตความเชี่ยวชาญของตนสร้างเวิร์กโฟลว์พร้อมกัน
ใช้คลาสเพื่อสร้างConcurrentBuilderเวิร์กโฟลว์ที่สามารถเรียกใช้ตัวแทนหลายคนพร้อมกันได้ เพิ่มอินสแตนซ์ตัวแทนของคุณเป็นผู้เข้าร่วมโดยใช้participants()เมธอด จากนั้นเรียกใช้build()เพื่อสร้างเวิร์กโฟลว์เรียกใช้เวิร์กโฟลว์
เรียกใช้วิธีการของrunเวิร์กโฟลว์ด้วยงานหรืออินพุตที่คุณต้องการให้ตัวแทนทํางาน เวิร์กโฟลว์จะเรียกใช้ตัวแทนทั้งหมดพร้อมกันและส่งคืนเหตุการณ์ที่มีผลลัพธ์ประมวลผลผลลัพธ์
แยกผลลัพธ์จากเหตุการณ์เวิร์กโฟลว์โดยใช้get_outputs(). ผลลัพธ์ประกอบด้วยการสนทนาที่รวมกันจากตัวแทนทั้งหมด โดยคําตอบของตัวแทนแต่ละคนจะรวมอยู่ในผลลัพธ์สุดท้ายจัดการการตอบกลับแบบรวม
ประมวลผลข้อความรวมจากตัวแทนทั้งหมด แต่ละข้อความมีชื่อผู้เขียนและเนื้อหา ซึ่งช่วยให้คุณระบุได้ว่าตัวแทนคนใดให้คําตอบแต่ละครั้ง
การประสานพร้อมกันเป็นรูปแบบที่ทรงพลังสําหรับการใช้เอเจนต์ AI หลายตัวพร้อมกัน ทําให้สามารถแก้ปัญหาได้เร็วขึ้นและหลากหลายยิ่งขึ้น เมื่อเรียกใช้ตัวแทนแบบควบคู่กันคุณสามารถสํารวจแนวทางต่างๆ ได้ในคราวเดียว ปรับปรุงประสิทธิภาพ และรับข้อมูลเชิงลึกที่สมบูรณ์ยิ่งขึ้น อย่างไรก็ตาม สิ่งสําคัญคือต้องเลือกรูปแบบนี้เมื่องานสามารถทํางานได้อย่างอิสระอย่างแท้จริง และคํานึงถึงข้อจํากัดด้านทรัพยากรและความท้าทายในการประสานงาน เมื่อนําไปใช้อย่างรอบคอบด้วย Microsoft Agent Framework SDK การประสานงานพร้อมกันสามารถปรับปรุงเวิร์กโฟลว์ AI และกระบวนการตัดสินใจของคุณได้อย่างมาก