Khi lập trình kết nối API với ChatGPT, Claude hay Gemini, điều khó chịu nhất không phải là mô hình kém thông minh, mà là nó hoàn toàn không phản hồi: lỗi 401, 403, 429 xuất hiện liên tục. Quy trình kiểm tra dưới đây là phương pháp tôi sử dụng nhiều nhất, giúp biến việc "API không hoạt động" từ một vấn đề mơ hồ trở thành một sự cố có thể xử lý được.
Lỗi loại 1: 401 - Khóa API không hợp lệ hoặc chữ ký sai
Khi thấy thông báo invalid_api_key hoặc Unauthorized, đừng vội nghi ngờ bản thân. Khả năng cao là bạn đã sao chép thừa khoảng trắng, thiếu tiền tố, hoặc sử dụng khóa Key môi trường kiểm thử cho môi trường sản xuất.
- Xác nhận khóa Key đến từ đúng nền tảng: Không trộn lẫn Key của OpenAI, Anthropic và Google.
- Kiểm tra tiêu đề yêu cầu (Request Header): Đảm bảo định dạng Bearer được viết đúng.
- Thử với một yêu cầu tối giản trước, đừng gửi kèm quá nhiều tham số ngay từ đầu.
Lỗi loại 2: 429 - Giới hạn tốc độ (Rate Limit) hoặc hết hạn mức sử dụng
Lỗi 429 trông giống vấn đề mạng, nhưng thực chất thường là do "bạn đang sử dụng quá nhiều".
- Kiểm soát số lượng yêu cầu đồng thời (concurrency), triển khai cơ chế thử lại với độ trễ tăng dần (exponential backoff).
- Kiểm tra hóa đơn và hạn mức sử dụng (quota), đảm bảo chọn đúng dự án/tổ chức cho Gemini và Claude.
- Với văn bản dài, hãy chia nhỏ nếu có thể. Áp dụng nguyên tắc KISS cho prompt: đơn giản hóa thường mang lại kết quả ổn định hơn.
Lỗi loại 3: 403 - Bị chặn do khu vực hoặc kiểm soát rủi ro (Risk Control)
Lỗi 403 thường không phải do bạn không có quyền, mà là nền tảng thấy bạn "đáng ngờ". IP mạng nội bộ công ty, IP trung tâm dữ liệu, hoặc thay đổi điểm truy cập (node proxy) thường xuyên đều dễ kích hoạt cảnh báo.


