SuperAPI AI 工具集

langgraph-fundamentals-py

写作与研究

查看项目

更新于 10-16 01:17

技能介绍

用途:在编写任何 LangGraph 代码时调用,帮助构建有状态图与智能体编排流程。

主要能力:StateGraph 是构建有状态图的主类;节点是执行工作并更新状态的函数;边定义执行顺序(静态或条件);START/END 标记入口与出口;带 Reducer 的状态控制更新合并方式;图必须先 compile() 才能执行。

建图五步:画出离散步骤流程图,每步成为一个节点;识别每步类型(LLM、数据、动作、用户输入)及静态上下文、动态上下文、重试策略与目标结果;设计状态作为共享内存,存原始数据、在节点内按需格式化提示;把每步实现为接收状态并返回部分更新的函数;用边连接节点、加条件路由,必要时带 checkpointer 编译。

状态管理:默认无 reducer 时覆盖值;列表追加用 Annotated[list, operator.add];复杂合并用自定义 reducer。节点应返回仅含更新的 dict。

节点签名:def node(state)、def node(state, config: RunnableConfig)、def node(state, runtime: Runtime[Context])。

边与路由:固定流转用 add_edge();按状态分支用 add_conditional_edges();同时更新状态并路由用 Command(含 update、goto、resume);并行分发用 Send,需在结果字段上加 reducer。注意 Command 只加动态边,静态边仍会执行。

运行:graph.invoke(input, config) 运行至完成并返回最终状态;stream 支持 values、updates、messages、custom 模式,custom 可用 get_stream_writer() 输出自定义进度。

错误处理:瞬时错误用 RetryPolicy(max_attempts=3);工具失败用 ToolNode(tools, handle_tool_errors=True);缺信息用 interrupt() 交人工;意外错误向上抛出。

常见修复:执行前必须 compile();条件路由需有退出条件避免死循环;路由返回的节点名必须已存在;START 仅作入口不能回连;reducer 类型需匹配;节点不要直接改状态。

适用场景:需要细粒度智能体编排、分支循环、人工介入与持久化的复杂工作流。限制:快速原型、简单无状态流程或需要开箱即用功能时宜选替代方案。具体版本、安装命令与收费信息暂未提供。