상태 코드가 실제 원인과 다름
상태 코드가 아니라 error.code를 읽으세요
모델 이름을 잘못 쓰면 503, messages 필드를 빼먹으면 500이 돌아옵니다. 둘 다 요청 자체의 잘못이라 몇 번을 재시도해도 결과가 바뀌지 않습니다. 그런데 openai-python, openai-node, Anthropic SDK는 모두 408·409·429와 모든 5xx를 기본값으로 두 번, 지수 백오프까지 붙여 재시도합니다. 오타 하나가 세 번의 왕복과 수십 초의 대기로 바뀌고, 그다음에야 처음부터 정해져 있던 원인이 드러납니다. 진짜 원인은 처음부터 응답 본문의 error.code에 있고, 거짓말을 하는 쪽은 상태 코드입니다.