关于 LangGraph 中的 Command 类型
Command
是 LangGraph 中的一个重要类型,主要用于在图结构中控制流程并更新状态。它提供了一种方式,使节点可以同时执行状态更新和控制下一步执行哪个节点,这对构建多代理架构特别有用。
Command
是一个数据类,具有以下主要参数:
-
update - 要应用于图状态的更新
-
goto - 下一步要执行的节点名称
-
graph - 指定要发送命令的图(默认为当前图,可设置为
Command.PARENT
指向父图) -
resume - 用于与
interrupt()
函数配合使用,实现人机交互工作流中的恢复执行
使用示例
def node_a(state: State) -> Command[Literal["node_b", "node_c"]]:
# 进行一些计算或决策
if condition:
goto = "node_b"
else:
goto = "node_c"
# 命令允许同时更新图状态和路由到下一个节点
return Command(
# 这是状态更新
update={
"fo