Large Language Model หรือ LLM นั้นไม่มี ความจำ” — มันลืมทุกอย่างหลังจากแต่ละคำถาม และนั่นคือเหตุผลว่าทำไมศักยภาพจริงๆ ของ GenAI Solution ไม่ได้อยู่ที่โมเดล แต่อยู่ที่ระบบที่สร้างขึ้นรอบๆ ตัวมัน ความฉลาดที่เรารู้สึกได้ไม่ได้มาจากตัวโมเดล แต่มาจากการออกแบบจัดการข้อมูล จัดการความจำ จัดการ Prompt และการทำ Orchestration อย่างละเอียด


ให้ GenAI ทำเลยก็ได้นี่นา 

หนึ่งในความเข้าใจผิดที่ผมมักเจอบ่อยที่สุด คือความเข้าใจว่า GenAI = Chatbot แบบ ChatGPT แถมทำงานได้เลยแบบ Plug-and-Play หมายถึง ลูกค้าหลายรายมักเข้าใจว่าซื้อ GenAI มาใช้งานแล้วมันจะ “เปิดปุ๊บติดปั๊บ” ทำนองเดียวกับซอฟแวร์ทั่วไป 

ซึ่งต้องบอกว่า อาจเป็นความเข้าใจที่ไม่ตรงกับข้อเท็จจริงทางเทคนิคสักเท่าไหร่ครับ 

อันที่จริงแล้วเบื้องหลัง GenAI ทุกค่ายที่ดูฉลาด เก่ง และใช้งานง่าย จริงๆ แล้วมันไม่ได้ “เก่งออกมาจากกล่อง” แต่มันเก่งได้ด้วยความสามารถด้านวิศวกรรมซอฟต์แวร์ของผู้ผลิตแอปล้วนๆ ซึ่งลูกค้ามักไม่ค่อยรู้กัน 

อย่างที่หลายคนทราบดี หัวใจของ GenAI software คือ Large Language Model (LLM) ซึ่งทำหน้าที่ “ทำนายคำ” LLM ไม่ได้ เข้าใจสิ่งที่คุณถามมันจริงๆ หรอกครับ แต่ LLM ใช้เทคนิคการประมวลผลทางสถิติ เพื่อเดาคำถัดไปที่น่าจะ “ถูกใจเราที่สุด” โดยอ้างอิงจากคำถามที่ได้รับมา ข้อมูลที่ถูกเทรนมา และโมเดลคณิตศาสตร์ที่ผู้ผลิตสร้างขึ้น  

และที่สำคัญคือ การทำงานของมันจะอิงจากข้อมูลใน Prompt ที่คุณพิมพ์เข้าไปใน “ตอนนั้น” เท่านั้นครับ โดยธรรมชาติแล้ว LLM ไม่ได้มีการเก็บความทรงจำไว้ว่า Prompt ที่แล้วคุณถามอะไรมันมาก่อน 

หรือที่เราเรียกกันว่า LLM เป็นโมเดลที่ ไม่มีสถานะ หรือ Stateless นั่นเอง 

ทีนี้พอ LLM มัน Stateless ก็ทำให้มัน “ไม่จำ” ว่าเคยคุยอะไรกับเราไว้แล้ว ภาระหน้าที่การทำให้ LLM พูดคุยรู้เรื่อง จำบทสนทนาได้ จำได้ว่าคำถามแรกที่ถามคืออะไร เราคุยอะไรค้างไว้ และศักยภาพอีกมากมายที่เราเห็น เป็นภาระงานของวิศวกรครับ  

เวลา GenAI App พูดคุยเหมือนว่ามันจำอดีตได้ หรือเข้าใจคุณเหลือเกิน จริงๆ แล้วมันไม่ได้ฉลาดด้วยตัวเอง แต่เป็นเพราะ ตัวแอปพลิเคชันที่ออกแบบรอบๆ มันต่างหาก ที่ทำงานหนักอยู่เบื้องหลัง  

