ทำ RAG ให้ปัง... ต้องเลิกวัดผลด้วย ”ความรู้สึก“! 📈

สร้าง AI มาแทบตาย แต่ไม่รู้ว่ามันเก่งจริงไหม? 🧠 ถึงเวลาอัปเกรดการวัดผลด้วย RAGAS Framework! เจาะลึก 3 Metrics สำคัญ: Faithfulness, Relevance และ Precision พร้อมเทคนิคการใช้ LLM-as-a-Judge ที่จะทำให้ชีวิตคุณง่ายขึ้น 🚀

#Lemon8ฮาวทู #TechTips #dataanalyst #developer #learnonlemon8

4/16 แก้ไขเป็น

... อ่านเพิ่มเติมเวลาคนพูดถึง “กับดักล้างสมอง AI” ในงาน RAG (Retrieval-Augmented Generation) ส่วนใหญ่ไม่ได้หมายถึงเรื่องลึกลับอะไรเลยนะ แต่มันคืออาการที่เรา “โดนภาษาที่ลื่นไหล” ของโมเดลหลอกให้เชื่อว่าเก่ง ทั้งที่คำตอบอาจไม่อิงหลักฐาน หรือหยิบคอนเท็กซ์ผิด แล้วเราก็เผลอวัดจากความรู้สึกว่าอ่านแล้วเนียน = ถูกต้อง อาการที่ฉันเจอบ่อยในทีมมี 3 แบบ 1) คำตอบดูมั่นใจมาก แต่ไม่มีหลักฐานจากเอกสาร (hallucination แบบสวยงาม) 2) คำตอบ “เกี่ยว” แต่ไม่ “ตรงคำถาม” (วนเล่าให้ดูฉลาด) 3) ดึงเอกสารมาหลายชิ้น แต่ชิ้นที่ใช้จริงไม่ใช่อันที่เกี่ยวที่สุด (คอนเท็กซ์รก) วิธีหลุดกับดักแบบเร็วสุดคือเลิกถามว่า “ตอบโอเคไหม” แล้วเปลี่ยนเป็น “โอเคในมิติไหน” ซึ่งตัวที่ฉันชอบยึดตาม RAGAS Framework คือ 3 ตัวชี้วัดหลักที่ภาพพูดถึงเลย: Faithfulness, Answer Relevance และ Context Precision - Faithfulness (ความซื่อสัตย์ต่อแหล่งข้อมูล): เช็กว่าคำตอบทุกประโยค “อ้างอิงได้” จากคอนเท็กซ์ที่ดึงมาหรือเปล่า ถ้าตอบเก่งแต่เสริมข้อมูลเองเยอะ คะแนนควรตก - Answer Relevance (ความเกี่ยวข้องของคำตอบ): ต่อให้ซื่อสัตย์ แต่ถ้าตอบไม่ตรงคำถามก็ยังแย่ ตัวนี้ช่วยจับอาการตอบอ้อม/เลี่ยง - Context Precision (ความแม่นของคอนเท็กซ์ที่ส่งเข้าไป): ช่วยดูว่าเอกสารที่ retrieve มา “มีของที่ใช้จริง” แค่ไหน ถ้าดึงมาเยอะแต่ไม่ค่อยถูกใช้ แปลว่าระบบค้นหายังไม่คม ทริคที่ทำให้ทีมฉันวัดได้ไวขึ้นคือใช้ LLM-as-a-Judge แต่ต้องกำหนดรูปแบบให้ชัด ไม่งั้นก็กลับไป “วัดด้วยความรู้สึก” เหมือนเดิม โดย 3 รูปแบบที่นิยมคือ - Single Answer Grading: ให้กรรมการให้คะแนนคำตอบเดียวตาม rubric (เหมาะกับงานประจำวัน) - Pairwise Comparison: ให้เทียบ A/B ว่าเวอร์ชันไหนดีกว่า (เหมาะกับการปรับ prompt / retriever) - Reference-based: มีคำตอบอ้างอิง/เฉลย แล้วให้เทียบ (เหมาะกับชุดทดสอบที่ล็อกโจทย์) สิ่งที่ช่วยลดการโดน “ล้างสมอง” ได้จริง ๆ ในการทำงานคือการตั้งชุดทดสอบ (eval set) ที่เป็นคำถามจากผู้ใช้จริง 20–50 ข้อก่อน แล้วค่อยรันคะแนน RAGAS ทุกครั้งที่เปลี่ยน prompt, เปลี่ยน embedding, หรือปรับ top-k retrieval จากนั้นดู 3 มิตินี้แยกกัน เช่น บางครั้ง Answer Relevance ดีขึ้น แต่ Faithfulness แย่ลง เพราะโมเดลเริ่มแต่งเติมให้ตอบดูสมบูรณ์ สุดท้าย ถ้าคะแนนตก อย่าเพิ่งรีบโทษโมเดล—ลองไล่แก้ตามลำดับ: (1) retriever ให้ดึงถูกก่อน (2) ลดคอนเท็กซ์รกเพื่อเพิ่ม Context Precision (3) บังคับให้ตอบ “อ้างอิงจากข้อความที่ให้เท่านั้น” เพื่อดัน Faithfulness แล้วค่อยกลับมาวัดใหม่ แบบนี้จะหลุดกับดักล้างสมอง AI ได้แบบมีหลักฐาน ไม่ใช่ความรู้สึก