SuperAPI AI 工具集

langchain-langgraph-human-in-loop

智能体与模型

查看项目

更新于 10-15 23:27

技能介绍

用途:在 LangGraph 1.0 中构建人在回路(human-in-the-loop)审批流程,让不可逆操作(如发送邮件)在人工确认后才执行。

主要能力:三种中断方式——compile(interrupt_before=["send_email"]) 在节点运行前暂停以审查输入;interrupt_after=["draft_email"] 在节点完成后暂停以审查输出;节点内联 interrupt({...}) 用于自定义结构化提示。恢复使用 Command(resume="approved") 或 Command(update={...}, resume="approved")。

关键约束:检查点器在每个 superstep 将状态序列化为 JSON,datetime、bytes、set、Pydantic 模型、自定义类、numpy 数组、Decimal、NaN/Inf 都会在中断边界抛 TypeError,需在节点边界转换(如 isoformat、base64、model_dump(mode="json")),并可在 CI 中加预中断扫描器。list/dict 状态字段必须声明 reducer(如 Annotated[list[AnyMessage], add_messages]),否则 update 会替换而非追加。

用法要点:审批 UI 提供 GET 待审批列表与 POST 决策接口,决策体含 expected_checkpoint_id 做乐观并发、idempotency_key 去重;拒绝时用条件边路由到 END,并在路由前把 last_decision 写入状态以保留审计。

适用场景:单一 LangGraph 应用、审批类型较少(约 1-10 种)、日量低于千次时,原生中断更简单可靠;跨应用、复杂 RBAC、万级日量则宜用独立审批服务。

限制:需 Python 3.10+、langgraph 1.0.x、langgraph-checkpoint 2.0.x 及检查点器(MemorySaver/PostgresSaver/SqliteSaver),并需在应用边界约定 thread_id。具体性能数据与实现细节以官方资料为准,本资料未提供官方文档正文。