Agent 框架对比:LangChain / AutoGPT / CrewAI
做 Agent 不用从零写,有很多成熟框架可选。这篇对比主流的 Agent 开发框架:LangChain、AutoGPT、CrewAI、LlamaIndex、LangGraph,各自的特点、适用场景,以及选型建议。
大家好,我是黒漂技术佬。
前面讲了 Agent 的原理和组件,实际开发不用从零搭,有很多现成的框架。选对框架能省很多事,选错了后期折腾。
这篇对比几个主流的 Agent 开发框架:LangChain、LlamaIndex、AutoGPT、CrewAI、LangGraph,讲清楚各自的特点、优势劣势、适合什么场景。
一、为什么要用框架?
从零写的问题
- 自己实现 ReAct 循环、工具调用、记忆系统,重复造轮子
- 各种模型适配、向量数据库对接,工作量大
- 错误处理、重试、流式输出这些细节很多
- 多 Agent 协调更复杂
框架提供什么
- 封装好的 Agent 循环逻辑
- 统一的大模型接口(OpenAI、Anthropic、国内模型都能接)
- 各种工具集成(搜索、代码执行、数据库等)
- 记忆系统和向量数据库对接
- 多 Agent 编排能力
- 调试、追踪、监控工具
二、LangChain:最流行的全能框架
是什么
目前最火的 LLM 应用开发框架,生态最大,功能最全。
核心概念
- Chain:把多个步骤串起来(LLMChain、RetrievalQA 等)
- Agent:ReAct 等模式的智能体
- Tool:工具封装
- Retriever:检索器
- Memory:记忆模块
- Prompt Template:提示词模板
优势
- 生态最丰富:工具、模型、向量库支持最多
- 文档和教程多:遇到问题容易搜到答案
- 功能全面:从简单 Chain 到复杂 Agent 都能做
- 社区活跃:更新快,新功能跟进及时
- LangSmith:官方的调试监控平台,很好用
劣势
- 学习曲线陡:概念多,抽象层多,新手容易懵
- 版本变化快:API 经常变,老代码容易挂
- 有些模块复杂过度:简单的事也搞得很绕
- 调试不太直观:出问题定位麻烦
适用场景
- 大多数 LLM 应用和 Agent 开发
- 需要多种工具和数据源的复杂场景
- 团队项目,需要标准化
一句话评价
功能最全、生态最大,但也最复杂。通用场景首选。
三、LlamaIndex:数据连接专家
是什么
专注于「数据连接」的框架,核心是 RAG,把各种数据源接入大模型。
核心特点
- 索引(Index):各种文档索引方式(向量索引、树索引、关键词索引等)
- 数据连接器(Loader):支持 PDF、Word、Notion、数据库、API 等几十种数据源
- 查询引擎:多种查询方式
- Agent:也有 Agent 能力,但不是重点
优势
- RAG 做得最好:索引方式多,检索策略丰富
- 数据接入方便:各种格式的文档、各种数据源,loader 超多
- 上手简单:做 RAG 几行代码就搞定
- 对文档处理优化多:分块、元数据、父子文档这些都有
劣势
- Agent 能力不如 LangChain 强
- 生态比 LangChain 小
- 做复杂 Agent 不如 LangChain 灵活
适用场景
- 以 RAG 为主的应用(知识库问答、文档问答)
- 需要接入多种数据源的场景
- 文档处理是核心的项目
一句话评价
RAG 之王,做知识库问答首选。Agent 能力也有但不是最强项。
四、AutoGPT:自主 Agent 的代表
是什么
最早火起来的自主 Agent 项目,给一个目标,自己规划、执行、完成长任务。
特点
- 长任务自主执行
- 自带搜索、代码执行、文件操作等工具
- 有记忆系统
- 目标导向,不用一步步指令
优势
- 自主性强:给个大目标自己拆任务执行
- 开箱即用:不用写代码就能用
- 工具丰富:搜索、文件、代码、浏览器都有
劣势
- 容易跑偏:长任务经常走偏,做着做着忘了目标
- 不可控:不知道它下一步要干嘛
- 成本高:一轮一轮调用,token 烧得快
- 不适合做产品:更像玩具/实验,生产环境不好用
- 作为框架二次开发不太方便
适用场景
- 探索性任务、个人使用
- 体验 Agent 能力
- 不适合生产环境产品
一句话评价
最有名的自主 Agent 概念验证产品,很酷但不够稳定,生产用慎重。
五、CrewAI:多 Agent 协作专家
是什么
专门做多 Agent 协作的框架,「角色 + 任务」的模式。
核心概念
- Agent(角色):定义角色、目标、背景故事、工具
- Task(任务):定义任务描述、预期输出、分配给哪个 Agent
- Crew(团队):一组 Agent + 一组任务,按顺序执行
- Process:执行流程(顺序、层级等)
示例代码感觉
python
# 定义角色
研究员 = Agent(role='资深研究员', goal='搜集资料', backstory='...', tools=[搜索])
撰稿人 = Agent(role='科技作者', goal='写文章', backstory='...')
# 定义任务
调研任务 = Task(description='调研AI Agent现状', agent=研究员)
写作任务 = Task(description='根据资料写综述', agent=撰稿人)
# 组队开工
团队 = Crew(agents=[研究员, 撰稿人], tasks=[调研任务, 写作任务])
结果 =团队.kickoff()
优势
- 多 Agent 最直观:角色+任务的模式,符合人类团队思维
- 上手简单:概念清晰,写起来像搭团队
- 专注多 Agent:这块做得比 LangChain 好用
- 支持多种协作模式:顺序、层级、共识
劣势
- 单 Agent 能力不如 LangChain
- 生态和工具支持不如 LangChain 全
- RAG 能力一般
适用场景
- 多角色协作的任务(内容生产、调研、软件开发团队)
- 流程化的多步骤任务
- 需要明确角色分工的场景
一句话评价
多 Agent 协作首选,角色任务模式清晰好用。单 Agent 场景不如 LangChain。
六、LangGraph:多 Agent 图编排
是什么
LangChain 官方出的多 Agent 编排框架,用「图」的方式定义 Agent 之间的流转。
核心思路
把 Agent 流程定义成状态机图:
- 节点:每个节点是一个 Agent 或操作
- 边:节点之间的流转条件
- 状态:共享的状态数据,在节点间传递
优势
- 灵活:任何复杂流程都能画成图
- 可控:每个节点、每条边都明确定义,可预测
- 跟 LangChain 生态无缝衔接
- 支持循环、条件分支、并行
- 流式输出和中断支持好
劣势
- 学习曲线:图状态机的概念需要理解一下
- 代码量比 CrewAI 多
- 相对新,文档和案例还在完善
适用场景
- 复杂的多 Agent 工作流
- 需要精细控制流程的生产环境
- 已经在用 LangChain 的项目
一句话评价
LangChain 官方的多 Agent 编排方案,灵活可控,复杂生产场景推荐。
七、其他值得提的框架
Dify / FastGPT
低代码 Agent 平台,可视化搭建,不用写代码。适合非技术人员或者快速做原型。
Haystack
偏企业级的搜索 + LLM 框架,欧洲那边用得多,RAG 做得也不错。
Semantic Kernel
微软出的,.NET 生态友好,C# 开发者可以关注。
BabyAGI
任务优先级管理的 Agent 框架,概念不错,比较早期。
八、横向对比表
| 框架 | 定位 | 强项 | 上手难度 | 生态 | 适合场景 |
|---|---|---|---|---|---|
| LangChain | 全能框架 | 功能全、工具多、Agent强 | 中等偏难 | 最大 | 通用 Agent 开发 |
| LlamaIndex | 数据连接 | RAG、文档处理 | 简单 | 较大 | 知识库问答为主 |
| AutoGPT | 自主Agent | 长任务自主执行 | 最简单(不用写代码) | 一般 | 探索、玩具 |
| CrewAI | 多Agent协作 | 角色任务模式、多Agent | 简单 | 中等 | 多角色团队协作 |
| LangGraph | 多Agent编排 | 图状态机、灵活可控 | 中等 | LangChain生态 | 复杂生产级工作流 |
九、选型建议
场景 1:做一个知识库问答(RAG 为主)
选 LlamaIndex。RAG 做得最专业,文档接入方便。如果后面要加 Agent 能力,也能加。
场景 2:做一个通用 Agent 应用(多工具、对话式)
选 LangChain。生态最全,工具最多,各种 Agent 模式都有,社区大问题好搜。
场景 3:多角色协作任务(比如写报告、做调研)
选 CrewAI。角色+任务的模式最直观,写起来舒服,多 Agent 协作体验好。
场景 4:复杂生产级多 Agent 工作流
选 LangGraph。灵活可控,状态机模式适合复杂流程,生产环境更稳。
场景 5:快速原型、不想写太多代码
选 Dify 这类低代码平台,拖拖拽拽就搭出来了。
场景 6:个人玩一玩、体验自主 Agent
AutoGPT 试试就行,别指望干正事。
我的建议
- 入门:先从 LangChain 开始,资料最多,学会了其他的都好迁移
- RAG 为主:LlamaIndex 更顺手
- 多 Agent:简单的用 CrewAI,复杂的用 LangGraph
- 生产环境:考虑稳定性和可维护性,LangChain + LangGraph 组合比较稳
十、框架不是全部
重要的事
框架只是工具,决定 Agent 效果的核心还是:
- Prompt 设计:系统提示词写得好不好
- 工具设计:工具描述清不清楚、参数合不合理
- RAG 质量:检索准不准、资料好不好
- 模型选择:用什么级别的模型
- 业务流程设计:Agent 的工作流是不是合理
框架帮你省掉重复代码,但核心的效果还是要靠设计和调优。
可以自研吗?
简单的 Agent 完全可以自己写,核心的 ReAct 循环也就几十行代码。好处是可控、轻量,坏处是各种边缘情况要自己处理。
建议:
- 简单场景 → 自己写,轻量可控
- 复杂场景 → 用框架,省时间
十一、本篇小结
- LangChain:最流行的全能框架,生态最大,功能最全,学习曲线稍陡
- LlamaIndex:RAG 专家,文档接入和检索做得最好,知识库问答首选
- AutoGPT:自主 Agent 代表,概念很酷,但不稳定,生产慎用
- CrewAI:多 Agent 协作首选,角色+任务模式直观,上手简单
- LangGraph:LangChain 官方图编排,灵活可控,复杂生产场景推荐
- 选型看场景:RAG 选 LlamaIndex,通用选 LangChain,多 Agent 简单用 CrewAI 复杂用 LangGraph
- 框架只是工具,核心效果还是看 Prompt、工具设计、RAG 质量和业务流程
下一篇讲 Agent 的评估与调试:Agent 效果怎么衡量、怎么调试、怎么定位问题。
我是黒漂技术佬。