Multi-agent
สายงานผู้เชี่ยวชาญแบบขนาน
เลนผู้เชี่ยวชาญแบบขนานช่วยให้ Gateway หนึ่งตัวกำหนดเส้นทางแชตหรือห้องต่าง ๆ ไปยัง เอเจนต์ที่แตกต่างกันได้ พร้อมคงประสบการณ์ของผู้ใช้ให้รวดเร็ว มองการทำงานแบบขนานเป็น โจทย์การออกแบบภายใต้ทรัพยากรที่มีจำกัด ไม่ใช่แค่ "เพิ่มเอเจนต์"
หลักการพื้นฐาน
เลนผู้เชี่ยวชาญจะเพิ่มอัตราการประมวลผลงานได้ก็ต่อเมื่อช่วยลดการแย่งใช้ คอขวดที่แท้จริง:
- การล็อกเซสชัน: ควรมีการทำงานเพียงหนึ่งรายการที่แก้ไขเซสชันหนึ่ง ๆ ในแต่ละครั้ง
- ความจุโดยรวมของโมเดล: การทำงานของแชตที่ผู้ใช้มองเห็นทั้งหมดยังคงใช้ขีดจำกัดของผู้ให้บริการร่วมกัน
- ความจุของเครื่องมือ: งานเชลล์ เบราว์เซอร์ เครือข่าย และรีโพซิทอรีอาจช้ากว่า รอบการทำงานของโมเดลเอง
- งบประมาณบริบท: บันทึกบทสนทนาที่ยาวทำให้ทุกเทิร์นในอนาคตช้าลงและ ขาดความเฉพาะเจาะจงมากขึ้น
- ความคลุมเครือของผู้รับผิดชอบ: เอเจนต์หลายตัวที่ทำงานเดียวกันทำให้สูญเสียความจุโดยเปล่าประโยชน์
OpenClaw จัดลำดับการทำงานต่อเซสชันอยู่แล้ว และจำกัดการทำงานแบบขนานโดยรวม ผ่านคิวคำสั่ง เลนผู้เชี่ยวชาญเพิ่มนโยบายไว้ด้านบน: เอเจนต์ใดรับผิดชอบงานใด งานใดยังคงอยู่ในแชต และงานใดกลายเป็น งานเบื้องหลัง
ลำดับการนำไปใช้ที่แนะนำ
ระยะที่ 1: ข้อตกลงของเลน + งานหนักเบื้องหลัง
กำหนดข้อตกลงเป็นลายลักษณ์อักษรให้ทุกเลนในพื้นที่ทำงานและพรอมต์ระบบ:
- วัตถุประสงค์: งานที่เลนนี้รับผิดชอบ
- สิ่งที่ไม่ใช่เป้าหมาย: งานที่ควรส่งต่อแทนการพยายามทำเอง
- งบประมาณแชต: คำตอบสั้น ๆ ให้อยู่ในแชต ส่วนงานที่ใช้เวลานานให้ตอบรับสั้น ๆ แล้วดำเนินการในเอเจนต์ย่อยหรืองานเบื้องหลัง
- กฎการส่งต่อ: เมื่ออีกเลนเป็นผู้รับผิดชอบงาน ให้ระบุว่าควรส่งไปที่ใดและ สรุปข้อมูลส่งต่ออย่างกระชับ
- กฎความเสี่ยงของเครื่องมือ: เลือกใช้ขอบเขตเครื่องมือที่เล็กที่สุดที่ทำงานได้
ระยะนี้มีต้นทุนต่ำที่สุดและแก้ปัญหาการอุดตันได้ส่วนใหญ่: งานเขียนโค้ดหนึ่งงานจะไม่ ทำให้เลนวิจัยช้าจนอืดอีกต่อไป และแต่ละแชตจะรักษาบริบทของตนเอง ให้สะอาดอยู่เสมอ
ระยะที่ 2: การควบคุมลำดับความสำคัญและการทำงานพร้อมกัน
ปรับความจุของคิวและโมเดลตามคุณค่าทางธุรกิจของแต่ละเลน:
{ agents: { defaults: { maxConcurrent: 4, subagents: { maxConcurrent: 8, delegationMode: "prefer" }, }, }, messages: { queue: { mode: "collect", debounceMs: 1000, cap: 20, drop: "summarize", }, },}ใช้แชตโดยตรง/ส่วนตัวและเอเจนต์ปฏิบัติการระบบจริงสำหรับงานที่มีความสำคัญสูง ให้ งานวิจัย การร่างเนื้อหา และการเขียนโค้ดแบบชุดย้ายไปเป็นงานเบื้องหลังเมื่อระบบ มีภาระสูง
ระยะที่ 3: ผู้ประสานงาน / ผู้ควบคุมการรับส่งงาน
เพิ่มรูปแบบผู้ประสานงานขนาดเล็กเมื่อมีหลายเลนทำงานอยู่:
- ติดตามงานและผู้รับผิดชอบของเลนที่กำลังทำงาน
- ตรวจจับคำขอซ้ำกันระหว่างกลุ่ม
- กำหนดเส้นทางสรุปข้อมูลส่งต่อระหว่างเลน
- แสดงเฉพาะสิ่งที่ติดขัด ผลลัพธ์ที่เสร็จสมบูรณ์ และการตัดสินใจที่มนุษย์ต้องดำเนินการ
อย่าเริ่มจากจุดนี้ ผู้ประสานงานที่ไม่มีข้อตกลงของเลนมีแต่จะประสานความวุ่นวาย
แม่แบบข้อตกลงของเลนฉบับย่อ
# ข้อตกลงของเลน ## รับผิดชอบ - <งานที่เลนนี้รับผิดชอบ> ## ไม่รับผิดชอบ - <งานที่ต้องส่งต่อ> ## งบประมาณแชต - ตอบคำถามสั้น ๆ โดยตรง- สำหรับงานหลายขั้นตอน งานที่ช้า หรือใช้เครื่องมือมาก: ตอบรับสั้น ๆ สร้างเอเจนต์ย่อย/ดำเนินงาน ในเบื้องหลัง แล้วส่งผลลัพธ์กลับเมื่อเสร็จสมบูรณ์ ## การส่งต่อ หากอีกเลนรับผิดชอบคำขอ ให้ตอบกลับด้วย: - เลนปลายทาง- วัตถุประสงค์- บริบทที่เกี่ยวข้อง- การดำเนินการถัดไปที่ชัดเจน ## แนวทางการใช้เครื่องมือ ใช้ขอบเขตเครื่องมือที่เล็กที่สุดที่สามารถทำงานให้เสร็จได้ หลีกเลี่ยงงานเชลล์หรือเครือข่ายในวงกว้าง เว้นแต่เลนนี้ได้รับมอบหมายให้รับผิดชอบอย่างชัดเจน