用node来开发AI-langchain

6 阅读9分钟

第 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 模型提供商:

提供商代表模型特点
OpenAIGPT-4o、GPT-4.1综合能力强,生态成熟
AnthropicClaude 4 Sonnet/Opus长文本理解优秀,安全性好
GoogleGemini 2.5 Pro/Flash多模态能力强,速度快
MetaLlama 4开源免费,支持本地部署
DeepSeekDeepSeek-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
构建有复杂决策流程的 AgentLangChain + 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 部署(上线必备)

每章的学习模式

每一章都遵循统一的学习模式:

📖 概念讲解 → 💻 代码示例 → 🔍 深入细节 → 🚀 实战项目
  1. 概念讲解:用通俗的语言解释"是什么"和"为什么"
  2. 代码示例:每个知识点都配有可直接运行的代码片段
  3. 深入细节:探讨最佳实践、注意事项和进阶技巧
  4. 实战项目:每章末尾有一个完整的实战项目,综合运用本章所学

准备好了吗?

在下一章中,我们就要动手了——搭建开发环境,写出你的第一个 AI 程序。

Let's go! 🚀