หลายเอเจนต์: กระจายงาน, ฝ่ายตรวจสอบปฏิปักษ์, การสังเคราะห์
มี "เอเจนต์หลายตัว" อีกแบบหนึ่งที่ทำงาน ภายใน งานเดียวกัน แทนที่จะทำงานคนละงาน แทนที่จะให้เอเจนต์ตัวเดียวทำทุกอย่าง คุณแบ่งบทบาทออกจากกัน:
- กระจายงานเพื่อความครอบคลุม (fan-out for breadth) เอเจนต์หลายตัวจัดการปัญหาเดียวกันจากมุมที่ต่างกัน — หรือสำรวจส่วนต่างๆ ของโค้ดเบสขนาดใหญ่ — แล้วรายงานกลับ มีประโยชน์เมื่อคุณต้องการความครอบคลุม: "หาทุกที่ที่เราเรียกใช้ฟังก์ชันที่เลิกใช้แล้วนี้" ขนานได้ดี
- ฝ่ายตรวจสอบปฏิปักษ์ (adversarial reviewer) เอเจนต์ตัวหนึ่งเขียน ส่วนอีกตัวมีหน้าที่เดียวคือ โจมตี ผลลัพธ์ของตัวแรก — หาบั๊ก กรณีขอบ ( case) ที่ตกหล่น ข้อผิดพลาดที่ไม่ได้จัดการ ฝ่ายตรวจสอบที่ได้รับคำสั่งชี้ไปที่ diff ว่า "สมมติว่าสิ่งนี้ผิด แล้วหาสาเหตุ" จะจับสิ่งที่เอเจนต์ผู้เขียนหลอกตัวเองว่าถูกต้องได้
- การสังเคราะห์ (synthesis) รอบสุดท้ายรวบรวมสิ่งที่ค้นพบและสร้างผลลัพธ์ที่สอดคล้องกันหนึ่งเดียว — โค้ดที่ใช้งานได้พร้อมกับบันทึกสั้นๆ ว่าฝ่ายตรวจสอบพบอะไรและได้รับการแก้ไขอย่างไร
Reviewer agent brief:
You are reviewing a diff written by another agent. Assume it contains
at least one bug and find it. Specifically check:
- Does it actually satisfy the original goal, or just pass the tests?
- Edge cases: empty input, nulls, the largest realistic input.
- Anything deleted or changed that the task didn't ask for.
Report concrete problems with file and line. Do not rewrite the code —
just report. If you find nothing after a genuine look, say so plainly.
ทั้งสามบทบาทนี้สร้างเป็นสายพานการผลิต (pipeline) ที่มีด่านตรวจ (gate) อยู่ท้ายสุด: จะไม่มีอะไรไปถึง จนกว่าฝ่ายตรวจสอบปฏิปักษ์จะได้ตรวจแล้ว และการสังเคราะห์ได้แก้ไขสิ่งที่พบแล้ว
┌──────────────────── within ONE task ────────────────────┐
│ │
│ ┌──────────┐ │
│ │ FAN-OUT │ several agents, different angles │
│ │ agents │ ── breadth / coverage ──┐ │
│ └──────────┘ ▼ │
│ ┌──────────┐ ┌──────────────┐ │
│ │ AUTHOR │── writes diff ──▶│ REVIEWER │ │
│ │ agent │ │ "assume it's │ │
│ └──────────┘ │ wrong, find │ │
│ │ the bug" │ │
│ └──────┬───────┘ │
│ ▼ │
│ ┌──────────────┐ │
│ │ SYNTHESIS │ merge │
│ │ fix + note │ finds │
│ └──────┬───────┘ │
└────────────────────────────────────────┼───────────────┘
▼
── GATE ──▶ commit ✓
ฝ่ายตรวจสอบปฏิปักษ์นี้คุ้มค่าที่จะตั้งขึ้นมา แม้ว่าคุณจะเป็นคนคนเดียวที่ไม่มีกองทัพเอเจนต์ — เพราะผู้เขียนของการเปลี่ยนแปลงนั้นเป็นคนที่แย่ที่สุดในการหาข้อบกพร่องของตัวเอง ไม่ว่าจะเป็นมนุษย์หรือ AI การตรวจสอบรอบสองด้วยคำสั่งแบบเป็นปฏิปักษ์คือประกันภัยราคาถูก