第 1 章:走进 AI 开发的世界
在这一章中,我们将从零开始了解大语言模型(LLM)的基本概念,认识 LangChain.js 这个强大的开发框架,并纵览整个 LangChain 生态系统。读完这一章,你将对"用 JavaScript 构建 AI 应用"有一个清晰的全局认知。
1.1 什么是大语言模型(LLM)
用一句话理解 LLM
大语言模型(Large Language Model,简称 LLM)是一个经过海量文本训练的 AI 系统,它能够理解自然语言,并生成类似人类写作的文本回复。
你可以把 LLM 想象成一个"超级读书人"——它读过互联网上数万亿的文字(书籍、论文、代码、网页……),然后学会了一套规律:给定一段前文,预测接下来最合理的文字是什么。
LLM 是如何工作的
LLM 的核心原理其实很简单——下一个 Token 预测:
输入: "今天天气真"
模型预测:→ "好" (概率 45%)
→ "不错" (概率 30%)
→ "热" (概率 15%)
→ ...
Token 是模型处理文本的最小单位。一个中文字通常是 1-2 个 Token,一个英文单词通常是 1-3 个 Token。
虽然原理听起来简单,但当模型的参数规模达到数十亿甚至数千亿时,它就展现出了令人惊叹的能力:
| 能力 | 示例 |
|---|---|
| 自然对话 | 像真人一样聊天,理解上下文 |
| 内容创作 | 写文章、写邮件、写营销文案 |
| 代码生成 | 根据描述生成代码,解释代码逻辑 |
| 知识问答 | 回答各领域的专业问题 |
| 推理分析 | 逻辑推理、数学计算、数据分析 |
| 多语言翻译 | 在多种语言之间自然翻译 |
主流 LLM 模型提供商
目前市面上的主流 LLM 模型提供商:
| 提供商 | 代表模型 | 特点 |
|---|---|---|
| OpenAI | GPT-4o、GPT-4.1 | 综合能力强,生态成熟 |
| Anthropic | Claude 4 Sonnet/Opus | 长文本理解优秀,安全性好 |
| Gemini 2.5 Pro/Flash | 多模态能力强,速度快 | |
| Meta | Llama 4 | 开源免费,支持本地部署 |
| DeepSeek | DeepSeek-R1 | 推理能力强,性价比高 |
为什么 LLM 需要"开发框架"
你可能会想:既然模型提供商都提供了 API,我直接调用不就行了吗?
确实,你可以直接用 fetch 调用 OpenAI 的 API:
// 直接调用 OpenAI API(原始方式)
const response = await fetch("https://api.openai.com/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
},
body: JSON.stringify({
model: "gpt-4o",
messages: [{ role: "user", content: "你好" }],
}),
});
const data = await response.json();
console.log(data.choices[0].message.content);
但当你的需求变复杂时,问题就来了:
- 🔄 想切换到 Anthropic?整个 API 调用代码都得重写
- 🛠️ 想让 AI 调用外部工具(查天气、查数据库)?需要自己实现复杂的工具调用循环
- 🧠 想让 AI 记住之前的对话?需要自己管理消息历史
- 📄 想让 AI 基于你的文档回答问题?需要自己实现文档加载、分割、向量化、检索……
- 🔗 想构建多步骤的处理流程?需要自己编排各个环节
- 🛡️ 想确保 AI 输出的安全性?需要自己实现防护栏
这就是 LangChain.js 存在的意义——它帮你把这些"脏活累活"都封装好了。
1.2 为什么选择 LangChain.js
LangChain.js 是什么
LangChain.js 是一个用于构建 LLM 驱动应用的 JavaScript/TypeScript 框架。 它提供了一套标准化的接口和丰富的工具集,让你能够快速构建从简单聊天机器人到复杂智能代理的各种 AI 应用。
用官方的话说:
LangChain 让你用不到 10 行代码就能连接 OpenAI、Anthropic、Google 等多种模型提供商,快速构建完全由 LLM 驱动的自定义代理和应用程序。
LangChain.js 的四大核心价值
1. 标准化的模型接口
不同的模型提供商有不同的 API 格式、不同的参数命名、不同的响应结构。LangChain.js 用一套统一接口屏蔽了这些差异:
// 切换模型只需改一个字符串,代码完全不用动!
import { createAgent } from "langchain";
// 使用 OpenAI
const agent1 = createAgent({ model: "gpt-4o" });
// 使用 Anthropic —— 同样的代码结构
const agent2 = createAgent({ model: "claude-sonnet-4-6" });
// 使用 Google —— 还是同样的代码结构
const agent3 = createAgent({ model: "gemini-2.5-pro" });
一套代码,多个模型提供商随意切换。 这意味着你不会被任何一家供应商锁定。
2. 易用且灵活的 Agent 架构
LangChain.js v1 采用了 Agent-first(代理优先) 的设计理念。创建一个能自主决策、使用工具的 AI 代理,只需要几行代码:
import { createAgent, tool } from "langchain";
import * as z from "zod";
// 定义工具
const searchWeb = tool(
({ query }) => `搜索结果:关于 "${query}" 的最新信息...`,
{
name: "search_web",
description: "搜索互联网获取最新信息",
schema: z.object({ query: z.string() }),
}
);
// 创建 Agent
const agent = createAgent({
model: "gpt-4o",
tools: [searchWeb],
});
// Agent 会自动判断:是否需要调用工具,何时调用,如何整合结果
const result = await agent.invoke({
messages: [{ role: "user", content: "2026 年有哪些热门的 AI 框架?" }],
});
3. 基于 LangGraph 构建
LangChain.js 的 Agent 底层运行在 LangGraph 之上,这意味着你"免费"获得了一系列强大特性:
- 持久化执行:Agent 的状态可以保存和恢复
- 流式传输:实时输出 AI 的回复,而不是等全部生成完
- 人机协同:在关键决策点暂停,等待人类确认
- 时间旅行:回溯 Agent 的任意历史状态,方便调试
4. LangSmith 调试支持
AI 应用的调试不同于传统应用——你需要理解模型的"思考过程"。LangSmith 提供了可视化的追踪工具,让你能看到 Agent 每一步的状态转换、工具调用和模型推理。
为什么选择 JavaScript/TypeScript
你可能知道 LangChain 最初是 Python 版本。那为什么要用 JS/TS 版本呢?
| 优势 | 说明 |
|---|---|
| 全栈统一 | 前端(React/Vue)+ 后端(Node.js)+ AI 逻辑,一种语言搞定 |
| TypeScript 类型安全 | 强类型系统帮你在编译期捕获错误,IDE 智能提示更友好 |
| 丰富的 npm 生态 | 数百万个 npm 包随时可用 |
| 异步原生 | JavaScript 天生擅长异步处理,非常适合 AI 应用的流式场景 |
| 边缘计算 | 可部署到 Vercel Edge、Cloudflare Workers 等边缘环境 |
| 社区活跃 | JavaScript 是全球使用人数最多的编程语言 |
1.3 LangChain 生态全景:LangChain vs LangGraph vs Deep Agents
LangChain 不仅仅是一个库,而是一个完整的生态系统。理解生态中每个组件的定位,对于后续的学习和技术选型非常重要。
生态三层架构
LangChain 生态可以分为三个层次,从底层到上层分别是:
┌─────────────────────────────────────────────┐
│ Deep Agents(深度智能体) │ ← 最上层:开箱即用
│ 自动压缩、虚拟文件系统、自主规划执行 │
├─────────────────────────────────────────────┤
│ LangChain(核心框架) │ ← 中间层:快速构建
│ 预构建 Agent、模型集成、工具、中间件、RAG │
├─────────────────────────────────────────────┤
│ LangGraph(底层引擎) │ ← 最底层:深度定制
│ 图执行引擎、状态管理、持久化、流式传输 │
├─────────────────────────────────────────────┤
│ LangSmith(可观测性平台) │ ← 贯穿全程
│ 追踪、调试、评估、监控、部署 │
└─────────────────────────────────────────────┘
各组件详解
LangGraph —— Agent 的底层引擎
LangGraph 是一个低级别的代理编排框架和运行时。它的核心思想是用图(Graph) 来描述 Agent 的工作流:
- 节点(Node):代表一个处理步骤(调用模型、执行工具、做判断……)
- 边(Edge):定义节点之间的执行顺序和条件跳转
- 状态(State):在整个图执行过程中共享的数据
适合场景:需要精确控制 Agent 行为、自定义复杂工作流、混合确定性逻辑和 AI 决策
LangChain —— 快速构建的核心框架
LangChain 是我们这本小册的主角。它建立在 LangGraph 之上,提供了更高层级的抽象:
- 预构建的 Agent 架构:
createAgent一行代码创建 Agent - 标准化的模型接口:统一对接 OpenAI、Anthropic、Google 等
- 丰富的工具系统:定义工具、结构化输出、MCP 协议
- 中间件系统:在模型调用前后插入自定义逻辑
- 短期/长期记忆:管理对话上下文和持久知识
适合场景:大多数 AI 应用开发——这是你 90% 情况下的首选
Deep Agents —— 复杂任务的终极方案
Deep Agents 是生态的最上层,提供"开箱即用"的高级智能体能力:
- 自动上下文压缩:自动管理超长对话的上下文
- 虚拟文件系统:为 Agent 提供持久化的工作空间
- 自主任务规划:能够将复杂任务自动分解为子任务并执行
⚠️ 注意:截至 2026 年初,Deep Agents 的 JavaScript/TypeScript 版本仍处于早期阶段。Python 版本已较为成熟(2026 年 1 月发布)。本小册会在后续章节介绍其概念,但代码示例可能需要等 JS 版本进一步完善。
LangSmith —— 贯穿全程的可观测性平台
LangSmith 不是一个代码库,而是一个在线平台和服务,它贯穿于开发的每个阶段:
| 阶段 | LangSmith 的作用 |
|---|---|
| 开发阶段 | 可视化追踪 Agent 的每一步执行过程 |
| 调试阶段 | 定位性能瓶颈、发现错误工具调用 |
| 测试阶段 | 创建评估数据集,自动化测试 Agent 行为 |
| 生产阶段 | 实时监控、异常告警、使用量统计 |
如何选择
| 我想要… | 推荐方案 |
|---|---|
| 快速构建一个 AI 聊天机器人 | LangChain createAgent |
| 构建有复杂决策流程的 Agent | LangChain + LangGraph |
| 让 Agent 处理需要长时间规划的复杂任务 | Deep Agents(建议等 JS 版本成熟) |
| 调试和监控 AI 应用 | LangSmith |
| 在 90% 的日常场景中 | 从 LangChain 开始就够了 |
本小册的策略:以 LangChain 为核心主线,逐步引入 LangGraph 的高级概念,在合适的章节介绍 LangSmith 的使用,并在进阶部分展望 Deep Agents。
1.4 本小册的学习路线图
全书结构总览
整本小册分为 七大部分 + 附录,设计了一条从入门到精通的学习路径:
第一部分:基础入门(第 1-2 章)
│ 了解 AI 概念,搭建开发环境
▼
第二部分:核心组件(第 3-11 章)
│ 掌握模型、消息、工具、流式传输等核心 API
▼
第三部分:Agent 智能代理(第 12-14 章)
│ 学会创建 Agent,理解短期记忆和 LangGraph
▼
第四部分:中间件系统(第 15-16 章)
│ 掌握中间件机制,精确控制 Agent 行为
▼
第五部分:高级特性(第 17-29 章)
│ 防护栏、RAG、长期记忆、多代理、MCP 等进阶能力
▼
第六部分:综合实战(第 30-32 章)
│ SQL Agent、语音 Agent、Toolkit 等完整项目
▼
第七部分:开发调试与部署(第 33-38 章)
│ 缓存、LangSmith、评估、前端集成、API 部署
▼
附录:API 速查、选型指南、迁移指南等参考资料
推荐学习路径
根据你的背景,这里提供三条学习路径:
🟢 路径一:零基础入门(推荐用时 4-6 周)
适合完全没有 AI 开发经验的读者
第 1 章 → 第 2 章 → 第 3 章 → 第 4 章 → 第 8 章 → 第 9 章 → 第 10 章 → 第 12 章
概念 环境 模型 消息 工具 结构化输出 流式 Agent
按顺序走完这 8 章后,你就能独立构建一个有工具能力、支持流式输出的 AI Agent 了。
🔵 路径二:有基础快速上手(推荐用时 2-3 周)
适合有 JS/TS 基础,用过 OpenAI API 的读者
第 2 章 → 第 3 章 → 第 8 章 → 第 12 章 → 第 15 章 → 第 21 章
环境 模型 工具 Agent 中间件 RAG
跳过概念铺垫,直奔核心功能。
🟣 路径三:生产级应用开发(推荐用时 6-8 周)
适合想把 AI 应用部署上线的读者
全部阅读,特别关注:
- 第 17 章:防护栏(安全必备)
- 第 19 章:人机协同(关键决策需要人工审批)
- 第 21-26 章:RAG 全系列(知识库应用的核心)
- 第 33 章:缓存与成本管理(省钱必读)
- 第 34-35 章:LangSmith 调试与评估(质量保障)
- 第 37-38 章:前端集成与 API 部署(上线必备)
每章的学习模式
每一章都遵循统一的学习模式:
📖 概念讲解 → 💻 代码示例 → 🔍 深入细节 → 🚀 实战项目
- 概念讲解:用通俗的语言解释"是什么"和"为什么"
- 代码示例:每个知识点都配有可直接运行的代码片段
- 深入细节:探讨最佳实践、注意事项和进阶技巧
- 实战项目:每章末尾有一个完整的实战项目,综合运用本章所学
准备好了吗?
在下一章中,我们就要动手了——搭建开发环境,写出你的第一个 AI 程序。
Let's go! 🚀