Skip to content

Agent 框架选型指南:LangChain、CrewAI、AutoGPT 等

选框架不是选"最好的",而是选"最适合你的"。先明确需求,再看框架。

🤔 什么时候需要框架

不是所有 Agent 场景都需要框架:

场景是否需要框架原因
单工具 + 单模型直接用 API + Function Calling
多工具编排需要工具选择和流程管理
多 Agent 协作需要角色分配和通信机制
生产级部署需要监控、日志、错误处理
快速实验先用现成 Agent 工具(Claude Code 等)

简单原则:能用现成工具解决的,不要自己造框架。

📊 主流框架对比

1. LangChain / LangGraph

定位:最成熟的 Agent 开发框架,从链式调用到图式编排

核心特点

  • 丰富的工具生态(数百个集成)
  • LangGraph 支持复杂状态图
  • LangSmith 提供监控和调试
  • 社区最大,文档最全

适合

  • 需要丰富工具集成的项目
  • 需要复杂状态管理的 Agent
  • 企业级部署(有 LangSmith 监控)

不适合

  • 简单场景(过度抽象)
  • 追求极简代码(LangChain 层级多)

代码示例

python
from langchain.agents import AgentExecutor, create_react_agent
from langchain.tools import Tool
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4")
tools = [Tool(name="search", func=search_func, description="搜索网页")]
agent = create_react_agent(llm, tools, prompt_template)
executor = AgentExecutor(agent=agent, tools=tools)
result = executor.invoke({"input": "研究 MCP 协议生态"})

2. CrewAI

定位:多 Agent 协作框架,角色扮演式编排

核心特点

  • 每个 Agent 有明确角色和目标
  • 任务自动分配和协作
  • 支持顺序和并行执行
  • 简洁的 API 设计

适合

  • 多人协作场景(研究+写作+审查)
  • 角色明确的团队任务
  • 快速搭建多 Agent 系统

不适合

  • 单 Agent 场景(不需要多角色)
  • 需要复杂状态图(CrewAI 流程较简单)

代码示例

python
from crewai import Agent, Task, Crew

researcher = Agent(role="研究员", goal="搜集信息", backstory="资深研究员")
writer = Agent(role="作家", goal="写文章", backstory="专业作家")

research_task = Task(description="研究 MCP 协议", agent=researcher)
write_task = Task(description="写科普文章", agent=writer, context=[research_task])

crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])
result = crew.kickoff()

3. AutoGPT

定位:自主 Agent,目标驱动,最小人类干预

核心特点

  • 给一个目标,Agent 自己规划执行
  • 自动分解任务、选择工具
  • 持续迭代直到目标达成
  • 最早的自主 Agent 项目之一

适合

  • 探索性任务(目标明确但路径未知)
  • 实验和学习(理解自主 Agent 的边界)
  • 信息搜集和整理

不适合

  • 生产部署(自主性高,可控性低)
  • 高风险任务(错误代价大)
  • 需要精确控制的场景

4. MetaGPT

定位:模拟软件公司的多 Agent 系统

核心特点

  • Agent 模拟公司角色(产品经理、架构师、工程师、QA)
  • 输入一句话需求,输出完整项目
  • 标准化 SOP 流程
  • 生成设计文档、代码、测试

适合

  • 从需求到代码的全流程自动化
  • 学习多 Agent 协作的最佳实践
  • 快速原型生成

不适合

  • 非软件开发场景
  • 需要精细控制的开发任务

5. 其他值得关注

框架定位特点
Semantic Kernel微软出品.NET/Python/Java,企业级
PydanticAI类型安全Python,强类型验证
OpenAI Agents SDKOpenAI 官方轻量,与 OpenAI API 深度集成
SmolagentsHuggingFace极简,适合学习和实验
Agent ProtocolAI Engineer FoundationAgent 互操作标准

🆚 速查对比表

维度LangChainCrewAIAutoGPTMetaGPT
成熟度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
易用性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
灵活性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
多 Agent⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
监控⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
MCP 支持⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
社区规模最大中大
适合场景企业/复杂多角色协作探索/实验软件开发

🎯 选型决策树

你的需求是什么?

├── 单 Agent + 多工具
│   ├── 需要丰富工具生态 → LangChain
│   ├── 需要简单快速 → PydanticAI / OpenAI Agents SDK
│   └── 需要类型安全 → PydanticAI

├── 多 Agent 协作
│   ├── 角色明确、流程简单 → CrewAI
│   ├── 角色明确、流程复杂 → LangGraph
│   ├── 模拟软件公司 → MetaGPT
│   └── 完全自主 → AutoGPT

├── 生产部署
│   ├── 需要监控 → LangChain + LangSmith
│   ├── .NET 生态 → Semantic Kernel
│   └── 极简部署 → OpenAI Agents SDK

└── 学习和实验
│   ├── 理解 Agent 基础 → Smolagents
│   ├── 理解自主 Agent → AutoGPT
│   └── 理解多 Agent → CrewAI

⚠️ 选型常见误区

误区正确理解
"选最流行的"选最适合你场景的
"框架越复杂越好"简单场景用简单方案
"用了框架就不用把关"框架只是工具,人类仍需审查
"框架能解决所有问题"框架解决编排,不解决 LLM 质量
"一定要自己造 Agent"能用 Claude Code 等现成工具就先用

🔗 延伸阅读

MIT Licensed