LangGraph Edge(边)完整讲解
LangGraph Edge边完整讲解1. 基础定义在 LangGraph 中Node节点独立计算单元负责业务逻辑检索、LLM 生成、工具调用等Edge边节点之间的连接关系用来定义图的执行流向规定执行完 A 节点后下一步走哪个节点简单类比 Node 车间工位Edge 工位之间的传送轨道轨道决定数据流转顺序。2. 两大类 Edge① 普通固定边Normal Edge固定单向流转执行完当前节点固定进入下一个指定节点无判断分支。 语法示例python运行# 检索节点执行完固定走组装上下文节点 graph.add_edge(retrieve_node, augment_node)流程retrieve_node→augment_node路径唯一、不可变更。② 条件边Conditional Edge执行完节点后根据 State 状态做判断动态选择下一跳节点用来实现分支、循环、路由。需要单独写一个路由函数返回节点名字符串使用add_conditional_edges绑定。示例工具调用分支逻辑python运行def route_after_llm(state): # 判断是否需要调用工具 if state[need_tool_call]: return tool_node else: return generate_answer_node # 绑定条件路由 graph.add_conditional_edges( sourcellm_judge_node, pathroute_after_llm, path_map{tool_node: tool_node, generate_answer_node: generate_answer_node} )执行完llm_judge_node后根据状态动态分流两条路径。3. Edge 工作机制节点执行完毕输出状态更新写入全局 State框架查找当前节点绑定的所有边普通边直接跳转目标节点条件边执行路由函数读取 State匹配目标节点切换到下一个节点重复「读 State→计算→更新 State」流程。4. Edge 实现复杂流程能力依靠边的组合可以实现 LCEL 普通链条做不到的复杂逻辑分支条件边做多路选择是否调用工具、是否需要二次检索循环条件边指回上游节点Agent 多轮工具调用循环汇聚多条不同节点的边指向同一个下游节点子图子图内部自有节点与边子图整体又作为一个大节点通过外层边接入主图5. 和线性 Chain 的核心区别LCEL Chain硬编码串行顺序流转固定没有 “边” 的抽象LangGraph节点与流向完全解耦所有流转规则统一由 Edge 管理可灵活修改、新增分支 / 循环不用改动节点内部计算逻辑。6. 完整极简示例节点 边组合python运行# 1. 定义节点函数省略... # 2. 添加节点 graph.add_node(retrieve, retrieve_node) graph.add_node(augment, augment_node) graph.add_node(generate, generate_node) # 3. 通过Edge连接节点定义流程 graph.add_edge(retrieve, augment) # 检索→拼接上下文 graph.add_edge(augment, generate) # 拼接→生成答案 # 设置入口节点 graph.set_entry_point(retrieve)整条流水线的顺序完全由两条 Edge 定义。