ต้นแบบ RAG ของนักพัฒนาคนหนึ่งปฏิเสธที่จะตอบทุกคำถามที่มีค่า cosine similarity ต่ำกว่า 0.50 มันทำงานได้อย่างไร้ที่ติ—จนกระทั่งมีการเปลี่ยนโมเดล embedding ตัวป้องกัน (guard) นั้นปล่อยให้คำตอบที่ผิดพลาดหลุดรอดออกมาอย่างเงียบเชียบ เหตุการณ์นี้พิสูจน์ให้เห็นว่าเกณฑ์ความคล้ายคลึงแบบ hard-coded สามารถพังทลายลงได้เมื่อเปลี่ยนโมเดล ซึ่งเป็นความเสี่ยงที่คุกคามทุกระบบที่พึ่งพาความคล้ายคลึงของ embedding เพื่อใช้ในการตรวจสอบความปลอดภัย
ทำไมเกณฑ์นี้ถึงสำคัญ
ไพป์ไลน์ Retrieval-augmented generation (RAG) มักใช้ similarity guard: หากค่า cosine similarity ระหว่างคำถามและเอกสารที่ใกล้เคียงที่สุดต่ำกว่าตัวเลขที่กำหนดไว้ ระบบจะยกเลิกการตอบ ตัวป้องกันนี้ช่วยป้องกันไม่ให้โมเดลเกิดอาการหลอน (hallucinating) เมื่อบริบทที่ดึงมานั้นอ่อนเกินไป ในการตั้งค่าเดิม เกณฑ์ 0.50 ช่วยให้ระบบมีความแม่นยำ—คำถามที่ไม่สามารถตอบได้จะมีคะแนนต่ำกว่าเส้นแบ่ง ส่วนคำถามที่ตอบได้จะมีคะแนนสูงกว่า
เมื่อ backend ของ embedding เปลี่ยนไป เกณฑ์ตัดที่ 0.50 เดิมไม่สามารถแยกกลุ่มทั้งสองออกจากกันได้อีกต่อไป ไพป์ไลน์เริ่มส่งคำตอบที่ดูมั่นใจแต่ไม่ถูกต้องออกมา โดยไม่มีการแจ้งเตือนการพังของระบบหรือข้อผิดพลาดที่ชัดเจน ความล้มเหลวนี้หลุดรอดจากการวัดผลด้วย ranking metrics มาตรฐาน และจะปรากฏขึ้นก็ต่อเมื่อมนุษย์สังเกตเห็นความผิดเพี้ยน (drift) เท่านั้น
เรขาคณิตไม่ใช่เรื่องสากล
โมเดล embedding ทุกโมเดลจะแปลงภาษาให้เป็นพื้นที่มิติสูง (high-dimensional space) ที่มีเรขาคณิต (geometry) เป็นของตัวเอง ดังนั้นค่า cosine similarity จึงมีความหมายแตกต่างกันไปในแต่ละโมเดล คะแนน
