LangGraph je framework od LangChain pre budovanie multi-actor AI aplikácií so stavovým riadením a cyklickými workflow.
Prečo LangGraph?
Tradičné LLM chains sú lineárne - vstup → spracovanie → výstup. Reálne AI aplikácie potrebujú:
- Cykly - iteratívne zlepšovanie výstupu
- Vetvenie - rôzne cesty podľa kontextu
- Stav - pamätanie si predchádzajúcich krokov
- Ľudský vstup - schválenie pred pokračovaním
Základné koncepty
Graf a uzly
from langgraph.graph import StateGraph, END
# Definícia stavu
class AgentState(TypedDict):
messages: list
next_action: str
# Vytvorenie grafu
workflow = StateGraph(AgentState)
# Pridanie uzlov
workflow.add_node("agent", call_agent)
workflow.add_node("tools", execute_tools)
# Definícia hrán
workflow.add_edge("agent", "tools")
workflow.add_conditional_edges(
"tools",
should_continue,
{
"continue": "agent",
"end": END
}
)
Stavový management
def call_agent(state: AgentState) -> AgentState:
messages = state["messages"]
response = llm.invoke(messages)
return {
"messages": messages + [response],
"next_action": determine_action(response)
}
Praktický príklad: Research Agent
from langgraph.graph import StateGraph
class ResearchState(TypedDict):
topic: str
sources: list
summary: str
is_complete: bool
def search_web(state):
# Vyhľadávanie informácií
results = web_search(state["topic"])
return {"sources": results}
def analyze_sources(state):
# Analýza nájdených zdrojov
analysis = llm.analyze(state["sources"])
return {"summary": analysis}
def check_quality(state):
# Kontrola kvality
is_good = quality_check(state["summary"])
return {"is_complete": is_good}
# Zostavenie grafu
graph = StateGraph(ResearchState)
graph.add_node("search", search_web)
graph.add_node("analyze", analyze_sources)
graph.add_node("check", check_quality)
graph.add_edge("search", "analyze")
graph.add_edge("analyze", "check")
graph.add_conditional_edges(
"check",
lambda s: "end" if s["is_complete"] else "search"
)
Výhody oproti tradičným chains
| Aspekt | LangChain | LangGraph |
|---|---|---|
| Tok | Lineárny | Cyklický |
| Stav | Implicitný | Explicitný |
| Vetvenie | Obmedzené | Plná podpora |
| Human-in-loop | Ťažké | Natívne |
Použitie
- Customer support boti - eskalácia, routing
- Research asistenti - iteratívny výskum
- Code review - viacfázová analýza
- Content generation - draft → review → publish
Záver
LangGraph posúva AI agentov na novú úroveň. Namiesto jednoduchých prompt chains máte plnú kontrolu nad komplexnými workflow s ľudským dohľadom.