• ในโมเดลภาษาขนาดใหญ่รุ่นล่าสุด มีการนำหน้าต่างคอนเท็กซ์แบบยาวที่รองรับได้ถึง 1 ล้านโทเค็นมาใช้ ทำให้เกิดความคาดหวังว่าประสิทธิภาพของเอเจนต์จะก้าวกระโดดอย่างมาก
  • แต่ในความเป็นจริง คอนเท็กซ์ยาวไม่ได้ทำให้คำตอบดีขึ้น กลับเป็นสาเหตุให้ระบบล้มเหลวจาก การเสพติดคอนเท็กซ์, ความผิดพลาด, ความสับสน, ความขัดแย้ง
  • ปัญหาตัวอย่างที่พบได้บ่อยคือ การปนเปื้อนของคอนเท็กซ์ (poisoning), การทำให้เสียสมาธิของคอนเท็กซ์ (distraction), ความสับสนของคอนเท็กซ์ (confusion), และ ความขัดแย้งของคอนเท็กซ์ (clash)
  • ปัญหาเหล่านี้ส่งผลต่อเอเจนต์รุนแรงยิ่งขึ้น โดยเฉพาะในโฟลว์ที่ซับซ้อน เช่น แหล่งข้อมูลจำนวนมาก, การเชื่อมต่อเครื่องมือ, การให้เหตุผลหลายขั้นตอน
  • ในบทความถัดไปจะพูดถึงวิธีแก้ที่ใช้งานได้จริงและกลยุทธ์ในการหลีกเลี่ยง

ความสำคัญของการจัดการคอนเท็กซ์

  • โมเดล frontier ขนาดใหญ่ในช่วงหลังเริ่มให้บริการหน้าต่างคอนเท็กซ์ขนาดยาวที่รองรับได้ถึง 1 ล้านโทเค็น
  • หลายคนคาดหวังว่าเพียงใส่เครื่องมือ เอกสาร และคำสั่งทั้งหมดลงในหน้าต่างขนาดใหญ่นี้ก็ไม่น่าจะมีปัญหา
  • แต่ในทางปฏิบัติ ภาวะคอนเท็กซ์ล้นเกินก่อให้เกิดความล้มเหลวหลายรูปแบบ และเป็นปัญหาร้ายแรงอย่างยิ่งโดยเฉพาะในแอปพลิเคชันแบบเอเจนต์

การปนเปื้อนของคอนเท็กซ์ (Context Poisoning)

  • การปนเปื้อนของคอนเท็กซ์คือปรากฏการณ์ที่ อาการหลอน (hallucination) หรือข้อผิดพลาดไหลเข้าไปอยู่ในคอนเท็กซ์และถูกอ้างอิงซ้ำ ๆ
  • รายงานทางเทคนิคของ Gemini 2.5 จาก Deep Mind อธิบายกรณีที่สถานะเกมผิดพลาดยังคงค้างอยู่ในส่วนเป้าหมายหรือสรุประหว่างการเล่นเกม ทำให้เอเจนต์ทำพฤติกรรมผิดซ้ำโดยยึดตามกลยุทธ์ที่ไร้ความหมายและเป้าหมายที่เป็นไปไม่ได้
  • คอนเท็กซ์ที่ปนเปื้อนเช่นนี้ทำให้การตัดสินใจของเอเจนต์ขุ่นมัวได้ทั้งแบบชั่วคราวและยาวนาน

การทำให้เสียสมาธิของคอนเท็กซ์ (Context Distraction)

  • การทำให้เสียสมาธิของคอนเท็กซ์คือภาวะที่คอนเท็กซ์ยาวเกินไปจน โมเดลไปโฟกัสกับคอนเท็กซ์มากเกินกว่าสิ่งที่เรียนรู้ระหว่างการฝึก
  • แม้แต่ในหน้าต่าง 1M+ โทเค็นของ Gemini 2.5 Pro เมื่อคอนเท็กซ์เกิน 100,000 โทเค็นไปแล้ว ในทางปฏิบัติโมเดลมักทำได้เพียงทวนประวัติที่ผ่านมา และวางแผนเชิงสร้างสรรค์ได้ยาก
  • งานวิจัยของ Databricks ยืนยันว่าในกรณีของ Llama 3.1 405b ความแม่นยำลดลงอย่างฮวบฮาบตั้งแต่ที่ 32,000 โทเค็น
  • สิ่งนี้ชี้ให้เห็นว่าในโลกความเป็นจริง หน้าต่างขนาดใหญ่มาก ๆ อาจมีประโยชน์หลักเพียงกับงานสรุป (summarization) และการดึงข้อเท็จจริง (retrieval)

ความสับสนของคอนเท็กซ์ (Context Confusion)

  • หากใส่เครื่องมือหรือคำจำกัดความจำนวนมากเกินไปไว้ในคอนเท็กซ์ โมเดลจะสร้างคำตอบคุณภาพต่ำ เช่น เรียกใช้เครื่องมือที่ไม่จำเป็นหรือไม่เหมาะสม
  • ตาม Function-Calling Leaderboard ของ Berkeley ยิ่งมีเครื่องมือให้มากเท่าไร ประสิทธิภาพของทุกโมเดลก็ยิ่งลดลง และมีการเรียกใช้ที่ไม่จำเป็นเกิดขึ้นบ่อยครั้ง
  • ในงานวิจัย benchmark ของ GeoEngine โมเดล Llama 3.1 8b ล้มเหลวเมื่อมีเครื่องมือ 46 ตัวให้ใช้งาน แต่ประสบความสำเร็จเมื่อให้เพียง 19 ตัว
  • ข้อมูลที่อยู่ในคอนเท็กซ์จะถูกโมเดลมองว่าเป็นข้อมูลที่ต้องพิจารณาเสมอ ทำให้ noise ที่ไม่จำเป็นกลายเป็นปัญหา

ความขัดแย้งของคอนเท็กซ์ (Context Clash)

  • ความขัดแย้งของคอนเท็กซ์คือสถานะที่ข้อมูลที่ถูกรวบรวมมาแบบหลายขั้นตอนหรือคำอธิบายเครื่องมือมีเนื้อหาที่ขัดกันหรือขัดแย้งกันเอง
  • งานวิจัยของ Microsoft และ Salesforce แสดงให้เห็นว่าในบทสนทนาแบบหลายเทิร์น ปรากฏการณ์นี้ทำให้ ประสิทธิภาพลดลงเฉลี่ย 39%
  • สาเหตุคือมีการสร้างสมมติฐานที่ผิดตั้งแต่คำตอบช่วงต้น และหลังจากนั้นโครงสร้างของระบบก็ยังพึ่งพาคำตอบนั้นมากเกินไป
  • ความเสี่ยงของความขัดแย้งจะเพิ่มขึ้นเมื่อเชื่อมต่อกับเครื่องมือภายนอกอย่าง MCP

บทสรุปและมุมมองต่อไป

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

บทความถัดไป: “วิธีแก้คอนเท็กซ์ของคุณ

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น