LangChain:토큰 스트림에서 에이전트 스트림으로 — 타입화 채널이 다중 에이전트 UI의 고전적 스트리밍을 대체
LangChain은 2026년 5월 21일 Christian Bromann과 Nick Hollon이 작성한 포스트를 공개해 토큰 스트림에서 구조화된 에이전트 스트림으로의 패러다임 진화를 설명했다. 현대 AI 에이전트는 작업을 계획하고, 서브 에이전트에 위임하고, 도구를 호출하고, 인간 검토를 위해 일시 중지한다 — 고전적인 텍스트 토큰 스트리밍은 이 작업을 표시하기에 충분하지 않다. LangChain은 LangGraph에서 메시지·도구 호출·상태 변화·서브 에이전트 활동·커스텀 이벤트를 전달하는 타입화 채널을 제안한다. 애플리케이션은 관련 타입만 구독해 장시간 실행 워크로드에서 효율적인 UI를 만든다.
이 기사는 AI가 1차 출처를 기반으로 생성했습니다.
LangChain은 2026년 5월 21일 Christian Bromann과 Nick Hollon이 작성한 엔지니어링 포스트를 공개했다. 2022년부터 생성 AI 애플리케이션의 UX를 지배해온 토큰 스트리밍 패러다임이 한계에 도달했으며 타입화된 에이전트 스트리밍 모델로 교체해야 한다는 것을 논증한다. 포스트는 새로운 접근 방식을 구현하는 LangGraph 라이브러리 업데이트와 동시에 공개되었다.
토큰 스트리밍의 무엇이 문제였는가?
고전적인 토큰 스트림은 단순하다. 모델이 토큰을 하나씩 생성하고, 프론트엔드가 도착하는 대로 증분 표시하고, 사용자는 실시간으로 텍스트가 구성되는 것을 본다. 주요 활동이 텍스트 생성인 ChatGPT 스타일 애플리케이션에서는 잘 작동했다.
문제는 현대 AI 에이전트는 텍스트 생성 이상을 한다 는 것이다. 전형적인 에이전트 워크플로에는 다음이 포함된다.
- 도구 호출 — 에이전트가 어떤 도구를 호출할지 결정하고(웹 검색, 파일 읽기, API 호출), 결과를 기다린 후 계속 진행
- 서브 에이전트 위임 — 메인 에이전트가 병렬 하위 작업을 위해 서브 에이전트를 생성
- 상태 — 에이전트가 내부 데이터 구조(계획, 추적 목록, 초안 출력)를 업데이트
- 인간 검토 일시 중지 — 에이전트가 다음 되돌릴 수 없는 단계를 수행하기 전에 멈추고 사용자 승인을 기다림
- 커스텀 신호 — 디버그 로그, 진행 업데이트, 성능 지표
토큰 스트림은 에이전트가 이런 활동 사이에 생성하는 텍스트만 보여준다. 실제로 사용자는 스피너 로더가 있는 빈 창만 보고 에이전트는 백그라운드에서 몇 분 또는 몇 시간 동안 가시적 신호 없이 작업한다. 이는 나쁜 UX다.
타입화 에이전트 스트림이란 무엇인가?
LangChain이 제안하는 모델은 에이전트가 같은 채널을 통해 다양한 유형의 이벤트를 방출 하되 각 이벤트에 타입이 부여되는 방식이다. 클라이언트(UI 애플리케이션)는 어떤 타입을 구독할지와 각 타입을 어떻게 표시할지를 선택한다.
이벤트 타입 예시:
message— 텍스트 토큰(고전적)tool_call— 인수를 포함한 도구 호출tool_result— 도구 호출 결과state_update— 에이전트 상태 변화subagent_event— 서브 에이전트에서 온 이벤트(재귀적)human_review_request— 에이전트가 멈추고 승인 요청custom— 개발자가 정의한 임의 이벤트 타입
이로써 UI 레이어가 에이전트 작업을 멀티 패널 시각화 로 표시할 수 있다 — 메인 창의 채팅 텍스트, 사이드바의 도구 호출, 다른 패널의 상태, 트리 시각화로 표시되는 서브 에이전트 활동. Cursor와 Claude Code는 이미 이 접근 방식의 변형을 내부적으로 구현했다. LangChain은 이를 API로 공식화한다.
LangGraph에서 어떻게 작동하는가?
LangGraph — LangChain의 상태형 그래프 오케스트레이션 라이브러리 — 가 에이전트 스트림을 위한 네이티브 지원을 갖췄다. 개발 팀이 그래프 노드, 엣지, 상태를 정의하면 실행 시 LangGraph가 모든 그래프 활동에 대해 자동으로 타입화 이벤트를 방출한다.
클라이언트는 표준 비동기 이터레이터 패턴을 사용해 구독한다.
- 모든 이벤트 구독 → 전형적인 대시보드 모드
message만 구독 → 고전적인 채팅 UI 모드message + tool_call구독 → 디버그 UI에 유용
이로써 지금까지 에이전트 프론트엔드에서 주를 이루던 커스텀 WebSocket 프로토콜이나 폴링 패턴이 필요 없어진다.
에이전트 AI 도구 생태계에 무엇을 의미하는가?
에이전트 스트림은 Anthropic(Claude Code Agent View), OpenAI(Operator) 등이 이미 내부적으로 구현한 패턴으로 수렴하는 아키텍처적 진전 이다. 표준화된 API는 소규모 개발 팀이 처음부터 자체 변형을 구축하는 대신 LangGraph에 의존할 수 있음을 의미한다.
장기적으로 에이전트 스트림은 REST API와 SSE가 웹 애플리케이션의 사실상 표준이 된 것처럼 사실상 표준이 될 수 있다. 다른 에이전트 프레임워크(Microsoft AutoGen, CrewAI, OpenAI Swarm)가 향후 버전에서 유사한 타입화 이벤트 모델을 채택할지 주목할 필요가 있다.
자주 묻는 질문
- LangChain 용어에서 에이전트 스트림이란 무엇인가?
- 에이전트 스트림은 텍스트 토큰 나열이 아닌, 실시간으로 메시지·도구 호출·상태 변화·서브 에이전트 활동·커스텀 신호 등 다양한 유형의 이벤트를 방출하는 구조화된 타입화 채널이다.
- 왜 고전적인 토큰 스트림이 현대 에이전트에 부족한가?
- 에이전트는 텍스트 생성 이상의 작업을 한다 — 도구를 호출하고, 인간 검토를 기다리고, 서브 에이전트에 위임하고, 상태를 변경한다. 토큰 스트림은 텍스트만 표시해 사용자를 실제 작업에 대해 모르게 한다.
- 애플리케이션은 에이전트 스트림 타입을 어떻게 구독하는가?
- LangGraph는 클라이언트가 원하는 타입의 이벤트만 구독할 수 있는 API를 제공해, 에이전트가 장시간 실행 워크로드를 처리할 때 과부하를 방지한다.