속도 제한과 요금 폭탄의 함정
메뉴가 큰소리로 외치진 않지만 당신을 반드시 물어버릴 두 가지가 더 있다.
속도 제한(Rate limits). API는 일정 시간 창 안에 보낼 수 있는 요청 수에 상한을 둔다 — 가령 분당 100개. 넘기면 속도를 늦출 때까지 429 Too Many Requests 에러로 거절당한다. 이건 한 고객이 서비스를 압도하는 걸 막기 위해 존재한다. 함정은 이렇다. AI가 짠 코드는 종종 일시정지 없이 반복문 안에서 API를 호출해서, 순식간에 제한을 뚫어버린다. 어떤 기능이 항목 하나에는 잘 돌아가는데 천 개를 돌리면 망가진다면, 속도 제한이 유력한 용의자다.
종량제 및 유료 API. 많은 API는 요청당 요금을 매긴다 — 각각 1센트의 몇 분의 일. 호출 몇 번이면 아무것도 아니지만, 뭔가가 통제 불능으로 반복되면 진짜 청구서가 된다. 전형적인 공포 이야기가 있다. 버그가 실패한 유료 호출을 영원히 재시도하거나, 공개된 폼이 낯선 사람들이 유료 호출을 일으키게 놔두고, 그러다 네 자릿수 청구서를 보며 잠에서 깬다. 스스로를 보호하라.
- 유료 API를 연결하기 전에 요금을 읽어라. 호출당 비용을 알아두라.
- 제공업체 대시보드에 지출 한도나 예산 알림을 설정하라 — 그런 기능이 있다면. 대부분은 있다.
- 유료 API를 반복문 안에서나 매 페이지 로드마다 호출하는 코드는 어떤 것이든 의심하라.