โมเดลจำไม่ได้ แต่คุณจำได้
เมื่อก่อนผมเคยคิดว่า Large Language Models (LLMs) มีหน่วยความจำ
ผมคิดว่าแต่ละเซสชันการแชทจะเก็บบริบท (context) ของตัวเองไว้ แต่ผมคิดผิด
LLMs เป็นแบบ stateless ตัวโมเดลจะไม่จดจำอะไรเลยจากคำขอหนึ่งไปยังอีกคำขอหนึ่ง
เมื่อคุณเห็นประวัติการแชท สิ่งที่คุณกำลังดูอยู่คือ array ของข้อความ เพื่อสร้างบทสนทนา คุณต้องส่งประวัติทั้งหมดกลับไปยังโมเดลพร้อมกับ prompt ใหม่ทุกครั้ง
หากคุณใช้ SDK กระบวนการนี้จะถูกซ่อนไว้ โดย SDK จะจัดการความซับซ้อนแทนคุณ
หากคุณใช้ raw fetch คุณจะเห็นทุกอย่าง คุณต้องจัดการทั้ง headers, body และ message array ด้วยตัวเอง
นี่คือวิธีการทำงานของ context:
• คุณส่งข้อความ • โมเดลตอบกลับ • คุณบันทึกทั้งสองข้อความลงใน array • คุณส่ง array ทั้งหมดกลับไปสำหรับคำถามถัดไป
โมเดลจะรู้แค่สิ่งที่คุณส่งไปในคำขอปัจจุบันเท่านั้น ส่วนที่เหลือทั้งหมดจะหายไป
การเข้าใจเรื่อง array นี้คือพื้นฐานของการพัฒนา AI มันคือจุดเริ่มต้นของวิธีการขั้นสูงอย่าง RAG, sliding windows และ semantic search
หากคุณต้องการสร้างเครื่องมือ AI ที่เชื่อถือได้ เลิกพึ่งพา abstraction แล้วหันมาดูที่ raw requests แทน ควบคุมประวัติการสนทนาด้วยตัวคุณเอง
โพสต์ฉบับเต็ม: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-38jk