Claude Code พยายามส่งคำขอใหม่เมื่อเกิดข้อผิดพลาด Rate-Limit สำหรับ API Key แต่ไม่ทำสำหรับแผน Max
เซสชัน Claude Code ของคุณอาจหยุดทำงานทันทีเพียงเพราะข้อผิดพลาดเพียงครั้งเดียว
หากคุณใช้ API key ระบบจะพยายามส่งคำขอใหม่ (retry) แต่หากคุณใช้แผน Max เซสชันจะสิ้นสุดลงทันที
ผมได้ทำการ decompiled ไฟล์ binary ของ Claude Code (เวอร์ชัน 2.1.179) เพื่อหาคำตอบว่าทำไม ตรรกะของมันนั้นเรียบง่ายมาก โค้ดจะตรวจสอบวิธีการชำระเงินของคุณก่อนที่จะตัดสินใจว่าจะ retry ข้อผิดพลาด 429 หรือไม่
ตรรกะทำงานดังนี้:
- API keys: ระบบจะพยายามส่งคำขอใหม่เมื่อเกิดข้อผิดพลาด
- Enterprise accounts: ระบบจะพยายามส่งคำขอใหม่เมื่อเกิดข้อผิดพลาด
- Pro and Max plans: ระบบจะไม่พยายามส่งคำขอใหม่ และข้อผิดพลาดนั้นจะทำให้งานของคุณหยุดชะงัก
สิ่งนี้เกิดขึ้นเพราะ client จะระบุประเภทการสมัครสมาชิกของคุณ โดยจะตรวจสอบ OAuth token และข้ามขั้นตอนการ retry ไปเลย
การออกแบบนี้มีเหตุผลรองรับ เพราะข้อผิดพลาด 429 สำหรับการสมัครสมาชิกแบบรายเดือนมักหมายความว่าคุณใช้งานเกินขีดจำกัดการใช้งาน (usage limit) สำหรับช่วงไม่กี่ชั่วโมงข้างหน้า การพยายาม retry เมื่อติด usage limit จึงไม่มีประโยชน์และเป็นการสิ้นเปลืองทรัพยากร
แต่แนวทางนี้ก็มีปัญหาอยู่
ข้อจำกัดของ Anthropic มีสองประเภท:
- ช่วงการใช้งานระยะยาว (เป็นชั่วโมง)
- ข้อจำกัดระยะสั้นต่อนาที (เป็นวินาที)
โค้ดปฏิบัติกับทั้งสองแบบเหมือนกัน โดยไม่แยกแยะระหว่างข้อจำกัดที่กินเวลาหลายชั่วโมงกับข้อจำกัดที่กินเวลาเพียงสองวินาที
เมื่อคุณติดข้อจำกัดระยะสั้นต่อนาทีในแผน Max คุณจะสูญเสียการทำงานทั้งหมดที่กำลังรันอยู่ แต่ถ้าคุณใช้ API key ระบบจะรอเพียงสองวินาทีแล้วทำงานสำเร็จ
นี่หมายความว่าความน่าเชื่อถือ (reliability) ของคุณขึ้นอยู่กับระดับการชำระเงิน (billing tier)
หากคุณสร้าง agentic workflows บนการสมัครสมาชิกแบบรายเดือน คุณกำลังฝากความหวังไว้กับระบบที่ยอมแพ้ง่ายเกินไป ปัญหาเล็กๆ ที่เกิดขึ้นเพียงสองวินาทีจะกลายเป็นงานที่ล้มเหลวสำหรับคุณ แต่เป็นเพียงการหยุดพักชั่วคราวสำหรับคนอื่น
คุณสามารถทดสอบเรื่องนี้ได้ด้วยตัวเอง โดยการตรวจสอบ log เพื่อดู header anthropic-ratelimit-unified-status
- หากคุณใช้ metered key คุณจะเห็นการ retry
- หากคุณใช้ Max คุณจะเห็นเซสชันหยุดทำงาน
ความน่าเชื่อถือคือส่วนหนึ่งของสิ่งที่คุณจ่ายเงินซื้อ ในกรณีนี้ กฎเกณฑ์ได้เปลี่ยนไปอย่างเงียบๆ ตามวิธีการชำระเงินของคุณ
Optional learning community: https://t.me/GyaanSetuAi
