在深入探讨“为什么要做Agent”之前,我们先明确一个前提:什么是Agent?即Agent的定义究竟是什么?
或许有人会觉得这个问题无需深究,认为Agent无非就是大模型调用API。但实际上,这只是对Agent概念的浅层认知,了解其真正含义是非常有必要的。
目前,国内不少厂商和平台将Agent翻译为“智能体”,但这种翻译并不完全准确。从最原始的词典释义来看,Agent的本意是代理。在我看来,这里的“代理”指的是让大模型“代理/模拟”「人」的行为,借助某些“工具/功能”来完成特定“任务”的能力。
也正因如此,国外用Agent一词来描述大模型调用工具或功能帮助人类完成事情的过程,其实是比较形象的。只要符合这一核心内涵,就可以被视为一种Agent。
关于Agent的定义,许多大厂、独角兽公司、研究所及高校都有过阐释。其中,OpenAI研究主管Lilian Weng给出的定义颇具代表性:Agent = 大模型(LLM)+ 规划(Planning)+ 记忆(Memory)+ 工具使用(Tool Use)。
这个定义是从技术实现角度出发的,它指出要构建一个Agent,需要具备这些能力:以大模型为基础,拥有规划能力(能思考后续行动),具备记忆功能(可读取长期记忆和短期记忆),以及能够使用工具。可以说,它将具备这些能力的集合体定义为了Agent。
图1 按照规划、记忆、工具、动作分解的Agent定义(OpenAI)
另外的一个定义是复旦大学NLP团队给出来的,他们认为Agent的概念框架包括三个组件:大脑、感知、行动。
大脑模块作为控制器,承担记忆、思考和决策等基本任务。感知模块从外部环境感知并处理多模态信息,而行动模块则使用工具执行任务并影响周围环境。
比如:当人类询问是否会下雨时,感知模块将指令转换为大模型可以理解的表示,然后,大脑会根据当前天气和互联网天气报告开始推理,最后,行动模块作出回应并将雨伞递给人类。通过重复上述过程,Agent可以不断获得反馈并与环境互动。
图2 按照环境、感知、大脑、动作分解的Agent定义(复旦NLP)
其实这些各种版本的定义实际上是对我们刚才所说的Agent代理「人」做某些事情的一个更细致的拆解而已,大家仔细想想,人要做某件事情,也是需要根据自己的记忆(学过的知识、当前事情的上下文),需要先规划这个事情怎么做,可能需要做一些思考、问题拆解,这中间也可能会使用各种各样的工具,最终通过某些动作、操作去把把某件事情完成。
因此,国内将Agent翻译为智能体,也是在表达,一个能规划、有记忆、能使用工具的东西,它又不是一个人,也不是一个动物,又不能直接将其描述为一个机器人(因为不一定是机器人形态,但有大脑),所以就给他起了个名字,叫“智能体”。
1、反射模式(Reflection pattern)
以下是该模式的工作流程介绍:
- 用户输入查询:用户通过界面或API向agent发送一个查询请求。
- LLM生成初始输出:大型语言模型(LLM)接收用户的查询,并生成一个初步的响应。
- 用户反馈:用户对初步的响应进行评估并给出反馈。
- LLM反射输出:基于用户的反馈,LLM对初步的响应进行反思,即重新评估和调整其生成的输出。
- 迭代过程:这一过程可能需要多次迭代,直到用户对最终的响应感到满意为止。
- 返回给用户:最终的响应被返回给用户,用户可以通过界面或API接收到结果。
这种模式通常用于提高大型语言模型的交互性和准确性,通过用户反馈不断优化模型的输出。
2、工具使用模式(Tool use pattern)
以下是该模式的工作流程介绍:
- 用户输入查询:用户通过界面或API向agent发送一个查询请求。
- LLM处理查询:agent内部的大型语言模型(LLM)接收用户的查询,并对其进行处理。在这个过程中,LLM可能需要调用外部工具或API来获取更准确的信息。
- 调用工具和API:如果查询需要额外的信息或数据,LLM会调用存储在vector数据库中的工具和API来获取这些信息。
- 生成响应:LLM根据从工具和API获取的信息生成一个响应,这个响应可能是文本、表格或其他格式的数据。
- 返回给用户:最后,生成的响应被返回给用户,用户可以通过界面或API接收到结果。
这种模式通常用于增强大型语言模型的能力,使其能够访问外部资源以提供更全面和准确的回答。
3、ReAct模式(ReAct Pattern)
以下是该模式的工作流程介绍:
- 用户(User):用户向系统提出查询(Query),例如需要完成的任务或请求。
- LLM(Reason):接收到用户的查询后,推理型语言模型(LLM - Reason)会分析查询并生成相应的策略或计划。
- 工具(Tools):根据生成的策略或计划,系统调用相应的工具来执行具体的操作。
- 环境(Environment):工具执行操作后,将结果反馈给环境。
- LLM(Generate):环境返回的结果被反馈给生成型语言模型(LLM - Generate),生成型语言模型根据结果生成最终的响应。
- 响应(Response):生成型语言模型生成的响应返回给用户。
这种模式通过结合推理型语言模型和生成型语言模型,实现了从用户查询到最终响应的完整闭环。推理型语言模型负责策略生成,生成型语言模型负责结果解释和响应生成。
4、规划模式(Planning Pattern)
以下是该模式的工作流程介绍:
- 用户(User):用户向系统提出查询(Query),例如需要完成的任务或请求。
- 计划器(Planner):接收到用户的查询后,计划器会分析并生成一系列任务(Generated tasks)。这些任务可能是具体的执行步骤或子任务。
- 生成的任务:计划器生成的任务会被传递给执行者(ReAct Agent)。
- 执行者(ReAct Agent):执行者根据生成的任务执行单个任务,并将结果返回给计划器。
- 结果反馈:执行者执行完一个任务后,会将结果反馈给计划器。如果所有任务都已完成,则计划器会确认任务完成(Finished?)。
- 响应(Response):计划器根据任务完成情况和结果,生成最终的响应(Response),返回给用户。
这个模式确保了任务的有序执行和结果的及时反馈,从而实现用户需求的有效处理。
5、多智能体模式(Multi-agent pattern)
以下是该模式的工作流程介绍:
- 用户(User):用户向系统提出查询(Query),例如需要完成的任务或请求。
- 项目经理代理(PM agent):接收到用户的查询后,项目经理代理(PM agent)会分析并分配任务给其他代理。
- DevOps代理(DevOps agent):项目经理代理将任务分配给DevOps代理(DevOps agent)。
- 技术负责人代理(Tech lead agent):DevOps代理将任务进一步分配给技术负责人代理(Tech lead agent)。
- 软件开发工程师代理(SDE agent):技术负责人代理将任务分配给软件开发工程师代理(SDE agent)。
- 执行任务:每个代理根据分配的任务执行相应的操作,并将结果反馈给上一级代理。
- 结果反馈:最终,所有代理完成任务后,将结果反馈给项目经理代理。
- 综合响应:项目经理代理综合所有代理的结果,生成最终的响应(Response),返回给用户。
这种模式通过多个代理协同工作,可以更高效地处理复杂任务,确保任务的有序执行和结果的及时反馈。
6、如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。