AI Briefing

토큰 스트림에서 에이전트 스트림으로

·2026.05.22 05:32

LangChain이 토큰 스트림을 넘어 메시지, 도구 호출, 서브에이전트를 구조화된 이벤트로 스트리밍하는 새 아키텍처를 공개했다

현대 AI 에이전트는 단순 텍스트 생성을 넘어 계획 수립, 서브에이전트 위임, 도구 호출, 승인 대기, 멀티모달 출력 등 복잡한 작업을 수행한다. 기존 토큰 스트리밍 API는 에이전트가 그래프 구조로 확장되면 어떤 단계에서 어떤 이벤트가 발생했는지, 특정 서브에이전트만 구독하는 방법, 브라우저 새로고침 후 재연결 등을 처리할 수 없다.

LangChain과 LangGraph는 이를 해결하기 위해 원시 청크 대신 타입이 지정된 이벤트를 중심으로 한 새로운 스트리밍 아키텍처를 발표했다. 핵심 개념은 다음과 같다.

채널과 네임스페이스: 이벤트는 관심사를 나타내는 채널(messages, values, tools, lifecycle, custom:*)과 에이전트 트리 내 위치를 나타내는 네임스페이스로 분류된다. 루트 그래프, 중첩 서브그래프, Deep Agents 서브에이전트가 모두 동일한 채널 타입을 내보낼 수 있으면서도 정체성을 유지한다.

프로젝션: 애플리케이션은 원시 프로토콜 이벤트를 반복하는 대신 렌더링하려는 뷰를 직접 요청한다. run.messages, run.subagents, run.extensions["toolActivity"] 등을 통해 텍스트, 추론, 도구 호출 인수, 사용량 데이터를 구조화된 콘텐츠 블록으로 받는다.

범위 지정 구독: 프론트엔드는 렌더링하는 에이전트 트리 부분만 스트리밍한다. 서브에이전트 인스펙터는 화면에 표시된 서브에이전트의 스트림만 열고, 대시보드는 모든 서브에이전트의 토큰을 다운로드하지 않고도 상태 목록을 표시할 수 있다.

const thread = client.threads.stream({
  assistantId: "research-agent",
});

await thread.subscribe({
  channels: ["messages", "tools", "values", "lifecycle"],
  namespaces: [["researcher"]],
  depth: 2,
});

프레임워크 SDK: 동일한 스트리밍 모델이 로컬 및 원격 실행, React, Vue, Svelte, Angular SDK 전반에 걸쳐 작동한다. 각 프레임워크는 동일한 개념(루트 훅, 프로젝션, 컴포넌트 수준 셀렉터)을 고유의 이디엄(React 훅, Vue 컴포저블, Angular 인젝터)으로 표현한다.

멀티모달 지원: 콘텐츠 블록 기반 설계로 텍스트, 이미지, 오디오, 비디오가 동일한 아키텍처에 자연스럽게 포함된다. 쿡북의 동화책 데모에서는 각 페이지가 담당 그래프 노드로 미디어 셀렉터를 범위 지정하여 자산이 도착하는 즉시 렌더링한다.

커스텀 채널: 애플리케이션은 스트리밍 트랜스포머를 통해 인용, 진행 이벤트, 구조화된 계획, UI 설명, 워크플로 메트릭 등 도메인별 프로젝션을 추가할 수 있다. 예제는 에이전트가 custom:a2ui 채널을 통해 선언적 A2UI 메시지를 내보내고 React 앱이 이를 구독하여 실시간 인터페이스를 렌더링하는 생성형 UI 패턴을 포함한다.

동일한 실행에 대한 여러 프로젝션을 독립적으로 소비할 수 있으며, 이벤트는 순서 메타데이터를 포함하여 클라이언트가 재연결하고 마지막 지점부터 재생할 수 있다. 스트리밍 쿡북에 Python 및 TypeScript 실행 가능 예제가 공개됐다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.