完整题目
使用LangGraph框架构建Agent有哪几种主要方式?请分别说明各种方式的实现原理和适用情况。
本文目录
答案要点
- 掌握LangGraph的三种核心构建方式(StateGraph、MessageGraph、Pregel底层)
- 理解状态机驱动 vs 消息驱动的设计差异
- 能说明各方式的适用场景和选型依据
- 了解LangGraph相比LangChain原生Agent的优势(循环、持久化、人机协同)
LangGraph是LangChain团队推出的用于构建复杂Agent的框架,核心是将Agent建模为状态图(StateGraph)。主要构建方式有三种:
1. StateGraph(状态图)——最常用
原理:定义状态Schema + 节点函数 + 边条件,形成有向图。每个节点接收当前状态,返回状态更新,通过边路由到下一节点。
from langgraph.graph import StateGraph, END
class State(TypedDict):
messages: Annotated[list, add_messages]
next: str
builder = StateGraph(State)
builder.add_node("agent", call_model)
builder.add_node("tools", execute_tools)
builder.add_conditional_edges("agent", should_continue, {"continue": "tools", "end": END})适用:多步骤决策、需要显式控制流的复杂Agent,如ReAct循环、多Agent协作。