목록 보기
SSE 기반 AI Agent 스트리밍 적용기 — Alpy에 자연스러운 대화를 불어넣다
프론트엔드

SSE 기반 AI Agent 스트리밍 적용기 — Alpy에 자연스러운 대화를 불어넣다

크라우드웍스
크라우드웍스
2025년 4월 15일

두줄요약

AI Agent 응답 스트리밍에 SSE를 선택하고 POST를 지원하는 Custom EventSource를 구현했습니다. 청크 버퍼링과 연결 관리로 파싱 오류 및 연속 요청 충돌을 해결했습니다.

문제 상황

  • AI Agent 응답을 실시간으로 표시하기 위한 자연스러운 스트리밍 UI/UX 요구
  • 표준 EventSource의 GET 전용, 요청 본문·커스텀 헤더 미지원 제약

선택 이유

  • 단방향 응답 수신에 적합한 SSE의 HTTP 기반 단순성 및 기존 통신 추상화 활용
  • 메시지 순서 보장과 자동 재연결 기능을 통한 응답 유실 방지
  • POST 스트리밍, 청크 파싱, 연결 정리 요구에 맞춘 Custom EventSource 구현 결정

구조와 흐름

  • fetch POST 응답 스트림을 TextDecoder와 라인 분리·메시지 조립 단계로 처리
  • data·event·id·retry 필드 파싱과 onmessage 콜백 전달
  • 오류 시 백오프 재시도, 기존 연결 중단과 ConnectionManager 기반 상태 관리

주의할 점

  • 임의 크기 청크 수신에 대비한 \n\n 기준 버퍼링과 완전한 메시지 조립 필요
  • 연속 요청 시 이전 fetch 취소, 이벤트 리스너·버퍼·재시도 타이머 정리 필요
  • 백그라운드 탭에서의 단순 종료·재연결 방식에 따른 응답 재생성과 상태 관리 복잡성

다음 읽기

#SSE 주제를 다룬 다른 회사 글

Server-Sent Events로 실시간 알림 전달하기

MQTT 기반 알림의 제약을 해결하기 위해 AWS IoT와 SSE를 도입했습니다. 정형화된 메시지, 재전송, 수신 확인으로 실시간성과 안정성을 높였습니다.

우아한 형제들
우아한 형제들
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...