การสร้าง AI Agents ที่ไม่เกิดอาการหลอน (Hallucinate)
หากคุณสร้างแอปด้วย LLMs คุณจะเจอกับกำแพงเดิมๆ นั่นคือโมเดลสร้างฟังก์ชันขึ้นมาเอง หรือเรียกใช้เครื่องมือผิดตัว
Function calling ควรจะช่วยแก้ปัญหานี้ได้ แต่ในความเป็นจริง มันมักจะทำให้ Agent ของคุณตอบผิดอย่างมั่นใจในสเกลที่ใหญ่ขึ้น
การจะแก้ปัญหานี้ คุณต้องการสถาปัตยกรรมที่ดีขึ้น ไม่ใช่โมเดลที่ใหญ่ขึ้น
ใช้ 4 รูปแบบนี้เพื่อสร้าง Agent ที่เชื่อถือได้:
- ใช้ Two-stage router อย่าส่งเครื่องมือทั้งหมดให้โมเดลพร้อมกันในคราวเดียว เพราะจะทำให้เกิดปัญหา schema bloat
- ใช้โมเดลที่เร็วและราคาถูกเพื่อจำแนก intent ก่อน
- เปิดให้เข้าถึงเฉพาะเครื่องมือที่ตรงกับ intent นั้นเท่านั้น
- วิธีนี้ช่วยลดข้อผิดพลาดจากการใช้เครื่องมือผิดได้ถึง 70%
- บังคับใช้ Structured outputs เลิกขอให้โมเดลคืนค่าเป็น JSON ที่ถูกต้องผ่านทาง prompt
- ใช้ schema ที่ถูกบังคับใช้ในระดับ API
- ใช้เครื่องมืออย่าง Pydantic เพื่อรับประกันรูปแบบข้อมูล
- การกำหนดข้อจำกัด (Constraints) ช่วยลดอาการหลอนได้ดีกว่าการทำ prompt engineering
- เพิ่ม Validation layers ทุกการเรียกใช้เครื่องมือจำเป็นต้องมี 3 ชั้น: User Input, Pre-validation และ Post-validation
- ตรวจสอบผลลัพธ์ของโมเดลเทียบกับ schema ของคุณก่อนการทำงานจริง
- หากการตรวจสอบล้มเหลว ให้ส่ง error กลับไปที่โมเดล
- โมเดลสามารถแก้ไขข้อผิดพลาดของ parameter ได้เองถึง 80% เมื่อได้รับ error feedback
- ตั้งค่า Hard limits การวนลูปไม่สิ้นสุดจะทำลายงบประมาณของคุณ โมเดลอาจเรียกใช้เครื่องมือวนไปเรื่อยๆ จนกว่าจะเกิด timeout
- ตั้งค่าจำนวนรอบการทำงานสูงสุด (maximum iteration count) เสมอ
- ตั้งค่าขีดจำกัด token สูงสุดต่อการเรียกใช้ (maximum token limit per call) เสมอ
- การตั้งค่า hard limits เป็นสิ่งจำเป็นสำหรับการใช้งานจริง (production)
Smart orchestration ช่วยประหยัดเงินได้เช่นกัน โดยใช้โมเดลที่ต่างกันสำหรับงานที่ต่างกัน:
- โมเดลขนาดเล็กสำหรับ intent routing และการจัดรูปแบบ output
- โมเดลระดับกลางสำหรับ tool selection
- โมเดลระดับสูง (Frontier models) สำหรับการวางแผนที่ซับซ้อน
วิธีนี้ช่วยลดต้นทุนได้ 10 ถึง 15 เท่า โดยไม่เสียคุณภาพ
ติดตาม 3 ตัวชี้วัดนี้เพื่อให้มั่นใจในความเสถียร:
- Tool Selection Accuracy: เรียกใช้เครื่องมือได้ถูกต้องหรือไม่?
- Parameter Validity Rate: Parameter ผ่านการตรวจสอบตาม schema หรือไม่?
- Task Completion Rate: สามารถแก้ปัญหาได้จริงหรือไม่?
AI ที่เชื่อถือได้ขึ้นอยู่กับการออกแบบระบบ จงสร้างข้อจำกัด (Constraints), การตรวจสอบ (Validation) และระบบป้องกัน (Guardrails)
คุณใช้รูปแบบไหนในการสร้าง Agent ที่เชื่อถือได้? ร่วมแบ่งปันความคิดเห็นของคุณได้ที่ด้านล่าง
Optional learning community: https://t.me/GyaanSetuAi