Skip to content

LangChain/LlamaIndex 应用框架

LangChain 和 LlamaIndex 是构建 LLM 应用的两大主流开源框架——前者以通用编排与 Agent(智能体)见长,后者以 RAG(Retrieval-Augmented Generation,检索增强生成:先从外部知识库检索相关资料,再让模型基于资料作答,从而降低幻觉、让数据可随时更新)为核心。本页对比两者的架构设计,拆解 RAG pipeline 的完整构建流程与生产部署最佳实践,并覆盖 2025-2026 年框架向 Agent 化、Deep Agents(深度智能体)演进的新趋势。前置阅读:RAG 检索增强生成。

当你要把 LLM 做成真实产品(不只是调 API 聊天),会面对一堆工程问题:怎么接数据源、怎么做记忆、怎么调工具、怎么编排多步推理、怎么做可观测。LangChain 和 LlamaIndex 就是帮你解决这些”胶水”问题的应用框架。

  • LangChain:通用 LLM 应用框架,核心抽象是 Chain(链式调用)、Agent(智能体)、Memory(记忆)、Tools(工具)。定位”LLM 应用的瑞士军刀”——什么都能做,灵活但偏复杂。配套生态包括 LangGraph(把 Agent 工作流建模为状态图,截至 2026 年月下载量超过 6500 万)、LangSmith(追踪、评估与运维平台)、以及 2025-2026 年主推的 Deep Agents(一种精简的 Agent 运行壳/harness,专注于上下文工程)。公司 LangChain Inc. 已累计融资超 6000 万美元,商业模式从纯开源转向”开源框架 + LangSmith SaaS 订阅”双轮驱动。
  • LlamaIndex:数据框架,核心是 RAG 优先——把”让 LLM 接入你的私有数据”做到极致。提供丰富的数据连接器、索引结构、检索策略,以及商业产品 LlamaParse(高精度文档解析,尤其擅长 PDF 表格/版式还原)与 LlamaExtract(结构化抽取)。公司 LlamaIndex Inc.(原名 GPT Index)已获知名 VC 领投的 A 轮融资,定位”企业数据→AI 的中间层”。

一句话区分:要做复杂 Agent 编排选 LangChain,要做高质量 RAG 选 LlamaIndex。实际项目中两者常互补使用——用 LlamaIndex 做数据接入与高质量检索,用 LangGraph 做 Agent 流程编排。

为什么需要框架? 直接调 OpenAI/Anthropic API 也能聊天,但真实产品要处理文档加载、分块、向量检索、多轮记忆、工具调用、流式返回、错误重试、成本追踪等几十个环节。框架把这些环节抽象成可复用、可组合的组件,让你站在巨人肩膀上。代价是要学习框架自己的抽象与概念——这是初学者常觉得”框架很重”的根源。

LangChain 用”可组合的链”来编排 LLM 应用:

核心组件:

  • Chain(链):把 Prompt + LLM + 解析器串联成一个可复用单元,如早期的 LLMChain。新一代用 LCEL(LangChain Expression Language) 用管道符 | 组合,声明式、支持流式与异步。
  • LangGraph(状态图):把 Agent 工作流建模为”节点 + 边”的有向图,节点可以是确定性代码、单次 LLM 调用、工具调用,甚至一整个子 Agent;边可以是确定性的,也可以是条件分支。这是 LangChain 目前主推的 Agent 编排方式,详见下文与 Agent 模式。
  • Deep Agents(深度智能体):2025 年推出的轻量 Agent 运行壳(harness),核心思想是”上下文工程”(context engineering)——模型能力再强,效果取决于你塞进 Prompt 的上下文质量。Deep Agents 把文件系统、待办清单、上下文摘要等做成内置中间件,让模型自主管理长程任务的上下文。2026 年 7 月发布的 v0.7 把基础 Prompt 砍掉了 65%(约 6k → 2k token),性能不降、成本更低。
  • Memory(记忆):管理多轮对话上下文(缓冲、摘要、向量检索)。详见下文与 记忆系统。
  • Agent(智能体):让 LLM 自主决定调用哪些工具、何时调用。详见 AI Agent。
  • Tools(工具):封装搜索、数据库查询、API 调用等外部能力,供 Agent 调用,详见 MCP 与工具调用。

