GraphRAG และความจำเชิงบริบทแบบถาวร (persistent contextual memory) กำลังถูกนำมาผสานเข้ากับ AI chatbot เพื่อให้การสนทนายังคงอยู่แม้จะมีการรีเฟรชหน้าเว็บหรือเปิดแท็บเบราว์เซอร์ใหม่ นักพัฒนาเผยว่าการผสมผสานนี้จะช่วยขจัดปัญหา "tab-kill" หรือการลืมข้อมูลที่สร้างความหงุดหงิดให้กับผู้ใช้แชทบอทส่วนใหญ่
ทำไมแนวทางแบบเดิมถึงยังไม่เพียงพอ
ระบบ AI แบบแชทส่วนใหญ่พึ่งพา Retrieval-Augmented Generation (RAG) มาตรฐาน โดยกระบวนการจะดึงข้อความส่วนที่คล้ายกับคำถามปัจจุบัน ส่งไปยังโมเดลภาษา และส่งคำตอบกลับมา สำหรับการค้นหาข้อมูลเพียงอย่างเดียว เช่น "เมืองหลวงของฝรั่งเศสคืออะไร?" วิธีนี้ทำงานได้ดี
แต่ RAG มองว่าทุกอินพุตของผู้ใช้เป็นคำขอที่แยกจากกัน เมื่อคำถามต่อเนื่องต้องพึ่งพาข้อมูลที่พูดไปเมื่อไม่กี่นาทีก่อน โมเดลจะไม่มีความจำเกี่ยวกับบริบทนั้น ผลลัพธ์คือแชทบอทที่ขอให้คุณพูดซ้ำ หรือให้คำตอบที่ละเลยรายละเอียดก่อนหน้า ปัญหานี้ไม่ใช่เรื่องของความฉลาด แต่เป็นเรื่องของการขาด "สถานะ" (state)
GraphRAG: เปลี่ยนข้อความธรรมดาให้เป็นเครือข่าย
GraphRAG ปรับเปลี่ยนขั้นตอนการดึงข้อมูล (retrieval) แทนที่จะเป็นรายการของชิ้นส่วนข้อความที่ไม่เกี่ยวข้องกัน มันจะสร้างกราฟขึ้นมา:
- โหนด (Nodes) แทนเอนทิตี (entities) เช่น บุคคล ผลิตภัณฑ์ หรือเหตุการณ์
- เส้นเชื่อม (Edges) บันทึกความสัมพันธ์ระหว่างกัน เช่น ใครเป็นผู้จัดหาอะไร โปรเจกต์ไหนต้องพึ่งพาชิ้นส่วนใด เป็นต้น
เนื่องจากกราฟมีการเข้ารหัสความเชื่อมโยง ระบบจึงสามารถทำการให้เหตุผลแบบหลายขั้นตอน (multi-hop reasoning) ได้ โดยสามารถติดตามลำดับของข้อเท็จจริงผ่านเอกสารหลายฉบับเพื่อตอบคำถามที่การค้นหาข้อความแบบธรรมดาทำไม่ได้ นอกจากนี้ยังสามารถสร้างบทสรุปของกราฟย่อย (sub-graphs) ทั้งหมด เพื่อให้ผู้ใช้เห็นภาพรวมของหัวข้อนั้นๆ อย่างกระชับ แทนที่จะเป็นเพียงการรวบรวมข้อความที่ตัดแปะมา
ความจำเชิงบริบท: การจดจำการสนทนา
ความจำเชิงบริบทแบบถาวร (Persistent contextual memory) จะเพิ่มเลเยอร์ด้านเวลา (temporal layer) เข้าไปเหนือโครงสร้างกราฟ โดยแบ่งออกเป็นสามส่วน:
- ความจำระยะสั้น (Short-term memory) เก็บการสนทนาแบบโต้ตอบในปัจจุบัน เพื่อให้ผู้ใช้ไม่ต้องพูดประเด็นเดิมที่เพิ่งพูดไปเมื่อไม่กี่ประโยคก่อน
- ความจำระยะยาว (Long-term memory) บันทึกข้อเท็จจริงที่คัดสรรแล้วเกี่ยวกับผู้ใช้ในแต่ละเซสชัน เช่น ภาษาที่ชอบ ปัญหาที่เกิดขึ้นบ่อย หรือประวัติการซื้อก่อนหน้า
- ความจำแบบเลือกสรร (Selective memory) ตัดสินใจว่าจะเก็บอะไรไว้ โดยจะตัดคำสร้อยหรือการพูดคุยที่ไม่เกี่ยวข้องออก เพื่อไม่ให้หน่วยจัดเก็บข้อมูลบวมจนเกินไป
เมื่อผู้ใช้กลับมาหลังจากปิดแท็บไปแล้ว หน่วยจัดเก็บความจำระยะยาวจะสามารถดึงข้อมูลพื้นฐานที่เกี่ยวข้องขึ้นมา ทำให้แชทบอทสามารถสนทนาต่อจากจุดที่ค้างไว้ในเซสชันล่าสุดได้ทันที
ควรเลือกใช้เครื่องมือใดเมื่อไหร่
- ใช้ RAG มาตรฐานสำหรับการตรวจสอบข้อเท็จจริงง่ายๆ ที่หากพลาดความเชื่อมโยงไปก็ไม่ส่งผลเสียมากนัก
- ใช้ GraphRAG เมื่อความผิดพลาดของคำตอบมีต้นทุนสูง หรือเมื่อคำตอบจำเป็นต้องเชื่อมโยงข้อมูลที่กระจายอยู่ในเอกสารหลายฉบับ
- เพิ่มความจำเชิงบริบท หากแอปพลิเคชันต้องจดจำผู้ใช้ที่กลับมาใช้งานซ้ำ หรือต้องรักษาความต่อเนื่องของการสนทนาส่วนบุคคลข้ามวันหรือข้ามสัปดาห์
การสร้างเลเยอร์เหล่านี้ไม่ใช่เรื่องที่ทำได้ง่ายๆ (plug-and-play) ดัชนี GraphRAG จะต้องได้รับการอัปเดตเมื่อข้อมูลต้นทางเปลี่ยนไป และหน่วยจัดเก็บความจำจำเป็นต้องมีนโยบายที่สร้างสมดุลระหว่างความเกี่ยวข้องกับต้นทุนในการจัดเก็บ การเก็บข้อมูลที่มากเกินไป—เช่น การเก็บทุกคำพูด—จะทำให้การดึงข้อมูลช้าลงอย่างรวดเร็วและทำให้โมเดลจมอยู่กับข้อมูลขยะ (noise)
ข้อแลกเปลี่ยน
ความจำเชิงบริบทช่วยแก้ปัญหาการลืม แต่ข้อเสียคือเรื่องการดำเนินงาน (operational): การรักษาโครงสร้างกราฟที่ใช้งานจริงและแคชความจำแบบเลือกสรรนั้นต้องใช้ความพยายามทางวิศวกรรมอย่างต่อเนื่อง
สิ่งที่ควรจับตามองต่อไป
สรุป: GraphRAG ทำหน้าที่เป็นโครงสร้างหลักด้านความสัมพันธ์ (relational backbone) ในขณะที่ความจำเชิงบริบทแบบถาวรทำหน้าที่เป็นกาวเชื่อมโยงด้านเวลา (temporal glue) เมื่อทำงานร่วมกัน จะช่วยให้แชทบอทสามารถรักษาความต่อเนื่องของการสนทนาข้ามแท็บและข้ามเซสชัน เปลี่ยนจากการรีเซ็ตที่น่าหงุดหงิดให้เป็นการสนทนาที่ราบรื่น
