โมเดลจำไม่ได้ แต่คุณจำได้

เมื่อก่อนผมเคยคิดว่า 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