เอเจนต์ AI อัตโนมัติรายหนึ่งมีการเรียกใช้งาน selector ภายในของตนเองถึง 1,858 ครั้งภายในวันเดียว แต่กลับไม่สร้างผลลัพธ์ใดๆ เลย ในแต่ละรอบการทำงาน มันกลับใช้เวลาไปกับการร่างการวิพากษ์วิจารณ์ตัวเองอย่างละเอียดแทนที่จะลงมือทำงาน ซึ่งเผยให้เห็นถึง “กับดักการวนลูปตัวเอง” (self-loop trap) ที่สามารถทำให้ผู้ช่วยที่ขับเคลื่อนด้วยเครื่องมือ (tool-driven assistant) หยุดชะงักได้
อะไรที่ทำให้เอเจนต์ตกอยู่ในทางตัน
กฎของเอเจนต์บังคับให้ต้องมีการใช้เครื่องมือ (tool) โดยมีฟังก์ชันหนึ่งทำหน้าที่ตรวจสอบว่ามีการเรียกใช้เครื่องมือขั้นต่ำตามจำนวนที่กำหนดหรือไม่ และมีไฟล์กำหนดค่า (configuration file) ที่ช่วยให้นักพัฒนาสามารถตั้งค่าเกณฑ์ดังกล่าวได้ แต่ในทางปฏิบัติ การตรวจสอบนี้ไม่เคยทำงานเลยในช่วงรอบการทำงาน (wake cycles) ที่กำหนดไว้ของเอเจนต์ เนื่องจากโค้ดที่ควรจะทำหน้าที่ตรวจสอบการเรียกใช้เครื่องมือถูกละเลยไป เอเจนต์จึงข้ามขั้นตอนการ "ลงมือทำ" (do) และกระโดดเข้าสู่ขั้นตอนการ "สะท้อนความคิด" (reflection) ทันที
เนื่องจากส่วนประกอบของการคิดและการลงมือทำทำงานแยกกันในเส้นทางการประมวลผล (execution paths) เอเจนต์จึงตอบสนองต่อสัญญาณรางวัล (reward signal) ด้วยการสร้างบทสนทนาภายใน (inner monologues) ที่สละสลวย แทนที่จะได้สัมผัสหรือใช้งานเครื่องมือจริงๆ เลยแม้แต่นิดเดียว ทุกครั้งที่ไม่สามารถส่งมอบงานได้ จะยิ่งเป็นการเพิ่มแรงจูงใจในการสร้างการสะท้อนความคิดใหม่ๆ เกิดเป็นวงจรป้อนกลับ (feedback loop) ที่ขยายการคิดให้มากขึ้น ในขณะที่ปริมาณงานจริงยังคงเป็นศูนย์
3 แนวทางการแก้ไขเชิงสถาปัตยกรรมเพื่อทำลายวงจรการวนลูป
1. การบล็อกแบบเด็ดขาดในระดับระบบ (Hard blocks)
การปรับแต่งคำสั่ง (prompt) เพียงอย่างเดียวไม่สามารถรับประกันการใช้เครื่องมือได้ นักพัฒนาจึงได้เพิ่ม "ด่านกั้น" (hard gate) ไว้ในชั้น daemon: โดยแต่ละรอบการทำงานจะไม่สามารถเสร็จสิ้นได้ เว้นแต่จะมีการบันทึกร่องรอยการใช้เครื่องมือ (tool trace) ที่ชัดเจน หากเอเจนต์พยายามจะจบวงจรโดยไม่มีการเรียกใช้เครื่องมือ ระบบจะยกเลิกวงจรนั้นและบังคับให้เริ่มใหม่ วิธีนี้จะช่วยป้องกันไม่ให้รอบการทำงานแบบ "คิดอย่างเดียว" หลุดรอดไปได้
2. โหมดการแข่งขัน (Tournament mode) เพื่อการตัดสินใจ
เมื่อตัวชี้วัดความล้มเหลวเกินขีดจำกัดที่ตั้งไว้ เอเจนต์จะเปลี่ยนไปใช้ตัวเลือกแบบการแข่งขัน (tournament-style selector) โดยจะร่างแนวทางทางเลือก 3 รูปแบบ:
- แบบอนุรักษนิยม (Conservative) – ปรับแต่งบุคลิกภาพ (persona) หรือพารามิเตอร์เล็กน้อย
- แบบสายกลาง (Moderate) – แทรกฟังก์ชันที่บังคับให้ต้องมีการลงมือทำก่อนที่จะมีการสะท้อนความคิดใดๆ ต่อไป
- แบบสุดโต่ง (Radical) – เขียนกระบวนการใช้เหตุผล (reasoning pipeline) ใหม่ทั้งหมด
การเลือกแนวทางแบบสายกลางช่วยให้เอเจนต์มีขั้นตอนการลงมือทำที่บังคับไว้ ในขณะที่ยังคงรักษาโครงสร้างสถาปัตยกรรมโดยรวมเอาไว้ได้
3. การบีบอัดหน่วยความจำและการติดแท็ก (Memory compaction and tagging)
เอเจนต์มีการจัดเก็บข้อมูลดิบ (raw observations) ไว้ประมาณ 17,000 รายการ แต่กลับขาดข้อมูลเชิงลึกที่ผ่านการกลั่นกรองแล้ว ปัจจุบันจึงมีการเพิ่มชั้นการติดแท็ก (tagging layer) เพื่อใส่ป้ายกำกับเชิงความหมาย (semantic label) ให้กับทุกข้อมูลใหม่ ในแต่ละรอบการทำงาน เอเจนต์จะต้องบีบอัดรายการที่ติดแท็กแล้วให้กลายเป็นรายการ "ภูมิปัญญา" (wisdom) หลัก และตัดข้อมูลรบกวน (noise) ทิ้งไป วิธีนี้จะช่วยลดความเทอะทะของหน่วยความจำ และบังคับให้ระบบเปลี่ยนข้อมูลให้กลายเป็นความรู้ที่นำไปใช้งานได้จริง แทนที่จะเป็นการบรรยายเรื่องราวไปเรื่อยๆ อย่างไม่สิ้นสุด
สัญญาณที่บ่งบอกว่าคุณกำลังติดอยู่ในกับดักการวนลูปตัวเอง
- การเรียกใช้เครื่องมือจำกัดอยู่แค่การอ่านหรือการตรวจสอบ – ไม่มีการเรียกใช้ที่ส่งผลกระทบต่อภายนอก
- จำนวนรอบการทำงานสูง แต่ไม่มีงานที่เสร็จสมบูรณ์เลย – เอเจนต์ดูเหมือนยุ่งอยู่ตลอดเวลาแต่กลับไม่มีผลงานออกมา
- การสะท้อนความคิดยาวขึ้นในทุกๆ รอบ – ความยาวของบทสนทนาภายในคือสัญญาณเตือนภัย ไม่ใช่ตัวชี้วัดความฉลาด
- ภาษาที่สละสลวยช่วยปกปิดการไม่ลงมือทำ – สำนวนภาษาที่ขัดเกลามาอย่างดีอาจบดบังการขาดการปฏิบัติงานจริง
เมื่อรูปแบบเหล่านี้ปรากฏขึ้น ให้หยุดพึ่งพาเพียงการปรับแต่ง prompt และเปลี่ยนไปใช้ข้อกำหนดเชิงสถาปัตยกรรมที่เข้มงวดแทน
