常见问题
速查表;原理见对应章节。
架构
| 问题 | 要点 |
|---|---|
| LangGraph 和 LangChain 区别? | LangChain 管组件/链;LangGraph 管有状态图编排 |
| 和 AutoGPT 式循环? | 图 + 边显式控制,非固定 while tool |
Channels
| 问题 | 要点 |
|---|---|
| 两节点写同一字段被覆盖? | 检查 reducer,列表用 append |
| 消息没传到下一节点? | 字段是否映射到 channel、上步是否 apply |
Checkpointer
| 问题 | 要点 |
|---|---|
| 重启丢状态? | compile({ checkpointer }) + 稳定 thread_id |
| 序列化失败? | state 勿放函数、不可 JSON 类型 |
Pregel
| 问题 | 要点 |
|---|---|
| 图跑不完? | recursion_limit、条件边出口 |
| 节点没执行? | 上超步 channel 是否触发订阅 |
| 并行结果乱? | reducer 是否可交换、是否冲突写 |
Graph
| 问题 | 要点 |
|---|---|
| compile 报错? | 边指向不存在节点、缺少 START→首节点 |
| 子图 state 对不上? | 父子 schema 映射 |
HITL
| 问题 | 要点 |
|---|---|
| interrupt 后 LLM 调两次? | 节点重执行,副作用后置或幂等 |
| resume 无效? | 同一 thread_id、正确 Command(resume) |
Streaming
| 问题 | 要点 |
|---|---|
| 收不到 token? | 用 messages 模式且节点用 chat model |
| stream 与 invoke 结果不一致? | 是否同一 checkpointer/thread |
性能
| 建议 |
|---|
| 大 state 只存引用 id |
合理 recursion_limit |
| 生产用 DB checkpointer,勿 Memory |
| 可缓存的 LLM 节点配置 cache policy(视版本) |
总结
多数问题落在:reducer、thread_id、超步触发、interrupt 重跑 四点。