模型層 開放閱讀

LangChain

LangChain

概念 ID
langchain
更新時間
2026-05-29
來源數量
待補

3 秒看懂

LangChain 是連線大語言模型(LLM)與外部世界的應用開發架構。 它把“呼叫模型、檢索文件、呼叫工具、管理上下文記憶、串聯多步驟推論”等通用能力抽象成可組合的模組,讓開發者用宣告式/圖式的方式搭建 LLM 應用。可類比為“LLM 時代的應用中介軟體”。


3 分鐘產業解釋

為什麼需要 LangChain?

一個原始 LLM API 呼叫只能做到“給一段文本,返回一段文本”。但真實應用往往需要:

需求原始 API 能否滿足
根據使用者問題檢索企業知識庫再回答(RAG)❌ 需要編排檢索→拼接→生成流程
讓模型調用搜索引擎/資料庫/程式碼執行器❌ 需要工具呼叫協議與解析層
多輪對話記住上下文❌ 需要對話歷史管理機制
多個 Agent 協作完成複雜任務❌ 需要任務分解與編排邏輯
對接 100+ 不同模型供應商❌ 需要統一抽象層

LangChain 就是把這些“膠水邏輯”標準化、模組化,降低從“有一個 LLM”到“有一個 LLM 應用”之間的工程門檻。

產業位置

終端使用者/企業


┌──────────────────────────┐
│   LLM 應用(ChatBot/Agent/自動化)│
└──────────┬───────────────┘

     ┌─────▼─────┐
     │ LangChain  │  ◄── 應用編排架構層
     │ (LangGraph)│
     │ (LangSmith)│
     └─────┬─────┘

    ┌──────▼──────┐
    │ LLM 提供商   │  OpenAI / Anthropic / Meta / 本地模型
    │ 向量資料庫    │  Pinecone / Weaviate / Chroma / Milvus
    │ 工具/資料來源   │  搜尋引擎 / SQL / API
    └─────────────┘

商業化路徑

LangChain 於 2023 年成立公司 LangChain Inc.,核心開源架構免費,商業化產品包括:

  • LangSmith:LLM 應用的可觀測性/評估/除錯平台(SaaS 按用量計費)
  • LangGraph Platform:Agent 工作流的部署與託管服務
  • 這是典型的 “開源核心 + 商業化 SaaS” 模式

15 分鐘專家深入

核心架構演進(v0.1 → v0.2 → v0.3)

LangChain 經歷了劇烈的架構重構,理解其演變是理解當前程式碼庫的關鍵:

第一階段(2022.10 – 2023):單體庫

  • 所有功能(模型呼叫、Chain、Agent、Memory、Retrieval)集中在一個 langchain 包中
  • Chain 採用 LLMChainSequentialChain 等線性鏈式抽象
  • 問題:依賴過重、抽象層級混亂、除錯困難

第二階段(2023 下半年 – 2024):模組化拆分

  • langchain-core:核心抽象(Runnables 介面、LCEL 表示式語言)
  • langchain:認知架構元件(Agents、Chains 的高階實現)
  • langchain-community:第三方整合(所有外部 LLM/工具/向量庫的介面卡)
  • 獨立夥伴包:langchain-openailangchain-anthropiclangchain-google-genai
  • 引入 LCEL(LangChain Expression Language):用 | 管道運算子宣告式組合 Runnables

第三階段(2024 – 至今):Graph 優先

  • LangGraph 成為核心 Agent 編排層,取代傳統 AgentExecutor
  • 有狀態有向圖(StateGraph)替代線性鏈,支援迴圈、分支、人機互動節點
  • LangChain 本身更多退化為“整合層 + 工具定義 + 檢索抽象”

關鍵抽象:Runnable 協議

LangChain v0.2+ 的基石是 Runnable 介面,所有元件統一實現以下方法:

invoke(input)        → 同步單次呼叫
batch(inputs)        → 批次呼叫(含自動並行與重試)
stream(input)        → 流式輸出
ainvoke / abatch / astream  → 非同步版本

所有 Runnable 支援 | 管道組合:

chain = prompt | llm | output_parser
result = chain.invoke({"question": "什麼是RAG?"})

這是 LCEL 的核心設計——把資料處理管道變成可宣告、可序列化、可流式傳輸的表示式。

LangGraph:Agent 編排的核心

