题目
LangGraph 的 State、Node、Edge 和 Reducer 如何协同工作?
答案
State 是图运行时共享的数据结构,例如消息、任务目标和检索结果。Node 是执行步骤,读取状态后调用模型、工具或业务代码,并返回状态更新。 Edge 决定节点之间如何流转,可以是固定连接,也可以根据状态选择分支。Reducer 定义某个字段收到更新时如何合并,例如覆盖、追加或按 ID 去重。 ![State、Node、Edge、Reducer 的协作关系](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/question/agent-development/graph-b30e11ecbdcf0a53.png) 例如两个检索节点并行返回证据,Reducer 将证据合并,后续回答节点再读取合并结果。若只是无规则覆盖,可能丢掉其中一路数据。 并行写同一字段时要明确合并语义;并不是每个字段都适合追加。消息合并、计数和业务状态需要不同策略。图结束也只表示流程到达终点,业务是否成功仍需验收。 参考:[LangGraph Graph API](https://docs.langchain.com/oss/python/langgraph/graph-api)。