Arch Day 148
Arch Day 148: LLM编排框架 — LangChain vs LlamaIndex vs Haystack
LLM编排框架解决的是如何将LLM、检索、工具、记忆组装成可靠应用的问题。2026年的最佳实践是:LlamaIndex做知识层 + LangGraph做编排层。
2026-08-25
第六阶段 - LLM与AI架构LangChainLlamaIndexHaystack编排RAGPipelineLangGraph
日期: 2026-08-25 (Day 148) 阶段: 第六阶段 - LLM与AI架构 标签: #LangChain #LlamaIndex #Haystack #编排 #RAGPipeline #LangGraph
核心概念
一句话定义
LLM编排框架解决的是如何将LLM、检索、工具、记忆组装成可靠应用的问题。2026年的最佳实践是:LlamaIndex做知识层 + LangGraph做编排层。
知识点详解
1. 框架定位对比
| 框架 | 核心定位 | 优势 | 适用 |
|---|---|---|---|
| LangChain | 通用LLM编排 | 生态最大、集成最广 | 快速原型 |
| LangGraph v1.0 | Agent运行时 | 状态机+持久化+Human-in-Loop | 生产Agent |
| LlamaIndex | 数据框架 | 文档索引/检索最强 | RAG Pipeline |
| Haystack | Pipeline编排 | 模块化、组件可替换 | 搜索系统 |
2. LangChain vs LlamaIndex选择
| 维度 | LangChain | LlamaIndex |
|---|---|---|
| 擅长 | 通用编排、多工具串联 | 文档处理、知识索引 |
| RAG | 可以但非核心 | 核心能力 |
| Agent | LangGraph(最成熟) | Agent模式(较新) |
| 学习曲线 | 抽象多,概念密 | 相对直观 |
最佳实践: LlamaIndex处理文档→索引→检索,LangGraph处理Agent逻辑→工具调用→状态管理。
3. LangGraph v1.0关键特性
- 有向图状态机: 节点是处理步骤,边是条件转移
- 状态持久化: 外部存储(Redis/Postgres)保存Agent状态
- Human-in-the-Loop: 一流API支持人工审核/批准
- Streaming: 实时返回中间结果
- 2025.10 v1.0发布: 标志生产就绪
4. 不用框架的情况
简单场景(单次LLM调用+Structured Output)不需要框架——直接用SDK即可。框架的价值在复杂场景:多步推理、多工具协调、状态管理、错误恢复。
面试题
问题:LangChain被批评过度抽象,你怎么看?
回答:批评有道理——早期LangChain的抽象层太深,简单场景反而增加复杂度。但2025-2026的LangGraph解决了这个问题:它是显式的图结构,每个节点做什么一目了然。我的建议:简单RAG直接用LlamaIndex或原生SDK,复杂Agent用LangGraph,避免为了用框架而用框架。