如何学习Agent,推荐阅读《动手做AI Agent》这本书。
推荐理由:
1:一本书能够全方位了解并探索Agent的奥秘!
(1)Agent的发展进程。
(2)可以帮我们做哪些事:自动办公,个性化推荐,流程的自动化与资源的优化等。
(3)了解如何用Agent提升各行业的效能以及Agent所能带来新的商业模式和变革。
(4)Agent的发展前景:下一代Agent的诞生地,即科研论文中的新思路。
2:动手从0到1做AI Agent,7个实例全方位解析Agent的设计与实现!
(1)基于大模型的Agent技术框架:Agent四大要素,规划和决策能力,调用工具,ReAct框架等。
(2)初识OpenAI API、LangChain和LlamaIndex。
(3)7个实例,从自动化办公到多功能选择的引擎,从实现自动定价到智能调度库存,技术路线全面。
3:进阶Agent开发能力,零距离接触GPT-4模型、LangChain等尖端技术!
(1)全面学习LangChain架构:ReAct框架,Plan-and-Execute等。
(2)全面学习LlamaIndex:提示工程、RAG与微调等。
(3)GitHub的网红聚落:AutoGPT、BabyAGI和CAMEL。
(4)多Agent框架:AutoGen,MetaGPT。
随着技术的进步,我们开始期待更多:我们所向往的是一个不仅把人工智能生成内 容视为工作的一部分,还将人工智能作为连接更加复杂任务的关键纽带的时代。
这种愿景正是 Agent诞生的起点。
在探索人工智能的奥秘和可能性的征程中,Zhen Fund(真格基金)认为生成式人 工智能应用需要经历表 1 所示的 5 个层级。
目前流行的 Chat GP T 和 Copilot 分别位于 L2 和 L3,可以将它们视为一种初级 的 Agent。ChatGPT 能够根据对话上下文(记忆)来响应提示输入的操作,向人类展 示有价值的对话,而 Copilot 通过与人类协作,可以在多个层面上提升完成相应任务的 效能。
从 L3 到 L4 的跨越是一个从被动到自主的分水岭,在这个跨越过程中, Agent 将 成为关键的驱动力。
未来的 Agent 将不仅仅是内容生成工具。它们将整合人工智能模型、海量数据和 多样化的工具,从而能执行各种任务,完成不同的工作。这些 Agent 跨越单纯的内容 生成的界限,开始涉足决策制定和行动实施等领域。无论是解读复杂指令、规划策略、 拆解任务,还是执行实现目标的具体步骤,它们都将展现出独特的自主性和适应性。更 为关键的是,这些 Agent 能够接入并灵活运用多种辅助工具和数据资源,从而大幅拓 宽工作领域和提高工作能力。
尽管构建 Agent 的基石已经准备就绪,但 Agent 的技术发展仍处于萌芽阶段。开 发者需要进行深入思考并动手实践,以确立 Agent 的开发框架、Agent 访问工具的方 式、与数据交互的方式,以及如何对话以完成具体任务。这些问题的答案将塑造未来 Agent 的形态和能力。
在解锁 Agent的巨大潜力的过程中,我们需要深入探讨以下几个关键问题。
■ Agent 如何在各行各业中提升效率以及创造机会和更多可能性?
■ 在众多的 Agent 框架中,如何选择适合自己需求的框架?
■ 在解决现实世界的问题时,如何实施 Agent 才最有效?
■ 自主 Agent 如何改变我们对人工智能驱动的任务管理的认知和实践?
目前无论是学术界还是产业界,对人工智能应用开发的关键问题远未达成共识。本 书或许可以作为读者深入探讨上述问题的漫长旅途的开端。本书旨在从技术和工具层面 阐释 Agent 设计的框架、功能和方法,具体涉及如下技术或工具。
■ Open AI API 以 及 Open AI Assistants :用 于 调 用 包 含 GP T -4 模 型 和 DALL ·E 3 模型在内的众多人工智能模型。
■ LangCha in :开源框架,旨在简化构建基于语言的人工智能应用的过程,其中 包含对 ReAct 框架的封装和实现。
■ Llama Index :开源框架,用于帮助管理和检索非结构化数据,利用大模型的 能力和 Agent 框架来提高文本检索的准确性、效率和智能程度。
这些技术和工具都可以用于构建 Agent,它们通过接口连接大模型,为 Agent 提 供语言理解、内容生成和决策支持的能力。通过它们, Agent 可以支持多种外部工具, 进而执行复杂任务以及与环境进行交互。
除了介绍 Agent的框架和开发工具之外,本书还将通过 7 个实操项目,带领读者学习前沿的 Agent实现技术。这 7 个项目分别如下:
Agent 1:自动化办公的实现——通过 Assistants API 和 DALL ·E 3 模型创 作 PPT。
■ Agent 2:多功能选择的引擎——通过 Function Calling 调用函数。
■ Agent 3:推理与行动的协同——通过 LangChain 中的 ReAct 框架实现自动 定价。
■ Agent 4: 计 划 和 执 行 的 解 耦 —— 通 过 Lang Chain 中 的 Play - and - Execute 实现智能调度库存。
■ Agent 5:知识的提取与整合——通过 LlamaIndex 实现检索增强生成 Agent。
■ Agent 6:GitHub 的网红聚落——AutoGPT、BabyAGI 和 CAMEL。
■ Agent 7:多 Agent 框架——AutoGen 和 MetaGPT。
详细目录
第 1章 何谓Agent,为何Agent 001
1.1 大开脑洞的演讲:Life 3.0 001
1.2 那么,究竟何谓Agent 003
1.3 Agent的大脑:大模型的通用推理能力 006
1.3.1 人类的大脑了不起 006
1.3.2 大模型出现之前的Agent 007
1.3.3 大模型就是Agent的大脑 008
1.3.4 期望顶峰和失望低谷 010
1.3.5 知识、记忆、理解、表达、推理、反思、泛化和自我提升 012
1.3.6 基于大模型的推理能力构筑AI应用 015
1.4 Agent的感知力:语言交互能力和多模态能力 016
1.4.1 语言交互能力 016
1.4.2 多模态能力 016
1.4.3 结合语言交互能力和多模态能力 017
1.5 Agent的行动力:语言输出能力和工具使用能力 017
1.5.1 语言输出能力 017
1.5.2 工具使用能力 018
1.5.3 具身智能的实现 019
1.6 Agent对各行业的效能提升 019
1.6.1 自动办公好助手 020
1.6.2 客户服务革命 020
1.6.3 个性化推荐 020
1.6.4 流程的自动化与资源的优化 021
1.6.5 医疗保健的变革 021
1.7 Agent带来新的商业模式和变革 022
1.7.1 Gartner的8项重要预测 023
1.7.2 Agent即服务 024
1.7.3 多Agent协作 025
1.7.4 自我演进的AI 026
1.7.5 具身智能的发展 026
1.8 小结 027
第 2章 基于大模型的Agent技术框架 029
2.1 Agent的四大要素 029
2.2 Agent的规划和决策能力 031
2.3 Agent的各种记忆机制 032
2.4 Agent的核心技能:调用工具 033
2.5 Agent的推理引擎:ReAct框架 035
2.5.1 何谓ReAct 035
2.5.2 用ReAct框架实现简单Agent 038
2.5.3 基于ReAct框架的提示 040
2.5.4 创建大模型实例 043
2.5.5 定义搜索工具 044
2.5.6 构建ReAct Agent 044
2.5.7 执行ReAct Agent 045
2.6 其他Agent认知框架 047
2.6.1 函数调用 047
2.6.2 计划与执行 048
2.6.3 自问自答 048
2.6.4 批判修正 048
2.6.5 思维链 048
2.6.6 思维树 048
2.7 小结 049
第3章 OpenAI API、LangChain和LlamaIndex 051
3.1 何谓OpenAI API 052
3.1.1 说说OpenAI这家公司 052
3.1.2 OpenAI API和Agent开发 055
3.1.3 OpenAI API的聊天程序示例 057
3.1.4 OpenAI API的图片生成示例 063
3.1.5 OpenAI API实践 065
3.2 何谓LangChain 067
3.2.1 说说LangChain 068
3.2.2 LangChain中的六大模块 073
3.2.3 LangChain和Agent开发 074
3.2.4 LangSmith的使用方法 075
3.3 何谓LlamaIndex 077
3.3.1 说说LlamaIndex 077
3.3.2 LlamaIndex和基于RAG的AI开发 078
3.3.3 简单的LlamaIndex开发示例 081
3.4 小结 084
第4章 Agent 1:自动化办公的实现——通过Assistants API和DALL·E 3模型创作PPT 085
4.1 OpenAI公司的Assistants是什么 086
4.2 不写代码,在Playground中玩Assistants 086
4.3 Assistants API的简单示例 090
4.3.1 创建助手 091
4.3.2 创建线程 095
4.3.3 添加消息 097
4.3.4 运行助手 099
4.3.5 显示响应 103
4.4 创建一个简短的虚构PPT 105
4.4.1 数据的收集与整理 106
4.4.2 创建OpenAI助手 106
4.4.3 自主创建数据分析图表 108
4.4.4 自主创建数据洞察 112
4.4.5 自主创建页面标题 114
4.4.6 用DALL·E 3模型为PPT首页配图 115
4.4.7 自主创建PPT 116
4.5 小结 121
第5章 Agent 2:多功能选择的引擎——通过Function Calling调用函数 122
5.1 OpenAI中的Functions 122
5.1.1 什么是Functions 123
5.1.2 Function的说明文字很重要 124
5.1.3 Function定义中的Sample是什么 124
5.1.4 什么是Function Calling 126
5.2 在Playground中定义Function 127
5.3 通过Assistants API实现Function Calling 130
5.3.1 创建能使用Function的助手 131
5.3.2 不调用Function,直接运行助手 133
5.3.3 在Run进入requires_action状态之后跳出循环 140
5.3.4 拿到助手返回的元数据信息 141
5.3.5 通过助手的返回信息调用函数 141
5.3.6 通过submit_tool_outputs提交结果以完成任务 143
5.4 通过ChatCompletion API来实现Tool Calls 147
5.4.1 初始化对话和定义可用函数 148
5.4.2 第 一次调用大模型,向模型发送对话及工具定义,并获取响应 149
5.4.3 调用模型选择的工具并构建新消息 151
5.4.4 第二次向大模型发送对话以获取最终响应 153
5.5 小结 154
第6章 Agent 3:推理与行动的协同——通过LangChain中的ReAct框架实现自动定价 156
6.1 复习ReAct框架 156
6.2 LangChain中ReAct Agent 的实现 159
6.3 LangChain中的工具和工具包 160
6.4 通过create_react_agent创建鲜花定价Agent 162
6.5 深挖AgentExecutor的运行机制 166
6.5.1 在AgentExecutor中设置断点 166
6.5.2 第 一轮思考:模型决定搜索 169
6.5.3 第 一轮行动:工具执行搜索 175
6.5.4 第二轮思考:模型决定计算 179
6.5.5 第二轮行动:工具执行计算 180
6.5.6 第三轮思考:模型完成任务 182
6.6 小结 185
第7章 Agent 4:计划和执行的解耦——通过LangChain中的Plan-and-Execute实现智能调度库存 186
7.1 Plan-and-Solve策略的提出 186
7.2 LangChain中的Plan-and-Execute Agent 190
7.3 通过Plan-and-Execute Agent实现物流管理 192
7.3.1 为Agent定义一系列进行自动库存调度的工具 192
7.3.2 创建Plan-and-Execute Agent并尝试一个“不可能完成的任务” 193
7.3.3 完善请求,让Agent完成任务 200
7.4 从单Agent到多Agent 203
7.5 小结 204
第8章 Agent 5:知识的提取与整合——通过LlamaIndex实现检索增强生成 205
8.1 何谓检索增强生成 206
8.1.1 提示工程、RAG与微调 206
8.1.2 从技术角度看检索部分的Pipeline 208
8.1.3 从用户角度看RAG流程 209
8.2 RAG和Agent 210
8.3 通过LlamaIndex的ReAct RAG Agent实现花语秘境财报检索 211
8.3.1 获取并加载电商的财报文件 211
8.3.2 将财报文件的数据转换为向量数据 211
8.3.3 构建查询引擎和工具 213
8.3.4 配置文本生成引擎大模型 214
8.3.5 创建 Agent以查询财务信息 214
8.4 小结 215
第9章 Agent 6:GitHub的网红聚落——AutoGPT、BabyAGI和CAMEL 216
9.1 AutoGPT 217
9.1.1 AutoGPT简介 217
9.1.2 AutoGPT实战 218
9.2 BabyAGI 222
9.2.1 BabyAGI简介 222
9.2.2 BabyAGI实战 224
9.3 CAMEL 236
9.3.1 CAMEL简介 236
9.3.2 CAMEL论文中的股票交易场景 237
9.3.3 CAMEL实战 241
9.4 小结 248
第 10章 Agent 7:多Agent框架——AutoGen和MetaGPT 250
10.1 AutoGen 250
10.1.1 AutoGen简介 250
10.1.2 AutoGen实战 253
10.2 MetaGPT 256
10.2.1 MetaGPT简介 256
10.2.2 MetaGPT实战 257
10.3 小结 263
附录A 下一代Agent的诞生地:科研论文中的新思路 264
A.1 两篇高质量的Agent综述论文 264
A.2 论文选读:Agent自主学习、多Agent合作、Agent可信度的评估、边缘系统部署以及具身智能落地 266
A.3 小结 267