智能体框架:LangChain、LangGraph、CrewAI、ADK,到底怎么选?
很多人做 Agent,第一步就开始纠结框架。 用 LangChain,还是 LangGraph?用 CrewAI,还是 Google ADK?要不要上 OpenAI Agents SDK?LlamaIndex 又放在哪里? 先别急。框架不是
很多人做 Agent,第一步就开始纠结框架。
用 LangChain,还是 LangGraph?用 CrewAI,还是 Google ADK?要不要上 OpenAI Agents SDK?LlamaIndex 又放在哪里?
先别急。框架不是答案,业务复杂度才是答案。
如果只是一个简单问答,加一层复杂框架,反而会把系统做重。 如果要做多步骤、可恢复、可监控、可审批的生产 Agent,没有框架又会很快失控。
一、框架不是魔法,而是脚手架
大模型负责推理。工具负责行动。记忆负责上下文。流程负责调度。观测负责发现问题。部署负责进入生产。
框架的作用,就是把这些能力组织起来。它不一定让模型更聪明,但能让系统更可控。
最常见的误区是:把“框架能力”当成“业务能力”。框架能提供工具调用、状态管理、路由、Trace、评估接口,但不会自动帮你定义业务边界、工具权限、失败策略和上线指标。
二、主流框架先分层,再比较
不同框架不是同一种东西。LangChain 更像组件库,LangGraph 更像流程编排引擎,CrewAI 更像团队协作抽象,LlamaIndex 更偏数据和 RAG,ADK / OpenAI / Microsoft 更偏生产级 SDK 和平台能力。
所以不要问“哪个最好”。要问“我的项目最缺哪一层能力”。
三、几个常用框架怎么理解
1. LangChain:适合快速搭积木
LangChain 的价值在于组件丰富。Prompt、Model、Tool、Output Parser、Retriever、Chain,很多常用模块都能快速串起来。
适合:原型、工具调用、RAG 入口、简单流程。 不适合:大量循环、复杂状态、长任务恢复。复杂编排通常要配 LangGraph。
2. LangGraph:适合复杂流程和状态机
LangGraph 的核心是图。节点是步骤,边是流转,状态是贯穿全流程的数据包。
如果你的 Agent 需要分支、循环、重试、暂停、人类审批、从失败点恢复,LangGraph 更适合。它更像“Agent 工作流引擎”。
3. CrewAI:适合角色分工
CrewAI 的抽象更接近团队。你定义 Agent、Task、Crew,让不同角色按流程协作。
适合:研究员、分析师、审核员、执行员这种角色明确的多智能体任务。注意点是,角色协作容易写得热闹,但状态控制、失败恢复和评估仍要自己设计。
4. Google ADK:适合 Google / Gemini / Cloud 生态
ADK 更偏生产级 Agent 开发工具包。它关注多智能体、会话、工具、评估和部署,适合希望接入 Gemini、Vertex AI、Google Cloud 的团队。
如果企业已经在 Google Cloud 上,ADK 的价值会更明显。
5. LlamaIndex:适合数据和知识库
LlamaIndex 不是单纯的 Agent 编排框架。它更擅长数据接入、文档解析、索引、检索、重排和 RAG。
如果你的核心问题是“怎么把企业文档喂给 Agent”,LlamaIndex 通常比纯编排框架更关键。
6. OpenAI Agents SDK:适合轻量生产 Agent
OpenAI Agents SDK 更适合使用 OpenAI 模型体系,并且应用自己掌控工具执行、审批、状态和编排的场景。
它的优势是清晰、轻量、和 Responses API / 工具调用 / 追踪能力衔接自然。
7. Microsoft Agent Framework / Semantic Kernel:适合企业工程集成
微软体系更适合 .NET、Python、Azure、企业插件、类型安全、遥测和工作流治理场景。
如果你的团队重度使用 Azure、.NET 或 Microsoft 生态,可以优先看这条路线。
8. Strands Agents:适合 AWS 和模型驱动 Agent
Strands Agents 是 AWS 推出的轻量级开源 Agent SDK,强调模型驱动、工具调用和 AWS 生态集成。
如果你的基础设施在 AWS / Bedrock 上,值得关注。
四、选型不要靠感觉,用决策树
选框架时,先不要看热度。先回答几个问题:任务是否有多步骤?是否要保存状态?是否需要人类审批?是否以知识库为核心?是否要部署到云平台?是否要跨团队维护?
答案不同,框架选择也不同。
五、案例:企业知识库问答 Agent
场景很常见:研发同学问“这个接口为什么超时?”系统要查接口文档、历史故障、日志说明、监控告警和代码规范,然后给出可追溯答案。
这个系统不要只用一个框架硬扛。更合理的组合是:LlamaIndex 管资料接入和检索,LangGraph 管查询流程和状态,OpenAI Agents SDK 或 ADK 管工具调用、审批和运行,观测平台负责 Trace 和评估。
这样做的好处是边界清晰:数据归数据,流程归流程,工具归工具,评估归评估。后续替换某个框架,不会把整个系统推倒重来。
六、源码级逻辑:框架底层其实在管这几件事
不看具体代码,也能抓住核心逻辑。大多数 Agent 框架底层都会围绕一个循环运转:接收输入,构造上下文,调用模型,解析模型输出,决定是否调用工具,更新状态,进入下一轮,直到完成或失败。
LangGraph 把这个循环显式画成图。CrewAI 把它包装成角色和任务。ADK / OpenAI Agents SDK 把它封装成更完整的 Agent 运行时。LlamaIndex 则把其中“检索上下文”这一步做深。
七、框架选型的几个原则
• 能不用多智能体,就先不用多智能体。多智能体不是更高级,而是更复杂。
• 能用简单链路跑通,就不要一开始画大图。先闭环,再扩展。
• 知识库项目优先解决数据质量。检索差,换框架也救不了。
• 生产系统必须有 Trace、评估、失败样本、权限和回滚。
• 业务逻辑不要完全绑死在某个框架里。抽象工具接口、状态结构和评估数据,方便以后迁移。
总结
Agent 框架不是银弹。
LangChain 适合快速搭组件。LangGraph 适合复杂流程。CrewAI 适合角色协作。Google ADK 适合 Gemini / Cloud 生态。LlamaIndex 适合数据和 RAG。OpenAI Agents SDK 适合轻量生产 Agent。Microsoft Agent Framework 适合企业工程集成。Strands 适合 AWS 生态。
真正的选型标准不是“哪个框架最火”,而是:你的任务复杂到哪一步,系统缺哪一层能力,团队能不能维护,出了问题能不能定位。
一句话:先设计系统,再选择框架。不要反过来。
要点速读
很多人做 Agent,第一步就开始纠结框架。 用 LangChain,还是 LangGraph?用 CrewAI,还是
- 很多人做 Agent,第一步就开始纠结框架
- 用 LangChain,还是 LangGraph
- 用 CrewAI,还是