傳統 LangChain Agent 的問題是線性且難以中斷/恢復。LangGraph 的設計:

        ┌──────────┐
        │  START   │
        └────┬─────┘

    ┌────────────────┐
    │  call_model    │  ◄── 節點:執行 LLM 推論
    └────────┬───────┘

    ┌────────────────┐
    │  should_continue│ ◄── 條件邊:模型是否要呼叫工具?
    └───┬────────┬───┘
        │        │
   Yes  ▼        ▼  No
┌────────────┐  ┌──────┐
│ call_tools │  │ END  │
└─────┬──────┘  └──────┘

      └──→ 返回 call_model(迴圈)

關鍵特性:

  • 持久化狀態:每個節點共享一個 State 物件,支援 checkpoint 儲存
  • 人機互動(Human-in-the-loop):可在任意節點中斷,等待人類審批後恢復
  • 子圖巢狀:複雜 Agent 可由子圖組合
  • 多 Agent 拓撲:支援 supervisor、hierarchical、swarm 等多 Agent 協作模式
  • 流式 token 輸出:支援節點級別的 streaming

RAG(檢索增強生成)在 LangChain 中的實現層次

使用者問題


┌─────────────────┐
│ Query 轉換/擴充套件  │  MultiQuery / HyDE / Decomposition
└────────┬────────┘

┌─────────────────┐
│ 檢索 Retrieval   │  VectorStore.similarity_search / BM25 / Hybrid
└────────┬────────┘

┌─────────────────┐
│ 重排序 Reranking │  Cross-encoder / Cohere Rerank
└────────┬────────┘

┌─────────────────┐
│ 壓縮上下文       │  ContextualCompression / 逐文件鏈
└────────┬────────┘

┌─────────────────┐
│ 生成回答         │  LLM + 構造好的 Prompt
└─────────────────┘

LangChain 提供了上述每一層的抽象和內建實現,但不是所有場景都需要全部層級。這是新手常見的過度工程化問題。


技術原理

1. 核心執行時機制

┌─────────────────────────────────────────────────┐
│                   LCEL Runtime                    │
│                                                   │
│  RunnableA  ──(pipe)──▶  RunnableB ──▶ RunnableC │
│                                                   │
│  統一介面: invoke / batch / stream / ainvoke      │
│                                                   │
│  ┌─────────────────────────────────────────┐     │
│  │           RunnableConfig                 │     │
│  │  - callbacks (tracing/logging)           │     │
│  │  - tags / metadata                       │     │
│  │  - max_concurrency                       │     │
│  │  - run_name                              │     │
│  └─────────────────────────────────────────┘     │
│                                                   │
│  序列化: 所有管道可通過 JSON 描述→部署到 LangServe  │
└─────────────────────────────────────────────────┘

流式傳輸的實現: LCEL 管道的 stream 不是簡單地等待整個輸出——它實現了逐 chunk 透傳。當管道末端的 LLM 產出一個 token 時,如果下游的 OutputParser 能處理 partial input(如 JsonOutputParser 支援部分 JSON 解析),使用者就能在 LLM 仍在生成時看到部分結果。

2. Agent 執行迴圈(LangGraph)

# 簡化的 LangGraph Agent 狀態圖虛擬碼
class AgentState(TypedDict):
    messages: Annotated[list, add_messages]  # 訊息列表,自動追加

graph = StateGraph(AgentState)

# 節點定義
graph.add_node("agent", call_model)
graph.add_node("tools", tool_node)

# 邊定義
graph.add_edge(START, "agent")
graph.add_conditional_edges(
    "agent",
    should_continue,       # 函式:檢查最後一條訊息是否包含 tool_calls
    {"continue": "tools", "end": END}
)
graph.add_edge("tools", "agent")  # 工具結果回傳給 agent

app = graph.compile(checkpointer=MemorySaver())

與傳統 AgentExecutor 的關鍵區別:

維度舊 AgentExecutorLangGraph
拓撲線性迴圈(think→act→observe)任意有向圖(可分支/並行/巢狀)
狀態不可序列化Checkpoint 可持久化(SQLite/Postgres/Redis)
中斷恢復✅ 從 checkpoint 恢復
人機互動interrupt_before / interrupt_after
流式輸出粗粒度(步驟級)節點級 + token 級

3. 工具定義與呼叫協議

@tool
def search_web(query: str) -> str:
    """Search the web for current information."""
    return tavily_search(query)

# 工具會被自動轉換為 JSON Schema,注入到 LLM 的 system prompt
# 當 LLM 返回 tool_calls 時,LangGraph 的 ToolNode 會:
#   1. 解析 function name 和 arguments
#   2. 路由到對應的 Python 函式執行
#   3. 將結果封裝為 ToolMessage 返回給狀態

