📌 本文不会堆砌晦涩的学术定义,也不会让你陷入复杂的数学公式。我将从最直观的痛点出发,带你亲手揭开 Agent 的神秘面纱——搞懂它为什么能干活、怎么思考、以及如何用现代框架把它落地成真正的产品。
🤔 一、为什么不能直接调大模型接口?
许多初学者拿到 API Key 后第一反应是:“我都连上 ChatGPT 了,是不是就能做任何事了?”
答案是:远远不够。 LLM 本身有很多“天生残疾”,裸调接口根本做不出好产品。
| 🧩 LLM 的短板 | ❓ 问题描述 | ✅ 解决方案 |
|---|---|---|
| 🧠 没记性 | 上周聊过的信息,这周就忘了(LLM 是无状态的) | → Memory 模块:配合数据库、Redis 实现状态保持 |
| 🦾 没手脚 | 只能给思路,不能真的访问网页、操作文件 | → Tool Use 模块:让 LLM 能调用外部工具 |
| 📁 不知道内部数据 | 企业内部私有数据,LLM 训练时没见过 | → RAG 模块:检索增强生成,查内部知识库 |
| 📰 不知道新信息 | 最新的世界杯新闻?预训练数据里没有 | → MCP / 实时 Tool:通过 MCP 协议接入第三方工具 |
| 🏗️ 做不了复杂任务 | 做 PPT、分析股市并自动买卖,LLM 搞不定 | → Skills 技能:把专业流程“蒸馏”成可复用的技能包 |
💡 一句话总结:LLM 是“大脑”,但光有大脑没有四肢、没有记忆、没有知识库,它只是一个“植物人”。Agent 就是给它装上这些缺失的器官。
🧠 二、Agent 的定义(大白话版)
Agent 其实也不复杂:
- LLM 本身就会思考和规划(自带大脑 🧠)
- 给它装上 Tool,它就能自己做事情了(扩展手脚 🦾)
- 给它配上 Memory,它就能记住你要它记住的东西(装上记忆 💾)
- 接上 RAG,它就能查询内部知识库(接入企业知识 📚)
这样一个能知道内部知识、能思考规划、能动手干活、能记住事情的“扩展版 LLM”,就是一个 Agent。 ✨
🌍 市面上已有的 Agent 产品
| 类型 | 代表产品 | 核心价值 |
|---|---|---|
| 💻 Coding Agent | Claude Code、Codex、Cursor | 自动写代码、调试、部署,彻底解放程序员双手 |
| 🤖 自动化 Agent | Manus、小龙虾 | 跨应用自动操作、处理复杂任务链,像真人助手一样干活 |
🏛️ 三、Agent 架构全景图(六层体系)
📐 六层架构详解
| 层级 | 名称 | 职责 | 通俗类比 |
|---|---|---|---|
| 第0层 | Prompt Template | 定义 Agent 的身份、行为规范、工具清单 | 📖 员工手册 |
| 第1层 | Agent 核心 | ReAct 循环调度(思考→行动→观察→再思考) | 🎯 部门经理 |
| 第2层 | LLM | 理解局面 + 决定下一步动作 | 🧠 大脑皮层 |
| 第3层 | Memory | 短期/工作/长期三层记忆管理 | 💾 便签+笔记本 |
| 第4层 | Tools | 本地工具 + API 工具 + MCP 工具 | 🔧 工具箱 |
| 第5层 | Skills | 封装好的专业领域能力包 | 🎓 专业技能证书 |
🔄 四、Agent 工作流程(ReAct 循环详解)
架构图看完了,下面拆开看 Agent 具体怎么一步步干活:
🔑 关键词速查表
| 关键词 | 在流程中的位置 | 一句话解释 | 日常类比 |
|---|---|---|---|
| Prompt Template | 顶部方框 | 给 Agent 定规矩的模板文件 | 📖 员工手册 |
| Instructions | 顶部箭头 | 模板编译后发给 LLM 的最终指令 | 🎓 入职培训 |
| Planning/Reasoning | 右侧箭头 | LLM 理解局面 + 决定下一步 | 🤔 大脑打草稿 |
| Store/Retrieve | 下方箭头 | Agent 往 Memory 存/取数据的通道 | 💰 存钱/取钱 |
| Actions | 下方箭头 | Agent 调用 Tools 执行具体操作 | 🛠️ 动手干活 |
🔍 五、各模块深度解析
上面看了 Agent 怎么跑,下面逐个讲每个模块是干什么的:
5.1 📋 Prompt Template(提示词模板)
不是一句简单的话,而是一个结构化的多层指令体系:
| 组成部分 | 说明 | 示例 |
|---|---|---|
| 🎭 角色定义 | 你是谁? | “你是一位资深的 A 股分析师” |
| 🚫 行为约束 | 什么不能做? | “不编造数据、不推荐具体买卖点” |
| 🧰 工具清单 | 有什么武器? | “股价查询 API、财报读取工具、新闻搜索” |
| 📐 输出格式 | 回答长什么样? | “【分析】…【风险】…【建议】…” |
| 📋 工作流程 | 先干什么后干什么? | “先查数据→再分析→最后总结” |
| 🛡️ 安全边界 | 最后的保险 | “涉及法律问题必须让用户咨询专家” |
5.2 💾 Memory(记忆系统)
| 记忆类型 | 🧠 类比 | 📦 存什么 | 📍 存哪里 |
|---|---|---|---|
| 短期记忆 | 脑子里想的事 | 当前对话最近 N 轮 | 内存 / Redis |
| 工作记忆 | 📝 便签纸 | 当前任务中间结果 | 内存 |
| 长期记忆 | 📓 笔记本 | 跨会话的重要信息 | 数据库 / 向量库 |
5.3 🔧 Tools(工具系统)
📁 第一层:本地工具 → 文件读写、代码执行、系统命令
🌐 第二层:API 工具 → 股票API、天气API、新闻API
🔌 第三层:MCP 工具 → 标准协议接入的第三方服务(Google Drive、Slack、GitHub)
5.4 🎯 Skills(技能)
🔧 Tool = 单个动作(搜网页、读文件)
🎓 Skill = 一套完整的专业流程(“股市分析”:查股价→查财报→搜新闻→综合判断)
Planning 回答:“我该做什么?分成几步?” → 战略层 🗺️
Skills 回答:“这一步具体怎么做?用什么工具?” → 战术层 🎯
5.5 🗺️ Planning(规划能力)
Planning 是 Agent 的“思考过程”——拿到一个复杂任务后,自动拆成 N 步,然后一步步执行。
工作方式就是 ReAct 循环:
👤 用户:创建一个 todolist 项目
🧠 Agent 内部 Planning:
🔄 第1轮:Reasoning → "需要先创建项目骨架" → Action → 调终端命令
🔄 第2轮:Reasoning → "骨架有了,写代码" → Action → 调写入文件 Tool
🔄 第3轮:Reasoning → "代码有了,装依赖" → Action → 调终端命令
🔄 第4轮:Reasoning → "依赖齐了,启动" → Action → 调终端命令
🔄 第5轮:Reasoning → "跑起来了,告诉用户" → 输出结果 ✅
💡 Planning 决定“做什么、分几步”,Skills 决定“这一步具体怎么做”。Planning 是战略,Skills 是战术。
好了,Agent 的核心模块都认识了。但要真动手搭一个 Agent,不可能从零造轮子——得用框架。
⚙️ 六、开发框架:LangChain + LangGraph
LangChain 是搭 Agent 的“乐高积木”框架——把 LLM、Memory、Tools 等组件标准化,让你像拼积木一样组装 Agent。
📊 技术栈选型
🟩 Node (NestJS) + 🦜 LangChain(单Agent) + 🕸️ LangGraph(多Agent)
🏗️ 三层分工
┌────────────────────────────────────────────────┐
│ 🏠 NestJS(后端框架) │
│ 提供:HTTP接口、用户认证、数据库、部署 │
│ 定位:Agent 的“房子” │
├────────────────────────────────────────────────┤
│ 🦜 LangChain(单智能体框架) │
│ 提供:Memory、Tool注册、ReAct循环(开箱即用) │
│ 定位:造一个 Agent(装大脑+手脚+记忆) │
├────────────────────────────────────────────────┤
│ 🕸️ LangGraph(多智能体编排框架) │
│ 提供:多Agent状态流转、协作编排 │
│ 定位:管一群 Agent 的“导演” │
└────────────────────────────────────────────────┘
🔗 结合后端技术
Agent 开发不是纯 Python/Node 脚本——最终要落地成产品:
🏠 NestJS 套壳:提供 HTTP 接口、用户认证、数据库
↕
🦜 LangChain 内核:Agent 的逻辑层(Memory、Tool、ReAct)
↕
🏗️ 基础设施:Docker 部署、K8s 编排、CI/CD 自动化
💡 简单说:LangChain 造 Agent,NestJS 把 Agent 变成可调用的服务。
🗺️ 七、学习路线图(由浅入深)
建议按这个顺序,循序渐进:
| 阶段 | 📚 学什么 | 🛠️ 用什么 |
|---|---|---|
| ① 基础 | 先把 Agent 搭起来,跑通一个 ReAct 循环 | LangChain + Tool 系统 |
| ② 记忆 | 让 Agent 记住上下文,跨轮对话不丢信息 | LangChain Memory 模块 |
| ③ 知识库 | 接入企业内部数据,让 Agent 查自己的文档 | RAG + 向量数据库 |
| ④ 编排 | 多个 Agent 协作,各管一摊 | LangGraph |
| ⑤ 外部连接 | 接入第三方服务(Google Drive、GitHub...) | MCP 协议 |
| ⑥ 封装 | 把专业流程打包成可复用的技能 | Skills 系统 |
| ⑦ 落地 | 套上后端框架,部署上线 | NestJS + Docker/K8s |
🎯 核心三板斧:Tool / Memory / RAG ——这三样搞定,Agent 就能干活了。剩下的都是在“如何更好地干活”上做文章。
💬 写在最后
Agent 开发并不神秘,它本质上是把 LLM 的思考能力 + 工具的执行能力 + 记忆的持久能力有机地组合在一起。