ผมลองไล่เรียงดูคร่าวๆ โดยพื้นฐานแล้วงานของวิศวกรในการสร้าง GenAI App สักอัน น่าจะมีประมาณนี้ 

  • เก็บประวัติการสนทนาไว้อย่างต่อเนื่อง (Conversation History Management) 
    เพื่อให้เหมือนว่ามัน จำได้ว่าคุยอะไรไป ไม่งั้นแต่ละข้อความจะถูกมองว่าเริ่มใหม่หมดทุกครั้ง 
  • ดึงข้อมูลธุรกิจที่เกี่ยวข้องแบบเรียลไทม์ (Data Augmentation) 
    เช่น เอาข้อมูลลูกค้าหรือเงื่อนไขประกันมาให้ เพื่อให้คำตอบตรงกับความเป็นจริง ไม่ใช่พูดกว้างๆ 
  • วาง Logic สำหรับจัดการ Context ใน Memory Window ที่จำกัดของโมเดล (Context Window Management) 
    เพราะโมเดลมันรับข้อมูลได้จำกัดในแต่ละครั้ง เราต้องเลือกว่าจะใส่อะไรไว้บ้าง เอาอะไรออก 
  • วางกลยุทธ์ Memory ข้าม Session (Persistent Memory) 
    ให้ผู้ช่วยกลับมาคุยต่อจากเมื่อวานได้ เช่น รู้ว่าคุณขอใบเสนอราคาไว้ หรือมีความชอบอะไร 
  • สร้างระบบความปลอดภัยและความเป็นส่วนตัว (Security & Privacy Guardrails) 
    เพื่อให้แน่ใจว่าข้อมูลภายในหรือของลูกค้าไม่รั่วไหล ไม่ถูกเอาไปใช้โดยไม่ตั้งใจ 
  • กรองข้อมูลที่ไม่เกี่ยวข้องหรือเก่าเกินไปออก (Context Pruning) 
    เพราะแค่พูดถึงเรื่องนึงไปก่อนหน้า ไม่ได้แปลว่ามันยังสำคัญอยู่ ต้องมี Logic คัดกรองให้บทสนทนาอยู่ในประเด็น 


ทั้งหมดนี้คือการทำ
Software Engineering ที่ต้องออกแบบอย่างตั้งใจ ไม่ใช่แค่เพื่อให้มันดูฉลาด แต่เพื่อให้มันใช้งานได้จริง ปลอดภัย เชื่อถือได้ และเหมาะกับงานระดับองค์กร 

ซึ่งนี่แหละคือสิ่งที่ทำให้ GenAI แต่ละโครงการ / Chatbot แต่ละแอป แสดงผลออกมาแตกต่างกัน เพราะคุณภาพของมันไม่ได้อยู่ที่โมเดล แต่เป็นทุกอย่างที่เรา สร้างขึ้นรอบๆ มันไม่ว่าจะเป็นระบบจัดการ Context, Memory, Interface, ความปลอดภัย หรือ Integration 

Statelessness อาจฟังดูเหมือนเรื่องเทคนิคเล็กน้อย แต่จริงๆ แล้วมันคือหัวใจของพฤติกรรมทั้งหมดของระบบเลยครับ มันคือเหตุผลที่ GenAI ไม่ได้เปิดปุ๊บติดปั๊บ(Plug-and-Play) และการเลือกใช้ Model เก่งๆ ก็ไม่ใช่เรื่องเดียวที่จะทำให้คุณได้ GenAI Solution ที่ดีเสมอไป  

ผมจึงพูดอยู่เสมอๆ ว่า ตัวโมเดล LLMs เป็นแค่จุดเริ่มต้นครับ คุณค่าจริงๆ ของ Solution อยู่ที่ Engineering Design มากกว่า ว่าเราออกแบบสิ่งที่อยู่รอบๆ LLMs กันอย่างไรให้เหมาะสมกับเป้าหมายที่เราอยากได้จากมัน



Key Takeaways

  • LLMs ไม่มีความจำในตัวมันเองContinuity ต้องสร้างขึ้นผ่านระบบ ไม่ได้เกิดขึ้นเอง 
  • โมเดลไม่ใช่ผลิตภัณฑ์คุณค่าทางธุรกิจจริงๆ อยู่ที่ระบบที่ล้อมรอบมัน ไม่ใช่โมเดล 
  • GenAI ไม่ใช่ของ Plug-n-Play ระบบต้องมีเป้าหมายที่ชัดและมี Engineering Design ที่เหมาะสม 
  • ใช้โมเดลเดียวกัน ผลลัพธ์ก็ยังต่างกันได้ขึ้นอยู่กับว่าระบบถูกออกแบบอย่างไร 
  • ความได้เปรียบเชิงกลยุทธ์อยู่ที่ การ Orchestration”ความฉลาดที่ผู้ใช้ได้รับ ขึ้นอยู่กับว่าเราวางระบบรอบๆ โมเดลได้ดีแค่ไหน