术语:harness(运行壳)。指包裹在模型外面的那层代码——负责组装系统提示词、管理工具、维护上下文窗口、执行循环。同样的模型,换个 harness 可能效果天差地别。Deep Agents、Claude Code、Cursor 的 Agent 都是不同 harness。

LlamaIndex 围绕”数据→索引→查询”设计:

LlamaIndex 的强项是索引结构丰富(向量索引、树索引、关键词索引、知识图谱索引)和检索策略多样,适合对检索质量要求高的场景。2025 年起,LlamaIndex 也全面拥抱 Agentic RAG(智能体化 RAG)——不再是”检索一次就生成”,而是让 Agent 自主决定要不要检索、检索几次、要不要换查询词、要不要跨多个数据源,把 RAG 变成 Agent 工作流的一环。

术语:Agentic RAG(智能体化检索增强生成)。传统 RAG 是固定的”查询→检索→生成”流水线;Agentic RAG 让 LLM 像人类查资料一样:先判断需不需要查、查哪个库、查到的够不够、要不要换个关键词再查、要不要对照多个来源交叉验证。它用更高的灵活性和 token 消耗,换来更复杂问题的正确率。

无论用哪个框架,高质量 RAG 都遵循同一条 pipeline,每一步都决定最终效果:

  1. 文档加载:用 Loader 读取 PDF、Word、网页、数据库、Notion 等数据源。LlamaIndex 的 LlamaHub 内置 100+ 数据连接器;商业版 LlamaParse 对复杂 PDF(表格、多栏、公式)的解析质量显著高于开源方案。
  2. 分块(Chunking):把长文档切成适合嵌入的小块。策略很关键——按固定字数切会割裂语义,推荐按句子/段落切,或用语义分块(semantic chunking,按语义边界切分)。块大小通常 256-512 token(token 是模型处理文本的最小单位,约等于一个词或几个汉字)。
  3. 嵌入(Embedding):用嵌入模型把文本块编码成高维向量(例如 1024 维的浮点数数组),使语义相近的文本在向量空间里距离也近。中文推荐 BGE 系列、英文推荐 OpenAI 的 text-embedding-3。原理见嵌入模型。
  4. 向量存储:存入向量数据库(Chroma、FAISS、Milvus、Pinecone、Qdrant)。详见向量数据库。
  5. 检索:用户提问编码成向量,从向量库找最相关的 top-k 文档块。
  6. 重排(Reranking):用交叉编码器(cross-encoder,一种把”查询+文档”一起送进模型打分的模型,比向量余弦相似度更准但更慢)对检索结果重新打分排序,大幅提升相关性。详见重排模型。
  7. 生成:把检索到的文档块拼进 Prompt,让 LLM 基于文档回答。

每一步的深入原理见 RAG 检索增强生成与检索方法。RAG 是当前 LLM 落地最成熟的模式——因为它让模型”查资料再回答”,幻觉(hallucination,指模型一本正经地编造不存在的事实)大幅降低,且数据可随时更新无需重训模型。

进阶:GraphRAG 与混合检索。 当知识之间存在复杂关系(人物-事件-组织),纯向量检索不够,可以用 GraphRAG 把知识组织成图再检索(见 GraphRAG)。生产系统常把向量检索与 BM25 关键词检索做混合检索(hybrid search),兼顾语义匹配和精确匹配,详见 AI 搜索。

多轮对话需要记忆管理。LangChain/LlamaIndex 提供多种策略,详见 记忆系统:

  • ConversationBufferMemory:原封不动存全部历史(简单但爆窗口,即超过模型最大上下文长度)。
  • ConversationSummaryMemory:用 LLM 把历史压缩成摘要(省 token 但有信息损失)。
  • VectorStoreRetrieverMemory:把历史存向量库,按相关性检索(长期记忆,见 PI Agent 的同款技术)。
  • 滑动窗口 / Token 缓冲:只保留最近 N 轮或最近 N 个 token,平衡成本与上下文。
  • Deep Agents 的 SummarizationMiddleware:当对话占用超过上下文窗口的 85%(可配置)时自动触发 LLM 摘要,v0.7 起可自定义摘要提示词和触发阈值,避免”上下文腐烂”(context rot,塞太多无关内容反而让模型表现下降)。

