LangGraph 边(Edge)机制完全指南
LangGraph 边(Edge)机制完全指南
1. 核心概念
- 固定边(add_edge): 实线连接,强制顺序执行
- 条件边(add_conditional_edges): 虚线选择框,动态路由
2. 语法对比
# 固定边
add_edge("source", "target") # 条件边
add_conditional_edges("source",condition_func,{"result1": "node1", "end": END}
)
3. 执行流程图解
4. 最佳实践
- 基础路径用固定边
- 分支逻辑用条件边
- 每个条件分支必须有对应节点连接
5. 完整示例
# 构建聊天机器人工作流
graph_builder = StateGraph()# 添加节点...# 固定边保证主流程
graph_builder.add_edge("start", "process")# 条件边处理分支
graph_builder.add_conditional_edges("process",lambda x: "human" if x["needs_help"] else "continue",{"human": "human_node", "continue": "end"}
)
6. 常见问题解答
Q: 条件边选择了未连接的节点怎么办?
A: 会抛出ValueError: No edge found
错误
Q: 中断后边的执行会怎样?
A: 会从节点入口重新执行所有边逻辑