LangChain 与 LangGraph 与 Semantic Kernel 与 Google AI ADK 与 CrewAI
Source: Dev.to

选择合适的 LLM 框架——不被炒作左右
LLM 生态发展迅速。每隔几周,就会有新的框架声称能够“简化 AI 代理”、“编排推理”,或是“让生产级 AI 变得轻松”。
如果你在构建真实系统,可能会问:
为什么要为看似相同的需求准备这么多框架?
下面提供一个思维模型,帮助你在噪音中理清思路,概述:
- 每个框架实际解决的是什么问题
- 它们的优势所在
- 它们可能成为负担的情形
- 针对不同使用场景该如何选择合适的框架
大局观:我们要解决什么问题?
LLMs 是 组件,而不是完整的应用程序。真实世界的 LLM 系统需要:
- 提示编排
- 工具调用
- 记忆
- 检索(RAG)
- 控制流
- 可观测性
- 故障处理
每个框架在这些方面做出不同的权衡。
LangChain: 瑞士军刀(以及它的诅咒)
它是什么
一个用于快速构建 LLM 驱动应用的高级抽象层。
它的优势
- 快速原型开发
- 丰富的集成生态系统
- 轻松链式调用提示、工具、检索器
- 强大的社区动力
它的不足
- 隐蔽的控制流
- 大规模调试困难
- 复杂逻辑下抽象泄漏
- 性能调优困难
何时使用 LangChain
- MVP、黑客马拉松、概念验证
- 对 LLM 仍然陌生的团队
何时避免使用
- 复杂的有状态工作流
- 需要精确控制或可观测性的系统
LangChain 优先考虑开发速度,而非执行的清晰度。
LangGraph:当你意识到 LLM 是状态机时
它是什么
LangChain 对 “LLM 工作流不是线性的” 这一批评的回应。它将 AI 系统建模为 图 而不是链。
它的优势
- 明确的状态转移
- 循环、重试、分支
- 长时间运行的代理
- 更好的推理可视化
权衡
- 更复杂的思维模型
- 仍然依赖 LangChain 生态系统
- 学习曲线更陡
LangGraph 发光的场景
- 多步骤代理
- 工具密集型工作流
- 需要重试和循环的系统
- 人在回路中的场景
当 LangChain 开始给人 “魔法” 感觉时,使用 LangGraph。
语义内核:工程优先,AI 次之
它是什么
Microsoft 对 LLM 编排的实现,专为 软件工程师 设计,而非提示词黑客。
主要优势
- 强类型
- 显式规划器
- 原生支持 C# 和 Python
- 企业友好的架构
劣势
- 生态系统较小
- “即插即用”程度低
- 实验迭代速度较慢
最适用场景
- 拥有严格工程纪律的企业团队
- 需要可维护性胜于速度的系统
语义内核给人的感觉像是由凌晨 3 点仍在维护系统的人设计的。
Google AI ADK:有主张且云原生
什么是它
Google 的 Agent Development Kit 专注于 结构化的代理工作流,与 Google Cloud 和 Gemini 紧密集成。
优势
- 清晰的代理生命周期
- 强大的可观测性钩子
- 云原生设计
- 与生产环境相匹配的抽象
局限
- 在 Google 生态系统之外的灵活性较低
- 开源社区规模较小(暂时)
- 架构更具主张性
最适合的场景
- 已经在 GCP 上的团队
- 以生产为首要目标的 AI 系统
- 受监管或大规模的环境
ADK 假设你从第一天起就关注部署和监控。
CrewAI: “多代理”叙事
它是什么
CrewAI 专注于编排 具有角色的多个代理,模拟人类团队。
它擅长的方面
- 基于角色的代理设计
- 简单的思维模型
- 内容生成流水线
它的局限
- 控制力有限
- 不太适合复杂状态处理
- 不适用于深度工程系统
何时使用 CrewAI
- 构建协作代理演示
- 内容或研究工作流
- 实验代理行为
CrewAI 擅长讲故事,而非系统工程。
实用决策框架
与其问 “哪个框架最好?”,不如问:
-
我需要速度还是控制?
- 速度 → LangChain
- 控制 → Semantic Kernel / LangGraph
-
这是否是生产关键?
- 是 → Semantic Kernel / Google AI ADK
- 否 → LangChain / CrewAI
-
工作流是否有状态且复杂?
- 是 → LangGraph
- 否 → LangChain
-
企业还是创业公司?
- 企业 → Semantic Kernel / ADK
- 创业公司 → LangChain
令人不安的真相
大多数成熟的 AI 团队最终会:
- 从 LangChain 开始
- 超出其限制
- 转向 自定义编排 或 基于图的系统
最终思考
LLM 框架正在演进,因为 我们仍然没有完全理解如何构建 AI 系统。选择工具时:
- 让失败可见
- 鼓励显式设计
- 永远不要隐藏复杂性
复杂性终将显现。