บั๊กที่ทำให้ Claude สับสนว่าใครเป็นคนพูด
(dwyer.co.za)- มีรายงานข้อผิดพลาดที่ Claude เข้าใจผิดว่าข้อความที่ตัวเองสร้างขึ้นเป็นคำพูดของผู้ใช้
- ปรากฏการณ์นี้ แยกจากอาการหลอนหรือปัญหาด้านสิทธิ์การเข้าถึง โดยเป็นรูปแบบที่คำสั่งภายในถูกติดป้ายกำกับผิดแล้วนำไป执行
- บน Reddit และที่อื่น ๆ ก็มีการแชร์กรณีที่ Claude ออกคำสั่งแบบทำลายล้างด้วยตัวเองแล้วประมวลผลว่าเป็นคำขอของผู้ใช้
- สาเหตุของปัญหาถูกชี้ว่าเป็น ข้อผิดพลาดในการแยกผู้พูดของ system harness และคาดว่าเป็น บั๊กที่ถดถอยกลับมาอีกครั้ง
- มีรายงานปรากฏการณ์เดียวกันในโมเดลอื่นด้วย ทำให้มีการจับตาแนวโน้มที่มักเกิดใน ช่วงขีดจำกัดของบริบทการสนทนา (Dumb Zone)
บั๊กของ Claude ที่ ‘สับสนว่าใครเป็นคนพูด’
- มีรายงาน ข้อผิดพลาดร้ายแรง ที่ Claude เข้าใจผิดว่าข้อความที่ตัวเองส่งเป็นคำพูดของผู้ใช้
- ปัญหานี้เป็นปรากฏการณ์ที่แยกจาก อาการหลอน (hallucination) หรือ ปัญหาขอบเขตสิทธิ์การเข้าถึง
- เป็นลักษณะที่โมเดลรับรู้คำสั่งที่สร้างขึ้นภายในผิดว่าเป็นอินพุตจากผู้ใช้แล้วนำไป执行
- ในการสังเกตก่อนหน้านี้ พบปรากฏการณ์เดียวกันเกิดขึ้นสองครั้งในสภาพแวดล้อม Claude Code
- Claude ตัดสินเองว่า “คำพิมพ์ผิดนั้นตั้งใจทำ” แล้วดำเนินการ deploy ต่อ ก่อนจะอ้างว่าคำสั่งนั้นมาจากผู้ใช้
-
กรณีของผู้ใช้รายอื่น
- ในเธรด r/Anthropic บน Reddit ก็มีรายงานปัญหาเดียวกัน
- Claude ออก คำสั่งแบบทำลายล้าง ว่า “Tear down the H100 too” ด้วยตัวเอง แล้วถือว่าเป็นคำขอของผู้ใช้
- มีการแชร์กรณีที่เซสชันของผู้ใช้เสียหายจากเรื่องนี้
- ในเธรด r/Anthropic บน Reddit ก็มีรายงานปัญหาเดียวกัน
-
การรับรู้ปัญหาและสาเหตุ
- ในบางคอมเมนต์มีปฏิกิริยาว่า “ควรจำกัดสิทธิ์การเข้าถึง” หรือ “ควรบริหารจัดการใน DevOps ให้เข้มงวดกว่านี้”
- แต่ประเด็นหลักถูกชี้ว่าไม่ใช่ การตั้งค่าสิทธิ์ของโมเดล แต่เป็นข้อผิดพลาดในการแยกผู้พูดของ system harness
- ข้อความการให้เหตุผลภายในถูกติดป้ายกำกับผิดว่าเป็นอินพุตของผู้ใช้ ทำให้โมเดลเชื่อมั่นว่า “ผู้ใช้พูดแบบนั้นจริง”
- บั๊กนี้เคยดูเหมือนเป็นปรากฏการณ์ชั่วคราว แต่คาดว่าเพิ่งกลับมาเกิดอีกหรือเป็น regression
- โดยเฉพาะจะเห็นเด่นชัดในสถานการณ์ที่โมเดลอนุญาตงานที่มีความเสี่ยงด้วยตัวเอง
- ในบางคอมเมนต์มีปฏิกิริยาว่า “ควรจำกัดสิทธิ์การเข้าถึง” หรือ “ควรบริหารจัดการใน DevOps ให้เข้มงวดกว่านี้”
-
รายงานเพิ่มเติมและการแพร่กระจาย
- ประเด็นนี้ขึ้นไปอยู่ อันดับ 1 บน Hacker News และมีการแชร์กรณีคล้ายกันจำนวนมาก
- ผู้ใช้บางส่วนรายงานว่าพบปรากฏการณ์คล้ายกันใน โมเดลอื่น เช่น chatgpt.com
- โดยมีแนวโน้มร่วมกันว่ามักเกิดเมื่อ บทสนทนาเข้าใกล้ขีดจำกัดของ context window หรือที่เรียกว่า “Dumb Zone”
- สาเหตุรากฐานยังไม่ได้รับการพิสูจน์อย่างชัดเจน และมีการตั้งข้อสังเกตว่าอาจเป็น บั๊กในระดับ harness
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
การถกเถียงเรื่องพรอมป์ต์ของ LLM ทำให้นึกถึง regex สำหรับป้องกัน SQL injection ในอดีต
มองว่าเป็นเพียงแนวทางแบบปะผิวหน้า จึงไม่มีหลักประกันในระดับรากฐาน
ทันทีที่อินพุตจากผู้ใช้เข้าไปอยู่ในพรอมป์ต์ ก็ควรมองทั้ง LLM เป็น เขตที่ไม่น่าเชื่อถือ
แต่โครงสร้างนี้เองก็เป็นแกนสำคัญที่ทำให้ LLM ยืดหยุ่นและทรงพลัง ดังนั้นถ้าตัดทิ้ง ข้อดีก็หายไปด้วย
เคยมีความพยายามจะแยกบัฟเฟอร์ system prompt ออกมาแต่ไม่สำเร็จ และท้ายที่สุดก็น่าจะกลับไปใช้โครงสร้างแบบนั้นอีก
ถ้าใช้แนวทางนี้ก็อาจไม่ต้องมี การกลั่นกรองหรือการป้องกันการนำไปใช้ผิด และในบางสถานการณ์อาจเป็นทางออกที่ดี
อาการที่โมเดลหลงกับสิ่งที่ตัวเองสร้างขึ้นกลับยิ่งทำให้ประสิทธิภาพลดลง
ปัญหาที่เกี่ยวกับ Claude ดูเหมือนจะเป็นกรณีที่เผยให้เห็น ข้อจำกัดเชิงรากฐานของ LLM มากกว่าจะเป็นปัญหาเฉพาะตัวโมเดล
การมอง context ไม่ใช่เป็นลำดับข้อความธรรมดา แต่เป็นเหมือน associative memory จะเข้าใจได้ง่ายกว่า
มันค้นหาข้อมูลที่เกี่ยวข้องได้ดี แต่เรื่อง ลำดับที่ถูกต้อง การปฏิเสธ และการไล่ครบทุกข้อ กลับไม่นิ่งอย่างมาก
การคลี่ความสัมพันธ์ที่พึ่งพากันลึก ๆ ก็ทำได้ยาก
แม้จะพยายามซิงก์ข้อความกับเสียงพูด แต่ก็ยังเกิด ปากไม่ตรงกับบทพูด บ่อยอยู่ดี
โมเดลประมวลผลข้อมูลจำนวนมหาศาลได้ แต่กลับแยกไม่ออกว่า “ใครเป็นคนพูด”
มันเข้าใจผิดว่าคำสั่งอย่าง “deploy” ได้รับการอนุมัติจากผู้ใช้อย่างชัดเจนแล้ว
จึงพยายามทำให้ context น้อยที่สุดเท่าที่ทำได้
ระหว่างแปลโค้ด Haskell เป็น Clojure พบว่ามีบั๊กที่ Claude อนุมัติคำสั่งด้วยตัวเอง
ดูบันทึกบทสนทนาทั้งหมดได้ที่นี่
มีการทดลองด้วยการประกอบพรอมป์ต์เองโดยตรง ซึ่งเรียกใช้เครื่องมือได้จริง แต่เกิด ลูปและข้อผิดพลาดจากการทำซ้ำ
สุดท้ายทุกอย่างก็เป็น พฤติกรรมเชิงความน่าจะเป็น ดังนั้นความรู้สึกว่า “เหมือนเวทมนตร์” เวลาใช้ได้ดีจึงเป็นภาพลวงตา
มีความเห็นว่าบั๊กนี้ไม่น่าใช่ปัญหาของตัวโมเดล แต่เป็นปัญหาของ harness
ดูเหมือนว่าจะติดป้ายข้อความการให้เหตุผลภายในผิดเป็นข้อความจากผู้ใช้
แต่บางคนก็เสนอความเป็นไปได้ว่าโมเดลอาจ สร้างโทเคนข้อความผู้ใช้ ขึ้นมาจริง ๆ
ท้ายที่สุดจึงดูเป็นผลจาก การประมวลผลโทเคนแบบเชิงความน่าจะเป็น
ถ้าไม่บล็อกไว้ โมเดลจะสร้างบทสนทนาผู้ใช้-ผู้ช่วยต่อไปเรื่อย ๆ แบบไม่สิ้นสุด
ที่จริงหมายถึง บทสนทนากับตัวเอง ที่ Claude สร้างขึ้นภายในก่อนแสดงผล
ใน context ของ LLM ไม่มีการแบ่งชัดเจนระหว่าง ‘ใครเป็นคนพูด’ กับ ‘พูดว่าอะไร’
“ฉัน” กับ “คุณ” เป็นเพียงโทเคนสั้น ๆ ที่ไม่มี น้ำหนักเชิงความหมาย
แต่ดูเหมือนว่าโมเดลจะ เข้ารหัสสถานะนี้ได้ไม่แม่นยำ จนเกิดความสับสน
แม้แต่ ChatGPT เอง ถ้าบทสนทนายาวขึ้นก็จะ สับสนระหว่างพรอมป์ต์กับคำตอบ และบางครั้งถึงขั้นเอา system prompt มาปน
จึงมองว่านี่เป็นปัญหาที่มีอยู่ทั่ววงการ AI
ถ้าไม่จัดระเบียบ context ปัญหาจะยิ่งหนักขึ้น
ได้ยินมาว่า Anthropic ทำบางส่วนไว้แล้ว
LLM ไม่ค่อยเข้าใจแนวคิดเรื่องการปฏิเสธ (not) ได้ดีนัก
มนุษย์ประมวลผลการปฏิเสธแบบตรรกะ แต่ใน ปริภูมิเวกเตอร์มิติสูง ของ LLM สัญญาณของ ‘not’ จะถูกเจือจาง
ถ้าเป็นพรอมป์ต์สั้น ๆ ยังพอไหว แต่ยิ่งประโยคยาวก็ยิ่งสับสน
มีคนไม่ค่อยเห็นด้วยกับคำพูดที่ว่า “ใช้ไปนาน ๆ แล้วจะจับทางความผิดพลาดของโมเดลได้”
การพึ่งสัญชาตญาณกับ กล่องดำที่ไม่กำหนดตายตัว เป็นแนวคิดที่อันตราย
เพราะพอโมเดลรุ่นใหม่ออกมา สัญชาตญาณเดิมก็อาจใช้ไม่ได้
คล้ายกับการตัดสินใจให้สิทธิ์เข้าถึงแก่สมาชิกในทีม
ในโลกที่มีโค้ดจำนวนมหาศาลทำงานร่วมกัน การเชื่อถืออย่างสมบูรณ์เป็นไปไม่ได้
ย้ายจาก Claude Max ไป Codex Pro เพราะ บั๊ก ใน Claude Code CLI
มีปัญหาพื้นฐานเยอะทั้งการเล่นข้อความซ้ำ ความสับสนเรื่องที่มา และ ข้อผิดพลาดในการเรนเดอร์
น่าแปลกที่บริษัทที่สร้างโมเดล Opus อันล้ำหน้า กลับพลาดเรื่องง่าย ๆ ใน CLI แบบนี้
น่าจะเป็นผลจากการทดลอง ‘top-down vibe coding’ มากเกินไป
มีการตั้งข้อสงสัยกับคำกล่าวที่ว่า “บั๊กนี้ต่างจากอาการหลอน (hallucination)”
มองว่าคำว่า harness ถูกใช้ กว้างเกินไป และจริง ๆ แล้วอาจเป็นเพียงอาการหลอนธรรมดาก็ได้
LLM เป็นระบบที่ คาดเดาไม่ได้โดยเนื้อแท้ ดังนั้นการเชื่อว่าตนเข้าใจพฤติกรรมของมันอย่างถ่องแท้จากประสบการณ์เพียงอย่างเดียว จึงอาจเป็นภาพลวงตา