随着模型上下文窗口从早期的 4K token 扩展到百万级(Gemini、Claude),业界焦点从”prompt engineering(提示词工程)“转向 context engineering(上下文工程)——问题不再是”怎么写一句好提示词”,而是”在有限的上下文窗口里,该放什么、不该放什么、什么时候该总结、什么时候该清理”。这正是 LangChain Deep Agents 的设计哲学,详见 上下文工程。

核心实践包括:

  • 该放什么:当前任务必需的指令、相关文档、工具定义、必要的对话历史。无关内容会挤占窗口、稀释信号。
  • 工具描述要精炼:Deep Agents v0.7 把内置工具描述精简了 43%,发现”好的工具接口定义(schema)比 few-shot 示例更有效”——模型看接口签名就能学会怎么用。
  • 别重复:在系统提示词和工具描述里重复同一条指令并不增强效果,反而浪费 token。
  • 该清理什么:用摘要中间件把久远的历史压扁,用文件系统把中间产物落盘而不是一直塞在上下文里。
场景推荐原因
复杂 Agent(多工具、多步推理、需人审)LangChain + LangGraph状态图编排、条件分支、人机协作(human-in-the-loop)支持成熟
高质量文档问答(RAG)LlamaIndex索引结构丰富、检索策略精细、LlamaParse 解析强
深度研究 / 长程自主任务LangChain Deep Agents内置文件系统、摘要、待办,专为长程任务设计
简单 RAG 原型均可都能快速搞定
多模态数据(图+文+表格)LlamaIndex多模态索引、Agentic Document Workflows 支持更好
结构化数据抽取(PDF→JSON)LlamaIndexLlamaExtract 专为结构化抽取设计
生产级可观测LangChainLangSmith 追踪、评估、LLM Gateway 生态最成熟

实际上两者底层都调用 HuggingFace/模型 API,且都在互相借鉴——LangChain 加了 RAG 能力,LlamaIndex 加了 Agent 与 Workflow 能力(llama-deploy、Workflows)。

选型务实建议:如果你是第一次做 LLM 应用,先用 LlamaIndex 的 30 行代码跑通一个 RAG demo,理解 pipeline;等你遇到”需要多步推理、需要让模型自己决定调哪个工具”的复杂场景,再引入 LangGraph。不要一上来就上全家桶——框架的抽象债(abstraction debt)是真实存在的。

用 LlamaIndex 构建一个最小 RAG 系统——加载文档、建索引、提问,十几行代码跑通完整 pipeline:

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
# 1. 加载文档(把 .txt/.pdf 放进 ./data 目录)
docs = SimpleDirectoryReader("./data").load_data()
# 2. 自动完成:分块 → 嵌入 → 建向量索引
index = VectorStoreIndex.from_documents(docs)
# 3. 创建查询引擎(默认带检索 + 生成)
query_engine = index.as_query_engine(similarity_top_k=3)
# 4. 提问——会检索相关文档再用 LLM 回答
answer = query_engine.query("这份文档的核心观点是什么?")
print(answer.response)

这段代码自动完成了分块、嵌入、建索引、检索、生成全流程。生产环境还要加重排(reranker)、自定义嵌入模型、更换向量库、调分块策略。检索与重排原理见 RAG与重排。

对应的 LangChain 写法也类似——DocumentLoader → TextSplitter → Embeddings → VectorStore → RetrievalQA,体现的是同样的 pipeline。而如果用 LangGraph + Deep Agents 搭一个能自主检索的 Agent,代码结构会是:定义工具(其中包含一个检索工具)→ 用 create_deep_agent 创建 Agent → Agent 在推理循环中自己决定何时检索:

