
LangGraph 출시 주간 요약
요약
LangGraph가 Python과 JS 환경 모두에서 저수준 워크플로와 사전 구축된 에이전트 기능을 대폭 강화했습니다. 노드 캐싱, 지연된 노드, 모델 훅, 내장 프로바이더 도구 등의 신규 기능이 추가되어 개발 속도와 제어력이 향상되었습니다.
핵심 포인트
- 노드/태스크 수준 캐싱 도입으로 중복 계산을 방지하고 실행 속도 개선
- 지연된 노드(Deferred Nodes) 지원을 통해 맵-리듀스 및 에이전트 협업 워크플로 최적화
- Pre/Post 모델 훅을 통한 메시지 흐름 맞춤화 및 컨텍스트 관리 기능 제공
- 웹 검색 및 원격 MCP 도구와 같은 내장 프로바이더 도구 사용 가능
- JS 버전의 재개 가능한 스트림(Resumable Streams) 및 타입 안전성(Type-safety) 강화
지난 몇 주 동안, 저희는 LangGraph.js와 LangGraph Python 모두를 위한 새로운 기능들을 출시하여, 저수준 워크플로 (low level workflows)와 사전 구축된 에이전트 (prebuilt agents)를 모두 개선했습니다.
이러한 새로운 기능들은 더 빠른 개발 주기, 더 효율적인 실행, 그리고 그래프의 모든 수준에서 더 큰 제어력을 제공함으로써 워크플로를 구축하기 더 쉽게 만들어 줍니다.
새롭게 추가된 사항에 대한 빠른 요약은 다음과 같습니다:
1. 노드 캐싱 (Node Caching) ♻️
저희는 **노드/태스크 수준 캐싱 (node/task level caching)**을 도입하며 한 주를 시작했습니다. 이제 LangGraph 워크플로 내 개별 노드의 결과를 캐싱할 수 있어, 중복 계산을 줄이고 실행 속도를 높일 수 있습니다. 노드 캐싱은 특히 개발 주기를 앞당기는 데 매우 유용합니다.
🔗 Python docs | JS docs
2. 지연된 노드 (Deferred Nodes) 🕰️
다음으로, 모든 상위 경로 (upstream paths)가 완료될 때까지 실행이 연기되는 지연된 노드 (deferred nodes) 지원을 추가했습니다. 지연된 노드는 맵-리듀스 (map-reduce), 합의 (consensus), 그리고 에이전트 협업 (agent collaboration) 워크플로에 이상적입니다.
🔗 Python docs | JS docs
3. Pre/Post 모델 훅 (Pre/Post Model Hook) 🪝
저희의 사전 구축된 ReAct 에이전트는 이제 pre/post 모델 훅을 통해 더 맞춤화 가능한 메시지 흐름을 지원합니다. Pre 모델 훅은 메시지 기록을 요약하여 컨텍스트 팽창 (context bloat)을 제어하는 데 매우 유용하며, post 모델 훅은 가드레일 (guardrails) 및 인간 참여형 (human-in-the-loop) 상호작용에 이상적입니다.
기분 좋은 보너스로, ReAct 에이전트 워크플로를 시각화하는 데 도움이 되는 대화형 문서를 확인해 보세요.
🔗 Python docs | JS docs
4. 내장 프로바이더 도구 (Builtin Provider Tools) 🔍
이제 사전 구축된 ReAct 에이전트와 함께 웹 검색 (web search) 및 원격 MCP 도구 (Remote MCP tools)와 같은 내장 프로바이더 도구를 사용할 수 있습니다. 도구 사양 딕셔너리 (tool specification dict)를 tools 리스트에 전달하기만 하면 바로 사용할 수 있습니다!
JS 개선 사항
Python과 JS 모두에 도입된 위의 기능 외에도, JS 측면에 특화된 몇 가지 개선 사항을 추가했습니다.
1. 재개 가능한 스트림 (Resumable Streams) ⏩
reconnectOnMount를 사용하여 페이지 새로고침이나 네트워크 장애에 탄력적인 앱을 만드세요. 스트림이 자동으로 재개되므로, 토큰 손실이나 추가 코드 작성이 필요 없습니다.
🔗 JS docs
2. 개발자 경험 (DevX) 개선 사항 🧘
마지막으로, LangGraph JS v0.3를 통해 일상적인 개발자 경험 (DevX)을 개선하기 위한 다양한 변경 사항을 적용했습니다:
.stream()
메서드가 이제 완전히 타입 안전 (type-safe)하게 구현되어, 사용 중인 스트림 모드 (streamMode)에 따라 상태 업데이트와 값을 반환합니다. 더 이상 코드 곳곳에 any 타입이나 안전하지 않은 형변환 (unsafe casts)이 난무하지 않습니다. Python 버전에도 곧 적용될 예정입니다!
StateGraph에서 .addNode({node1, node2, ...}) 및 .addSequence({node1, node2, ...})를 사용할 수 있게 되어, 간단한 워크플로우 (workflow)를 구축할 때 발생하는 상용구 코드 (boilerplate)를 줄일 수 있습니다.
중단 (Interrupts) 사항이 이제 .invoke() 및 `
AI 자동 생성 콘텐츠
본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기