OpenClaw 게이트웨이는 상류 LLM 벤더가 한 지역 전체에 HTTP 429 Too Many Requests를 돌려줄 때까지 튼튼해 보입니다. 그 순간에도 제품은 30초 안에 답을 기대하고, 재무는 예측 가능한 청구서를 기대하며, 보안은 패닉 로그에 비밀이 새지 않기를 기대합니다. 이 런북은 24/7 macOS Mac mini에 OpenClaw를 올린 팀이 Retry-After를 존중하고, 지터를 더하며, 정직한 역압을 사용자에게 보여 줘야 할 때를 위한 것입니다. 로컬 토큰·도구 스로틀 가이드와 게이트웨이 닥터 진단을 함께 읽으세요. 스로틀은 호스트를 지키고, 공급자 백오프는 벤더 관계를 지킵니다.
의사결정 매트릭스, 숫자 출발점(초, 큐 상한, 지터 비율), macOS 특유의 함정, 운영자를 위한 FAQ를 한 번에 정리했습니다. 장애 통화에서 “왜 일요일 청구가 튀었는지”를 설명할 때 표와 상수가 버전 관리에 있어야 합니다.
한국어 워크스페이스와 영어 워크스페이스가 한 게이트웨이를 공유한다면, 바쁨 메시지를 로케일 헤더에 맞춰 현지화하고, 지원 티켓 태그를 429·5xx로 분리해 에스컬레이션 경로를 명확히 하세요.
429를 잘못 다룰 때 나타나는 신호
400ms 안에 사용자에게 보이는 중복 답이 두 번 뜬다면 클라이언트가 Retry-After를 무시하고 같은 페이로드를 즉시 재생하는 경우가 많습니다. CPU는 40% 아래인데 p95 지연이 오른다면 모델 벤더가 당신을 큐에 넣었지 게이트웨이 CPU가 병목이 아닙니다.
재무가 이해하는 카운터 네 가지: 시간당 공급자 429, 평균 준수 지연, 포기한 대화, “AI가 느리다”로 다시 열린 티켓입니다. 이 네 시계열 없이는 백오프 변경이 도움이 됐다고 증명하기 어렵습니다.
사고가 나면 기능 개발을 멈추고 먼저 헤더 스냅샷을 고정하세요. 특히 Retry-After와 x-request-id를 난독화한 채 보관한 뒤, 마지막 클라이언트 변경을 롤백합니다. “비상용” 일시적 속도 상승은 티켓 ID와 함께 문서화하지 않으면 런칭 주말에 조용히 동시성만 올려 일요일 청구 폭탄을 만듭니다.
지원은 “AI 다운” 같은 모호한 문구 대신 정확한 HTTP 상태 줄을 남기게 하세요. 엔지니어가 벤더를 부를지 로컬 정책을 고칠지 가늠하는 데 필요합니다. 429 폭풍 직후 5xx가 갑자기 튄다면, 일부 게이트웨이가 상류 스로틀을 내부 실패로 잘못 분류해 대시보드에서 근본 원인이 가려지고 있을 수 있습니다.
배포 마커와 상관시키세요. 릴리스 후 10분 안에 429가 두 배가 되면 벤더 티켓보다 클라이언트 롤백이 먼저입니다.
매트릭스: Retry-After 대 맹목 지수
| 전략 | 벤더 정렬 | 사용자 정직성 | 리스크 |
|---|---|---|---|
| Retry-After 준수 | 높음 | 중간—기다림은 길지만 예측 가능 | HTTP 날짜 파싱 시 시계 스큐 |
| 헤더 없는 지수 | 낮음 | 낮음—과대·과소 대기 | 복구 후 떼 지르기 |
| 지터 혼합 | 높음 | 높음—명시적 큐 메시지 | 코드 경로 증가 |
2026년에는 혼합이 이깁니다. Retry-After가 있으면 파싱해 따르고, 없을 때는 지터를 둔 지수 감쇠를 쓰되 상한은 120초 근처로 캡하세요.
감사를 통과하는 시작 숫자
클라이언트 초기 손잡이: 기본 지연 1.5초, 배수 2.0×, 지터 ±15%, 하드 상한 120초, 채널당 큐 깊이 8턴 넘기 전에 구조화된 “바쁨” 메시지를 돌려주기.
사용자 메시지당 총 벽시계 대기는 180초에서 끊고, 그 너머는 무한 스피너 대신 사람에게 넘기는 링크로 실패를 열어 주세요. 벤더가 점검 창을 공표하면 창 시작 15분 전부터 동시성을 25% 낮추는 선제 조정을 습관화하세요.
429 폭풍이 담긴 리플레이 파일로 레드팀을 돌리고, 합성 세션의 3% 이상이 교착이면 큐 로직에 여전히 구멍이 있습니다. 백오프 상수표는 Git으로 버전 관리하고, 온콜이 사고 중에 “지금 살아 있는 상수”를 추측하지 않게 하세요.
macOS 시계, LaunchAgent, TLS 재사용
launchd가 물려 받는 단조 시계는 백오프 타이머에 적합하지만, HTTP 날짜 파싱은 UTC 라이브러리를 쓰세요. 일광절약 전환 전후로 연 두 번 수동 검증이 필요합니다.
TLS 세션 재개는 간헐적 429 파열을 가릴 수 있습니다. 벤더 이슈를 이등분할 때는 진단 클라이언트를 가끔 회전시켜 새 핸드셰이크를 강제하세요. 공유 Mac mini에서는 테넌트별로 공급자 자격 증명을 분리해 한 시끄러운 워크스페이스가 공용 할당량을 태우지 않게 하세요.
공급자 백오프는 로컬 포크 한도와 짝을 이룹니다. 동시성 캡은 스로틀 가이드를 참고하세요. 하드웨어 조달이 늦으면 클라우드 Mac mini로 사고 리허설을 하세요. MacHTML Apple Silicon은 대략 일 $16.9에 SSH·VNC로 라이브 헤더 캡처가 가능합니다.
정책을 바꾼 뒤에는 닥터 정렬 프로브를 다시 돌려 지연 분포가 SLO에서 벗어났는지 확인하세요. plist를 여러 경로에 두었다면 배포 순서표에 “어느 LaunchAgent가 어떤 키를 읽는지”를 적어 두면 새벽 장애 대응이 빨라집니다.
모든 것이 큐에 쌓일 때 채널 UX
Slack·Teams 사용자는 이유가 설명되면 대기를 받아들입니다. 큐에 5초 쌓이면 템플릿 메시지를 보내고, 30초에 한 번 더, 90초에는 최종 에스컬레이션 링크를 주세요.
채널에 원시 공급자 JSON을 그대로 에코하지 마세요. 내부 호스트명이 섞일 수 있습니다. 다국어 팀이 한 게이트웨이를 쓰면 워크스페이스 로케일 헤더에 맞춰 바쁨 문구를 현지화하세요.
어시스턴트가 이미 큐에 있을 때 “사용자가 입력 중” 이벤트를 계속 보내지 않도록 타이핑 표시기를 스로틀하세요. 그 이벤트가 공급자 부하를 키웁니다. 복구 후에는 대기 깊이가 2 미만으로 떨어졌다는 짧은 “따라잡는 중” 요약을 보내 신뢰를 회복하세요.
텔레메트리와 재무 친화 지표
준수한 Retry-After 지속 시간의 히스토그램을 수집해 모델링한 지연과 비교하세요. 20% 이상 어긋나면 파서 버그를 의심합니다. 429 비율이 7일 기준의 5배를 10분 넘게 유지하면 모델 라우팅을 건드리기 전에 벤더 상태 페이지를 먼저 페이징하세요.
상관 ID로 사용자 메시지를 공급자 요청 ID에 묶은 구조화 감사 로그는 90일 보관하는 편이 재무 질문에 답하기 쉽습니다. “첫 시도 성공률”을 429 카운트 옆에 두어 제품이 지연만 최적화하다 처리량을 떨어뜨리지 않게 하세요.
분기마다 가장 긴 대기 상위 40건을 수동 검토하세요. 자동 버킷팅만으로는 지역적 브라운링을 로컬 버그로 잘못 라벨하는 경우가 있습니다. Grafana에 백오프 상수를 건드린 Git 머지 주석을 달아 스파이크가 의도된 변경인지 보이게 하세요.
벤더 조정과 상태 페이지
모델 라우트마다 벤더 공개 상태 RSS나 JSON 피드를 연결한 비공개 런북을 유지하세요. 상태가 추론 저하를 표시하면 429가 오기 전에 동시성을 30% 먼저 줄이는 편이 평판 수리보다 쌉니다.
수 시간 장애 중에는 20분마다 내부 Slack에 올릴 단일 “벤더 커뮤니케이션” 담당자를 정하세요. 파편화된 업데이트는 중복 에스컬레이션을 낳고, 패닉 스크립트가 API 호출을 더 늘립니다.
버스트 할당량은 문서로 협상하고 PDF를 위키의 백오프 표 옆에 붙여 재무가 특정 날짜에 동시성이 바뀐 이유를 추적할 수 있게 하세요. 기본 타임아웃을 바꾸는 신규 SDK는 위험한 업그레이드입니다. 429 델타를 보며 24시간 동안 5% 카나리아 트래픽으로 검증하세요.
백오프 중 보안
429 응답 옆에 프롬프트 전체를 로그하지 마세요. 사고 번들에는 해시된 대화 ID만 넣습니다. 새벽 3시에도 디버그 덤프에서 API 키를 난독화하세요.
GDPR·SOC2 감사자는 스로틀링 공정성 증명을 묻습니다. 브라운링 동안 어떤 고객도 중앙값 대기의 2배를 넘지 않았다는 히스토그램을 보관하세요. 유출이 의심되면 공유 공급자 키를 회전하고 새 키가 모든 LaunchAgent plist에 퍼질 때까지 테넌트당 동시성을 일시적으로 조이세요.
재시도 엔드포인트를 두드리는 펜테스트 스크립트에 대비해 인증 실패에도 지수 백오프를 적용해 공격자가 401 폭풍을 CPU 고갈로 바꾸지 못하게 하세요. 합성 Retry-After HTTP 날짜로 일광절약 컷오버를 연 두 번 리허설하면 파서가 조용히 퇴보하지 않습니다.
FAQ
공급자 429와 로컬 스로틀에 같은 정책을 써도 되나요?
아니요. 층을 겹치세요. 헤더가 상류 대기를 이끌고, 로컬 스로틀이 CPU와 지출을 보호합니다.
Retry-After가 없으면?
지터를 둔 지수 백오프로 대체하고 상한은 120초 근처로 두며 상관 ID를 로그에 남기세요.
물리 Mac mini에서 왜 리허설하나요?
macOS 스케줄링과 TLS 동작은 Linux CI와 다릅니다. 임대 Apple Silicon이 프로덕션에 가깝습니다.
Apple Silicon Mac mini는 OpenClaw 사고를 리허설하기 가장 충실한 무대입니다. 긴 캡처 동안 예측 가능한 발열, 네이티브 키체인 연동, 프로덕션과 맞는 LaunchAgent 타이밍이 그 이유입니다. MacHTML은 SSH·VNC가 있는 클라우드 Mac mini를 임대해 플랫폼 팀이 429 처리·닥터 프로브·스로틀 상호작용을 또 다른 CapEx 없이 검증하게 합니다. 훈련용으로 프로비저닝하고, 증거를 남긴 뒤 통과 시 해체하면 됩니다.
클라우드 Mac mini에서 OpenClaw 429 리허설
Retry-After 헤더를 캡처하고 백오프 표를 조정하며, 실제 macOS에서 닥터와 스로틀 상호작용을 검증하려면 Apple Silicon 용량을 임대하세요.