다섯 살도 알 수 있게 · AI

스트리밍이 뭐예요?

스트리밍(응답 스트리밍)을 앵무새가 콩을 하나 고를 때마다 바로 손님에게 보여주는 이야기로 풀어봤어요.

고장 났나?(빈 화면)30초…콩을 고르는 중앵무새는 일하고 있는데 손님은 몰라요30초 동안 빈 화면 — 손님은 고장난 줄 알아요

30초 동안 빈 화면이에요. 손님은 고장난 줄 알아요.긴 답은 콩이 많아요. 앵무새는 열심히 고르고 있는데, 손님 화면에는 아무것도 안 보여요.

파리는프랑스의수도하나씩 만들어요모아 두기다 될 때까지 보여 주지 않아요…기다림한꺼번에 보여 주면, 첫 콩부터 마지막 콩까지 다 기다려요

앵무새는 원래 콩을 하나씩 만들어요. 다 만든 뒤 한꺼번에 보여 주면 기다림이 길어요.첫 콩은 1초 만에 나왔어요. 그런데 마지막 콩까지 모아 뒀다가 보여 주니 손님은 30초를 통째로 기다려요.

1초 2초 3초 4초 …의수도파리는프랑스1초부터 콩이 하나씩 보여요손님은 읽기 시작해요 — 앵무새는 아직 고르는 중스트리밍 = 콩을 하나 고를 때마다 바로 손님에게 보여주기

스트리밍은 콩을 하나 고를 때마다 바로 손님에게 보여주는 거예요.1초부터 첫 콩이 보여요. 손님은 읽기 시작하고, 앵무새는 뒤에서 계속 골라요. 기다림이 짧게 느껴져요.

첫 콩까지 시간이 체감 속도첫 콩이 빠르면 빠르게 느껴요
다 끝나기 전엔 답이 바뀔 수 있어요마지막 콩까지 봐야 해요
끊기면 이어 받거나 다시받은 콩까지는 남겨 둬요
도구 호출·양식은 끝까지 모아요반쪽 양식은 못 읽어요
1초10초20초30초한꺼번에(빈칸)(빈칸)(빈칸)1초10초20초30초스트리밍끝나는 시각은 같아요 — 시작이 보이는 게 달라요

끝나는 시각은 같아요. 시작이 보이는 게 달라요.두 줄 다 30초에 끝나요. 위는 30초 동안 빈 화면, 아래는 1초부터 읽을 게 있어요.

첫 콩: 1초 ✓마지막 콩: 30초보이는 건 빨라졌고총 시간은 그대로예요도구 부탁 양식도구: 계산기입력: 3 +(아직 오는 중)반쪽 양식은 못 읽어요끝까지 모아서도구 호출·양식은 다 온 뒤에 읽어요스트리밍은 기다림을 짧게 느끼게 해요 — 일 자체가 줄진 않아요

스트리밍은 기다림을 짧게 느끼게 해요. 일 자체가 줄진 않아요.빨리 보이는 것이지 빨리 끝나는 게 아니에요 — 콩 값과 총 시간은 그대로예요. 그리고 양식과 도구 부탁은 다 온 뒤에 읽어요.

한 줄로

스트리밍 = 앵무새가 콩을 하나 고를 때마다 바로 손님에게 보여주기. 첫 콩이 빨리 보여 기다림이 짧게 느껴지지만, 총 시간과 콩 값은 그대로예요.

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
콩 값과 총 시간. 스트리밍해도 그대로예요. → 앵무새가 답하는 값과 시간
다음 이야기
도구 상자 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →