Appearance
框架地图 · Node.js 做 Agent 的那些"脚手架"
动手前先解决最纠结的问题:到底用什么框架?
Node.js 生态里跟 Agent 相关的库一堆,名字看着都像 —— LangChain、AI SDK、OpenAI SDK、Bun/Deno 的 xxx…… 先别急着装,花两分钟把地图看明白,后面就不会选错。
先说结论:这篇主线用哪两个
把它分成三层,大多数纠结都能化解:
┌─────────────────────────────────────────────┐
│ 第 3 层 面向应用: 把整套 Agent 拼装调度 │ ← LangChain.js (主线)
│ 逻辑编排、多步、记忆、检索、工具
├─────────────────────────────────────────────┤
│ 第 2 层 面向开发者: 让"调用模型"简单安全 │ ← Vercel AI SDK / OpenAI SDK
│ 流式、结构化输出、统一各家模型
├─────────────────────────────────────────────┤
│ 第 1 层 面向模型: 各家无底协议 (HTTP/WS) │ ← 用的是 OpenAI 兼容接口
│ OpenAI、DeepSeek、Qwen、Ollama……
└─────────────────────────────────────────────┘- 要"自己搭 Agent 的每一步"、把它拆开看明白 → 用 LangChain.js(第 3 层,它能做到第 2 层也能用)。
- 只想要轻量、少依赖、快速上线 → 用 Vercel AI SDK(第 2 层,更接近现代 Agent 的"极简主义")。
本系列以 LangChain.js 为主线讲解概念落地,因为它把"工具、记忆、检索"都做成了标准模块,教材感最强;每篇末尾给 AI SDK 对照,方便你切换成更精简的写法。
1. LangChain.js —— 全家桶式的"Agent 标准库"
一句话:它能让你把所有 Agent 零件(模型/工具/记忆/脚本/向量库)当成统一拼图拼起来。
优点:
- 抽象统一:
ChatModel、Tool、Memory、VectorStore、Agents都有统一接口,换一家模型、换一个向量库,只改一行配置; - 生态成熟:工具、检索器、记忆、多步推理的开箱方案最全;
- 可读性好:把"概念"翻译成"类",和你脑中的认知最对应。
缺点:
- 包大、层多:光
langchain一个包就拖一堆依赖,初次看会有"过度封装"感; - 抽象有时缝太大:为了统一所有厂商,细节被包住,深入调试时偶尔"隔靴搔痒"。
什么时候选 LangChain.js:你要做正经的、要长期维护的 Agent 产品,且希望少自己造轮子。 这是本系列主线。
2. Vercel AI SDK —— 新时代的"轻骑兵"
一句话:官方定位是"模型层的瑞士军刀"—— 不替你编排复杂逻辑,只把"调用模型、流式返回、结构化输出、多轮对话"这些最常用的做成极简 API。
优点:
- 极轻:
ai一个包就能打,心智负担小; - 面向流式:
streamText一句话就有打字机效果,做对话产品很爽; - 多框架通吃:Next/Express/任意 Node 框架都能用,和国产模型(DeepSeek/Qwen/GLM)对接也极顺。
缺点:
- 不含完整编排:复杂的多步推理、工具决策循环要你自己写(它有
streamText的tools+step机制,但不如 LangChain 机器人化); - 更"薄":只解决"怎么调模型",不替你解决"整个 agent 怎么做"。
什么时候选 AI SDK:你想要轻、快、依赖少,愿意自己写组装逻辑。 每篇末尾我都会附一段对照,方便你两个都试试。
3. 直接用各家 SDK?(OpenAI / Anthropic / 国产各家)
- 适合:只接一家、不换模型平台的简单单机脚本。
- 缺点:绑定一家。想换模型就得重写对接代码——在 Agent 这种"模型就是耗材、天天要换着比"的领域不太划算。
本系列不走这条路,但会给你看一眼"它长什么样",让你知道框架底层其实都在调它。
4. 国产/新兴框架,要不要碰?
李、飞桨、各种 xx Agent 框架也很多,但不是本系列的初心:
- 很多是为"特定厂商"或"特定场景"做了强绑定,概念和 LangChain 是同一套;
- 先把朗读通用的一套看懂,换到任何"玩法"都只是换皮。
地图小结,一张表说清
| 库 | 属于哪层 | 帮你解决 | 代价 | 谁适合 |
|---|---|---|---|---|
| LangChain.js | 3 编排 | 整套 Agent 拼装编排 | 包大、层厚 | 做正经产品/想拆开学 |
| Vercel AI SDK | 2 调用 | 调模型+流式+结构化 | 不装编排 | 轻量极速场景 |
| 各家官方 SDK | 2 调用 | 调一家模型 | 绑定厂商 | 单家快速脚本 |
| 各家 AI 框架 | 3 编排 | 特定需求的封装 | 绑定+小众 | 特定需求 |
这篇的结论就一句:
要看清 Agent 怎么落地 → 主线用 LangChain.js;要极简上线 → 换 Vercel AI SDK。 本系列两条都给你,先跟着主线走一遍,模型、工具、记忆、RAG 就都有"标准答案"了。
下一节,我们真的把环境配好、把模型接进工程,跑通你的**第一行对话**。