Appearance
实现篇 · 用 Node.js 把手上的 Agent 真正跑起来
前两篇我们把 Agent 的"道理"讲透了:它凭什么聪明、模型世界长什么样。但道理不变成能按回车跑起来的代码,就还是空中楼阁。
这一篇开始动手。约定先讲清楚:
🧭 本系列的技术选型
- 语言:全篇基于 Node.js(>= 20),随代码示例给出版本说明。你平时用什么语言不重要,重要的是把"框架怎么把概念落地"这件事看懂——Node 生态的 Agent 框架是最活跃的之一,代码量适中、可读性好,适合边看边跑。
- 框架:主线用 LangChain.js,它是老牌 Agent 编排框架,把"模型、工具、记忆、检索"这些概念做成了标准接口;每篇末尾会补一段 Vercel AI SDK 的对照写法(更贴近新一代 Agent 生态,代码更少)。两条路线都给你,按喜好选。
- 模型接入:统一走 OpenAI 兼容接口(OpenAI / DeepSeek / Qwen / GLM / 本地 Ollama 都兼容),这样只要换一个
baseURL和一个 key,就能切换任何一家。代码里用环境变量,绝不把密钥写死在源码里。
📁 你会得到的,是一份"能长大的脚手架"
不像孤立的小 demo,实现篇会把概念一路搭成一个可运行的 Agent 骨架。从头到尾你会经历:
| 步骤 | 打通的能力 | 收获 |
|---|---|---|
| 环境的搭建 | 项目准备好、模型接通 | 一个能跑通第一句话的最小工程 |
| 把模型请进门 | 对话 | 第一次让 Agent"开口" |
| 装一段记忆 | 检索(RAG) | 让 Agent 记得住私有资料 |
| 让它动起手 | 工具(Function) | 让 Agent 真能调用代码去办事 |
| 留得住上下文 | 记忆 | 让 Agent 记得住聊了什么 |
| 组装成 Agent | 完整 Agent | 把它们拼成一个能协同的智能体 |
这套脚手架会跟着全文演进——每一篇都在上一篇的代码上"长出"一块能力,读到最后你就拥有一个由对话 + 检索 + 工具 + 记忆共同驱动的真实 Agent,而不是 7 个互不相干的 snippet。
🔓 它不依赖任何特定大厂
所有示例都通过统一的 OpenAI 兼容层接通模型。无论你想用云上模型(OpenAI、DeepSeek、通义、智谱、Kimi)还是本地开源模型(Ollama 跑 Qwen/Llama/DeepSeek),都是把环境变量里的 baseURL 和 apiKey 换一换的事,代码一字不改。
⚡ 先做一件事:把运行时准备好
读这一篇之前,请确保本地有:
bash
node -v # >= v20 即可,文中以 v22 为例
npm -v # 或 pnpm / bun,任选其一读完 环境的搭建,你会得到一个运行 npm run dev 就能和模型对话的最小工程。
用一句话记住这一篇的起点:
实现 = 框架把"大脑、知识、手脚、记忆"翻译成对象和方法,你负责把它们按业务串起来。本系列就用一个帮工当主线、按 OpenAI 兼容协议跟模型打交道,带着代码一节节长成可用 Agent。
读完了先别急着一头扎进代码——先花 3 分钟看一遍 框架地图,搞懂我们为什么这么选、每个框架在生态里处在什么位置,后面读代码会顺很多。