다섯 살도 알 수 있게 · AI
스트리밍이 뭐예요?
스트리밍(응답 스트리밍)을 앵무새가 콩을 하나 고를 때마다 바로 손님에게 보여주는 이야기로 풀어봤어요.
30초 동안 빈 화면이에요. 손님은 고장난 줄 알아요.긴 답은 콩이 많아요. 앵무새는 열심히 고르고 있는데, 손님 화면에는 아무것도 안 보여요.
앵무새는 원래 콩을 하나씩 만들어요. 다 만든 뒤 한꺼번에 보여 주면 기다림이 길어요.첫 콩은 1초 만에 나왔어요. 그런데 마지막 콩까지 모아 뒀다가 보여 주니 손님은 30초를 통째로 기다려요.
스트리밍은 콩을 하나 고를 때마다 바로 손님에게 보여주는 거예요.1초부터 첫 콩이 보여요. 손님은 읽기 시작하고, 앵무새는 뒤에서 계속 골라요. 기다림이 짧게 느껴져요.
첫 콩까지 시간이 체감 속도첫 콩이 빠르면 빠르게 느껴요
다 끝나기 전엔 답이 바뀔 수 있어요마지막 콩까지 봐야 해요
끊기면 이어 받거나 다시받은 콩까지는 남겨 둬요
도구 호출·양식은 끝까지 모아요반쪽 양식은 못 읽어요
끝나는 시각은 같아요. 시작이 보이는 게 달라요.두 줄 다 30초에 끝나요. 위는 30초 동안 빈 화면, 아래는 1초부터 읽을 게 있어요.
스트리밍은 기다림을 짧게 느끼게 해요. 일 자체가 줄진 않아요.빨리 보이는 것이지 빨리 끝나는 게 아니에요 — 콩 값과 총 시간은 그대로예요. 그리고 양식과 도구 부탁은 다 온 뒤에 읽어요.
한 줄로
스트리밍 = 앵무새가 콩을 하나 고를 때마다 바로 손님에게 보여주기. 첫 콩이 빨리 보여 기다림이 짧게 느껴지지만, 총 시간과 콩 값은 그대로예요.
Streaming response. 모델이 생성한 토큰을 완성 전에 청크 단위로 순차 전송해요(주로 SSE). 체감 속도는 첫 토큰 시간(TTFT)이 좌우하고, 총 지연·비용은 같아요. 도구 호출 인자나 JSON 같은 구조화 출력은 스트림이 끝나야 온전하니 모아서 파싱하고, 끊기면 취소·재시도를 다뤄야 해요.
어른들은 이렇게 불러요
- 스트리밍
Streaming - 콩을 하나씩 바로 보여주기. 다 만들 때까지 기다리지 않고 나오는 대로 보내요.
- 첫 토큰 시간
TTFT (time to first token) - 첫 콩까지 걸린 시간. 손님이 느끼는 빠르기는 거의 이 숫자예요.
- 초당 토큰
Tokens per second - 1초에 나오는 콩 수. 첫 콩 뒤로 얼마나 술술 나오는지.
- SSE
SSE (server-sent events) - 콩을 한 줄로 흘려보내는 관. 한 번 연결하면 서버가 계속 조금씩 보내요. 스트리밍에 흔히 써요.
- 청크
Chunk - 한 번에 오는 콩 묶음. 콩 하나일 수도, 몇 개일 수도 있어요. 이어 붙여야 답이 돼요.
- 취소
Cancellation - 그만! 하고 관 닫기. 손님이 그만 읽으면 앵무새도 그만 골라요 — 콩 값을 아껴요.
- 구조화 출력과 스트리밍
Structured output and streaming - 양식은 끝까지 모아야. 반쪽 양식은 기계가 못 읽어요. → 정해진 칸에 쓰기
- 추론 비용·시간
Inference cost and time - 콩 값과 총 시간. 스트리밍해도 그대로예요. → 앵무새가 답하는 값과 시간
다음 이야기
도구 상자 →