batch job 에서는 전체 경과 시간이 중요하지만, chat 에서는 TTFT(time-to-first-token)가 체감 속도를 좌우해. 3 초 뒤에 응답이 한꺼번에 나오면 멈춘 것처럼 느껴질 수 있고, 전체가 10 초 걸려도 첫 token 이 200ms 만에 보이면 바로 반응한다고 느껴.
직접 시간을 재봐
같은 프롬프트를 streaming 과 non-streaming 으로 각각 다섯 번 실행하고 TTFT 와 전체 경과 시간을 함께 측정해 표로 비교해. 숫자를 직접 보면 두 지표의 역할 차이가 분명해져.
streaming 이 필요 없는 곳
backend pipeline, eval, dataset 생성, batch 요약처럼 사람이 중간 결과를 보지 않는 작업에는 streaming 이 필요 없을 수 있어. chunk 를 parsing 하고 상태를 누적하는 복잡성만 늘기 때문이야.
사용자는 시작되는 순간을 기억해
짧은 시간 안에 화면이 바뀌면 즉시 반응한다고 느끼고, 아무 변화가 없으면 기다림이 길게 느껴져. streaming 은 첫 결과를 빨리 보여줘 그 체감 구간을 줄이는 도구야.