CCA · Foundations

แบ่ง scope การค้นหาไม่ให้ซ้ำและไม่ให้แคบเกิน

แนวคิด

เมื่อ coordinator แตกงานวิจัยให้ subagent หลายตัว มันต้องแบ่ง scope ให้แต่ละตัวรับผิดชอบส่วนที่ต่างกันชัดเจน หลักคือมอบหัวข้อย่อยหรือประเภทแหล่งข้อมูลที่ไม่ทับกัน เช่น ให้ตัวหนึ่งดูงานวิจัยวิชาการ อีกตัวดูข่าว อีกตัวดูรายงานอุตสาหกรรม เพื่อลดการทำงานซ้ำและครอบคลุมได้กว้าง

การแบ่ง scope ที่ดีมีสองด้านที่ต้องบาลานซ์ ด้านหนึ่งคือไม่ให้ซ้ำ ถ้า subagent สองตัวค้นเรื่องเดียวกันด้วยคำใกล้กัน เราจ่ายค่า token สองเท่าเพื่อผลที่แทบเหมือนกัน อีกด้านคือไม่ให้แคบเกินจนพลาดขอบเขตสำคัญของหัวข้อ ซึ่งเป็นความเสี่ยงที่อันตรายกว่า เพราะมันทำให้รายงานสุดท้ายดูสมบูรณ์ทั้งที่ขาดทั้งแขนง

ทำไมสำคัญ

ความเสี่ยงของการแตกงานแคบเกินไปเห็นชัดใน Sample Question ข้อ 7 ระบบวิจัยหลาย agent ทำงานกับหัวข้อ "ผลกระทบของ AI ต่ออุตสาหกรรมสร้างสรรค์" ทุก subagent ทำงานสำเร็จหมด ตัวค้นเว็บหาบทความได้ ตัววิเคราะห์เอกสารสรุปได้ถูกต้อง ตัวสังเคราะห์ให้ผลลัพธ์ที่ปะติดปะต่อดี แต่รายงานสุดท้ายพูดถึงแค่ทัศนศิลป์ ขาดดนตรี งานเขียน และภาพยนตร์ไปทั้งหมด

เมื่อดู log ของ coordinator พบว่ามันแตกหัวข้อเป็นสามงานย่อย ได้แก่ "AI ในการสร้างงานศิลปะดิจิทัล" "AI ในกราฟิกดีไซน์" และ "AI ในการถ่ายภาพ" ทั้งสามล้วนเป็นแขนงย่อยของทัศนศิลป์เพียงกลุ่มเดียว รากของปัญหาจึงไม่ได้อยู่ที่ subagent ตัวใด เพราะแต่ละตัวทำในสิ่งที่ได้รับมอบหมายอย่างถูกต้อง ปัญหาอยู่ที่การตัดสินใจแตกงานของ coordinator ที่แคบเกินไป

บทเรียนคืออย่าโทษ agent ปลายน้ำที่ทำงานถูกต้องภายใน scope ที่ได้รับ ถ้าการครอบคลุมขาด ให้ย้อนไปดูขั้นตอนแตกงานว่าครอบทุกแขนงของหัวข้อกว้างหรือยัง coordinator ที่ดีจึงควรมีลูปทวนสอบ ประเมินผลสังเคราะห์ว่ามีช่องโหว่ไหม แล้วมอบหมายเพิ่มด้วย query ที่เจาะจงจนกว่าการครอบคลุมจะพอ

ตัวอย่าง

# แตกงานแคบเกิน — ครอบแค่ทัศนศิลป์
["AI ในศิลปะดิจิทัล", "AI ในกราฟิกดีไซน์", "AI ในการถ่ายภาพ"]

# แตกงานครอบคลุมทุกแขนง
["AI ในทัศนศิลป์", "AI ในดนตรี", "AI ในงานเขียน", "AI ในภาพยนตร์"]

เช็คความเข้าใจ

ในกรณีที่รายงานหลาย agent ครอบคลุมไม่ครบทั้งที่ทุก subagent ทำงานสำเร็จ รากของปัญหามักอยู่ที่ใด

การแบ่ง scope ระหว่าง subagent ควรบาลานซ์สองด้านใด

อ่านต่อ