LangGraph @[StateGraph] 接收到多个节点对同一不支持并发更新的状态属性的并行更新。
一种可能情况是你在图中使用了fanout或其他并行执行方式,并定义了如下结构:
:::python
:::
:::js
:::
:::python
若上述图中的某个节点返回 { "some_key": "some_string_value" },这将用 "some_string_value" 覆盖 "some_key" 的状态值。
然而,如果在同一步骤的例如 fanout 中有多个节点返回 "some_key" 的值,图将抛出此错误,因为无法确定如何更新内部状态。
:::
:::js
若上述图中的某个节点返回 { someKey: "some_string_value" },这将用 "some_string_value" 覆盖 someKey 的状态值。
然而,如果在同一步骤的例如 fanout 中有多个节点返回 someKey 的值,图将抛出此错误,因为无法确定如何更新内部状态。
:::
为解决此问题,可以定义一个聚合多个值的 reducer:
:::python
:::
:::js
:::
这将允许你定义处理来自并行执行的多节点返回相同键值的逻辑。
故障排除
以下方法可能有助于解决此错误:
- 若图执行节点并行,请确保已为相关状态键定义了 reducer
官方原文:src/oss/langgraph/errors/INVALID_CONCURRENT_GRAPH_UPDATE.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026