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는 복잡한 AI 워크플로우를 그래프와 상태 기반으로 설계·관리할 수 있는 프레임워크로, 다양한 에이전트, 분기, 반복, 사람-AI 협업, 상태 롤백 등 고급 기능을 제공합니다. 공식 문서와 다양한 한글 튜토리얼을 참고하면 실전 예제와 함께 쉽게 시작할 수 있습니다[1][2][8].
[1] https://data-newbie.tistory.com/997
[2] https://jypark1111.tistory.com/275
[3] https://tilnote.io/pages/68156a69baa37b745385c26c
[4] https://rudaks.tistory.com/entry/%EB%B2%88%EC%97%ADlanggraph-Contextual-Guides-LangGraph-Glossary
[5] https://wikidocs.net/267808
[6] https://s-core.co.kr/insight/view/langchain%EC%9D%98-%EC%83%88%EB%A1%9C%EC%9A%B4-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-langgraph-%ED%9B%91%EC%96%B4%EB%B3%B4%EA%B8%B0/
[7] https://langchain-ai.github.io/langgraph/concepts/why-langgraph/
[8] https://langchain-ai.github.io/langgraph/
[9] https://www.langchain.com/langgraph
[10] https://github.com/langchain-ai/langgraph-example
[11] https://github.com/langchain-ai/langgraph-studio
[12] https://memoryhub.tistory.com/entry/LangGraph-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%B4%88%EB%B3%B4%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-%EA%B0%80%EC%9D%B4%EB%93%9C-%F0%9F%8C%9F
[13] https://vision-ai.tistory.com/265
[14] https://jypark1111.tistory.com/276
[15] https://www.langchain.com/langgraph-platform
[16] https://blog.langchain.dev/langgraph/
[17] https://wikidocs.net/264624
[18] https://tilnote.io/pages/68156ae8baa37b745385c3ea
[19] https://www.langchain.com
'Code Story' 카테고리의 다른 글
MCP 개발 상세 가이드 (튜토리얼) (6) | 2025.06.29 |
---|---|
NL2SQL 쿼리의 자동 검증 방안 (2) | 2025.06.17 |
LLM 핵심 기술 심층 분석 요약 (3) | 2025.06.17 |
LLM 핵심 기술에 대해서... (0) | 2025.06.17 |
바이브 코딩 (개발자의 미래) (1) | 2025.06.16 |