두 달째 받게 될 두 질문 — 'bill 왜 이렇게 비싸?' 와 '어느 customer 가 책임?'. 답은 하나 — per-tenant ledger. 매 호출의 (tenant_id, model, prompt_tokens, completion_tokens, reasoning_tokens, ts) persist. 일별 tenant 별 roll up.
Aggregate cost 만으론 부족
총합만 보면 'Customer A 가 80%' 같은 사실이 invisible. Per-tenant breakdown 없이는 bill 대화가 speculation. Persist 는 cheap 한데 나중에 추가하기 불가.
Adaptive concurrency
매 응답의 x-ratelimit-remaining-requests 읽기. 20% 밑이면 concurrency halve, 80% 위면 double. Wall 에 부딪히지 말고 wall 밑에서 cruise. Header 가 정확히 그래서 존재.
Per-tenant budget cap
Ledger 가 있으면 cap 박기 trivial — 'Customer X 의 monthly budget 은 $Y, 그 이상 호출 reject 또는 downgrade'. Cap 없으면 buggy customer 가 전체 bill 망침.