RAG คืออะไรกันแน่
โมเดลภาษาที่ทำงานลำพังก็เหมือนสอบแบบปิดหนังสือ ทุกอย่างที่มันบอกคุณได้ถูกกำหนดไว้ตั้งแต่การฝึกจบลง และการถามเรื่องสัญญาของคุณ โค้ดของคุณ หรือข่าวเมื่อวานจะได้รับแค่การปฏิเสธหรือการเดาแบบมั่นใจเกินไป Why AI gets things wrong พูดถึงปัญหาการเดานี้แบบละเอียด
RAG เปลี่ยนการสอบแบบปิดหนังสือให้เป็นแบบเปิดหนังสือ ก่อนที่โมเดลจะเขียนคำตอบ ระบบจะค้นหาแหล่งความรู้ เช่น ไฟล์ที่คุณอัปโหลด วิกิของบริษัท หรือเว็บสด ดึงข้อความที่เกี่ยวข้องที่สุดออกมา แล้ววางลงในพรอมต์คู่กับคำถามของคุณ จากนั้นโมเดลจะตอบจากข้อความที่ดึงมานั้นแทนการตอบจากความจำเพียงอย่างเดียว
แค่นี้คือแนวคิดทั้งหมด ชื่อมันฟังดูน่ากลัวแต่กลไกจริงคือ "ค้นหาก่อน" ส่วนที่เหลือในงานวิศวกรรม RAG ล้วนเป็นเรื่องของการทำให้ขั้นตอนค้นหานั้นเจอข้อความที่ถูกต้อง
ทำไมโมเดลต้องมีขั้นตอนการค้นหาเลย
ข้อจำกัดที่แก้ไม่ได้สองอย่างทำให้เกิดความจำเป็นนี้
การฝึกมีวันสิ้นสุด โมเดลที่ฝึกจนถึงต้นปี 2026 จะไม่รู้อะไรที่เกิดขึ้นหลังจากนั้นเลย และการฝึกโมเดลระดับแนวหน้าใหม่คือโครงการที่กินเวลาหลายเดือนและมีต้นทุนสูงมาก การดึงข้อมูลคือวิธีที่ผลิตภัณฑ์ AI ตอบเรื่องประกาศเมื่อเช้านี้ได้โดยไม่ต้องฝึกโมเดลใหม่เลย
ข้อมูลที่ใช้ฝึกเป็นข้อมูลสาธารณะ ใบแจ้งหนี้ ตั๋วงาน และเอกสารภายในของคุณไม่เคยอยู่ในนั้น และไม่มีเทคนิคการเขียนพรอมต์ใดจะดึงข้อมูลที่โมเดลไม่เคยเห็นออกมาได้ การดึงข้อมูลคือวิธีเดียวที่โมเดลทั่วไปจะตอบจากข้อมูลส่วนตัวได้
ยังมีเหตุผลที่สามที่ละเอียดกว่านั้น คือการยึดคำตอบกับความจริง เมื่อคำตอบต้องมาจากข้อความที่ให้ไว้ โมเดลจะอ้างอิงแหล่งที่มาได้ และคุณสามารถตรวจสอบได้ คำตอบที่มาจากความจำล้วนไม่มีอะไรให้ตรวจสอบเลย ซึ่งคือจุดพลาดสำคัญที่ทำให้อาการหลอนของ AI เป็นอันตราย
ไปป์ไลน์ RAG ทำงานอย่างไร ทีละขั้น
ระบบ RAG ทุกตัว ตั้งแต่ฟีเจอร์แชตกับ PDF ไปจนถึงผลิตภัณฑ์ค้นหาระดับองค์กร ล้วนทำงานตามห้าขั้นตอนเดียวกัน
- การแบ่งชิ้น (Chunking) เอกสารต้นฉบับจะถูกแบ่งเป็นชิ้นข้อความ ปกติมีความยาวไม่กี่ร้อยคำต่อชิ้น เพราะการค้นหาทำงานกับชิ้นข้อความ ไม่ใช่ไฟล์ทั้งหมด
- การจัดทำดัชนี (Indexing) แต่ละชิ้นจะถูกแปลงเป็น embedding ซึ่งเป็นชุดตัวเลขที่แทนความหมาย และจัดเก็บไว้ในฐานข้อมูลเวกเตอร์ เพื่อให้ความหมายที่คล้ายกันอยู่ใกล้กัน
- การค้นหา (Retrieval) คำถามของคุณจะถูกแปลงเป็น embedding แบบเดียวกัน และระบบจะดึงชิ้นข้อความที่ใกล้เคียงที่สุด ปกติคือ 3 ถึง 10 ชิ้นแรก
- การเสริมข้อมูล (Augmentation) ชิ้นข้อความเหล่านั้นจะถูกแทรกลงในพรอมต์ พร้อมคำสั่งเช่น "ตอบจากบริบทด้านล่างเท่านั้น"
- การสร้างคำตอบ (Generation) โมเดลเขียนคำตอบจากพรอมต์ที่เสริมข้อมูลแล้ว โดยควรอ้างอิงว่าชิ้นข้อความไหนสนับสนุนข้อความไหน
เมื่อคุณอัปโหลดเอกสารยาวไปยังเครื่องมือแชตแล้วถามคำถามเกี่ยวกับมัน กระบวนการบางเวอร์ชันนี้คือสิ่งที่กำลังทำงานอยู่ chat with PDF guide แสดงให้เห็นว่าหน้าตาของมันเป็นอย่างไรจริง ๆ ภายใน Whizi
RAG เทียบกับ long context เทียบกับ fine tuning
ทั้งสามคำนี้ถูกสับสนกันเพราะทั้งหมด "สอนโมเดลเกี่ยวกับข้อมูลของคุณ" แต่ทำด้วยวิธีที่เข้ากันไม่ได้เลย
| แนวทาง | ทำงานอย่างไร | เหมาะกับ | จุดอ่อน |
|---|---|---|---|
| RAG | ค้นหาก่อน ตอบจากผลลัพธ์ | ชุดเอกสารขนาดใหญ่หรือเปลี่ยนแปลงบ่อย ต้องมีการอ้างอิง | คุณภาพคำตอบขึ้นอยู่กับคุณภาพการค้นหา |
| Long context | วางทุกอย่างลงในพรอมต์ | เอกสารเดียว ต้องอ้างอิงข้ามกันแบบละเอียด | ข้อจำกัดเรื่องต้นทุนและความสนใจของโมเดล |
| Fine tuning | ฝึกโมเดลใหม่ด้วยตัวอย่าง | สไตล์ รูปแบบ และพฤติกรรม | อ่อนเรื่องข้อเท็จจริง อัปเดตทีมีค่าใช้จ่ายสูง |
เศรษฐศาสตร์เป็นตัวตัดสินมากกว่าทฤษฎี context window ขนาด 1M token ซึ่งโมเดลระดับแนวหน้าอย่าง Gemini และตระกูล GPT-5.6 มีให้ใช้แล้ว รองรับได้ราวๆ 1,500 หน้า จึงวางคู่มือทั้งเล่มลงไปได้จริง แต่ด้วยอัตราของ GPT-5.6 Terra ที่ $2 ต่อล้านโทเคนอินพุต การส่งคู่มือ 300,000 โทเคนไปพร้อมกับทุกคำถามมีต้นทุนราว $0.60 ต่อคำถาม ในขณะที่การดึงโทเคนที่ถูกต้องเพียง 2,000 โทเคนมีต้นทุนไม่ถึงครึ่งเซนต์ ถามสามคำถามแล้ว long context จะแพงกว่าถึง 100 เท่าสำหรับคำตอบชุดเดียวกัน What is a context window อธิบายข้อจำกัดพื้นฐานนี้ไว้
Fine tuning คือตัวที่แตกต่างออกไป มันเปลี่ยนวิธีที่โมเดลแสดงพฤติกรรม ไม่ใช่สิ่งที่โมเดลรู้ ทีมงานใช้มันเพื่อปรับโทนและรูปแบบผลลัพธ์ แล้วยังต้องเสริม RAG เข้าไปสำหรับข้อเท็จจริงอยู่ดี
ที่ที่คุณใช้ RAG อยู่แล้วโดยไม่รู้ตัว
การค้นหาเว็บในแชตบอต เมื่อ ChatGPT, Gemini หรือ Perplexity ค้นหาเว็บแล้วตอบพร้อมลิงก์ นั่นคือ RAG ที่ใช้อินเทอร์เน็ตเป็นแหล่งความรู้
การแชตกับไฟล์ของคุณ อัปโหลด PDF แล้วถามคำถาม การแบ่งชิ้น การทำ embedding และการค้นหาจะทำงานอยู่เบื้องหลังสำหรับเอกสารใดก็ตามที่ยาวเกินกว่าจะใส่ลงใน context ได้อย่างสบาย
บอตสนับสนุนลูกค้า บอตที่ตอบจากศูนย์ช่วยเหลือจริงและอ้างอิงบทความคือระบบ RAG ส่วนบอตที่แต่งคำตอบเองขึ้นมาไม่ใช่ และก็เห็นได้ชัด
ผู้ช่วย AI ที่ตอบเรื่องเหตุการณ์ปัจจุบัน คำตอบที่ถูกต้องเกี่ยวกับเรื่องที่เกิดขึ้นหลังวันตัดข้อมูลฝึกของโมเดล มาจากการดึงข้อมูล ไม่ใช่จากความจำ
RAG พังตรงไหน และจะสังเกตได้อย่างไร
RAG ลดอาการหลอนของ AI ได้ แต่ไม่ได้กำจัดมันจนหมด และมันยังเพิ่มจุดพลาดของตัวเองด้วย
การค้นหาพลาดเป้า ถ้าขั้นตอนค้นหาดึงข้อความผิดมา โมเดลจะตอบอย่างลื่นไหลจากบริบทที่ไม่เกี่ยวข้อง อาการที่สังเกตได้คือคำตอบที่อ้างอิงเอกสารของคุณแต่พูดถึงคำถามที่ต่างไปเล็กน้อย
ดัชนีที่ล้าสมัย ฐานข้อมูลเวกเตอร์รู้เพียงเอกสาร ณ ตอนที่จัดทำดัชนีครั้งล่าสุดเท่านั้น ระบบ RAG ที่ใช้นโยบายของไตรมาสก่อนจะให้คำตอบที่ล้าสมัยอย่างมั่นใจพร้อมการอ้างอิงติดมาด้วย ซึ่งน่าเชื่อกว่าอาการหลอนธรรมดาและจึงแย่กว่า
แหล่งข้อมูลขัดแย้งกัน เมื่อข้อความที่ดึงมาขัดแย้งกัน โมเดลมักจะผสมมันเข้าด้วยกันเป็นข้อความราบเรียบหนึ่งชุดที่ผิด มากกว่าจะบอกว่ามีความขัดแย้งอยู่
วิธีป้องกันที่ใช้ได้จริงเหมือนกับคำตอบ AI ทุกชิ้น คือตรวจสอบชิ้นข้อความที่อ้างอิง ไม่ใช่แค่ดูว่ามีการอ้างอิงอยู่หรือไม่ คำตอบ RAG ที่แหล่งอ้างอิงไม่ได้พูดตามที่คำตอบอ้างจริง ๆ คือความล้มเหลวร้ายแรงที่พบบ่อยที่สุดในระบบใช้งานจริง
- ใช้เครื่องมือแบบ RAG (อัปโหลด, ค้นหาเว็บ) เมื่อคำถามเกี่ยวกับข้อมูลของคุณหรือเหตุการณ์ปัจจุบัน
- เลือก long context สำหรับเอกสารเดียวที่คุณจะถามเจาะลึก เลือกการค้นหาสำหรับชุดข้อมูลขนาดใหญ่หรือเปลี่ยนแปลงบ่อย
- อย่าคาดหวังให้ fine tuning เพิ่มข้อเท็จจริง มันเปลี่ยนพฤติกรรม ไม่ใช่ความรู้
- เปิดชิ้นข้อความที่อ้างอิงเสมอแล้วยืนยันว่ามันพูดตามที่คำตอบอ้าง
- มองคำตอบที่มั่นใจแต่ไม่มีการอ้างอิงว่าเป็นการเดาจากความจำ
คำถามที่พบบ่อย
RAG ย่อมาจากอะไรในวงการ AI
RAG ย่อจาก retrieval augmented generation คำว่า retrieval หมายถึงการค้นหาแหล่งความรู้เพื่อหาข้อความที่เกี่ยวข้อง augmented หมายถึงการเพิ่มข้อความเหล่านั้นเข้าไปในพรอมต์ และ generation หมายถึงโมเดลเขียนคำตอบจากข้อความนั้น เทคนิคนี้ช่วยให้โมเดลตอบจากเอกสารและข้อมูลที่ไม่เคยถูกใช้ฝึกได้
RAG ดีกว่า fine tuning หรือไม่
ทั้งสองแก้ปัญหาต่างกัน RAG ดีกว่าสำหรับข้อเท็จจริง เพราะการอัปเดตความรู้คือการจัดทำดัชนีเอกสารใหม่ ไม่ใช่การฝึกโมเดลใหม่ และคำตอบยังอ้างอิงแหล่งที่มาได้ Fine tuning ดีกว่าสำหรับสไตล์ โทน และรูปแบบผลลัพธ์ ระบบใช้งานจริงมักใช้ทั้งสองอย่างร่วมกัน คือ fine tuning สำหรับพฤติกรรม และ RAG สำหรับความรู้
context window ขนาดใหญ่ทำให้ RAG ล้าสมัยหรือไม่
ไม่ มันแค่เปลี่ยนเกณฑ์การใช้งาน ด้วย context window ขนาด 1M token คุณวางเอกสารได้ราว 1,500 หน้าโดยตรง ซึ่งแทนที่ RAG ได้จริงสำหรับงานเอกสารเดียว แต่การวางทุกอย่างลงในทุกคำถามมีต้นทุนโทเคนอินพุตทุกครั้ง ราว $0.60 ต่อคำถามสำหรับคู่มือ 300,000 โทเคนที่ราคา $2 ต่อล้านโทเคน ในขณะที่การดึงข้อมูลส่งเพียงไม่กี่พันโทเคนแทน สำหรับชุดข้อมูลที่ใหญ่ เปลี่ยนแปลงบ่อย หรือถูกถามซ้ำ ๆ การดึงข้อมูลยังเป็นคำตอบที่คุ้มค่ากว่า
ต้องสร้างอะไรเองหรือไม่เพื่อใช้ RAG
ไม่ต้องในฐานะผู้ใช้ การอัปโหลดเอกสารไปยังเครื่องมือแชต หรือเปิดการค้นหาเว็บ ก็รันการดึงข้อมูลอยู่เบื้องหลังแล้ว การสร้างไปป์ไลน์ของคุณเองด้วยฐานข้อมูลเวกเตอร์จะเกี่ยวข้องก็ต่อเมื่อคุณกำลังพัฒนาซอฟต์แวร์ที่ต้องตอบจากชุดเอกสารส่วนตัวโดยอัตโนมัติ
RAG หยุดอาการหลอนของ AI ได้หรือไม่
มันลดอาการหลอนได้อย่างมากด้วยการยึดคำตอบไว้กับข้อความที่ดึงมา แต่มันก็นำมาซึ่งจุดพลาดของตัวเอง เช่น การดึงชิ้นข้อความผิด การตอบจากดัชนีที่ล้าสมัย หรือการผสมแหล่งข้อมูลที่ขัดแย้งกัน วิธีที่เชื่อถือได้คือการตรวจสอบว่าชิ้นข้อความที่อ้างอิงสนับสนุนข้อความที่อ้างจริงหรือไม่ ซึ่ง RAG ทำให้ทำได้ ในขณะที่คำตอบที่มาจากความจำล้วนทำไม่ได้