add_node: 结点协议使 `state` 参数名在类型检查器中起到重要作用
作者: AndreaBozzo创建于 2026年9月17日更新于 2026年9月17日
标签external
libs/LangGraph/LangGraph/graph/_node.py:
class _Node(Protocol[NodeInputT_contra]):
def __call__(self, state: NodeInputT_contra) -> Any: ...state 不是只能通过位置传递,因此:
- 节点的第一个参数必须命名为
state,尽管_internal/_runnable.py会通过位置传递(args = (input,),然后self.func(*args, **kwargs)); Callable[[State], Awaitable[...]]永远无法满足协议,因为Callable参数是只能通过位置传递的 - 因此使用具有Callable别名的节点工厂总是会失败,无论函数的名称如何。
内容来源: langchain-ai/langgraph