4. 記憶體管理機制

LangChain 的“Memory”概念在 LangGraph 中被重新定義:

舊方案: ConversationBufferMemory(維護 messages 列表,自動注入 prompt)
                ↓ 演化
新方案: LangGraph 的 State.messages(顯式管理,通過 reducer 函式控制行為)

- short-term memory = 單次會話的 messages(在 State 中)
- long-term memory = 跨會話持久化的儲存(通過 LangGraph Store API)
- 外部記憶 = 向量資料庫中的歷史摘要

5. LangSmith 可觀測性架構

應用程式碼(啟用 LangSmith tracing)

    │  [POST] /runs   (每個 Runnable 呼叫自動上報)

┌───────────────┐
│  LangSmith    │
│  SaaS 後端    │
├───────────────┤
│ - Trace 樹    │  完整的呼叫鏈路視覺化
│ - 評估        │  自動/人工評估 LLM 輸出質量
│ - 資料集      │  管理測試用例
│ - 監控        │  延遲/成本/錯誤率 dashboard
│ - Prompt Hub  │  Prompt 版本管理
└───────────────┘

技術實現上,LangSmith 通過 Callback 機制在每個 Runnable 的 start/end/error 鉤子點上報 telemetry 資料,對應用邏輯零侵入


技術演進史

時間事件意義
2022.10Harrison Chase 開源 LangChain(Python)LLM 應用架構先發優勢
2023.01月活使用者暴漲,成為 GitHub 增速最快的專案之一確立“LLM 應用標準架構”心智
2023.03JavaScript/TypeScript 版本釋出擴充套件前端/全棧開發者群體
2023.04獲種子輪融資,約1000萬美元商業化起步
2023.07LangSmith 公開發布商業化路徑明確(可觀測性 SaaS)
2024.01v0.1 釋出(已實現模組化架構拆分)首個正式版本
2024.02獲 A 輪融資 2500 萬美元,Sequoia 領投資本背書
2024.05v0.2 釋出,模組化架構重組,將 langchain 拆為 core/community/夥伴包徹底模組化
2024.10v0.3 釋出,全面要求 Python ≥ 3.9,Pydantic v2清理技術債
2024 下半年LangGraph Platform 釋出(託管部署)從架構走向平台
2025多 Agent 編排成熟,LangGraph 成為核心增長引擎與 CrewAI、AutoGen 等形成競爭格局

技術路線對比

LangChain vs. 競品架構

維度LangChain / LangGraphLlamaIndexCrewAIAutoGen(微軟)Semantic Kernel(微軟)
定位通用 LLM 應用架構 + Agent 編排資料索引與檢索增強多 Agent 角色扮演多 Agent 對話編排企業級 AI 編排 SDK
語言Python, JS/TSPython, TSPythonPython, .NETPython, C#, Java
核心抽象Runnable + StateGraphIndex + Query EngineAgent + Crew + TaskAgent + GroupChatPlugin + Planner + Memory
Agent 能力LangGraph(有狀態圖,支援人機互動、檢查點)較弱(主要聚焦 RAG)角色化多 Agent,簡化配置靈活的多 Agent 對話企業級 Agent + 外掛生態
RAG 能力完整(檢索/重排/壓縮/多查詢)★★★★★ 最強,專精於此基礎基礎中等
可觀測性LangSmith(SaaS)LlamaTrace有限AutoGen StudioAzure Monitor 整合
學習曲線中等偏高(API 變動頻繁)中等低(面向非開發者)中等中等(微軟生態使用者友好)
社群規模★★★★★ GitHub Stars 約 95k+ [估算,以實際為準]★★★★ 約 35k+ [估算]★★★ 約 20k+ [估算]★★★★ 約 35k+ [估算]★★★ 約 22k+ [估算]
生產就緒LangSmith + LangGraph 提供了生產級工具鏈中等(側重索引而非應用)早期早期到中期較成熟(微軟背書)

選型決策樹

你的核心需求是什麼?

├── “需要高質量 RAG”  ──────▶ LlamaIndex(首選)或 LangChain

├── “需要複雜 Agent 工作流” ──▶ LangGraph(首選)或 AutoGen

├── “需要快速搭建多 Agent demo” ──▶ CrewAI 或 AutoGen

├── “已在微軟/Azure 生態” ──▶ Semantic Kernel

└── “需要通用架構 + 企業支援” ──▶ LangChain + LangSmith

上下游

上游依賴(LangChain 依賴誰)

