LangChain 教程 01|概述:AI 应用开发的新范式

📖 本篇导读:这是 LangChain 系列教程的第 1 篇。如果你是 AI 开发新手,想快速了解 LangChain 能做什么、为什么选择它,这篇文章就是为你准备的。读完预计需要 5 分钟。


简单来说

LangChain 是一个"开箱即用"的 AI 应用开发框架,让你用 10 行代码就能创建一个"会思考、会用工具"的智能代理(Agent)。

它解决了传统 AI 开发的三大痛点:模型切换困难、工具集成复杂、Agent 架构难以构建。


🎯 本节目标

读完本节,你将能够回答这些问题:

  • ❓ LangChain 到底是什么?它和普通的 LLM SDK 有什么区别?
  • ❓ LangChain、LangGraph、Deep Agents 三者的关系和选择标准是什么?
  • ❓ 为什么说 LangChain 是"开箱即用"的?10 行代码能实现什么?
  • ❓ LangChain 的核心优势有哪些?适合哪些场景?

核心痛点与解决方案

痛点:AI 应用开发的三大难题

痛点 传统做法 有多痛苦
模型切换困难 每个模型提供商都有不同的 API 和参数 想换模型?重写一半代码
工具集成复杂 手动调用 API,写一堆 if-else 串联 代码像面条一样难维护
Agent 架构难 自己设计推理循环、状态管理、错误处理 从零开始,累成狗

举个例子: 你想做一个能查天气、查股票、发邮件的 AI 助手。

传统做法:

复制代码
1. 集成 OpenAI API
2. 集成天气 API
3. 集成股票 API
4. 集成邮件 API
5. 写推理逻辑:用户问什么就调用什么工具
6. 写错误处理:API 调用失败怎么办
7. 写状态管理:记住对话历史
8. 想换 Anthropic 模型?重写第一步

解决:LangChain 一键搞定

typescript 复制代码
import * as z from "zod";
import { createAgent, tool } from "langchain";

// 定义天气工具
const getWeather = tool(
  ({ city }) => `It's always sunny in ${city}!`,
  {
    name: "get_weather",
    description: "获取指定城市的天气",
    schema: z.object({ city: z.string() }),
  },
);

// 10 行代码创建 Agent
const agent = createAgent({
  model: "claude-sonnet-4-5-20250929",
  tools: [getWeather],
});

// 调用
const result = await agent.invoke({
  messages: [{ role: "user", content: "北京天气怎么样?" }]
});

console.log(result.messages.at(-1)?.content);

效果对比:

指标 传统做法 LangChain
代码量 100+ 行 10+ 行
模型切换 重写集成 改一行字符串
工具调用 手动串联 自动推理
错误处理 自己写 内置支持
状态管理 自己做 开箱即用

生活化类比:AI 应用的"工具箱 + 管家"

概念 类比 说明
LangChain 智能家居控制系统 统一管理各种设备(模型和工具),让它们协同工作
LangGraph 底层电路和逻辑 更底层,更灵活,适合定制复杂场景
Deep Agents 精装智能家居 预装了所有高级功能,开箱即用
Agent 智能管家 会思考、会用工具、能自己完成任务
Tool 工具 管家能用的各种工具:查天气、订机票等
Model 管家的大脑 负责思考和决策

三者关系图解

复制代码
┌─────────────────────────────────────────────┐
│                                             │
│          📦 Deep Agents                     │
│  ("精装房":开箱即用,功能丰富)              │
│            ↓ 基于                          │
│                                             │
│          🔧 LangChain                       │
│  ("标准装修":框架完整,灵活配置)            │
│            ↓ 构建在                         │
│                                             │
│          🛠️ LangGraph                       │
│  ("毛坯房":底层框架,高度定制)              │
│                                             │
└─────────────────────────────────────────────┘

核心优势

1. 标准模型接口

解决的问题: 不同模型提供商(OpenAI、Anthropic、Google)的 API 格式不同,切换成本高。

LangChain 的方案: 统一的模型接口,一行代码切换模型。

typescript 复制代码
// OpenAI
const agent1 = createAgent({ model: "openai:gpt-4.1" });

// Anthropic
const agent2 = createAgent({ model: "anthropic:claude-3.5-sonnet" });

// Google
const agent3 = createAgent({ model: "google:gemini-1.5-pro" });

💡 人话解读:就像手机充电器的 USB-C 接口,不管哪个品牌的手机都能充,模型切换再也不用重写代码了。

2. 易于使用,高度灵活的 Agent

解决的问题: Agent 架构复杂,从零构建需要设计推理循环、状态管理等。

LangChain 的方案: 预构建的 Agent 架构,10 行代码创建一个会思考的 Agent。

typescript 复制代码
const agent = createAgent({
  model: "gpt-4.1",
  tools: [weatherTool, searchTool],
  systemPrompt: "你是一个乐于助人的助手",
});

💡 人话解读:就像买了一个组装好的机器人,你只需要告诉它做什么,它自己会想办法完成。

3. 构建在 LangGraph 之上

解决的问题: Agent 执行不稳定,容易中断,缺少持久化。

LangChain 的方案: 基于 LangGraph 的持久执行、流式传输、人机交互支持。

LangGraph 特性 带来的好处
持久执行 任务中断后能续跑,不会丢失进度
流式传输 实时显示执行过程,用户体验更好
人机交互 复杂决策时可以让人类介入
状态持久化 跨会话记忆,不会"健忘"

💡 人话解读:就像给机器人装了一个"黑匣子",记录所有行动,就算没电了重启后也能接着干。

4. LangSmith 调试工具

解决的问题: Agent 行为难以理解,调试困难。

LangChain 的方案: 可视化工具,跟踪执行路径、捕获状态转换、提供详细指标。

