在 LLM 应用开发领域,LangChain 和 LangGraph 是两个经常被提及的名字。很多开发者入门时会选择 LangChain,但随着项目复杂度提升,往往会遇到瓶颈——循环逻辑怎么都写不对,状态管理越来越混乱。实际上,两者并不是竞争关系,而是互补关系:前者是通用的 LLM 应用开发框架,后者是针对复杂工作流设计的编排引擎。本文将系统性地对比两者的区别,帮助开发者做出更合适的技术选型。
假设一个需求:构建一个客服机器人,用户可以随时追问、修正之前的问题,系统需要记住对话上下文,并且在特定条件下能够"回到上一步"重新回答。
如果用 LangChain 来做,你会发现它更像是一条单行道。定义好 Prompt,调用模型,返回结果,流程结束。虽然 LangChain 也有 Memory 模块,但那种线性流程在处理真正的多轮交互、状态回溯时,总感觉哪里不对劲。