บันทึกรูปแบบของปัญหา context ที่ไม่ดี จากหนังสือ Context Engineering with DSPy

Published on 19 ต.ค. 2026

หลังจากอ่านหนังสือเรื่อง Context Engineering with DSPy ไปนั้น
มีส่วนที่อธิบายถึงปัญหาต่าง ๆ ของ context ซึ่งมาจากการจัดการที่ไม่ดี
ส่งผลให้การทำงานของ AI Agent ไม่ดี
ดังนั้นเราควรจัดการให้ดี ให้ถูกต้อง ในเวลาที่เหมาะสม

มาดูกันว่าปัญหาของการจัดการ context ไม่ดีมีอะไรบ้าง ?
และสามารถแก้ไขได้อย่างไร ?

ปัญหาที่ 1 Context distraction

การทำงานของ model ต่าง ๆ มักจะทำงานตามรูปแบบของคำสั่งจากสิ่งที่เคยสั่งหรือเรียนรู้ไป
ทำให้ถ้าการพูดคุยหรือทำงานยาว ๆ แล้ว
มักจะได้คำตอบแบบเดิม ๆ ทั้ง ๆ ที่เราบอกให้ทำงานในรูปแบบใหม่
ซึ่งทำให้ขาดความคิดสร้างสรรค์ไป
ดังนั้นสิ่งที่ควรต้องทำหรือแก้ไข เช่น

  • ทำการ start session ใหม่ หรือ clear ทิ้งไป
  • ทำการยกตัวอย่างที่ไม่ตีกรอบการทำงานแคบเกินไป เพื่อเปิดกว้างในการคิดแบบอื่น ๆ บ้าง

ปัญหาที่ 2 Context confusion

ในการทำงานแบบยาว ๆ หรือ long conversation
มักจะมีข้อมูลเก่า ๆ หรือ ใน history ก่อนหน้า
ส่งผลให้ model นำเอาข้อมูลเหล่านั้นมาใช้งานในการตอบสิ่งต่าง ๆ
ทำให้ผลการทำงานแย่ลงเรื่อย ๆ
ดังนั้นสิ่งที่ควรทำหรือแก้ไข เช่น

  • เขียน instruction ให้ทำการตอบ หรือ ข้อมูลมีเท่าที่จำเป็น หรือ ให้สั้นกระชับก็พอ
  • หรือปิดระบบ memory ของการทำงาน

ปัญหาที่ 3 Context neglect

ปัญหานี้จะเป็นการมองข้ามข้อมูลใน context บางส่วนไป
ยกตัวอย่างเช่น lost in the middle เป็นต้น
ดังนั้นถ้าส่วนสำคัญอยู่ตรงกลางของ context
จะส่งผลให้การผลลัพธ์เกิดข้อผิดพลาดได้ง่ายมาก ๆ
ดังนั้นสิ่งที่ควรทำหรือแก้ไขเช่น

  • จัดการข้อมูลใน context ให้มีเท่าที่จำเป็นในงานนั้น ๆ เท่านั้น
  • แยกการทำงานของแต่ละงานตาม session ไปเลย อย่ารวมกัน
  • แก้ไขให้ข้อมูลสำคัญอยู่ในช่วงแรก หรือ ช่วงท้ายของ context

ปัญหาที่ 4 Context drift

เมื่อการพูดคุยยาวขึ้นเรื่อง ทำให้เกิด context confusion ได้แล้ว
ยังอาจจะทำให้ model ลืมเป้าหมายของการทำงานที่กำหนดไว้ตั้งแต่แรก ๆ ของการพูดคุยได้
หรืออาจจะทำคล้าย ๆ เดิม แต่ละเลยการทำงานตามกฏต่าง ๆ
แน่นอนว่าส่งผลต่อการทำงานอย่างมาก ต้องระวังสุด ๆ
ดังนั้นสิ่งที่ควรทำหรือแก้ไขเช่น

  • กำหนดกฏต่าง ๆ ไว้ตั้งแต่เริ่ม หรือกำหนดไว้ใน system instruction ไปก็ดีมาก ๆ
  • ถ้ามีปัญหาเรื่อง lost in the middle ให้จัดการข้อมูลของกฏไว้ช่วงแรกและท้าย ๆ เสมอ

ปัญหาที่ 5 Context clash

บ่อยครั้งที่มักจะคุยกับ model แบบให้ข้อมูลทีละนิดทีละหน่อย
หรือพูดคุยไปเรื่อย ๆ ผมชอบใช้คำว่า คุยไปวัน ๆ
อาจจะทำให้ผลการคุยขัดแย้งกันได้
หรือจะทำให้เกิด Context poisoning ได้อีก
ซึ่งปัญหานี้เราสามารถแก้ไขด้วยการเขียนสรุปงานต่าง ๆ ให้ชัดเจนและครบถ้วนตั้งแต่ต้น นั่นเอง
หรือต้องทำการแก้ไขประวัติการพูดคุย จากนั้นสรุปออกมาเป็นไฟล์
จากนั้นทำการเปิด session ในการพูดคุยใหม่

ปัญหาที่ 6 Context underspecification

เป็นปัญหาที่เกิดจากการให้ข้อมูลและรายละเอียดน้อยเกินไป
ทำให้ model ต้องเดาจากข้อมูลที่ถูก train มากยิ่งขึ้น
บ่อยครั้งข้อมูลไม่ตรงกับที่ต้องการของเรา
ซึ่งเป็นเรื่องปกติที่จะพบเจอมาก ๆ
ดังนั้นสิ่งที่ควรทำคือ

  • ลดการเดาด้วยการให้ข้อมูลที่ชัดเจนมากยิ่งขึ้น
  • ก่อนจบการทำงานให้ทำการสรุปสิ่งที่สำคัญและจำเป็น จากนั้นนำข้อมูลที่ได้ไปใช้ใน session ใหม่ เพื่อลดปัญหาการเดาลงไป

จะพบว่าปัญหาที่เกิดจากการบริหารจัดการ context ที่ไม่ดี
ส่งผลต่อการทำงานของ model มาก ๆ
ลองปรับปรุงและดูผลดูครับ

Reference websites

Article by Somkiat Puisungnoen

To be Craftmanship