📖 本篇导读:这是 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 适用人群


总结对比表

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

核心要点回顾

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

  2. 三者关系

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

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

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

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

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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