การสร้าง FailureDNA: หน่วยความจำของเอเจนต์ที่รู้ว่าเมื่อไหร่ไม่ควรเชื่อมั่นในตัวเอง
เอเจนต์ AI ส่วนใหญ่มักทำความผิดพลาดที่อันตราย พวกมันใช้เหตุการณ์ในอดีตมาแก้ปัญหาการหยุดชะงัก (outages) ใหม่ๆ หากปัญหาใหม่ดูคล้ายกับปัญหาเก่า เอเจนต์ก็จะคัดลอกวิธีการแก้ไขเดิมมาใช้
นี่คือปัญหา เพราะความคล้ายคลึงไม่ได้หมายความว่าสามารถนำมาประยุกต์ใช้ได้เสมอไป วิธีแก้ไขในอดีตอาจใช้ได้กับฐานข้อมูลเวอร์ชันเก่า แต่อาจล้มเหลวกับเวอร์ชันปัจจุบันของคุณ การทำซ้ำวิธีแก้ไขที่ล้มเหลวเป็นการเสียเวลา และการใช้วิธีแก้ไขที่ล้าสมัยจะยิ่งทำให้ปัญหาการหยุดชะงักรุนแรงขึ้น
ผมสร้าง FailureDNA ขึ้นมาเพื่อแก้ปัญหานี้ มันคือระบบหน่วยความจำที่ติดตามผลลัพธ์ที่เกิดขึ้นจริง มันจะตัดสินใจว่าประสบการณ์ในอดีตนั้นมีประโยชน์ จำเป็นต้องตรวจสอบ หรือควรหลีกเลี่ยง
ระบบนี้ทำตามกฎเพียงข้อเดียวคือ: โมเดลจะเป็นผู้เลือกการกระทำ (action) แต่โค้ดแบบ deterministic จะเป็นผู้ตัดสินว่าสิ่งใดใช้ได้จริง
หลักการทำงาน: • เอเจนต์จะทำ embedding อาการของเหตุการณ์ • ค้นหาเหตุการณ์ในอดีตโดยใช้ pgvector บน Alibaba Cloud RDS • มี deterministic gate คอยตรวจสอบผลลัพธ์ • โมเดลจะเลือกการกระทำที่อยู่ใน allowlist • ระบบจะดำเนินการตามการกระทำนั้นและบันทึกผลลัพธ์ที่เกิดขึ้นจริง
Gate นี้ใช้กฎง่ายๆ 3 ข้อ:
- หากผลลัพธ์ในอดีตคือความล้มเหลว: ให้หลีกเลี่ยง
- หากผลลัพธ์ในอดีตคือความสำเร็จและสภาพแวดล้อมตรงกัน: ให้ใช้งาน
- หากผลลัพธ์ในอดีตคือความสำเร็จแต่สภาพแวดล้อมเปลี่ยนไป: ให้ตรวจสอบ
เอเจนต์ไม่สามารถทำซ้ำความล้มเหลวที่ทราบอยู่แล้วได้ ระบบจะคัดกรองการกระทำที่ไม่ดีออกไปก่อนที่โมเดลจะได้เห็นเสียอีก สิ่งนี้ช่วยป้องกันไม่ให้โมเดลเพิกเฉยต่อคำเตือน โมเดลทำหน้าที่สร้างสรรค์ แต่โค้ดทำหน้าที่สร้างความปลอดภัย
รายละเอียดทางเทคนิค: • ผมใช้ Qwen Cloud สำหรับการทำ embeddings และการเลือกการกระทำ • text-embedding-v3 สร้างเวกเตอร์ขนาด 1024-d • Hybrid retrieval ผสมผสานความคล้ายคลึงทางความหมาย (semantic similarity) และการซ้อนทับของคำสำคัญ (keyword overlap) • Backend ทำงานบน Alibaba Cloud Function Compute ด้วย FastAPI • หน่วยความจำถูกเก็บไว้ใน ApsaraDB RDS for PostgreSQL
FailureDNA ช่วยป้องกันไม่ให้เอเจนต์ทำซ้ำความล้มเหลวในอดีตและใช้วิธีแก้ไขที่ล้าสมัย มันช่วยให้โมเดลยังคงมีความคิดสร้างสรรค์ในขณะที่มั่นใจได้ว่าระบบจะยังคงปลอดภัย
Optional learning community: https://t.me/GyaanSetuAi