┌─────────────────────────────────────────────┐
│                  LangChain                    │
│                                               │
│  依賴層:                                     │
│  ├─ LLM API: OpenAI / Anthropic / Google /   │
│  │           Cohere / 本地模型(vLLM/Ollama)   │
│  ├─ 向量資料庫: Pinecone / Weaviate / Chroma  │
│  │             Milvus / Qdrant / FAISS        │
│  ├─ 嵌入模型: OpenAI Embeddings / Cohere /    │
│  │            Sentence Transformers           │
│  ├─ 工具/API: Tavily / SerpAPI / 各類 SaaS    │
│  ├─ 文件載入: Unstructured / PDF/HTML/程式碼解析 │
│  └─ 雲端基礎設施: LangSmith 後端 / 託管計算      │
└─────────────────────────────────────────────┘

下游使用者(誰在用 LangChain)

┌─────────────────────────────────────────────┐
│              LangChain 使用者                  │
│                                               │
│  ├─ 初創公司: 用 LangChain 快速建置 AI 產品    │
│  ├─ 企業 IT: 建置內部知識問答/自動化系統        │
│  ├─ 獨立開發者: 搭建 ChatBot / AI 工具        │
│  ├─ AI 平台: 在產品中嵌入 LangChain 作為引擎   │
│  └─ 教育/研究: 快速原型驗證 LLM 應用想法       │
└─────────────────────────────────────────────┘

關鍵指標

指標數值/狀態說明
GitHub Stars~95k+ [2025 年估算,以實際為準]所有倉庫合計
PyPI 月下載量數千萬量級 [估算]從 PyPI 統計推算,具體以實際為準
整合數量700+ 元件/整合包括 LLM、工具、向量庫、文件載入器等
支援 LLM 供應商100+包括本地和雲端端
LangSmith 註冊使用者未充分公開揭露
企業客戶(LangSmith)未充分公開揭露官方宣稱包括多家財富 500 強
核心團隊規模~50-80 人 [估算]以 LinkedIn 等公開資訊為準
版本節奏約每 2-3 月一次 minor release社群活躍度高

供需與市場資料

LLM 應用開發架構市場

需求側驅動力:

  • 企業對 LLM 應用的需求從“demo 驗證”轉向“生產部署”
  • RAG、Agent、自動化工作流成為企業 AI 投入的主要形態
  • 2024-2025 年全球企業 AI 應用支出快速增長 [據 Gartner/IDC 等機構估算,具體資料請查最新報告]

供給側競爭格局:

市場份額心智 [定性估算]

LangChain/LangGraph  ████████████████████░░░░  最高知名度,社群最大
LlamaIndex           ████████████░░░░░░░░░░░░  RAG 領域強勁
CrewAI               ████████░░░░░░░░░░░░░░░░  多 Agent 熱度上升
AutoGen              ████████░░░░░░░░░░░░░░░░  微軟支援,企業探索
Semantic Kernel      ██████░░░░░░░░░░░░░░░░░░  Azure 使用者首選
自研架構/直接調 API   ████████████████░░░░░░░░  大廠多自建,中小廠用架構

關鍵趨勢:

  1. 架構趨向統一收斂:開發者不希望學太多架構,頭部 2-3 個將吃掉大部分市場
  2. 編排層向上競爭:從“幫你調 LLM”到“幫你編排整個工作流”
  3. 可觀測性成為剛需:LangSmith 的商業化驗證了這一判斷
  4. 直接調 API vs 架構之爭:部分高階使用者認為架構增加了抽象複雜度,選擇直接用 LLM SDK

代表公司與資本對映

公司/專案產品融資階段關鍵資訊
LangChain Inc.LangChain / LangGraph / LangSmithB 輪 (2500 萬美元)Sequoia 領投 [據公開報道]
LlamaIndex Inc.LlamaIndex / LlamaCloudA 輪 [估算]專注 RAG 和資料索引
CrewAICrewAI早期融資 [以實際為準]多 Agent 編排
MicrosoftAutoGen / Semantic Kernel大廠自有開源+Azure 捆綁
PineconePinecone(向量資料庫)B 輪 + [估值約 7.5 億 USD,據公開報道]LangChain 重要上游
WeaviateWeaviateB 輪 [估算]開源向量資料庫

對投資者的意義

LangChain 生態的投資對映:

架構層:   LangChain Inc. (私有) ── 關注商業化指標(LangSmith ARR)
向量庫:   Pinecone (私有) / Weaviate (私有) / Zilliz (Milvus, 私有)
LLM層:   OpenAI (私有) / Anthropic (私有) / 各上市公司 (MSFT, GOOG, AMZN)
可觀測性: LangSmith / Langfuse (開源替代) / Helicone
基礎設施: 各雲端廠商(AWS Bedrock, Azure AI, GCP Vertex)

