반응형
LangGraph 개발 가이드 요약
LangGraph란?
LangGraph는 LLM(대형 언어 모델) 기반의 복잡한 AI 워크플로우를 상태 기반 그래프 구조로 설계할 수 있도록 도와주는 프레임워크입니다. 여러 에이전트(Agent)와 작업 단계를 노드(Node)와 엣지(Edge)로 모델링하여, 복잡한 분기, 반복, 상태 관리, 사람-AI 협업 등을 체계적으로 구현할 수 있습니다[1][2][3].
LangGraph의 핵심 개념
개념 | 설명 | 예시 |
---|---|---|
상태(State) | 대화 컨텍스트, 중간 결과 등 모든 정보를 저장하는 데이터 구조 | 이전 대화 내용, 설정, 검색 결과 등 |
노드(Node) | 실행 가능한 작업 단위(Python 함수) | 검색, 응답 생성, API 호출 등 |
엣지(Edge) | 노드 간의 연결 및 흐름 제어 | 조건부 실행, 순차 실행, 분기 등 |
도구(Tools) | 외부 기능 연동 | 웹 검색, 계산, 파일 처리 등 |
- 상태(State): 대화의 맥락, 중간 결과, 사용자 입력 등 모든 정보를 저장하며, Python의
TypedDict
또는BaseModel
로 정의합니다[2][4][5]. - 노드(Node): 각 단계별로 실행되는 함수로, 현재 상태를 입력받아 작업을 수행하고 상태를 업데이트합니다[2][4].
- 엣지(Edge): 다음에 실행할 노드를 결정하는 함수로, 조건부 분기나 순차 실행을 구현합니다[2][4][3].
LangGraph 주요 기능 및 예시
- 상태 기반 워크플로우: 각 단계별로 상태를 주고받으며, 복잡한 분기와 반복, 에러 복구도 체계적으로 설계할 수 있습니다[1][3].
- 에이전트 조정: 여러 에이전트가 협력하여 공동 목표를 달성할 수 있도록 데이터 흐름과 작업 순서를 관리합니다[1][6].
- 사람-AI 협업: 중간에 수동 개입(휴먼 인더 루프), 상태 롤백(타임 트래블), 대화 분기 등 고급 기능을 지원합니다[2][7].
- 확장성: 웹 검색, API 호출 등 다양한 도구와 연동하여 복잡한 AI 애플리케이션을 쉽게 확장할 수 있습니다[2][6].
기본 챗봇 예시 코드
from langgraph.graph import StateGraph, START, END
class State(TypedDict):
messages: Annotated[list, add_messages]
graph_builder = StateGraph(State)
def chatbot(state: State):
return {"messages": [llm.invoke(state["messages"])]}
graph_builder.add_node("chatbot", chatbot)
graph_builder.add_edge(START, "chatbot")
graph_builder.add_edge("chatbot", END)
graph = graph_builder.compile()
참고 사이트 및 공식 문서
- 공식 문서 및 튜토리얼
- 한글 개발 가이드/블로그
LangGraph를 이용해 좀더 유연한 LLM 서비스를 개발할 수 있을것 같습니다.
참고 부탁 드립니다.
반응형
'Code Story' 카테고리의 다른 글
파이썬으로 Git Clone부터 실행까지 초간단 가이드 (0) | 2025.10.01 |
---|---|
MCP 개발 상세 가이드 (튜토리얼) (6) | 2025.06.29 |
NL2SQL 쿼리의 자동 검증 방안 (2) | 2025.06.17 |
LLM 핵심 기술 심층 분석 요약 (3) | 2025.06.17 |
LLM 핵심 기술에 대해서... (0) | 2025.06.17 |