[智能体-342]:add_conditional_edges:为某个输出节点增加多条条件路径,包括待绑定的输出节点、条件判断,不同条件路径的多个节点名 一、核心作用add_conditional_edges用于给同一个源节点配置多条动态分支路径。源节点执行完毕后框架执行条件判断逻辑依据运行时状态自动分流到不同目标节点实现一对多路由是实现多分支、分流、分支循环的核心 API。二、参数详解1. 核心入参source路由的源节点名称字符串。表示该节点执行完成后触发条件分支判断调用路由函数一个source可以对应多条分支路径。path条件判断函数路由函数。入参全局State状态对象功能读取状态数据、执行业务规则判断输出自定义标识字符串约束仅做逻辑判断不修改状态、不执行业务代码。返回返回下个节点名框架根据此名称找到并执行下一个节点。path_map路由映射字典实现「判断结果标识 → 目标节点名」的绑定也是实现多条条件路径的关键。Key路由函数path返回的标识字符串Value图中已注册的目标节点名也可直接填写内置终止标记END规则字典里每一组键值对对应一条独立的条件路径支持同时配置数十条分支。三、运行逻辑与时序严格遵循 LangGraph 统一调度规则先执行源节点 → 节点结束后触发条件分支调度执行source对应的业务节点完成逻辑处理并更新全局状态源节点执行完毕自动调用path条件判断函数基于最新状态得到一个分支标识检索path_map字典根据标识匹配到对应的目标节点跳转到该目标节点继续执行若匹配值为END则流程直接终止。核心特点一个源节点一套判断逻辑多条并行分支路径运行时只会选择其中一条路径执行。四、多条条件路径的实现原理多条路径完全依靠path_map多键值对实现在路由函数path中定义多种判断规则对应输出不同标识字符串在path_map中为每一个标识单独绑定一个目标节点节点可各不相同运行时状态决定判断结果进而命中唯一一条分支走向对应节点。路径组合形式形式 1多分支走向不同业务节点最常用形式 2部分分支走向业务节点部分分支直接走向END终止流程形式 3分支回跳到上游节点结合实现循环逻辑。五、使用规范与约束所有出现在path_map中的目标节点名必须提前通过add_node完成注册否则图编译报错路由函数path的返回值必须和path_map的 Key 完全一致大小写、字符严格匹配一个source节点仅需调用一次add_conditional_edges即可配置全部多条分支无需重复调用分支目标可以是任意已注册节点支持跨层级、回跳上游节点天然支持循环结构。六、典型应用场景多意图分流根据用户提问分流至闲聊、知识库查询、工具调用、工单提交等多个独立节点结果分级路由根据执行结果成功 / 失败 / 异常分别走向正常处理节点、重试节点、告警节点权限分流依据状态中的角色、权限字段普通用户、管理员走向不同操作链路循环 分支组合判断任务是否完成未完成则回跳执行节点循环已完成则走向收尾节点。七、与普通 add_edge 对比add_edge单一路径、固定跳转无判断逻辑仅用于线性串行流程add_conditional_edges多条动态路径、依赖状态判断用于分流、分支、循环等非线性复杂流程。八、总结add_conditional_edges是 LangGraph 实现一对多多分支的标准方案以单个源节点为入口通过自定义判断函数区分场景再借助映射表绑定每一条条件对应的目标节点最终在运行时动态选择执行路径。它是构建复杂 AI 流程、智能体、多分支业务链路的基础能力