from deepagents import create_deep_agent
from langchain.tools import tool
@tool
def search_knowledge_base(query: str) -> str:
"""在公司知识库中检索相关信息并返回。"""
# 这里接入你的向量检索逻辑
return retriever.invoke(query)
agent = create_deep_agent(
model="anthropic:claude-sonnet-5",
tools=[search_knowledge_base],
)
result = agent.invoke({"messages": [{"role": "user", "content": "我们公司的报销流程是什么?"}]})

从原型到生产,RAG/Agent 应用要做这些升级:

  • 检索质量优化:加重排模型(cross-encoder)、混合检索(向量 + 关键词 BM25)、查询改写(让 LLM 把口语问题改成检索友好的关键词,或用 HyDE 技术让模型先”假想”一个答案再去检索)。详见重排模型与检索方法。
  • 分块策略调优:别用固定字数切,用语义分块或父子块(parent-child chunk)策略,兼顾检索粒度和上下文完整性。
  • 流式输出:LLM 回答要流式返回(逐字/逐词吐出,而非等整段生成完才返回),大幅改善用户感知延迟。详见流式输出。
  • 结构化输出:需要从回答中提取字段时,用 function calling / JSON mode 强制结构化。详见结构化输出与受限解码。
  • 护栏与引用溯源:限制 LLM 只基于检索到的文档回答(防幻觉),并标注引用来源。详见安全护栏与安全对齐。
  • 可观测性:用 LangSmith / Langfuse 追踪每次检索和生成,定位”为什么答错了”。2026 年 LangSmith 还推出了 LLM Gateway(模型网关),统一管理多模型路由、成本控制、缓存、限流,把可观测升级为”运行时控制”。
  • 缓存:对相同/相似问题缓存回答(语义缓存),降低成本和延迟。
  • 评估闭环:搭一套自动化评估(用 LLM 当裁判打分、用标注好的测试集回归),每次改动都跑 eval,避免”改好一个 case、弄坏一堆”。详见 LLM 评估。

生产 RAG/Agent 的成本主要由三部分构成,需要分别优化:

成本来源典型占比优化手段
检索(嵌入 + 向量查询)10-20%批量嵌入、本地嵌入模型(如 BGE)、缓存查询向量
生成(LLM 调用)60-80%用更小/更便宜的模型做简单步骤、prompt 精简、prompt caching、语义缓存
重排 + 查询改写5-15%对 top-k 做有上限的重排、缓存查询改写结果

Prompt Caching(提示词缓存):Anthropic、OpenAI 等厂商支持把重复出现的 Prompt 前缀缓存起来,后续命中缓存的部分按极低费率计费。RAG 场景里系统提示词和长文档前缀高度重复,开启后可省 50%+ 的输入 token 成本。Deep Agents v0.7 也内置了 prompt caching TTL 配置。

  • 企业知识库问答:把公司文档、Wiki、手册做成 RAG,员工自然语言查询。最经典的 LLM 落地场景。LangChain 自己的案例库中,Apollo(销售科技)、Similarweb(市场研究)都用 Deep Agents + LangSmith 重建了内部知识助手。
  • 智能客服:基于产品文档 + 历史工单的问答机器人,替代传统规则客服。
  • 法律/医疗文献助手:检索海量专业文献辅助决策,必须配合高准确率检索 + 引用溯源。
  • Agent 工作流:用 LangGraph 编排”搜索→分析→决策→执行”的多步 Agent,如自动化数据分析助手、文档自动化(Slack 需求 → 直接产出待审核 PR)。
  • 个人知识管理:把笔记、收藏做成可对话的”第二大脑”(如 Obsidian + AI 插件)。
  • 深度研究助手:Deep Agents 的典型场景——自主规划、多轮搜索、交叉验证、生成长篇报告(类似 OpenAI Deep Research / GPT Researcher)。

LLM 应用框架领域在 2025-2026 经历了一次范式迁移:从”RAG 流水线”走向”Agent 编排”,从”提示词工程”走向”上下文工程”。

