LangGraph 同级节点之间修改数据先后问题

python 复制代码
...
...
import time
class PubState(TypedDict):
  publicStr: Annotated[str, operator.add]

def fna(state: PubState):
  v2 = state["publicStr"] +"2222"
  print('a',state["publicStr"])
  return {
    "publicStr": v2
  }

def fnb(state: PubState):
  time.sleep(1)
  v1 = state["publicStr"] +"1111"
  print('b',state["publicStr"])
  return {
    "publicStr": v1
  }
builder=StateGraph(PubState)


builder.add_node("fn1",fna)
builder.add_node("fn2",fnb)

builder.add_edge(START, "fn1")
builder.add_edge(START, "fn2")
graph=builder.compile()

res=graph.invoke({"publicStr":"start"})
rprint(res)

打印结果

arduino 复制代码
{'publicStr': 'startstart2222start1111'}

我试了调整fna 和 fnb 的顺序,注册先后顺序,给fnb 加延迟时间time.sleep(1),执行结果都没有变化, 后来我改变函数名字,例如,1_fnb 2_fna ,fn2 fn1 ,才返现了规律,执行顺序是根据名字的编码顺序先后执行的,编码数值小的先执行,跟注册顺序,执行先后没有关系 而且每个函数执行前就拿到了state的快照,同级函数修改结果对自己没有影响,同级函数都执行结束才统一修改state的值

相关推荐
u1301301 小时前
AI 日报(2026年9月12日)
人工智能
东风破_1 小时前
《LangGraph Human-in-the-loop:Interrupt 如何让 Agent 等待人工确认》
人工智能
2601_962218611 小时前
万象生鲜系统业财一体化底层打通技术自动生成经营账单
大数据·数据库·人工智能·python·算法
智塑未来1 小时前
中文短剧出海翻译工具横评:VMEG AI、鬼手、Vozo AI、ElevenLabs怎么选?
人工智能
东风破_1 小时前
《LangGraph 条件路由与循环:如何让 Agent 自己决定下一步?》
人工智能
我爱吃土豆11 小时前
AI 编程工具远程开发指南:Codex 桌面版与 WorkBuddy 通过 SSH 连接云服务器实践
服务器·人工智能·ssh
袁俪2 小时前
推理成本门槛
人工智能
2601_962304252 小时前
怎么用AI绘画零基础制作专属插画头像?
人工智能·ai作画
东风破_2 小时前
《LangGraph 状态管理:State、Node 和 Reducer 到底是什么?》
人工智能