智能体开发一本通——从单智能体到多智能体(LangChain+RAG+LangGraph)
定 价:79 元
- 作者:梁建全
- 出版时间:2026/10/1
- ISBN:9787121535963
- 出 版 社:电子工业出版社
- 中图法分类:TP18
- 页码:236
- 纸张:
- 版次:01
- 开本:16开
-
商品库位:
本书介绍单智能体与多智能体的设计原理、搭建方法及落地应用。 书中围绕单智能体能力进阶、多智能体协同、行业落地等方向,讲解了LangChain、AutoGen、LangGraph、RAG、MCP等主流技术,内容按能力层级与应用场景清晰分类,覆盖面广、实用性强。读者可随着实战项目由浅入深学习:借助LangChain快速搭建基础智能体,借助AutoGen实现多智能体分工协作,借助LangGraph灵活地管控业务流程;借助RAG技术实现知识库智能检索,借助MCP封装业务能力。书中共有16个实战项目,涵盖商品咨询、个人旅行规划、知识库检索、市场调研、数据分析和AI伴学等常用智能体类型。每个实战项目都细致讲解业务分析、大模型选择、工具配置及调用、数据存储等技术要点。
梁建全,北京大学计算机专业本科学士,拥有20+年线上和线下IT教育深度经验与技术研发能力,曾在多家国内外知名企业(新东方、达内、兄弟连、千锋在线、拉勾网等)担任IT技术专家和课程教研总监现任启源创智科技 AI 事业部负责人。马如忠,现任启源创智科技 AI 事业部高级工程师。
第1篇 快速了解智能体
第1章 认识智能体 2
1.1 为什么需要智能体?这些场景给你答案 2
1.2 一张图拆解智能体的体系结构 3
1.2.1 大模型 3
1.2.2 记忆 3
1.2.3 工具调用 4
1.2.4 规划 4
1.2.5 行动执行 4
1.3 上手智能体开发,先做好必要准备 5
1.3.1 硬件配置要求 5
1.3.2 必备工具清单 6
1.3.3 核心技术概念认知 6
1.4 一张图看懂开发智能体的流程 6
第2章 第1次实战:10分钟快速上手智能体开发 8
2.1 了解智能体开发框架 8
2.1.1 对比主流框架——LangChain、LLaMA Index、AutoGPT 8
2.1.2 选型决策依据 9
2.2 LangChain的核心概念 10
2.2.1 链(Chain) 10
2.2.2 代理(Agent) 10
2.2.3 工具(Tool) 11
2.3 配置LangChain开发环境 11
2.3.1 配置说明 11
2.3.2 Windows/Linux系统中的配置方法 12
2.4 【实战】用LangChain开发第1个智能体 14
2.4.1 搭建项目环境 15
2.4.2 配置大模型与提示词模板 15
2.4.3 构建对话逻辑链 15
2.4.4 增加异常处理逻辑 16
2.5 【技巧】配置LangChain开发环境的常见问题 17
2.5.1 导入依赖包失败 17
2.5.2 版本冲突 18
第2篇 单智能体开发(基础)——基于LangChain
第3章 给智能体装上“大脑”:调用大模型 20
3.1 大模型的工作流程 20
3.1.1 工作流程详解 20
3.1.2 生成对话的工作机制 21
3.2 如何连接大模型 22
3.2.1 对比主流的大模型 22
3.2.2 鉴权与参数配置 23
3.2.3 接口请求方式 24
3.3 【实战】开发一个家电咨询智能体 26
3.3.1 搭建项目环境 26
3.3.2 配置模型与业务提示词 26
3.3.3 构建业务的逻辑链 28
3.3.4 增加异常处理逻辑 29
3.4 【技巧】调用大模型API失败的解决方案 29
3.4.1 网络超时的处理 30
3.4.2 接口限流的规避方案 30
第4章 让智能体“记住”事情:搭建记忆系统 32
4.1 为什么智能体需要记忆系统 32
4.1.1 保障多轮对话的连贯性 32
4.1.2 实现个性化服务 32
4.1.3 复用历史数据,提升效率 33
4.2 短期记忆:保存当前对话信息 33
4.2.1 对话上下文的存储结构 33
4.2.2 配置短期记忆的有效期 33
4.3 长期记忆:存储历史对话信息 34
4.3.1 长期记忆的存储内容 34
4.3.2 长期记忆与短期记忆的协同逻辑 35
4.4 【实战】开发一个能记住用户旅游偏好的智能体 35
4.4.1 搭建项目环境 35
4.4.2 设计用户旅游偏好的数据结构 36
4.4.3 实现记忆读写功能 36
4.4.4 验证多轮对话记忆 37
4.5 【技巧】优化记忆存储 39
4.5.1 对话信息去重 39
4.5.2 压缩存储历史数据 41
4.5.3 验证压缩效果 43
第5章 给智能体装上“手脚”:让它能调用工具 44
5.1 智能体的工具调用能力 44
5.1.1 为什么智能体需要工具调用能力 44
5.1.2 工具调用的过程 45
5.1.3 常用工具与适用场景 45
5.1.4 调用工具的准备工作 45
5.2 调用天气API查询天气信息 46
5.2.1 申请天气API的信息 47
5.2.2 调用天气API 47
5.2.3 解析API返回的数据 49
5.3 【实战】开发一个能“查询天气 + 管理日程”的智能体 51
5.3.1 搭建项目环境 52
5.3.2 配置天气查询工具与日程管理工具的参数和提示词 52
5.3.3 构建天气查询工具、日程管理工具与记忆的联动逻辑 53
5.3.4 实现查询天气与管理日程的交互功能 55
5.4 【技巧】调用工具失败的重试机制 58
5.4.1 调用工具失败的原因 58
5.4.2 重试策略 59
第3篇 单智能体开发(进阶)
——基于LangChain + Chroma + RAG
第6章 用LangChain搭建复杂智能体 62
6.1 LangChain的组件协作机制 62
6.1.1 核心组件的交互过程 62
6.1.2 拆解复杂任务的思路 64
6.1.3 【实战】拆解“生成产品介绍”任务 64
6.2 Agent的智能调度策略和Chain的嵌套设计 66
6.2.1 Agent的智能调度策略 66
6.2.2 Chain的嵌套设计 68
6.2.3 对比Agent和Chain 71
6.3 【实战】搭建复杂智能体——个人旅行规划师智能体 71
6.3.1 搭建项目环境 72
6.3.2 设计工具集 72
6.3.3 构建Chain嵌套 74
6.3.4 配置状态记忆 75
6.3.5 构建Agent动态调度工具 75
6.4 【技巧】让智能体更稳定、更聪明 76
6.4.1 优化上下文 76
6.4.2 错误的反馈与修正机制 77
第7章 为智能体构建RAG知识库:Chroma向量数据库与检索优化 79
7.1 RAG基础知识 79
7.1.1 RAG的核心概念及典型应用场景 79
7.1.2 RAG的工作流程 80
7.1.3 RAG的组件 80
7.1.4 为什么需要用向量检索 81
7.1.5 构建RAG知识库的步骤 81
7.2 向量数据库的技术原理 82
7.2.1 向量数据库的存储逻辑与检索机制 82
7.2.2 如何将文本变成“可检索的数字向量” 83
7.2.3 计算向量的相似度 84
7.2.4 构建索引并优化查询效果 85
7.3 向量库Chroma的基本使用 85
7.3.1 Chroma的安装与配置 86
7.3.2 Chroma的基本使用 86
7.4 【实战】开发一个带RAG知识库检索的智能体 88
7.4.1 搭建项目结构 88
7.4.2 创建记忆层与配置工具 89
7.4.3 用Agent整合向量库、记忆层和工具集 90
7.5 【技巧】提升智能体记忆内容的检索准确率 91
7.5.1 预处理数据 91
7.5.2 调优检索参数 92
第8章 让智能体学会“任务规划”:RAG多步骤检索与任务拆解 93
8.1 什么是任务规划?——从“直接做”到“想清楚再做” 93
8.2 任务规划的流程 94
8.2.1 分析任务 95
8.2.2 拆解任务 95
8.2.3 执行子任务 95
8.2.4 校验执行结果 95
8.2.5 优化方案 95
8.3 任务规划的方法——“逐步执行法”和“先拆分再执行法” 96
8.3.1 原理与优缺点对比 96
8.3.2 应用场景及适配建议 97
8.4 【实战】基于“先拆分再执行法”开发市场调研智能体 98
8.4.1 准备环境 99
8.4.2 封装百度搜索工具类 99
8.4.3 拆解与执行调研任务 101
8.4.4 处理数据与生成报告 104
8.5 【技巧】解决规划过程中的“偏离目标”问题 108
8.5.1 关键节点的检查机制 108
8.5.2 回溯策略与调整方案 111
第4篇 多智能体开发
——基于LangChain + AutoGen + LangGraph + MCP
第9章 多智能体基础:用AutoGen实现多个智能体协同工作 116
9.1 多智能体与AutoGen入门 116
9.1.1 多智能体协作的优势与应用场景 116
9.1.2 AutoGen的特点与设计思路 117
9.1.3 AutoGen的组件 118
9.2 AutoGen开发环境与核心配置 119
9.2.1 搭建AutoGen开发环境 119
9.2.2 密钥配置与基础权限设置 120
9.3 基于AutoGen创建多智能体 123
9.3.1 创建基础智能体 123
9.3.2 配置智能体角色 124
9.3.3 组建智能体团队 126
9.4 让多智能体高效沟通 128
9.4.1 启动对话 128
9.4.2 控制对话流程 129
9.4.3 传递消息与上下文管理 131
9.5 【实战】搭建能自动“采集数据 + 清洗数据”的数据分析系统 134
9.5.1 需求拆解与角色规划 134
9.5.2 准备环境 135
9.5.3 开发核心智能体 136
9.5.4 实现多智能体协作与流程整合 137
9.6 【技巧】常见问题与优化技巧 139
9.6.1 解决对话冗余问题,提升协作效率 139
9.6.2 避免智能体角色冲突,确保协调有序 141
9.6.3 基础性能优化 142
第10章 多智能体进阶:用LangGraph打造能实现复杂协作的智能体
团队 145
10.1 为什么需要LangGraph:从简单协作到复杂协作 145
10.1.1 复杂任务对协作有哪些更高要求 145
10.1.2 LangGraph的优势与适用场景 146
10.2 LangGraph开发环境与核心概念 147
10.2.1 配置LangGraph开发环境 147
10.2.2 理解节点、边、状态和图 148
10.2.3 解析LangGraph工作流程 149
10.3 【实战】基于LangGraph搭建多智能体协作图 150
10.3.1 封装智能体与分配任务 150
10.3.2 控制协作流程的分支与跳转 151
10.3.3 智能体间的数据共享与同步 152
10.3.4 编译和启动协作图 152
10.4 让协作更高效稳定 153
10.4.1 多个节点的并行运行 153
10.4.2 处理节点异常与流程回溯 155
10.4.3 根据状态切换角色与重分配任务 156
10.4.4 保存状态与“断点续跑” 157
10.5 【实战】用LangGraph实现“采集 → 清洗 → 分析→ 可视化”的
数据分析系统 158
10.5.1 需求拆解与角色规划 159
10.5.2 环境准备 161
10.5.3 开发智能体节点 162
10.5.4 基于LangGraph搭建协作图 165
10.6 【技巧】集成外部工具以增强智能体的能力 167
10.6.1 集成数据库 167
10.6.2 集成第三方API 168
10.6.3 集成本地脚本函数 169
第11章 MCP:智能体连接外部环境的标准化“万能接口” 171
11.1 MCP的定位与设计理念 171
11.1.1 LangChain、AutoGen和LangGraph在工具调用上的局限 172
11.1.2 MCP的核心定义与设计原则 172
11.1.3 MCP与函数调用、API、传统插件机制的区别 172
11.2 MCP的架构设计与通信机制 173
11.2.1 MCP核心架构详解 173
11.2.2 MCP通信机制解析 175
11.3 MCP三大组件深度解析 178
11.3.1 Resources(资源) 178
11.3.2 Tools(工具) 179
11.3.3 Prompts(提示词) 180
11.3.4 三大组件的组合使用 180
11.4 【实战】MCP与主流智能体框架的集成 180
11.4.1 搭建MCP开发环境 181
11.4.2 MCP与LangChain集成 182
11.4.3 MCP与AutoGen集成 183
11.4.4 MCP与LangGraph集成 184
11.5 【技巧】MCP安全与性能优化 186
11.5.1 权限模型与身份认证机制 186
11.5.2 沙箱隔离机制与风险防护 188
11.5.3 常用的性能优化策略 189
第5篇 综合实战
第12章 实现个性化学习辅导的AI伴学智能体 194
12.1 系统需求分析 194
12.1.1 教育场景痛点 194
12.1.2 系统功能需求 195
12.2 系统架构设计 196
12.2.1 整体架构 196
12.2.2 技术架构 196
12.2.3 业务流程设计 197
12.3 开发环境准备 197
12.3.1 搭建开发环境 198
12.3.2 准备资源 199
12.4 底层平台搭建:“MCP + RAG”双引擎架构 200
12.4.1 MCP资源与工具封装 201
12.4.2 搭建RAG检索增强引擎 204
12.5 多智能体协作设计:AutoGen角色分工与协同 206
12.5.1 多智能体设计 206
12.5.2 多智能体协作与调度 209
12.6 编排学习流程:用LangGraph构建可灵活调整的学习路径 210
12.6.1 定义与管理状态 210
12.6.2 封装全流程节点 211
12.6.3 流程分支控制 214
12.6.4 编译工作流程 215
12.6.5 执行工作流程 216
12.7 优化用户学习体验 219
12.7.1 分级提示词工程 219
12.7.2 双层记忆系统 219
12.7.3 异常容错处理 221