2026 AI框架对决:LangChain vs LlamaIndex vs CrewAI vs DSPy

·阅读约17分钟·Evergreen Tools Team

💡 工具推荐评估框架时,用 Evergreen Tools 的 API测试器 调试各家模型端点、Token计算器 估算多代理消息成本、JSON格式化 检查输出结构!

2026 年选 LLM 框架,最常犯的错误是把四个完全不同的工具放在同一张对比表里。LangChain、LlamaIndex、CrewAI、DSPy 虽然都被叫做「AI 框架」,但解决的问题完全不同:LangChain 是链式编排的默认选择,LlamaIndex 是 RAG 专家,CrewAI 让你组建代理团队,DSPy 把提示词变成可编译程序。PE Collective 的 2026 年开发者工具评测对这四个框架做了逐一拆解,本文用四个最小示例还原它们的真实定位,并给出选型决策清单。

框架选型与团队

四个工具箱,四种问题

一、LangChain:生态最庞大的默认选择

LangChain 依然是按 GitHub star 与 npm 下载量计算的最流行 AI 框架。它的杀手锏是生态:几乎每个向量数据库、每个 LLM 提供商、每个文档加载器都有集成。代码示例1 用 LCEL(LangChain Expression Language)的管道操作符把提示模板和模型串成一条链——声明式、可读、好测试。LangGraph(构建其上的代理框架)负责复杂工作流,LangSmith 提供生产监控与评估。但 PE Collective 也指出它的缺点:抽象层对简单场景显得过度,API 在版本间变化大,半年前的教程可能已经失效。

# langchain_min.py — the default choice for chain orchestration
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate

llm = ChatOpenAI(model="gpt-5.6-luna", temperature=0.2)

prompt = ChatPromptTemplate.from_messages([
    ("system", "You are a terse release-note writer."),
    ("human", "Write release notes for: {changes}"),
])

chain = prompt | llm   # LCEL: pipe operators compose the chain

result = chain.invoke({"changes": "Adds OAuth, bumps SDK, refactors auth.ts"})
print(result.content)
# LangChain's superpower is the ecosystem: every vector DB, every provider,
# every document loader has an integration. That breadth is also its tax.

二、LlamaIndex:RAG 重度应用的首选

LlamaIndex 从 RAG 专用框架起家,2026 年已经扩展成通用 LLM 应用工具包,但检索仍是它的主场。代码示例2 展示了它的核心体验:加载文档、切块、索引、查询,几行代码完成。混合检索、重排序、递归检索等高级策略内建支持;托管服务 LlamaCloud 处理大规模文档解析与索引。如果你做的应用「检索就是核心功能」,LlamaIndex 会比 LangChain 更顺手。它的短板是非 RAG 场景相对不成熟,代理框架不如 LangGraph 完善。

# llamaindex_rag.py — retrieval is the whole point
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.core.node_parser import SentenceSplitter

# Load, chunk, embed, and index in a few lines
docs = SimpleDirectoryReader("./docs").load_data()
parser = SentenceSplitter(chunk_size=512, chunk_overlap=64)
nodes = parser.get_nodes_from_documents(docs)

index = VectorStoreIndex.from_documents(docs)  # hybrid search + rerank ready
query_engine = index.as_query_engine(similarity_top_k=4)

answer = query_engine.query("How does our auth flow handle token refresh?")
print(answer)
# LlamaIndex is the RAG specialist: chunking, indexing, hybrid search,
# and reranking pipelines are more intuitive than LangChain's equivalents.

三、CrewAI:组建代理团队而非链式调用

CrewAI 的思路完全不同:不搭链,而是组建一组协作完成任务的 AI 代理。代码示例3 定义了 Researcher 和 Writer 两个角色,各自带工具与目标,由 Crew 编排顺序执行。对能自然分解为专业子任务的工作流,这种多代理模式比提示词链更直观、更容易上手。PE Collective 提醒两个代价:代理之间互发消息都会消耗上下文,token 成本可能失控;对简单线性流程,多代理是过度设计。

# crewai_agents.py — build a team of agents, not a chain
from crewai import Agent, Task, Crew, Process

