给前端看的 LangChain 入门:别再只会直接调大模型 API 了

82 阅读7分钟
658969f9-5d03-478e-b7b3-ba7f0d35c928.png

🌊 开头:先说人话,给前端看的版本

如果你是前端,这一年多大概率被 AI 信息轰炸过无数次:

  • “大模型会不会干掉前端?”

  • “AI 全栈工程师年薪 xxx”

  • “RAG、Agent、LangChain……”

但真到要自己上手做一个 AI 功能的时候,很多前端的真实感受其实是:

“我会调大模型 API,那 LangChain 到底有什么用?
为啥要多学这一层东西?”

这篇我就站在 前端的视角,把这几个问题讲清楚:

  1. LangChain 到底是啥(前端类比)

  2. 它具体解决了哪些现实问题(不用它会怎样)

  3. 前端怎么把 LangChain 跟自己技术栈串起来

  4. 对应哪些岗位&发展方向,值不值得学


① LangChain 到底是什么?

先给一个非常不官方、但前端很好懂的定义:

LangChain = 把“大模型”接到你真实业务里的那层“工程胶水”。

大模型本身很强,但它只是一颗“超聪明的大脑”:

  • 它不知道你公司文档、接口、数据库

  • 它不会自己规划一串调用流程

  • 它不记得你上一次对话里的业务状态

如果你写过这些东西:

  • 用 Axios 封装统一请求客户端

  • 用 Redux / Zustand 管全局状态

  • 用 React Hook 把一段业务逻辑抽成 useXXX

那你可以这样理解:

LangChain 就是“给大模型用的 Axios + Hook + 中间件系统”。
它帮你把“调模型 + 查数据 + 调工具 + 组织流程”封装成一条条可复用的链(chain)。


② 换成前端语言:它长什么样?

