개요
LangChain의 스트리밍 시스템을 사용하면 에이전트 실행으로부터 실시간 피드백을 애플리케이션에 제공할 수 있습니다. LangChain 스트리밍으로 가능한 것들:- 에이전트 진행 상황 스트리밍 — 각 에이전트 단계 후 상태 업데이트를 받습니다.
- LLM 토큰 스트리밍 — 언어 모델 토큰이 생성되는 대로 스트리밍합니다.
- 커스텀 업데이트 스트리밍 — 사용자 정의 신호를 방출합니다 (예:
"100개 중 10개의 레코드를 가져왔습니다"). - 다중 모드 스트리밍 —
updates(에이전트 진행 상황),messages(LLM 토큰 + 메타데이터), 또는custom(임의의 사용자 데이터) 중에서 선택합니다.
Agent progress
에이전트 진행 상황을 스트리밍하려면stream() 또는 astream() 메서드를 stream_mode="updates"와 함께 사용하세요. 이는 모든 에이전트 단계 후에 이벤트를 방출합니다.
예를 들어, 도구를 한 번 호출하는 에이전트가 있다면 다음과 같은 업데이트를 볼 수 있습니다:
- LLM 노드: 도구 호출 요청이 포함된
AIMessage - 도구 노드: 실행 결과가 포함된
ToolMessage - LLM 노드: 최종 AI 응답
에이전트 진행 상황 스트리밍
출력
LLM tokens
LLM이 생성하는 토큰을 스트리밍하려면stream_mode="messages"를 사용하세요. 아래에서 도구 호출과 최종 응답을 스트리밍하는 에이전트의 출력을 볼 수 있습니다.
LLM 토큰 스트리밍
출력
Custom updates
도구가 실행되는 동안 업데이트를 스트리밍하려면get_stream_writer를 사용할 수 있습니다.
커스텀 업데이트 스트리밍
출력
도구 내부에
get_stream_writer를 추가하면 LangGraph 실행 컨텍스트 외부에서는 도구를 호출할 수 없습니다.Stream multiple modes
스트림 모드를 리스트로 전달하여 여러 스트리밍 모드를 지정할 수 있습니다:stream_mode=["updates", "custom"]:
여러 모드 스트리밍
출력
Disable streaming
일부 애플리케이션에서는 특정 모델에 대해 개별 토큰의 스트리밍을 비활성화해야 할 수 있습니다. 이는 다중 에이전트 시스템에서 어떤 에이전트가 출력을 스트리밍할지 제어할 때 유용합니다. 스트리밍을 비활성화하는 방법을 알아보려면 모델 가이드를 참조하세요.Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.