LangChain 学习记录 01:为什么需要 LangChain?从 API 调用到 AI 应用框架

LangChain 学习记录 01:为什么需要 LangChain?从 API 调用到 AI 应用框架

本文适合刚开始学习 LangChain,已经听过大模型 API,但还不清楚"为什么要多学一个框架"的同学。

关键词:LangChain、大模型应用、LLM、RAG、Agent、LangGraph、Deep Agents

摘要

很多同学第一次接触大模型开发时,都会有一个非常自然的问题:

text 复制代码
我都能直接调 OpenAI、DeepSeek、通义千问的 API 了,为什么还要学 LangChain?

这个问题问得非常好。

因为 LangChain 不是为了替代模型 API,而是为了帮我们把"调用一次模型"升级成"构建一个完整的大模型应用"。

本文主要讲清楚:

  • 直接调用模型 API 会遇到哪些现实问题
  • LangChain 到底帮我们省了什么
  • LangChain、LangGraph、Deep Agents 是什么关系
  • LangChain 的核心模块有哪些
  • 学习 LangChain 应该按什么路线走

一句话概括:

text 复制代码
模型 API 解决"让模型回答一次",LangChain 解决"把模型能力组织成一个可维护的应用"。

文章目录

  • [LangChain 学习记录 01:为什么需要 LangChain?从 API 调用到 AI 应用框架](#LangChain 学习记录 01:为什么需要 LangChain?从 API 调用到 AI 应用框架)
    • 摘要
    • [一、为什么直接调用 API 还不够](#一、为什么直接调用 API 还不够)
    • [二、LangChain 到底是什么](#二、LangChain 到底是什么)
      • [LangChain 的核心价值](#LangChain 的核心价值)
    • [三、直接 API 与 LangChain 的代码对比](#三、直接 API 与 LangChain 的代码对比)
      • [方式一:直接调用模型 API](#方式一:直接调用模型 API)
      • [方式二:使用 LangChain](#方式二:使用 LangChain)
      • 两种方式对比
    • [四、LangChain 生态全景:LangChain、LangGraph、Deep Agents](#四、LangChain 生态全景:LangChain、LangGraph、Deep Agents)
    • [五、LangChain 核心架构总览](#五、LangChain 核心架构总览)
      • [1. 基础层:用什么说话](#1. 基础层:用什么说话)
      • [2. 能力层:怎么做](#2. 能力层:怎么做)
      • [3. 应用层:做什么](#3. 应用层:做什么)
    • 六、用一个知识库问答机器人理解模块协作
    • [七、适合用 LangChain 的项目场景](#七、适合用 LangChain 的项目场景)
    • [八、什么时候不一定要用 LangChain](#八、什么时候不一定要用 LangChain)
    • 九、学习路线建议
    • 十、小结
    • 参考资料

一、为什么直接调用 API 还不够

如果只是让模型回答一句话,直接调 API 就够了。

例如:

text 复制代码
用户:你好,请介绍一下 Python。
模型:Python 是一种简单易学、应用广泛的编程语言。

这种场景不复杂。

但一旦进入真实项目,你很快会遇到一堆问题。

你想实现的功能 直接用 API 时要自己处理什么
多轮对话 自己保存历史消息、拼接上下文、控制 token 长度
私有知识库问答 自己做文档加载、切分、向量化、检索、拼 Prompt
结构化输出 自己要求 JSON、解析 JSON、处理格式错误
工具调用 自己定义函数 schema、解析模型调用结果、处理异常
模型切换 每个厂商接口参数不同,切换时要改很多代码
流式输出 自己处理流式 token、前后端传输
复杂任务编排 自己写状态机、循环、重试、回退
调试追踪 自己记录每一步输入输出,排查成本高

这些事情单独看都不难。

真正麻烦的是:

text 复制代码
它们经常会同时出现。

比如你要做一个"企业知识库问答助手",你就需要:

text 复制代码
多轮对话 + RAG 检索 + 结构化输出 + 流式响应 + 错误重试 + 日志追踪

如果全部手写,很快就会从"调一个 API"变成"从零造一个 AI 应用框架"。

这就是 LangChain 出现的原因。

二、LangChain 到底是什么

LangChain 是一个用于构建大语言模型应用的开源框架。

它的核心目标不是让模型本身变聪明,而是帮开发者更方便地组织模型、提示词、工具、记忆、检索和工作流。

可以这样理解:

text 复制代码
大模型 = 发动机
LangChain = 传动系统 + 控制系统 + 工具箱
你的业务应用 = 车

没有 LangChain,发动机也能转。

但如果你要做一辆能上路的车,就不能只有发动机,还需要方向盘、刹车、仪表盘、传动结构和安全系统。

LangChain 提供的就是这些工程化组件。

LangChain 的核心价值

核心价值 说明
统一模型接口 不同模型厂商可以用相似方式调用
Prompt 工程化 用模板管理提示词,避免到处拼字符串
输出结构化 用 Parser 或结构化输出约束模型返回
链式组合 用 LCEL 把 Prompt、模型、解析器串起来
RAG 支持 提供文档加载、切分、向量库、检索器等组件
工具调用 让模型调用外部函数或服务
对话记忆 管理多轮对话历史
调试追踪 可结合 LangSmith 观察调用过程

最重要的是这句:

text 复制代码
LangChain 让我们把精力从"怎么调 API"转移到"怎么做产品"。

三、直接 API 与 LangChain 的代码对比

方式一:直接调用模型 API

以 OpenAI 风格 API 为例:

python 复制代码
from openai import OpenAI

client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "user", "content": "你好,请用一句话介绍 Python"}
    ],
)

print(response.choices[0].message.content)

这段代码没有问题。

但如果后续你要加:

  • 历史对话
  • 流式输出
  • 结构化输出
  • 模型切换
  • RAG
  • 工具调用

就要继续往上堆业务胶水代码。

方式二:使用 LangChain

python 复制代码
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini")

response = llm.invoke("你好,请用一句话介绍 Python")

print(response.content)

看起来只是换了一种调用方式。

但它的意义在于:

text 复制代码
这个 llm 对象是 LangChain 生态里的 Runnable。

后续可以直接接入:

python 复制代码
chain = prompt | llm | parser

也可以使用:

python 复制代码
llm.invoke(...)
llm.stream(...)
llm.batch(...)

这就不只是一次 API 调用,而是进入了 LangChain 的统一组件体系。

两种方式对比

对比项 直接 API LangChain
简单调用 直接、轻量 也很简单
多模型切换 需要适配不同 SDK 统一接口更方便
Prompt 管理 容易散落在代码里 PromptTemplate 标准化
输出解析 需要自己写解析逻辑 Output Parser / 结构化输出
RAG 自己搭全链路 有标准组件
Agent 自己写循环和工具调用 有预构建能力
调试追踪 自己打日志 可接 LangSmith

我的理解:

text 复制代码
小脚本可以直接 API;
一旦要做项目,就值得考虑 LangChain。

四、LangChain 生态全景:LangChain、LangGraph、Deep Agents

LangChain 现在不是一个孤立的小库,而是一个围绕 Agent 和 LLM 应用构建的生态。

可以先看图。

简单理解三者关系:

text 复制代码
Deep Agents 建立在 LangChain 之上;
LangChain 建立在 LangGraph 能力之上;
LangGraph 提供更底层的图结构运行时。

三者对比

维度 LangGraph LangChain Deep Agents
定位 Agent 运行时 / 图编排 LLM 应用框架 Agent 套件
核心思想 用图精确控制流程 用组件灵活搭建应用 开箱即用的 Agent 能力
适合场景 企业级复杂流程、状态机、人机协作 Prompt、Chain、RAG、Tools、Agent 快速做自主 Agent
控制力 最强 中等 较弱
上手难度 较高 中等 较低
本系列重点 后续进阶 重点学习 了解即可

如何选择

如果你的需求是:

text 复制代码
我想快速做一个可以自主完成任务的 Agent

可以关注 Deep Agents。

如果你的需求是:

text 复制代码
我要自定义 Prompt、模型、RAG、工具链

优先学 LangChain。

如果你的需求是:

text 复制代码
我要精确控制每一步流程,有审批、回滚、状态保存

再深入 LangGraph。

对初学者来说,建议路线是:

text 复制代码
先学 LangChain,再根据项目复杂度决定是否深入 LangGraph。

五、LangChain 核心架构总览

LangChain 可以从三层理解。

1. 基础层:用什么说话

这一层负责和模型通信。

模块 作用
Messages 标准化消息格式,如 SystemMessageHumanMessageAIMessage
Models 统一模型调用接口,包括 Chat Models、LLMs、Embeddings
Streaming 支持实时流式输出
Middleware 在模型调用前后插入重试、缓存、超时等逻辑

这一层解决的是:

text 复制代码
如何以统一方式和模型交互。

2. 能力层:怎么做

这一层提供模型之上的核心能力。

模块 作用
Prompts 提示词模板,支持变量插入和复用
Output Parsers 解析模型输出,转换为字符串、JSON、对象
Structured Output 用 schema 或 Pydantic 约束输出格式
Tools 让模型调用外部函数或 API
Memory 管理对话历史和长期记忆

这一层解决的是:

text 复制代码
如何把一次模型调用变成可控能力。

3. 应用层:做什么

这一层面向具体业务。

模块 作用
Chains / LCEL 把多个组件串成一条工作流
Retrieval / RAG 检索外部知识并增强回答
Agents 让模型自主规划步骤并调用工具
LangGraph 管理复杂状态和流程编排

这一层解决的是:

text 复制代码
如何把多个能力组合成应用。

六、用一个知识库问答机器人理解模块协作

假设我们要做一个企业内部知识库问答机器人。

用户问:

text 复制代码
我们公司的年假政策是什么?

LangChain 中可能涉及这些模块:

text 复制代码
用户问题
  ↓
Prompt:组织问题和回答规则
  ↓
Retrieval:从公司文档中检索相关片段
  ↓
Model:结合问题和上下文生成回答
  ↓
Output Parser:把结果转为前端需要的格式
  ↓
Memory:保存本轮对话,支持继续追问

如果要让它更智能,还可以加入 Agent:

text 复制代码
模型判断是否需要检索
  ↓
需要时调用检索工具
  ↓
必要时调用数据库或其他 API
  ↓
最后生成回答

这就是 LangChain 的核心思想:

text 复制代码
把大模型能力拆成标准组件,再按业务流程组合起来。

七、适合用 LangChain 的项目场景

LangChain 特别适合这些项目:

场景 为什么适合
知识库问答 RAG 组件丰富,容易组合检索和生成
文档分析 可结合加载器、切分器、模型和解析器
智能客服 需要多轮对话、记忆、工具调用
AI 学习助手 可组合 Prompt、结构化输出、用户记录
自动化办公 可以让模型调用工具处理复杂流程
数据抽取 Output Parser 和结构化输出很实用
Agent 项目 内置工具调用和 Agent 架构能力

如果你准备做实训项目,我会优先推荐:

text 复制代码
RAG 知识库问答
AI 学习助手
文档智能分析
多工具智能客服

这些方向既能体现 LangChain 能力,也容易写出简历亮点。

八、什么时候不一定要用 LangChain

LangChain 很有用,但不是所有场景都必须用。

如果你的需求只是:

text 复制代码
写一个脚本,调用模型生成一句话

直接用模型 SDK 可能更简单。

如果你的需求是:

text 复制代码
只调用一个模型,没有 Prompt 管理,没有多轮对话,没有结构化输出

也可以先不用框架。

我的判断标准:

text 复制代码
只调用一次模型:直接 API。
需要组织多个组件:LangChain。
需要复杂状态编排:LangGraph。

技术选型不是越复杂越高级,而是要匹配问题。

别为了用框架而用框架。

不然就像为了吃一碗泡面专门修了个厨房,仪式感很足,效率有点感人。

九、学习路线建议

基于这份课程资料,我建议按下面路线学习:

text 复制代码
入门:
LangChain 概述 → 环境准备 → Model I/O

核心:
Prompts → Output Parsers → Chains / LCEL

进阶:
Memory → Tools → RAG

高级:
Agents → LangGraph → 部署与调试

更具体一点:

阶段 学习内容 目标
第 1 阶段 概述、环境、模型调用 能跑通第一个程序
第 2 阶段 Prompt、Parser、Chain 能搭建基础 AI 工作流
第 3 阶段 RAG、Tools、Memory 能做真实项目功能
第 4 阶段 Agents、LangGraph 能处理复杂任务编排

先不要一上来就冲 Agent。

Agent 很酷,但如果 Prompt、Parser、Chain 都没掌握,直接学 Agent 容易变成:

text 复制代码
它好像很智能,但我完全不知道哪里出了问题。

所以先打地基。

十、小结

这一篇主要回答了一个问题:

text 复制代码
为什么需要 LangChain?

可以这样总结:

text 复制代码
模型 API 让我们能调用大模型;
LangChain 让我们能构建大模型应用。

你需要记住几个关键词:

text 复制代码
Models:统一模型调用
Prompts:管理提示词
Output Parsers:解析输出
Chains:组合流程
RAG:结合外部知识
Tools:调用外部能力
Memory:管理上下文
Agents:自主规划和执行

最重要的底层逻辑:

text 复制代码
LangChain 的价值不是封装一个 API,而是把大模型应用开发中的常见模式抽象成可复用组件。

下一篇继续学习:LangChain 环境准备与第一个程序

也就是如何把开发环境搭起来,并真正跑通一次模型调用。

参考资料

相关推荐
霍格沃兹测试开发学社测试人社区1 小时前
为企业提供专业、灵活、高效的一体化测试支持
人工智能
xixixi777771 小时前
产业全景解读:太空算力、国产芯、国产大模型、6G 空天地、AI 可信身份、后量子安全多线全面突破
人工智能·安全·ai·大模型·数据中心·通信·运营商
InfiniSynapse2 小时前
InfiniSynapse × CSDN 首届 Vibe Coding 泛数据分析应用开发大赛正式启动报名!
人工智能·数据挖掘·数据分析·创业创新·个人开发·ai编程·程序员创富
m0_466525292 小时前
新品发布 | 绿盟安全智算一体机,构建“算力、调度、安全“深度融合的AI基础设施
人工智能·安全
小顿的企业观察2 小时前
中企出海战略规划,正在从“走出去”转向“走进去”
大数据·运维·人工智能·产品运营·制造
福客AI智能客服2 小时前
AI客服Agent开始参与售后判断,企业正在建立更加稳健的服务决策机制
人工智能
IT_陈寒2 小时前
SpringBoot自动配置不是你以为的那样的智能
前端·人工智能·后端
麻雀飞吧2 小时前
2026年AI量化开发,先跑通小流程再加复杂功能
人工智能·python
yangmu32032 小时前
告别“玩具AI”:如何搭建真正落地的“强工作流”AI系统
人工智能
2603_954708312 小时前
全维度容错设计,打造微电网安全运行屏障
服务器·网络·数据库·人工智能·分布式·安全