Python에서 스트리밍 두 가지
SDK가 스트리밍 진입점 두 개 — client.messages.stream(...)은 풍부한 편의 메서드(text_stream, get_final_message, on_event) 가진 context-manager 스타일 헬퍼. client.messages.create(stream=True)는 raw 이벤트 iterator 반환하는 lower-level 경로. 챗 UI엔 헬퍼; 이벤트 처리 풀 컨트롤 원하면 iterator.
get_final_message가 usage 줘
텍스트 스트림 동안엔 토큰 usage 아직 없음. Usage는 message_stop에서 확정. 헬퍼는 iteration 완료 후 stream.get_final_message()로 노출; iterator 경로는 message_delta 이벤트 캡처해서 누적해야.
스트림 진행하면서 persist
세션 로그·replay하는 애플리케이션(cwkPippa)이면, 각 텍스트 delta를 user에게 렌더 전에 영구 저장에 써. 매 라인 후 explicit flush와 함께 JSONL append-only면 stream 중간 hard kill에도 user가 실제 본 게 완전한 기록으로 남아.
원칙: UX엔 stream, accounting엔 finalize. Usage는 마감 accounting 라인이지 per-delta 숫자 아님.