SuperAPI AI 工具集

langgraph-state

通用与其它

查看项目

更新于 10-16 04:28

技能介绍

用途:面向 LangGraph 工作流设计与管理状态 schema,解决状态定义、数据累积、更新合并与持久化等问题。

主要能力:状态定义支持 TypedDict 与 Pydantic 两种方式;提供 MessagesState 模式与 add_messages reducer,可按 ID 追加、更新并去重消息;用 Annotated[list[T], add] 实现多智能体输出累积;支持自定义 reducer,如 merge_dicts 合并字典、last_value 保留最新值;可用 context_schema 传递不入状态的运行时配置;支持 CachePolicy 与 InMemoryCache 缓存昂贵节点结果;RemainingSteps 用于主动处理递归限制。

使用方式:TypedDict 示例中定义 WorkflowState 并为 agent_responses 字段标注 Annotated[list[dict], add];推荐继承 MessagesState 或手动使用 Annotated[list, add_messages];Pydantic 方案用于边界数据校验。节点应返回新状态而非原地修改,例如返回 {**state, "output": "result"}。context_schema 通过 StateGraph(WorkflowState, context_schema=ContextSchema) 传入,调用时用 graph.invoke({...}, context={...})。缓存通过 builder.add_node(..., cache_policy=CachePolicy(ttl=300)) 与 builder.compile(cache=InMemoryCache()) 启用。

适用场景:多智能体工作流、需要累积中间结果、需要合并非持久化运行时配置或缓存重复嵌入/LLM 调用的 LangGraph 应用。

限制与注意:忘记 add reducer 会导致覆盖而非累积;原地修改状态会破坏检查点;状态过深不便调试;缺少类型提示会失去 IDE 支持;运行时配置不应放入状态;昂贵操作未缓存会重复执行。资料另提示 MessageGraph 在 LangGraph v1.0.0 中已弃用,应改用带 messages 键的 StateGraph。具体版本兼容、安装命令与评测细节资料中暂未提供。