TL;DR:做 AI Agent 该用哪个框架?LangChain 全家桶、LlamaIndex 检索专精、AutoGen 多 Agent 对话、CrewAI 角色扮演协作。本文从设计哲学、适用场景、代码示例、性能四个维度对比,帮你选对框架。

1. 先说结论

🔧 LangChain

定位:通用 AI 应用框架

适合:从原型到生产的全链路

学习曲线:

📚 LlamaIndex

定位:数据检索 / RAG 专精

适合:知识库 / 文档问答

学习曲线:

💬 AutoGen

定位:多 Agent 协作对话

适合:复杂任务分解

学习曲线:

🎭 CrewAI

定位:角色扮演式 Agent 团队

适合:业务流程自动化

学习曲线:

2. LangChain:全家桶式框架

2.1 设计哲学

LangChain 的核心是「链(Chain)」:把 LLM 调用、工具、数据源串成流水线。

Python - LangChain 构建一个 Agent

from langchain_openai import ChatOpenAI
from langchain.agents import create_openai_tools_agent, AgentExecutor
from langchain.tools import tool
from langchain_core.prompts import ChatPromptTemplate

# 定义工具
def search_web(query: str) -> str:
    """搜索互联网"""
    return f"关于 '{query}' 的搜索结果..."

# 创建 Agent
llm = ChatOpenAI(model="gpt-4o", temperature=0)
tools = [search_web]

prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个有用的助手"),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}")
])

agent = create_openai_tools_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

result = executor.invoke({"input": "今天有什么AI新闻?"})
print(result["output"])

2.2 优点与缺点

优点 缺点
生态 最丰富(100+ 集成) 版本变动频繁
文档 齐全 有时过于复杂
适用 几乎所有场景 简单任务杀鸡用牛刀

3. LlamaIndex:检索增强专精

3.1 设计哲学

LlamaIndex 专注一件事:把你的数据接入 LLM。索引、检索、RAG 是它的强项。

Python - LlamaIndex RAG

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.llms.openai import OpenAI

# 加载文档
documents = SimpleDirectoryReader("./data").load_data()

# 创建索引
index = VectorStoreIndex.from_documents(
    documents,
    embed_model=OpenAIEmbedding(model="text-embedding-3-small")
)

# 查询引擎
query_engine = index.as_query_engine(
    llm=OpenAI(model="gpt-4o"),
    similarity_top_k=5
)

response = query_engine.query("公司报销流程是什么?")
print(response)

3.2 适用场景

  • 企业知识库问答
  • 文档检索 / 摘要
  • 私有数据接入 LLM

4. AutoGen:多 Agent 对话协作

4.1 设计哲学

AutoGen 让多个 Agent 互相对话完成任务。一个写代码,一个审查,一个执行。

Python - AutoGen 多 Agent

import autogen

config = {
    "model": "gpt-4o",
    "api_key": "your-key"
}

# 定义两个 Agent
coder = autogen.AssistantAgent(
    name="coder",
    llm_config=config,
    system_message="你是一个 Python 专家,负责写代码"
)

reviewer = autogen.AssistantAgent(
    name="reviewer",
    llm_config=config,
    system_message="你是一个代码审查专家,负责检查代码质量和 Bug"
)

user = autogen.UserProxyAgent(
    name="user",
    code_execution_config={"work_dir": "coding"},
    human_input_mode="NEVER"
)

# 启动对话
user.initiate_chat(
    coder,
    message="用 Python 写一个快速排序,并测试它"
)

4.2 适用场景

  • 代码生成 + 自动执行
  • 复杂任务多角色分解
  • 研究实验 / 原型验证

5. CrewAI:角色扮演式团队

5.1 设计哲学

CrewAI 用「角色 + 任务 + 流程」组织 Agent。像组建一个团队:CEO、分析师、执行者。

Python - CrewAI 团队

from crewai import Agent, Task, Crew

# 定义角色
researcher = Agent(
    role="市场研究分析师",
    goal="深入分析 AI 编程工具市场",
    backstory="你有多年的技术市场分析经验",
    llm="gpt-4o"
)

writer = Agent(
    role="技术内容作者",
    goal="把研究结果写成一篇博客",
    backstory="你擅长把技术内容写得更易读",
    llm="gpt-4o"
)

# 定义任务
research_task = Task(
    description="调研 Cursor、Copilot、AtomCode 的优缺点",
    agent=researcher,
    expected_output="一份对比分析报告"
)

write_task = Task(
    description="基于报告写一篇 2000 字博客",
    agent=writer,
    context=[research_task],
    expected_output="一篇完整博客文章"
)

# 组建团队并执行
crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])
result = crew.kickoff()
print(result)

5.2 适用场景

  • 内容生产流水线
  • 业务流程自动化
  • 多步骤协作任务

6. 四维对比

维度 LangChain LlamaIndex AutoGen CrewAI
核心能力 全链路 检索/RAG 多 Agent 对话 角色协作
上手难度 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
生产成熟度 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐
社区活跃 最高
代码量(同任务)
调试难度

7. 选型决策树

做知识库 / 文档问答? → LlamaIndex

做多 Agent 自动协作(写代码+执行)? → AutoGen

做内容流水线 / 业务流程? → CrewAI

通用 AI 应用,从原型到生产? → LangChain

不确定 / 学习阶段? → 从 LangChain 开始,需要 RAG 时引入 LlamaIndex

8. 组合使用建议

实际项目中框架可以组合:

  • LangChain + LlamaIndex:LangChain 做编排,LlamaIndex 做检索
  • LangGraph + AutoGen:LangGraph 定义流程,AutoGen 执行多 Agent 对话
  • CrewAI + LangChain:CrewAI 定义团队,底层用 LangChain 工具

我的推荐:新手从 LangChain 入手(生态全、资料多);做 RAG 项目用 LlamaIndex(更专注);做自动化协作用 CrewAI(代码最少);做实验性多 Agent 用 AutoGen(对话模型最灵活)。

9. 总结

框架 一句话定位 选它
LangChain AI 应用瑞士军刀 通用场景、要生产落地
LlamaIndex 数据检索专家 知识库、RAG 问答
AutoGen 多 Agent 对话引擎 代码生成、实验研究
CrewAI 角色扮演团队 内容生产、流程自动化

框架只是工具。真正决定成败的是:你对任务的理解、Prompt 的质量、数据准备的充分程度

如果对你有帮助,欢迎在评论区聊聊你用的 Agent 框架。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