前几个月各大厂商还在为大模型大打价格战,而后开始的是AI Agent的争夺——大家突然关心起AI的应用场景,开始做浏览器插件,做APP抢夺市场。为什么会这样?在这个系列文章里,作者尝试高速我们答案。
大模型的横空出世,重新点燃了市场对AI的热情。AI Agent的概念,更是将AI的热潮推向了新的高度。从去年开始,AI Agent就成为了炙手可热的名词,其热度丝毫不亚于对大模型的讨论,甚至一众大佬都纷纷为AI Agent站台。
2023年下半年,OpenAI联合创始人,前TeslaAI总监Andrej Karpathy说道:
“如果一篇论文提出了某种不同的训练方法,OpenAI内部会嗤之以鼻,认为都是我们玩剩下的。但是当新的AI Agents论文出来的时候,我们会十分认真且兴奋地讨论。普通人、创业者和极客在构建AI Agents方面相比OpenAI这样的公司更有优势。”
在AI Ascent 2024大会上,斯坦福大学教授、前谷歌大脑项目创始人,吴恩达分享了关于AI Agent的最新趋势与洞察
AI Agent(AI智能体)工作流将在今年推动人工智能取得巨大进步——甚至可能超过下一代基础模型。这是一个重要的、令人兴奋的趋势,我呼吁所有人工智能从业者都关注它。
微软创始人比尔盖茨,也通过个人网站发表了对AI Agent的看法:
AI Agent将成为下一个平台,简而言之,AI Agent几乎将在任何活动和生活领域提供帮助,对软件行业和社会产生深远的影响。
与此同时,趁着这波浪潮,在短短的一年时间内,AI Agent(AI智能体)领域的创业公司和独角兽也实现了爆发式的增长。早在去年3月份,AutoGPT就在GitHub上获得了7.4万星,并快速成为史上Star数量增长最快的开源项目,如今已经获得超过16万星。后续发布的BabyAGI、AgentGPT也如雨后春笋般涌现,调研报告、订购披萨、发送邮件、旅行攻略,无数的Agent应用场景纷纷开始落地。
在国内,AI Agents相关的产品也相继诞生。早在去年7月,阿里云就发布了旗下第一个智能体——ModelScopeGPT,面向开发者群体。随后百度文心智能体平台、字节Coze、腾讯元器,各大厂商的AI智能体平台也纷至沓来。
面对如此巨大的热潮,相信很多读者在心潮澎湃的同时,也会心存疑虑。AI Agent到底是什么?是真正的科技突破还是科技泡沫?对企业和个人能带来什么影响?
接下来,风叔将使用5W1H分析框架来详细拆解AI Agent,一步步带着大家了解AI Agent的全貌。由于内容比较多,风叔将通过三篇文章来逐步阐述全部内容。
上篇:介绍What + Why,主要解答以下问题。
What:AI Agent是什么?有哪些组成部分?AI Agent的原理是什么?AI Agent是怎么分类的?
Why:为什么会产生AI Agent?AI Agent的优势和劣势是什么?为什么企业和个人都要关注AI Agent?
中篇:介绍When + Where + Who,主要解答以下问题。
When:AI Agent的发展历程是怎样的?AI Agent未来的发展趋势是怎样的?
Where:AI Agent有哪些应用场景?
Who:AI Agent领域的玩家有哪些?AI Agent领域的行业价值链是怎样的?
下篇:介绍 How,主要解答以下问题。
How:如何实现AI Agent?AI Agent包括哪些系统模块?如何开始学习AI Agent?
下面正式开始5W1H框架对AI Agent的拆解之旅!
一、5W1H分析框架之What
1.1 AI Agent到底是什么?
从概念上来说,AI Agent(智能体)是一种不需要持续人类干预的AI系统,可以基于环境和背景信息,自主分析各种问题,做出逻辑决策,并且在没有持续人类输入的情况下处理多种任务。
AlphaGo就是一个典型的AI Agent,它可以在和人类对弈围棋的过程中,根据当前的棋局和对手的行动,自主决策下一步的动作。AI助手也是AI Agent,比如你只需要给AI助手下达一个指令,“帮我预订明早10点上海飞深圳的机票”,AI助手就能自动帮你完成从机票搜索、查询、下单、确认的全部动作。
从结构上来说,一个AI Agent包括三个部分,如下图所示:
Perception(输入):AI Agent通过文字输入、传感器、摄像头、麦克风等等,建立起对外部世界或环境的感知。
Brain(大脑):大脑是AI Agent最重要的部分,包括信息存储、记忆、知识库、规划决策系统。
Action(行动):基于Brain给出的决策进行下一步行动,对于AI Agent来说,行动主要包括对外部工具的API 调用,或者对物理控制组件的信号输出。
目前在大模型热潮的背景下,媒体上所讲的AI Agent,更严格意义上来说应该叫做LLM Agent,因为整个Agent最重要的控制中枢Brain,其底层是LLM大模型。如果未来产生了比LLM更强大更智能的AI技术基座,那同样也会产生基于新的AI基座的Agent。下文所介绍的AI Agent,如无特殊说明,都指代LLM Agent。
那么Agent和LLM大语言模型到底是什么关系呢?可以这样进行简单类比,如果把LLM(比如GPT)比作大脑中的一堆神经元,具有记忆、常识和推理等能力,那么AI Agent就是独立的人,除了拥有大脑之外,还拥有视觉、听觉、味觉等多种感官,以及拥有手和脚操作外部的工具。
因此从本质来讲,AI Agent = 大语言模型+记忆+规划+工具使用。
接下来,我们逐步拆解AI Agent的组成部分。
1.2 详细拆解AI Agent的构成
1.2.1 构成一,规划Planning
Planning是整个AI Agent中最核心最关键的部分,Agent会把大型任务分解为子任务,并规划执行任务的流程。同时Agent还会对任务执行的过程进行思考和反思,从而决定是继续执行任务,还是判断任务完结并终止运行。
整个Planning模块包括两个步骤:子任务分解,反思和完善。
步骤一,子任务分解
Agent 将大型任务分解为更小、更易于管理的子目标,从而高效处理复杂任务。主要的子任务分解方式包括:思维链COT(Chain of thought)、思维树TOT(Tree of thought)、思维图GOT(Graph of thought)、规划器LLM+P。
a. 思维链COT
思维链COT的全称是Chain of Thought,当我们对LLM这样要求「think step by step」,会发现LLM会把问题分解成多个步骤,一步一步思考和解决,能使得输出的结果更加准确。这就是思维链,一种线性思维方式。
b. COT-SC
一个CoT出现错误的概率比较大,我们可以让Agent进行发散,尝试通过多种思路来解决问题,然后投票选择出最佳答案,这就是CoT-SC。
c. 思维树TOT
思维树TOT是对思维链CoT的进一步扩展,在思维链的每一步,推理出多个分支,拓扑展开成一棵思维树。使用启发式方法评估每个推理分支对问题解决的贡献。选择搜索算法,使用广度优先搜索(BFS)或深度优先搜索(DFS)等算法来探索思维树,并进行前瞻和回溯。
d. 思维图GOT
思维树ToT 的方式也存在一些缺陷,对于需要分解后再整合的问题,比如排序问题,排序我们可能需要分解和排序,然后再merge。这种情况下TOT就不行了,可以引入思维图GOT来解决。
e. LLM+P
其原理是依靠外部传统规划器来进行长视野规划,利用规划域定义语言(PDDL)作为中间接口来描述规划问题。在此过程中,LLM先将问题转化为成”Problem PDDL”形式,然后请求经典规划器根据现有的 “Domain PDDL “生成 PDDL 计划,最后将 PDDL 计划翻译回自然语言。
步骤二,反思和完善
反思和完善机制在Agent 应用中发挥着重要的作用,Agent 通过完善过去的行动决策和纠正以前的错误来不断改进。尤其是在现实世界的任务中,不可能在规划环节就能做出万无一失的计划和策略,试错是不可避免的,只有通过自我反思和逐步完善,才能一步步逼近最佳结果。
反思和完善机制的实现,主要有以下几种方式。
a. ReAct
ReACT的全称是Reasoning-Action,这种模式是让大模型先进行思考,思考完再进行行动,然后根据行动的结果再进行观察,再进行思考,这样一步一步循环下去。
和ReAct相对应的是Reasoning-Only和Action-Only。在Reasoning-Only的模式下,大模型会基于任务进行逐步思考,并且不管有没有获得结果,都会把思考的每一步都执行一遍。在Action-Only的模式下,大模型就会处于完全没有规划的状态下,先进行行动再进行观察,基于观察再调整行动,导致最终结果不可控。
在实际的测试观察中,ReAct模式的效果要好于Reasoning-Only和Action-Only。
b. Reflexion
Reflecxion是一个为 Agent 配备了动态记忆和自我反思能力的框架,能够提高 Agent 的推理能力。Reflexion 具有标准的强化学习机制,其奖励模型提供了一个简单的二进制奖励机制,执行空间则遵循 ReAct 中的设置。每次行动,Agent 都会计算一个启发式 ht,并根据自我反思的结果决定环境重置以开始新的试验。
c.Basic Reflection
还有一种反思和完善的方式,其本质是利用左右互搏来实现协同进化。比如设计一个帮助用户完成市场调研报告的Agent系统,其中Generator负责输出,Reflector负责检查,通过两个角色之间不断的协同,来实现整个任务的反思和完善。
1.2.2 构成二,记忆Memory
记忆是Agent用于获取、存储、保留和随后检索信息的过程,我们先用人脑的记忆做个类比,人脑中有多种记忆类型:
感官记忆:这是记忆的最早阶段,能够在原始刺激结束后保留对感官信息(视觉、听觉等)的印象,通常只能持续几秒钟。包括图标记忆、回声记忆和触觉记忆三种类型。
短时记忆(STM)或工作记忆:指的是我们当前意识到的信息,或者在学习和推理等复杂认知任务中所需要的信息。人类的短时记忆容量约为 7 items(Miller, 1956)、持续时长为 20-30 秒。
长时记忆(LTM):长时记忆指的是能够存储很长时间,从几天到几十年不等的信息,它的存储容量基本上是无限的。长时记忆又包括显性记忆和隐性记忆,显性记忆是可以有意识地回忆起来的事实,比如事件经历和语义记忆;隐性记忆是内化后无意识的行为,比如骑自行车。
了解了人类的记忆模式,我们再来看如何将其映射到AI Agent。
感官记忆是对原始输入的嵌入表征的理解,包括文本、图像或其他模式,比如图片的纹理和风格。短时记忆即上下文学习,由于受到Transformer上下文窗口长度的限制,它是短暂的和有限的。长期记忆则可对应为外部的向量数据存储,Agent 可在查询时引用,并可通过快速检索进行访问。
还有一个非常关键的因素,大模型知识的更新。由于大模型是用海量的通用数据训练的,基础的大模型可以理解为是一个及格的通才,什么话题都知道一些,但是存在胡言乱语和幻觉现象。尤其是在面向企业端的场景,一个及格的通才是无法使用的,需要利用企业的专属数据进行喂养和训练。这个时候,就可以通过RAG【检索增强生成】技术,在基础大模型的基础上挂载企业专属的知识库,以向量数据库的方式存储,将Agent训练为一个优秀的专才。
RAG技术在AI Agent的应用中非常关键,大家可以提前标记一下这个概念。在后续文章中,风叔还将重点介绍RAG技术的原理和使用方法。
1.2.3 构成三,工具Tooling
为AI Agent配备工具API,比如计算器、搜索工具、代码执行器、数据库查询等工具,AI Agent就可以和物理世界交互,来解决更加实际的问题。
Agent使用工具的方式主要有以下几种:
a. TALM & ToolFormer
TALM和ToolFormer都是对 LLM 进行微调,以学习使用外部工具API。该数据集根据新增的 API 调用注释是否能够提高模型输出的质量而进行扩展。
b.HuggingGPT
从本质上来说,HuggingGPT是一个使用ChatGPT作为任务规划器的框架,ChatGPT 可根据模型的描述选择 HuggingFace 平台中可用的模型,并根据执行结果总结响应结果。
c. API-Bank
它包含 53 种常用的 API 工具、完整的工具增强的 LLM 工作流程。API 的选择相当多样化,包括搜索引擎、计算器、日历查询、智能家居控制、日程管理、健康数据管理、账户认证工作流程等。由于 API 数量众多,LLM 首先可以访问 API 搜索引擎,找到要调用的 API,然后使用相应的文档进行调用
d. Function Calling
是一种实现大型语言模型连接外部工具的机制。通过API调用LLM时,调用方可以描述函数,包括函数的功能描述、请求参数说明、响应参数说明,让LLM根据用户的输入,合适地选择调用哪个函数,同时理解用户的自然语言,并转换为调用函数的请求参数。
前面的内容中,风叔抛出了非常多较为晦涩的概念和专业名词,大家先初步了解一下这些概念,风叔会在后续文章中对这些概念和原理进行详细介绍。
规划Planning、记忆Memory和工具Tooling,就是AI Agent系统最核心的三个模块。接下来,我们再来看看AI Agent的分类。
1.3 AI Agent的分类
从去年开始,各类AI Agent层出不穷。面对形形色色的AI Agent,合理的分类有助于我们进一步了解AI Agent的原理和模式。
我们可以从三个角度来给AI Agent进行分类,分别是工作模式、决策方式和应用场景。在本篇文章中,风叔先介绍前两种分类方式,在下一篇文章介绍”Where”的时候,再详细介绍AI Agent的应用场景。
1.3.1 按工作模式分类
从工作模式来看,AI智能体可以分为单Agent、多Agent和混合Agent。
单Agent:即通过单一的Agent来解决问题,不需要与其他Agent进行交互。单Agent可以根据任务执行不同的操作,如需求分析、项目读取、代码生成等。比如专门用于进行市场分析调研的Agent就是单Agent系统,只能处理市场分析这个单一任务。
多Agent:这种模式侧重于多个Agent之间的互动和信息共享,多个Agent协同工作,相互交流信息,共同完成更复杂的任务或目标。多agent应用场景在软件行业开发、智能生产、企业管理等高度协同的工作中非常有帮助。比如有一家公司就创建了一个多Agent系统,由Agent来扮演产品经理、UI设计师、研发工程师、测试人员、项目经理等角色,甚至可以接一些实际的软件开发任务。
混合Agent:这种模式中,Agent系统和人类共同参与决策过程,交互合作完成任务,强调的是人机协作的重要性和互补性。智慧医疗、智慧城市等专业领域可以使用混合Agent来完成复杂的专业工作。比如医生和AI Agent可以共同进行病情诊断,AI Agent负责快速分析病人的医疗记录、影像资料等,提供初步的诊断建议;而医生则可以基于AI Agent的分析结果和自己的专业知识和经验,做出最终的诊断决定。
1.3.2 按决策制定方式分类
简单反射型Agent:基于“如果-那么”规则直接响应当前的环境状态,不存储任何历史数据或状态。这种Agent设计简单,反应迅速,但适用范围有限。比如当软件系统发生告警时,就自动向系统维护人员打电话,就是一个简单反射型Agent。
基于模型的反射型Agent:拥有环境的内部模型,能够基于对环境的理解和过去的经验做出更复杂的决策。它能够适应环境变化,处理更复杂的任务。比如Nest的智能温控器,不仅能根据当前温度调节室内气温,还能学习用户的偏好,就是一个基于模型的反射型Agent。
基于目标的Agent:这类Agent的决策方式,从根本上不同于前面描述的条件-动作规则,因为它涉及对未来的考虑。比如智能导航软件,根据用户的起点和目标,结合交通拥堵状况和用户的偏好,输出最佳导航路线。
基于效用的Agent:基于效用的Agent旨在最大化效用功能或价值,精心挑选具有最高预期效用的行动,以衡量结果的有利程度。比如同样是导航到达目标,有的用户需要用时最短,有的用户需要路费最少,那么基于不同的效用,系统就会给出不同的导航结果。
学习型Agent:这些Agent设计用于在未知环境中运行,从自己的经历中学习,并随着时间的推移调整自己的行动。比如AlphaGo就是学习型Agent,从不断的对弈中进行策略调整。
基于逻辑的Agent:通常基于一系列逻辑规则,通过推理来解决问题,适合需要高度逻辑判断的场景,例如法律咨询聊天机器人。
LLM大模型和这些Agent的关系就在于,LLM大模型为Agent的后续行动提供了输入和推理。比如LLM大模型上面接了一个基于目标的Agent,那么这个Agent就会从用户的输入中,提取用户的目标和要求,再结合上文提到的子任务分解、反思和完善等动作,逐步完成最终目标。
二、5W1H分析框架之Why
2.1 为什么会产生AI Agent?
为什么会产生AI Agent(特指LLM Agent)?我们从两个方面来回答这个问题,技术发展的局限性,以及人和AI的交互性。
从技术发展的局限性来考虑
在LLM大语言模型出现以前,一般通过规则和强化学习的方法来让机器智能化的完成一些任务,但是这两种方法各有弊端。
规则的方法是指把复杂的自然语言问题转化为规则符号,往往需要行业专家的介入,缺乏容错能力,一个小的错误就可能导致整个系统的失败。
而强化学习一般是构建策略网络或奖励模型,需要大量样本进行训练,但是收集数据往往成本很高,所以这种方法可行性不大,很难推广开来。
LLM大语言模型出现之后,人们发现LLM大语言模型在逻辑推理、工具应用、策略规划、指令遵循等方面都有非常不错的表现,工程师们开始意识到,将大语言模型作为Agent应用的核心认知系统,可以极大的提高Agent的规划能力。
但是LLM大模型毕竟还无法像人类一样,拥有更深度的规划思考能力、运用各种工具与物理世界互动,以及拥有人类的长期记忆能力。
在这样的背景下,出现了非常多的研究方向,来让Agent逐渐逼近人类,比如前文提到的COT/TOT/GOT、ReAct、Reflexion等技术,提升Agent的Planning能力;比如通过RAG增强检索生成技术,提升Agent的记忆能力;以及ToolFormer、Function Calling等技术,提升Agent的工具使用能力。
从人和AI互动的角度来考虑
从人和AI互动的角度,主要经历了三种模式。
最早出现的是Embedding模式,即人类完成大多数工作,AI只是作为某些单点能力,嵌入在人类完成工作的某些节点。比如很典型的SaaS+AI模式,像OCR、人脸识别、语义分析等能力,作为一些提升效率的点,嵌入在SaaS软件里。大多数的工作,还是通过人工操作SaaS软件完成的。
随着大模型的出现,在部分场景下,人类和AI的协同进化到了Copilot模式,即AI作为人类的坚实助手,随时辅助人类的工作。比如Notion AI和微软Copilot,人类在AI的帮助下进行写作,AI随时可以进行内容提示、扩充、修改。
而AI Agent模式,则是将人类与AI的协同进化到了新的高度,人类只是提出任务和目标,然后由AI自主完成大多数工作。所以从人和AI互动的角度来看,AI Agent也是AGI发展过程中的必经之路。
2.2 AI Agent有哪些优势和局限?
对于用户来讲,AI Agent的主要优势包括:
第一,以任务为导向。AI Agent脱离了传统Chatbot那种闲聊的交互模式,能够弥合语言理解与采取行动之间的鸿沟。直接基于用户输入中所体现出来的意图,自动进行后续的推理和行动,可以大幅提升工作效率。
第二,自然的交互方式。由于AI Agent本身以LLM大语言模型为底座,固有的语言理解和语言生成能力,确保了自然无缝的用户交互。
第三,进化的决策能力。AI Agent的决策能力依赖于背后的LLM大模型,虽然目前LLM大模型的决策能力还远远不如人类,但这项能力在持续不断的进化。
第四,灵活的适应性。在RAG和Function Calling等技术的支撑下,AI Agent可以快速适应各种不同的行业和应用场景,并通过API调用和外部环境产生交互。
但是由于LLM大模型本身固有的局限,这种局限也同样影响了AI Agent。
第一,可靠性不足。众所周知,LLM大模型容易出现幻觉和不一致性,将多个步骤连起来会进一步加剧可靠性问题,从而难以获得用户信任。举个例子,假设每个步骤LLM的可靠性是95%,如果一个任务需要被分解到5步以上,那么最终的可靠性将不到80%,这会大大限制AI Agent在一些Critical场景下的应用。
第二,法律问题。对于企业对外输出的AI Agent,企业可能要对其产生的错误负责。比如,最近一位客户因为被加拿大航空公司的聊天机器人误导而延误航班,最终由加拿大航空予以赔偿。
第三,性能和成本。GPT-4、Gemini-1.5在推理和function calling的表现不错,但仍然较慢且成本高,特别是需要进行循环调用和自动重试时。
对于AI Agent可靠性的问题,其中一个解决方案是Agentic Workflow,即借助人工经验进行任务分解、配置执行任务。AI Agent在整个workflow中,更多起到意图识别、检索、归纳、分类的作用。
比如通过workflow创建一个输出财务分析报表的AI Agent,由人类告诉AI Agent,当接收到分析某家公司的财务报表时,先去某财务网站搜索该公司的财务报表,然后下载报表数据进行本地化存储,再提取特定字段的数据进行计算和同比,最后再以自然语言的方式输出财务分析报告。
对于Agentic Workflow,后面风叔将专门用一篇文章进行介绍。
2.3 企业和个人为什么要关注AI Agent?
企业用户通常面临更加复杂的业务需求,有更明确的业务场景、业务逻辑以及更多行业数据和行业知识的积累,非常适配 Agent 自主性、决策与执行、工具使用等特点,这让企业端领域成为 Agent 施展能力的绝佳舞台。
同时,AI Agent可以用工程化的思想对抗个体工作的不确定性,过往的SOP、PDCA、OKR等管理方法可以与AI Agent进行适配,完成管理工作的科学升级。
因此,企业需要关注AI Agent,结合企业所在的行业特点以及自身的业务属性,通过AI Agent提升业务效率。在企业的供应链、产品研发、市场营销、内部办公等环节,AI Agent都有非常多的应用场景。
比如在供应链环节,AI Agent可以应用在智能配补货、原料自动下单、库存优化、供应商协同、合同自动审查等场景。在产品研发环节,AI Agent可以应用在产品成分分析、新品研发建议、产品设计出图等场景。在市场营销环节,AI Agent可以用于智能客服、精准推荐、营销创意制作、广告智能投放等场景。
我们再来看AI Agent对于个人的影响。虽然到目前为止,面向C端用户,市场上还没有出现killer级的C端应用,包括 OpenAI 的 GPTs,其实只是用于特定知识库或数据的 Chatbot。但是从AI的长期发展趋势来看,AI Agent一定会在越来越多的场景进行渗透。
同时,个人作为企业端的工作者,AIAgent对个人在工作效率上带来的提升,也是显而易见的。利用AI Agent武装自己,让工作和学习效率更上一级台阶。
对于个人来讲,未来可能只有两种人,驱动Agent的人,和被Agent驱动的人。
总结
本篇文章是使用5W1H分析框架拆解AI Agent的上篇,围绕What和Why,详细阐述了AI Agent的概念、构成、分类、产生原因、优势劣势、以及对企业和个人的影响。
在下一篇文章中,风叔将围绕When、Who和Where,详细介绍AI Agent的发展历程、行业玩家和具体应用场景。
作者:风叔,微信公众号:风叔云
本文由@风叔 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。