คุณไม่จำเป็นต้องมี Sub-Agents

คนส่วนใหญ่มักจะวาดสถาปัตยกรรมของเอเจนต์ (agent architectures) เหมือนกับแผนผังองค์กร

พวกเขาจะวาง Orchestrator ไว้ด้านบนสุด แล้วลากเส้นไปยัง Researcher, Coder และ Tester มันดูสะอาดตาและดูเป็นมืออาชีพ

แต่นี่คือความผิดพลาด

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

เมื่อคุณสร้างฝูงเอเจนต์ (swarm of agents) คุณกำลังทำความผิดพลาดแบบเดิมซ้ำอีกครั้ง

Orchestrator ต้องใช้เวลาทั้งหมดไปกับการจัดการงานย่อย (subtasks) ซึ่งสร้างภาระงานส่วนเกิน (overhead) มหาศาล คุณไม่ได้กำลังสร้างสถาปัตยกรรม แต่คุณกำลังสร้างระบบท่อระบายน้ำ (plumbing)

นี่คือเหตุผลที่ sub-agents ล้มเหลว:

งานวิจัยแสดงให้เห็นว่า multi-agent frameworks มีอัตราความล้มเหลวระหว่าง 41% ถึง 87% ความล้มเหลวเหล่านี้เกิดขึ้นเพราะเอเจนต์สื่อสารกันไม่ตรงจุด (talk past each other) การใช้โมเดลที่ดีกว่าเดิมจะไม่ช่วยแก้ปัญหานี้ เพราะมันคือปัญหาด้านการประสานงาน (coordination) ไม่ใช่ปัญหาด้านโมเดล

แล้วคุณควรสร้างมันอย่างไร?

ให้ปฏิบัติตามกฎสองข้อนี้:

  1. หากงานเป็นอิสระต่อกัน ให้รันงานเหล่านั้นใน loop แยกกัน ใช้โปรแกรมสองตัวแยกกัน นี่คือการประมวลผลแบบขนาน (parallel processing) ไม่ใช่ระบบ multi-agent
  2. หากงานต้องการกระบวนการคิดที่เป็นเส้นตรงเส้นเดียว (single train of thought) ให้ใช้ loop เดียวเท่านั้น

การใช้ loop เดียวจะช่วยรักษาบริบททั้งหมดไว้ในที่เดียว สามารถแก้ไขตัวเองได้ง่าย และทิ้งประวัติการทำงานที่สะอาดตา แทนที่จะเป็นแชทกลุ่มที่วุ่นวาย

เลิกสร้าง meshes แล้วเริ่มสร้าง loops กันเถอะ

แหล่งที่มา: https://dev.to/tony__vi/you-dont-need-sub-agents-1eh7

ชุมชนแห่งการเรียนรู้ (ไม่บังคับ): https://t.me/GyaanSetuAi