Skip to content

LangGraph 设计问答 ​

Q:为什么选择 LangGraph? ​

LangGraph 提供了状态机的方式来编排 Agent 流程,相比自由生成的多步推理,它有三个核心优势:

  1. 可控:流程由图定义,不是模型自由发挥
  2. 可调试:每个节点的输入输出都可以记录和查看
  3. 可暂停:支持 Human-in-the-loop,在关键节点暂停等待人工确认

Q:状态机的核心设计是什么? ​

每个节点是一个 Agent 或处理逻辑,边定义了节点间的流转条件。全局状态在节点间传递,每个节点可以读取和写入状态。

状态对象通常包含:

  • 用户原始输入
  • 任务计划
  • 各 Agent 的执行结果
  • 工具调用记录
  • 最终输出

Q:如何实现 Human-in-the-loop? ​

LangGraph 支持 interrupt 机制。在需要人工确认的节点前,流程会暂停并保存当前状态。人工确认后,流程从保存的状态恢复继续执行。

我用这个机制实现了风险审查:高风险操作必须经过人工确认才能继续。

Q:如何处理长流程的状态管理? ​

通过 Checkpointing 机制保存中间状态,支持:

  • 断点恢复:流程中断后可以从最近的 checkpoint 恢复
  • 流程回溯:可以查看任意节点的状态快照
  • 调试分析:可以逐步检查每个节点的输入输出