LangChain 方面:

  • LangGraph 成为主推:月下载量超 6500 万,成为构建可靠 Agent 的事实标准。其核心洞见是”Agent 图通常不是 DAG”(有向无环图)——真实 Agent 需要循环、重试、人机交互,因此 LangGraph 原生支持循环、条件边、动态路由(Send 机制实现 map-reduce)。
  • Deep Agents 发布并快速迭代:2025 年推出的轻量 Agent 运行壳,把文件系统、待办清单、上下文摘要做成可插拔中间件。2026 年 7 月的 v0.7 通过精简基础提示词(-65%)和工具描述(-43%),在不降性能的前提下大幅降本;支持自定义中间件、覆盖内置默认行为。
  • LangSmith 升级为 Agent 工程平台:从单纯的追踪工具扩展为”可观测 + 评估 + LLM Gateway(模型路由/成本/限流)+ 一键部署”的完整平台。LangChain 与 NVIDIA 合作推出 NemoClaw Deep Agents Blueprint,进军企业级部署。
  • 模型支持跟进:langchain-anthropic 已支持 Claude Opus 5;langchain-openai 支持 GPT-5 系列及 LangSmith Gateway 环境变量路由。

LlamaIndex 方面:

  • Agentic Document Workflows:把文档处理从”一次性解析”升级为”Agent 驱动”——Agent 可以反复阅读、跳转、交叉引用复杂文档,适合财报、合同、技术手册等。
  • LlamaParse / LlamaExtract 成熟:LlamaParse 成为复杂 PDF 解析的标杆产品;LlamaExtract 面向结构化数据抽取(PDF → JSON),支持定义 schema 自动抽取。
  • 拥抱 MCP:支持 Model Context Protocol(Anthropic 主推的模型-工具标准协议,见 MCP 与工具调用),让 LlamaIndex Agent 能接入更广泛的工具生态。
  • Workflows + llama-deploy:提供比纯 RAG 更灵活的事件驱动工作流引擎,并支持分布式部署。

竞争格局: 除 LangChain/LlamaIndex 外,Haystack(deepset 出品,企业级、搜索导向,已获 Siemens、BMW 等大客户)仍是欧洲市场的重要玩家;CrewAI / AutoGen / OpenAI Agents SDK 等多 Agent 框架在 Agent 编排赛道分流;Dify / Flowise / n8n 等低代码/无代码平台降低了非开发者的上手门槛。趋势是:框架层在收敛和标准化(MCP、统一的 Agent 接口),而差异化竞争上移到评估、运维、行业方案。

框架 / 工具类型说明
LangChain应用框架通用 LLM 框架,Chain/Agent/Memory/Tools
LangGraph编排框架状态图编排,支持循环/条件/动态路由,复杂 Agent 工作流首选
Deep AgentsAgent 运行壳LangChain 出品的轻量 harness,专注上下文工程与长程任务
LangSmith可观测 + 平台追踪、评估、LLM Gateway、一键部署
LlamaIndex数据框架RAG 优先,索引结构丰富、检索精细
LlamaParse文档解析高精度 PDF/表格解析(商业产品)
LlamaExtract结构化抽取PDF/文档 → 结构化 JSON
Haystack应用框架deepset 出品,RAG 与搜索导向,企业级
CrewAI / AutoGen多 Agent 框架多 Agent 协作编排
Dify / Flowise低代码可视化拖拽搭建 LLM 应用
术语英文解释
链ChainLangChain 中串联 Prompt + LLM + 解析器的可复用单元
智能体Agent能自主选择和调用工具的 LLM 运行模式
深度智能体Deep Agents轻量 Agent 运行壳,内置文件系统/摘要/待办等上下文管理中间件
运行壳Harness包裹模型、负责组装提示词与管理上下文的那层代码
记忆Memory管理多轮对话上下文的模块
上下文工程Context Engineering在有限上下文窗口内优化”放什么、不放什么”的工程方法
索引IndexLlamaIndex 中组织数据供检索的结构
分块Chunking把长文档切成适合嵌入的小段
嵌入Embedding把文本编码成高维向量,使语义相近的文本向量距离近
重排Reranking用 cross-encoder 对检索结果重新打分排序
幻觉Hallucination模型编造不存在事实的现象
响应合成Response SynthesisLlamaIndex 中用 LLM 基于检索结果生成回答的模块
提示词缓存Prompt Caching缓存重复的 Prompt 前缀,降低输入 token 成本