뭘 측정
매 Claude 호출마다 캡처 — 지연(스트림이면 TTFT·TTLT), input/output/cache 토큰 카운트, 모델 id, feature 라벨, stop_reason, 에러 클래스(있으면), tool_use name(applicable이면). 비용 spike나 quality 떨어질 때 slice할 dimension.
호출 X, 루프 trace
Tool 루프가 5-10 round-trip일 수 있어. 라운드당 단일 trace는 노이즈; 한 parent trace 안 라운드당 span이 시그널. OpenTelemetry parent/child span 모델 자연스럽게 fit — 루프를 span으로 wrap, 각 라운드가 child.
프롬프트와 응답 sample
비용 spike와 quality regression이 보통 specific 프롬프트나 입력 패턴에 의해 야기. 주기적으로 full prompt+response 쌍을 (PII redaction과 함께) cold storage로 sample, 나중에 replay. cwkPippa의 JSONL이 정확히 이거 — 매 이벤트 durable, 매 regression replayable.
원칙: '어제 어느 기능이 가장 많이 썼고 왜' 답 못하면 observability 아직 빌드 안 한 거.