스트리밍 응답Streaming

답이 완성되기 전에 만들어진 만큼 먼저 보내는 방식

핵심 정리
  • 스트리밍은 답이 다 만들어질 때까지 기다리지 않고 만들어진 조각부터 먼저 보내는 방식이에요.
  • 답이 끝나는 시각은 거의 같아요. 달라지는 건 첫 글자를 보기까지의 시간이에요.
  • 언어 모델은 원래 조각을 하나씩 만들기 때문에, 스트리밍은 그 과정을 그대로 내보내는 것이에요.
  • 읽다가 아니다 싶으면 중간에 끊을 수 있어서 시간과 비용을 아껴요.
  • 대신 다 받아야 판단할 수 있는 일에는 어울리지 않아요.
목차

1비유로 이해하기

국이 끓는 큰 솥 앞에서, 한 그릇씩 국자로 떠 주는 배식대를 떠올려 봐요. 솥을 통째로 비워 상에 올릴 때까지 기다리라고 하면 줄 선 사람은 한참을 서 있어야 해요. 국자로 한 국자씩 떠서 그릇에 담아 주면, 받은 사람은 자기 몫이 다 차기 전부터 먹기 시작할 수 있어요.

스트리밍이 이 국자예요. 모델이 답을 조각조각 만들어 내는 대로, 만들어진 조각을 곧바로 화면에 밀어 넣어요. 글자가 주르륵 흘러나오는 것처럼 보이는 이유예요.

솥을 다 비우는 데 걸리는 시간은 어느 쪽이든 비슷해요. 달라지는 건 첫술을 뜨기까지의 기다림이에요. 대신 이미 그릇에 부은 국은 다시 걷어 담을 수 없어요. 앞부분을 잘못 흘려보내도 되돌리지 못하는 것과 같아요.

2자세히 알아보기

답은 원래 조각 단위로 만들어져요

언어 모델은 답 전체를 한 번에 떠올리지 않아요. 지금까지 쌓인 내용을 보고 다음에 올 조각 하나를 고르고, 그 조각을 붙인 다음 또 하나를 고르는 일을 반복해요. 답이 길면 이 과정이 수백 번, 수천 번 되풀이돼요.

그래서 답이 끝나기 전에도 앞부분은 이미 완성된 상태로 놓여 있어요. 스트리밍은 이 완성된 부분을 붙잡아 두지 않고 그때그때 내보내는 것뿐이에요. 없던 속도를 새로 만들어 내는 기술이 아니라, 이미 만들어진 것을 쥐고 있지 않는 방식이에요.

화면에 한 글자씩 나오는 것처럼 보여도 실제 단위는 조각이라, 두세 글자가 한꺼번에 튀어나오기도 해요. 짧은 단어 하나가 통째로 나타나는 순간이 그런 경우예요.

첫 글자까지 걸리는 시간이 줄어요

응답 속도를 이야기할 때는 두 가지 시간을 따로 봐요. 첫 조각이 도착할 때까지의 시간, 그리고 조각과 조각 사이의 간격이에요. 스트리밍을 켜면 앞의 시간이 크게 줄어요. 뒤의 간격은 그대로예요.

사람이 느끼는 답답함은 대부분 앞의 시간에서 나와요. 아무것도 없는 빈 화면을 몇 초 보는 일과, 곧바로 글이 흐르기 시작하는 일은 체감이 완전히 달라요. 실제로 읽는 속도보다 글자가 빨리 나오면, 다 나올 때까지 기다린 것과 거의 같은 느낌으로 읽게 돼요.

긴 답일수록 차이가 커요. 답이 길수록 완성까지 걸리는 시간도 길어지니까, 다 만들어질 때까지 붙들어 두면 빈 화면을 보는 시간도 같이 늘어나요.

중간에 끊을 수 있어요

흘러나오는 답을 보다가 방향이 어긋난 걸 알아채면 곧바로 멈출 수 있어요. 질문을 고쳐 다시 물어보는 편이 빠르니까요. 이때 아직 만들어지지 않은 부분은 아예 계산되지 않아서, 그만큼 시간도 비용도 쓰지 않아요.

프로그램에서도 같은 일을 해요. 필요한 부분까지만 받고 연결을 끊거나, 흘러오는 도중에 금지된 표현이 나오면 그 자리에서 중단시켜요. 답을 다 받은 뒤에야 검사하는 방식보다 반응이 빨라요.

어울리지 않는 자리도 있어요

답 전체가 있어야 판단이 되는 일에는 스트리밍이 별 도움이 안 돼요. 정해진 형식에 맞는지 검사한 뒤 넘겨야 하거나, 답 안의 값을 꺼내 다른 프로그램에 넣어야 하거나, 여러 답 중 하나를 골라야 하는 경우가 그래요. 어차피 끝까지 기다려야 하니 화면에 미리 흘려 봐야 의미가 없어요.

받는 쪽이 복잡해지는 문제도 있어요. 조각이 도착할 때마다 이어 붙이고, 도중에 연결이 끊기면 되살리고, 마지막에 끝났다는 신호를 받아 마무리해야 해요. 화면에 글자를 보여 주는 일이 아니라면 한 번에 받는 편이 오히려 단순해요.

3조금 더 정확하게

스트리밍은 서버가 응답을 한 덩어리로 닫아 보내지 않고, 연결을 열어 둔 채 만들어진 조각을 순서대로 흘려보내는 통신 방식이에요. 마지막에는 끝났다는 신호가 따로 와요. 조각의 단위는 글자가 아니라 모델이 다루는 토큰이에요.

비유가 어긋나는 지점도 있어요. 국자로 뜨는 사람은 솥 안에 국이 얼마나 남았는지 보고 있지만, 모델은 답이 얼마나 더 이어질지 미리 알지 못해요. 끝이 정해진 뒤 나눠 주는 게 아니라, 조각을 하나 만들 때마다 다음 조각이 이어질지 여기서 끝낼지를 그 자리에서 결정해요. 그래서 진행률 막대를 정확히 그릴 수 없어요. 또 앞서 흘려보낸 조각을 나중에 고쳐 쓸 수도 없어서, 앞부분에서 방향을 잘못 잡으면 그대로 끌고 가요. 흘러나오는 속도가 일정하지 않은 것도 이 때문이에요. 여러 사람이 몰리면 조각 사이의 간격이 늘어나고, 답이 잠깐 멈췄다가 다시 흐르기도 해요.

4직접 해보기

5흔한 오해

  • 스트리밍을 켜면 답이 빨리 끝난다고 생각하기 쉽지만, 실제로는 마지막 글자가 나오는 시각은 거의 같고 첫 글자가 빨리 보일 뿐이에요.

  • 글자가 하나씩 나오니 한 글자씩 만든다고 여기기 쉽지만, 실제로는 글자보다 큰 조각 단위로 만들어져서 여러 글자가 함께 나타나요.

  • 중간에 멈춰도 요금은 다 나온다고 생각하기 쉽지만, 실제로는 만들지 않은 부분은 계산되지 않아 그만큼 덜 내요.

7한 줄 요약

그러니까스트리밍은 다 만들어진 답을 기다렸다 주는 대신 만들어진 조각부터 국자로 떠 주듯 내보내서, 기다림을 짧게 만드는 방식이에요.

잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02