researcher = Agent(role="Researcher", goal="Find API pricing facts",
                   backstory="You read docs carefully.", tools=[web_search])
writer = Agent(role="Writer", goal="Turn facts into crisp copy",
               backstory="You write like a senior PM.")

research = Task(description="Compare 2026 API pricing for 3 vendors",
                agent=researcher, expected_output="A table of prices")
draft = Task(description="Write a 200-word comparison", agent=writer,
             expected_output="A publishable paragraph")

crew = Crew(agents=[researcher, writer], tasks=[research, draft],
            process=Process.sequential)
result = crew.kickoff()
# The multi-agent model is intuitive when work decomposes into roles,
# but watch token costs: agents exchanging messages all consume context.

四、DSPy:面向优化型团队的编程式提示

DSPy 是四个框架里的「反主流选择」:不写提示词字符串,而是声明 Signature、组装 Module、用 Optimizer 自动优化。代码示例4 展示了一个对比定价的模块,配合评估集编译后,提示质量超过手写。它的编程模型干净、可组合,评估驱动开发内建在工作流里——但对没有 ML 背景的团队,学习曲线陡峭。PE Collective 的评价很直接:适合优化型团队,回报独特但门槛真实。

# dspy_min.py — prompts as programs, optimized by the framework
import dspy

lm = dspy.LM("openai/gpt-5.6-luna")
dspy.configure(lm=lm)

class ComparePricing(dspy.Signature):
    """Compare three API vendors on price and limits."""
    vendors: str = dspy.InputField()
    table: str = dspy.OutputField()

class PricingCompare(dspy.Module):
    def __init__(self):
        super().__init__()
        self.compare = dspy.ChainOfThought(ComparePricing)

    def forward(self, vendors: str) -> str:
        return self.compare(vendors=vendors).table

# Compile with an evaluation set and MIPROv2 finds better prompts
# than you would hand-write. Eval-driven by design.
program = PricingCompare()
print(program("OpenAI, Anthropic, Google 2026 pricing"))

五、决策清单:你该用哪个

2026 年的务实选型逻辑:默认选 LangChain,除非有明确理由不选;检索是核心功能选 LlamaIndex;任务能自然分解为专业角色选 CrewAI;团队有 ML 背景且追求提示自动优化选 DSPy。PE Collective 还给出了一条重要建议:不要为了用工具而用工具——最小可行栈起步,只有遇到真实瓶颈再增加复杂度。聊天/内容工具只需要 LLM API 加一个编码助手;RAG 应用用 LlamaIndex 加向量库;多代理系统用 CrewAI 或 LangGraph 编排。

六、总结

四个框架不是竞品,而是四个工具箱。LangChain 提供最广的生态与链式编排,LlamaIndex 统治 RAG 管道,CrewAI 把多代理变成可读的团队模型,DSPy 用编译器思维重构提示工程。先想清楚你的核心问题——编排、检索、协作还是优化——再选框架。最好的栈是你真正能交付的栈。

最小可行栈

最好的栈是你真正交付的栈

📌 常见问题 FAQ

2026 年应该默认选哪个 AI 框架?

PE Collective 的建议是默认选 LangChain:生态最大、教程最多、几乎什么都能做。除非你有明确理由(RAG 核心用 LlamaIndex、多代理用 CrewAI、提示自动优化用 DSPy)。

LlamaIndex 和 LangChain 有什么区别?

LangChain 是通用编排框架,胜在生态广度;LlamaIndex 是 RAG 专家,文档加载、切块、混合检索、重排序的管道更直观。检索是核心功能时选 LlamaIndex。

CrewAI 的多代理模式有什么代价?

代理之间交换消息都会消耗上下文,token 成本可能螺旋上升;对简单线性流程属于过度设计。适合能自然分解为专业子任务的工作流。

DSPy 适合什么样的团队?

有 ML 背景、追求提示自动优化与评估驱动开发的团队。学习曲线陡峭,但 MIPROv2 等优化器在困难任务上能带来 10-30 个百分点的提示质量提升。

可以混用这些框架吗?

可以。常见组合:LlamaIndex 做检索 + LangGraph 做编排,或 CrewAI 编排 + 任意框架做子任务。框架之间模块化程度高,切换成本可控。