ใช้การประสานงานพร้อมกัน

เสร็จสมบูรณ์เมื่อ

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

ไดอะแกรมของโฟลว์การประสานงานพร้อมกัน

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

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

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

เมื่อใดควรใช้การประสานรวมพร้อมกัน

คุณอาจต้องการพิจารณาใช้รูปแบบการประสานรวมพร้อมกันในสถานการณ์เหล่านี้:

  • เมื่องานสามารถทํางานได้ในเวลาเดียวกัน ไม่ว่าจะโดยใช้กลุ่มตัวแทนคงที่หรือโดยการเลือกตัวแทน AI แบบไดนามิกตามสิ่งที่งานต้องการ
  • เมื่องานได้รับประโยชน์จากทักษะหรือแนวทางเฉพาะทางต่างๆ (เช่น เทคนิค ธุรกิจ หรือความคิดสร้างสรรค์) ที่ทํางานอย่างอิสระ แต่มีส่วนช่วยในการแก้ปัญหาเดียวกัน

การทํางานเป็นทีมประเภทนี้เป็นเรื่องปกติในวิธีการตัดสินใจของหลายตัวแทน เช่น:

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

เมื่อใดที่ควรหลีกเลี่ยงการประสานงานพร้อมกัน

คุณอาจต้องการหลีกเลี่ยงการใช้รูปแบบการประสานรวมพร้อมกันในสถานการณ์สมมติต่อไปนี้:

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

ใช้การประสานงานพร้อมกัน

ใช้รูปแบบการประสานรวมพร้อมกันกับ Microsoft Agent Framework:

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

  2. กําหนดตัวแทนของคุณ
    สร้างอินสแตนซ์ของตัวแทนโดยใช้วิธีการของ create_agent ไคลเอ็นต์แชท ตัวแทนแต่ละคนควรมีคําแนะนําเฉพาะและชื่อที่กําหนดบทบาทและขอบเขตความเชี่ยวชาญของตน

  3. สร้างเวิร์กโฟลว์พร้อมกัน
    ใช้คลาสเพื่อสร้าง ConcurrentBuilder เวิร์กโฟลว์ที่สามารถเรียกใช้ตัวแทนหลายคนพร้อมกันได้ เพิ่มอินสแตนซ์ตัวแทนของคุณเป็นผู้เข้าร่วมโดยใช้ participants() เมธอด จากนั้นเรียกใช้ build() เพื่อสร้างเวิร์กโฟลว์

  4. เรียกใช้เวิร์กโฟลว์
    เรียกใช้วิธีการของ run เวิร์กโฟลว์ด้วยงานหรืออินพุตที่คุณต้องการให้ตัวแทนทํางาน เวิร์กโฟลว์จะเรียกใช้ตัวแทนทั้งหมดพร้อมกันและส่งคืนเหตุการณ์ที่มีผลลัพธ์

  5. ประมวลผลผลลัพธ์
    แยกผลลัพธ์จากเหตุการณ์เวิร์กโฟลว์โดยใช้ get_outputs(). ผลลัพธ์ประกอบด้วยการสนทนาที่รวมกันจากตัวแทนทั้งหมด โดยคําตอบของตัวแทนแต่ละคนจะรวมอยู่ในผลลัพธ์สุดท้าย

  6. จัดการการตอบกลับแบบรวม
    ประมวลผลข้อความรวมจากตัวแทนทั้งหมด แต่ละข้อความมีชื่อผู้เขียนและเนื้อหา ซึ่งช่วยให้คุณระบุได้ว่าตัวแทนคนใดให้คําตอบแต่ละครั้ง

การประสานพร้อมกันเป็นรูปแบบที่ทรงพลังสําหรับการใช้เอเจนต์ AI หลายตัวพร้อมกัน ทําให้สามารถแก้ปัญหาได้เร็วขึ้นและหลากหลายยิ่งขึ้น เมื่อเรียกใช้ตัวแทนแบบควบคู่กันคุณสามารถสํารวจแนวทางต่างๆ ได้ในคราวเดียว ปรับปรุงประสิทธิภาพ และรับข้อมูลเชิงลึกที่สมบูรณ์ยิ่งขึ้น อย่างไรก็ตาม สิ่งสําคัญคือต้องเลือกรูปแบบนี้เมื่องานสามารถทํางานได้อย่างอิสระอย่างแท้จริง และคํานึงถึงข้อจํากัดด้านทรัพยากรและความท้าทายในการประสานงาน เมื่อนําไปใช้อย่างรอบคอบด้วย Microsoft Agent Framework SDK การประสานงานพร้อมกันสามารถปรับปรุงเวิร์กโฟลว์ AI และกระบวนการตัดสินใจของคุณได้อย่างมาก