LangSmith 功能 作用
执行追踪 看到每一步的思考和行动
状态可视化 直观看到状态变化
性能分析 找出瓶颈,优化执行
错误定位 快速找到失败原因

💡 人话解读:就像给机器人装了一个监控摄像头,它的每一个动作、每一个想法都能被记录和分析。


快速创建:10 行代码的奇迹

完整示例:天气查询 Agent

typescript 复制代码
import * as z from "zod";
import { createAgent, tool } from "langchain";

// 1. 定义天气工具
const getWeather = tool(
  ({ city }) => `It's always sunny in ${city}!`,
  {
    name: "get_weather",
    description: "获取指定城市的天气",
    schema: z.object({ city: z.string() }),
  },
);

// 2. 创建 Agent
const agent = createAgent({
  model: "claude-sonnet-4-5-20250929",
  tools: [getWeather],
});

// 3. 调用 Agent
const result = await agent.invoke({
  messages: [{ role: "user", content: "What's the weather in Tokyo?" }]
});

// 4. 查看结果
console.log(result.messages.at(-1)?.content);
// Output: It's always sunny in Tokyo!

执行流程解析

复制代码
┌─────────────────────────────────────┐
│                                     │
│   用户:"东京天气怎么样?"            │
│      ↓                              │
│   Agent(思考):"用户想查天气"      │
│      ↓                              │
│   调用 get_weather 工具              │
│      ↓                              │
│   工具返回:"东京晴天"                │
│      ↓                              │
│   Agent(总结):"东京天气晴朗"        │
│      ↓                              │
│   输出结果给用户                     │
│                                     │
└─────────────────────────────────────┘

💡 人话解读

  • tool() 函数定义了一个工具,告诉 Agent 这个工具能做什么
  • createAgent() 创建了一个会思考的 AI 助手
  • invoke() 启动任务,Agent 会自己决定调用什么工具

业务场景:LangChain 适合哪些人?

角色 痛点 LangChain 如何帮助 推荐方案
产品经理 原型验证慢,想法难落地 10 行代码创建原型,快速验证 Deep Agents
后端开发者 模型集成复杂,工具调用混乱 统一接口,自动推理,代码简洁 LangChain
AI 研究员 实验环境搭建麻烦,对比困难 模型切换容易,LangSmith 分析 LangChain
创业者 快速 MVP,抢占市场 快速开发,功能完整 Deep Agents
技术专家 需要深度定制,性能优化 底层可控,高度灵活 LangGraph

典型应用场景

场景 传统做法 LangChain 做法 节省时间
智能客服 硬编码所有场景 Agent 自己理解用户意图 80%
知识问答 搜索 + 总结 RAG + Agent 自动检索 60%
个人助手 多个独立工具 统一 Agent 协调所有工具 70%
数据分析 写脚本分析 Agent 调用分析工具 50%

总结对比表

维度 LangChain LangGraph Deep Agents
定位 框架级 运行时级 应用级
复杂度 中等
灵活性 极高
开箱即用 ⭐⭐⭐ ⭐⭐⭐⭐⭐
定制能力 ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐
适用场景 快速开发、灵活配置 复杂场景、深度定制 快速上线、功能丰富
学习曲线 平缓 陡峭 极平缓

核心要点回顾

  1. LangChain 是什么:一个"开箱即用"的 AI 应用开发框架,让你用 10 行代码创建智能 Agent

  2. 三者关系

    • Deep Agents:"精装房",开箱即用
    • LangChain:"标准装修",框架完整
    • LangGraph:"毛坯房",底层灵活
  3. 核心优势

    • 标准模型接口,避免供应商锁定
    • 预构建 Agent 架构,10 行代码启动
    • 基于 LangGraph,支持持久执行和流式传输
    • LangSmith 调试工具,可视化执行过程
  4. 适用场景:快速原型、智能客服、知识问答、个人助手、数据分析

  5. 为什么选择:如果你想快速构建 Agent 和自主应用,LangChain 是最佳起点

如果这篇文章对你有帮助,点个赞再走呗 👍

关注「WEB大前端」,每周分享技术实践和行业洞察。

相关推荐
三无推导1 分钟前
OpenHuman 开源项目详解:个人 AI 助手架构与核心技术拆解
人工智能·性能优化·架构·开源·ai助手
C137的本贾尼2 分钟前
从零认识 Spring AI:Java 开发者的 AI 第一课
python·langchain
薛定猫AI9 分钟前
【深度解析】Hermes Agent 与 Hermes Desktop:长期记忆、技能沉淀与多端网关的开源 AI Agent 实战
人工智能·开源
xwz小王子12 分钟前
给机器人装上脊髓反射:AT-VLA 如何把触觉塞进 VLA,并把闭环响应压到 40 毫秒
人工智能·机器人
通信小呆呆12 分钟前
注意力机制用于信号同步:从匹配滤波到可学习对齐
人工智能·学习·机器学习·信息与通信
掌动智能14 分钟前
传统数据工厂之死:RunnerAgent如何开启AI驱动的“数据生产”新纪元
人工智能·测试工具·自动化
shchojj17 分钟前
Generative AI applications -- Reading
人工智能
青山科技分享26 分钟前
iPaaS推荐:五大集成平台推荐指南
大数据·人工智能·ipaas推荐
羊羊小栈28 分钟前
基于「YOLO目标检测 + 多模态AI分析」的篮球动作规范智能检测分析预警系统
人工智能·yolo·目标检测·计算机视觉·毕业设计·大作业
天上路人30 分钟前
双波束拾音技术在双向翻译机中的应用 —— 基于 A-59F 模组的原理、效果与场景解析
人工智能·语音识别