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

0 阅读4分钟

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 一键搞定

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 应用开发痛点对比


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

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

LangChain 生态三层架构

三者关系图解

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

核心优势

1. 标准模型接口

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

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

// 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。

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

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

3. 构建在 LangGraph 之上

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

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

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

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

4. LangSmith 调试工具

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

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

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

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

LangChain 四大核心优势


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

完整示例:天气查询 Agent

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 执行流程

┌─────────────────────────────────────┐
│                                     │
│   用户:"东京天气怎么样?"            │
│      ↓                              │
│   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 适用人群


总结对比表

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

核心要点回顾

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

  2. 三者关系

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

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

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

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

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