เมื่อเวลา 03:47 ของเช้าวันจันทร์ ระบบมอนิเตอร์ของเราดังขึ้น — stack trace ของ Airflow DAG ที่รัน batch summarization แสดงข้อความซ้ำๆ ว่า openai.RateLimitError: Error code: 429 - {'error': {'message': 'Rate limit reached for requests', 'type': 'rate_limit_error', 'code': 'rate_limit'}} ในขณะที่ quota ขององค์กรยังเหลืออีก 38% ของรอบบิลลิง ที่สำคัญคือเหตุเกิดซ้ำทุก 90 วินาทีเป๊ะ จน throughput ของ pipeline ตกจาก 1,200 docs/ชั่วโมง เหลือ 80 docs/ชั่วโมง

ผมเป็นวิศวกรอาวุโสที่ดูแล data pipeline ของลูกค้าเอนเทอร์ไพรส์ 8 ราย บทเรียนจากการผสานรวม GPT-6 เข้ากับระบบจริงในเดือนนี้ทำให้ผมตระหนักว่า "official endpoint เสถียร" ไม่ได้แปลว่า "production-ready" เสมอไป — บทความนี้ถอดรหัสปัญหา 3 มิติที่เราเจอระหว่างทาง พร้อมโค้ดที่รันได้จริง และตารางเปรียบเทียบที่ช่วยให้ทีมของคุณตัดสินใจได้เร็วขึ้น

1. สาเหตุที่ 429 ไม่ได้หมายความว่า "คุณเรียกเยอะเกินไป"

หลังเก็บ log เป็นเวลา 6 ชั่วโมง ทีมเราพบว่า 429 จาก endpoint ตรงมาจาก 3 สาเหตุหลัก: