首页 › AI Agent › Agent100道面试题 › 框架选型-frameworks/ › 主流 Agent 框架概览:LangChain、LlamaIndex、Haystack

主流 Agent 框架概览:LangChain、LlamaIndex、Haystack

难度:基础 分类:Frameworks​

简短回答​

2025 年 AI Agent 框架呈现三足鼎立格局:LangChain 是最全能的"瑞士军刀"——生态最大、功能最全、社区最活跃(GitHub 100k+ Stars),适合快速原型和复杂 Agent 编排,但抽象层多、学习曲线陡;LlamaIndex 是"数据专家"——专注于数据连接和 RAG,提供 160+ 数据源连接器,在检索场景下性能最优(检索速度最快),适合知识密集型应用;Haystack 是"生产派"——由 deepset 开发,Pipeline 架构清晰、模块化程度高,适合需要稳定运行的企业级生产部署。选择建议:快速原型+复杂 Agent → LangChain;数据密集型 RAG → LlamaIndex;生产稳定性优先 → Haystack。实际项目中三者并非互斥——LlamaIndex 可作为 LangChain 的检索后端,Haystack 的 Pipeline 可集成 LangChain 组件。2025 年新兴框架如 CrewAI(多 Agent 编排)、Semantic Kernel(微软企业级)、Agno(极速轻量)也在快速崛起。​

详细解析​

三大框架对比​

​

#uVIIsTgdTsxM text { white-space: pre; }#uVIIsTgdTsxM .fb0 { stroke: var(--N900-FG, 0.15); }#uVIIsTgdTsxM .fb0 {stroke: rgba(31,35,41, 0.15)}#uVIIsTgdTsxM .fx0 { stroke-miterlimit: 10; }#uVIIsTgdTsxM .fx0 {stroke-miterlimit: 10}#uVIIsTgdTsxM .fa1 { fill: rgb(187, 191, 196); }#uVIIsTgdTsxM .fa1 {fill: rgb(187, 191, 196)}#uVIIsTgdTsxM .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#uVIIsTgdTsxM .fx1 {font-style: normal}#uVIIsTgdTsxM .fx2 { text-anchor: middle; }#uVIIsTgdTsxM .fx2 {text-anchor: middle}#uVIIsTgdTsxM .fx3 { dominant-baseline: central; }#uVIIsTgdTsxM .fx3 {dominant-baseline: central}#uVIIsTgdTsxM .fx4 { stroke: none; }#uVIIsTgdTsxM .fx4 {stroke: none}#uVIIsTgdTsxM .fc0 { fill: var(--text-caption); }#uVIIsTgdTsxM .fc0 {fill: #646a73}#uVIIsTgdTsxM .fa2 { fill: var(--text-link-disabled); }#uVIIsTgdTsxM .fa2 {fill: rgb(187, 191, 196)}#uVIIsTgdTsxM .fx5 { font: 400 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#uVIIsTgdTsxM .fx5 {font-style: normal}#uVIIsTgdTsxM .fx6 { text-anchor: start; }#uVIIsTgdTsxM .fx6 {text-anchor: start}#uVIIsTgdTsxM .fx7 { dominant-baseline: alphabetic; }#uVIIsTgdTsxM .fx7 {dominant-baseline: alphabetic}#uVIIsTgdTsxM .fc1 { fill: rgb(0, 0, 0); }#uVIIsTgdTsxM .fc1 {fill: rgb(0, 0, 0)}#uVIIsTgdTsxM .fb1 { fill: var(--N900-FG, 0.15); }#uVIIsTgdTsxM .fb1 {fill: rgba(31,35,41, 0.15)}#uVIIsTgdTsxM .fb2 { fill: rgb(209, 217, 224); }#uVIIsTgdTsxM .fb2 {fill: rgb(209, 217, 224)}#uVIIsTgdTsxM .fa3 { fill: var(--bg-body); }#uVIIsTgdTsxM .fa3 {fill: #fff}ABCD1234567891011121314维度定位GitHub Stars(截至 2025 年)语言核心抽象Agent 能力RAG 能力生产就绪学习曲线灵活性数据连接器模型支持监控/追踪部署方式LangChain通用 LLM 编排100k+Python + TSChain/Agent/Tool★★★★★★★★★☆★★★☆☆陡峭极高多(社区驱动)最广泛LangSmithLangServeLlamaIndex数据+RAG 专家40k+Python + TSIndex/Query Engine★★★☆☆★★★★★★★★☆☆中等高160+ 官方广泛内置追踪自行部署Haystack生产级 NLP18k+PythonPipeline/Component★★★★☆★★★★☆★★★★★平缓中高少(精选)广泛Pipeline 日志Hayhooks API

​

LangChain 核心架构​

​

注意:LangChain 1.0 已 GA(2025-10),官方推荐使用 langchain.agents.create_agent 构建 Agent;旧版 create_tool_calling_agent + AgentExecutor 以及 LangGraph 的 create_react_agent 都已 deprecated。下方示例使用 1.0 API。​

​

​

代码块​

Python

# LangChain 1.0:create_agent + 中间件架构(推荐 2025-10+)​

from langchain.agents import create_agent​

from langchain_openai import ChatOpenAI​

from langchain_core.tools import tool​

​

# 定义工具​

@tool​

def search_database(query: str) -> str:​

"""搜索产品数据库"""​

return f"找到关于 {query} 的 3 条结果"​

​

LlamaIndex 核心架构​

​

代码块​

Python

# LlamaIndex:数据连接 + 索引 + 查询引擎​

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader​

from llama_index.core.agent import ReActAgent​

from llama_index.core.tools import QueryEngineTool​

​

# 加载数据并创建索引​

documents = SimpleDirectoryReader("./data").load_data()​

index = VectorStoreIndex.from_documents(documents)​

​

# 创建查询引擎​

query_engine = index.as_query_engine(similarity_top_k=5)​

​

# 将查询引擎包装为工具​

tool = QueryEngineTool.from_defaults(​

​

Haystack 核心架构​

​

代码块​

Python

# Haystack:Pipeline 架构——组件化 + 生产优先​

from haystack import Pipeline​

from haystack.components.generators import OpenAIGenerator​

from haystack.components.builders import PromptBuilder​

from haystack.components.retrievers.in_memory import InMemoryBM25Retriever​

​

# 定义 Pipeline(DAG 结构)​

pipeline = Pipeline()​

pipeline.add_component("retriever", InMemoryBM25Retriever(document_store=store))​

pipeline.add_component("prompt", PromptBuilder(template=template))​

pipeline.add_component("llm", OpenAIGenerator(model="gpt-4o"))​

​

# 连接组件​

pipeline.connect("retriever", "prompt")​

pipeline.connect("prompt", "llm")​

​

# 运行​

result = pipeline.run({"retriever": {"query": "什么是 RAG?"}})​

​

选择决策树​

​

代码块​

Plain Text

​

常见误区 / 面试追问​

误区:"LangChain 是唯一选择" — LangChain 生态最大但不一定最适合。对于 RAG 专项任务,LlamaIndex 更专业;对于生产稳定性,Haystack 更成熟。框架选择应该基于具体需求,而非社区热度。​

误区:"框架越全能越好" — 全能框架意味着更多抽象层和更高复杂度。如果只需要一个 RAG Pipeline,使用 LangChain 全家桶就是杀鸡用牛刀。选择最小够用的框架可以降低维护成本。​

追问:"这些框架可以混用吗?" — 可以,且推荐。典型组合:LlamaIndex 处理数据索引和检索 → LangChain/LangGraph 编排 Agent 逻辑 → Haystack Pipeline 处理特定流程。框架间通常通过工具接口互操作。​

追问:"2025 年有什么新兴框架值得关注?" — (1) CrewAI:多 Agent 角色扮演,简单直观;(2) Agno:号称最快的 Agent 框架,模型无关;(3) Semantic Kernel:微软出品,企业级 .NET/Python 支持;(4) Google ADK:Google Agent Development Kit,集成 Gemini 生态;(5) OpenAI Agents SDK:轻量级,原生 OpenAI 集成。​