从 JS/TS 开发者视角看,LangChain 基本就是:

  • 一堆 npm 包(@langchain/*),可以在 Node.js / Next.js / Bun / Cloud Functions 里用

  • 一套抽象概念:LLMPromptTemplateChainToolAgentRetrieverMemory

  • 加上一些周边工具:向量数据库集成、调试、评估等

举个“感受一下就好”的伪代码👇

import { ChatOpenAI } from "@langchain/openai";
import { ChatPromptTemplate } from "@langchain/core/prompts";
import { RunnableSequence } from "@langchain/core/runnables";

const model = new ChatOpenAI({ model: "gpt-4.1-mini" });

const prompt = ChatPromptTemplate.fromMessages([
  ["system", "你是一个帮助前端写代码的助手。"],
  ["human", "{question}"],
]);

const chain = RunnableSequence.from([prompt, model]);

const res = await chain.invoke({
  question: "帮我写一个防抖 hook",
});

做了三件事:

  1. 不用手拼 prompt 字符串

  2. 不用在各处重复写“调模型”的逻辑

  3. 把整个“流程”抽成一个 chain,跟普通函数一样复用

对前端来说,这个抽象非常眼熟。


③ 它到底解决什么问题?不用它会怎样?

✅ 1)大模型“看不到你的业务数据”

大模型默认只知道训练时的公开数据:

  • 不知道你公司文档 / Wiki / 飞书 / Notion

  • 不知道你的数据库、订单、用户信息

  • 不知道你产品的业务规则、接口协议

不用 LangChain 时,你可能会这么干:

  1. 后端自己写一套“把文档拆块 + 向量化 + 存库”的逻辑

  2. 查询时再自己写“检索 + 拼上下文 + 调模型”的代码

  3. 每个项目复制粘贴一份,策略还不一样

结果就是:

  • 切分策略散落各处,改一次要全项目搜

  • Prompt 模板到处复制粘贴,难以统一维护

  • 想换个向量库,要大改一堆代码

LangChain 在这块做了什么:

  • 提供统一的文档加载、切分工具(Loader / Text Splitter)

  • 统一封装向量库的读写(VectorStore / Retriever

  • 帮你把 “检索 → 重排 → 生成” 的 RAG 流程模块化

简单说:
你不用每个项目都“重新造一个迷你 LangChain”,直接用官方那套。


✅ 2)业务流程一复杂,代码就很难维护

真实的 AI 功能,很少是“一问一答就完事”。

典型流程像这样:

  1. 先分析用户意图(提取结构化参数,例如语言、风格、功能)

  2. 根据意图决定要不要查数据库 / 调用三方 API / 访问网页

  3. 把查回来的数据重新组织成 prompt(顺便做 token 截断)

  4. 再调一次模型,让它基于业务数据生成最终结果

如果你全都用 if-else + Promise 写,很快就会变成:

“大模型版 callback hell / 业务流程地狱”

LangChain 的思路:

  • 每个步骤抽象成一个“可组合的小方块”(Chain / Runnable)

  • 然后像管道那样串起来:
    用户输入 → 解析意图 → 检索数据 → 调用模型 → 格式化输出

  • 想插日志、埋点、评估时,只需要在链路里插一个中间环节

对前端来说很像:

  • 从“到处裸写 fetch

  • 升级为“用 React Query + Axios + 中间件 + 统一封装接口”


✅ 3)可控性 & 工程化:不靠玄学调 prompt

你很快会遇到这些问题:

  • 这个 prompt 到底改了几个版本?用户反馈哪版最好?

  • 哪些请求失败了?是模型问题还是数据检索问题?

  • 模型调用逻辑、Prompt 模板,在不同项目怎么复用?

LangChain 至少帮你做了几件事:

  • 把 Prompt / 模型调用 / 工具调用拆开,方便组合 & A/B

  • 提供统一调用接口,兼容不同模型服务商

  • 和 LangSmith 配合,可以可视化查看每次调用的链路、输入输出

从“能跑起来”到“可观察、可调优、可复用”,这一步其实挺关键。


④ 前端怎么把 LangChain 接到自己的栈里?

给两个非常典型的场景。

场景 1:Next.js + LangChain 做一个“AI 问答接口”

前端照常调用 /api/chat
API Route 里用 LangChain 处理 AI 逻辑:

心智模型:
“前端照常调接口,只是接口里不是写 SQL,而是写 LangChain 流程。”

常见玩法:

  • 用 LangChain 封装:意图识别 + RAG + 结果生成

  • API 只暴露一个简单的 HTTP 接口给前端

  • 前后端分工清晰:

    • 前端:UI / 状态 / 交互

    • 后端 LangChain:流程编排 / 模型服务对接


场景 2:做一个“看得懂公司文档”的智能问答

最常见的 RAG Demo:

  1. 用 LangChain Loader 把 PDF/Markdown 文档读出来

  2. Text Splitter 切块 + 嵌入向量 + 存到向量库

  3. 用户提问时:从向量库检索相关 chunk

  4. LangChain 帮你组装 prompt + 调模型生成“基于公司文档”的回答

对前端来说,体验非常像:

以前你用的是 搜索接口 + 详情接口

现在升级成一个 ask 接口,
“搜索 + 阅读 + 总结”全在后端 LangChain 里完成。


⑤ 对应哪些岗位?前端学它有什么用?

直接相关的岗位 👇

  • LLM 应用工程师 / AI 工程师(Node / Python 为主)

  • AI 全栈工程师(Next.js / Node.js + LangChain)

  • 数据 + AI 工程师(数据问答、智能报表、分析 Agent)

间接但很加分 👇

  • 想往 AI 方向升级的前端

    • 你不一定马上换岗

    • 但你会变成团队里“最懂 AI 落地的前端之一”,话语权会明显不一样

  • AI 产品的产品经理

    • 能更清晰地判断:这个需求能不能做、代价怎样

    • 少一点“玄学智能”,多一点“可落地设计”


⑥ 如果你是前端,现在可以这么学 LangChain

给一个 轻量但有效的路线,不内卷:

1️⃣ 先别碰 LangChain,先手调几次大模型 API

  • 用 fetch/axios 调 OpenAI / Claude / 其他模型

  • 体会一下:

    • prompt 拼接很乱

    • 逻辑散落各处

    • 复用很难做

2️⃣ 把你那坨“直调模型”用 LangChain 重构一版

  • PromptTemplate 管 prompt

  • Runnable / Chain 把流程串成一条管道

  • 继续挂到你熟悉的接口里(Next / Express / Nest)

3️⃣ 做一个“带文档”的问答 Demo(小型 RAG)

  • 几篇本地 Markdown / PDF 就够

  • 走一遍:加载 → 切分 → 向量化 → 检索 → 生成

4️⃣ 再看 Agent / 工具调用

  • 让模型学会“自己调你的 API / 脚本 / DB”

  • 这个阶段你会开始觉得:

    “这不就是在写一个能自动调用后端能力的‘AI 控制层’吗?”


🏁 最后

如果你是前端,我的建议是:

  • 不学 LangChain,你也能继续写好前端

  • 但如果你想摸一摸 AI 应用这条线,LangChain 是一个非常合适的突破口

它不是新宗教,只是一套 很工程化的“胶水层”
但很多时候,能不能真正落地,就卡在这层“胶水”上。


📌 如果你看到这里:

  • 可以先 收藏 一下,后面照着这篇拆一个自己的小 Demo

  • 想看我写 「前端实战:Next.js + LangChain 做一个完整的 RAG 小项目」 的,可以在评论区扣个「RAG」

  • 也欢迎一起交流你在用的大模型 & LangChain 踩过的坑 🙌