投資邏輯

看多邏輯

  1. 開發架構的網路效應:700+ 整合 → 開發者生態 → 更多整合 → 更多開發者。先發優勢+社群規模構成護城河。
  2. 開源核心+商業 SaaS 是驗證過的模式:類比 MongoDB(開源→Atlas SaaS)、Elastic(開源→Cloud)、Databricks(Spark→平台)。
  3. LangSmith 切中生產級痛點:LLM 應用的除錯/評估/監控是剛需,一旦被嵌入企業工作流,遷移成本高。
  4. LangGraph 差異化:有狀態、可中斷、多 Agent 編排能力在競品中相對領先。
  5. AI Agent 賽道爆發:如果 2025-2026 年 Agent 應用大規模落地,編排架構是核心受益層。

看空/風險邏輯

  1. LLM 供應商可能內建編排能力:OpenAI 的 Assistants API、Anthropic 的 Tool Use、Google 的 Vertex AI Agent Builder 都在蠶食架構層。
  2. API 變動頻繁,開發者信任成本:LangChain 早期的“破壞性變更”頻發導致部分開發者流失。
  3. “太多抽象”的批評:部分資深開發者認為直接調 LLM API + 輕量封裝(如 Instructor、Pydantic AI)更高效。
  4. 營收規模未公開:LangSmith 的 ARR 是否足以支撐估值?企業付費意願待驗證。
  5. 架構層的可替代性:編排邏輯並不構成深技術壁壘,開源替代(Langfuse + 自研編排)始終存在。

關鍵驗證指標

  • LangSmith 付費客戶數與 ARR 增速
  • LangGraph Platform 的企業採納率
  • GitHub 活躍貢獻者/issue 解決速度
  • 與頭部 LLM 供應商的深度整合(是否會成為“預設選擇”)

常見誤讀糾偏

誤讀 1:“LangChain 是一個 Agent 架構”

糾偏: LangChain 是一個通用 LLM 應用開發架構,Agent 只是其中一種應用模式。大量使用者用 LangChain 做的是純 RAG 流程(檢索+生成),根本不用 Agent 功能。更準確地說,LangGraph 是 Agent 編排架構,而 LangChain 本身更偏“整合層 + 工具定義 + 檢索抽象”。

誤讀 2:“用 LangChain 就能輕鬆搭建生產級 AI 應用”

糾偏: LangChain 降低了“從 0 到 1 Demo”的門檻,但從 Demo 到生產仍需要大量工程投入:Prompt 工程調優、評估體系搭建、成本控制、延遲最佳化、安全防護、錯誤處理。LangSmith 的存在本身就說明——生產級應用需要遠超架構本身的工具鏈。架構是“腳手架”,不是“成品房”。

誤讀 3:“LangChain 和 LlamaIndex 是競品,二選一即可”

糾偏: 兩者有重疊但定位不同。LlamaIndex 專精於資料索引和檢索,在 RAG 場景下能力更強更深入;LangChain/LangGraph 更關注應用編排和 Agent 邏輯。實際上很多生產專案同時使用兩者:用 LlamaIndex 做高質量檢索,用 LangGraph 做 Agent 編排。它們不是互斥關係。

誤讀 4:“LangChain 的抽象層只會增加複雜度,不如直接調 API”

糾偏: 這取決於應用場景的複雜度。如果你的用例是“調一次 LLM 獲取回答”,確實不需要架構。但當你需要:對接多個模型供應商、實現複雜的 RAG pipeline、編排多步驟 Agent 工作流、整合多種工具、需要可觀測性時,架構的標準化抽象降低的是長期維護成本而非短期開發成本。“架構 vs 直接呼叫”是一個權衡,不是絕對判斷。


學習路徑

入門(1-2 天)

1. 通讀 LangChain 官方文件的 Quickstart
   → 理解 Chat Models / Prompts / Output Parsers / Chains
2. 跑一個簡單的 RAG demo
   → 載入文件 → 分塊 → 嵌入 → 檢索 → 生成
3. 理解 LCEL(管道運算子 |)
   → prompt | model | parser

參考資料

source: 公開揭露與公開資料整理 本頁僅用於產業鏈學習、資訊檢索和研究輔助;不構成投資建議,不預測漲跌,不提供買賣、部位或目標價建議。
完整概念頁 複盤 13 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型