一、前言
AI Agent(人工智能代理)是上半年一个火热的话题。笔者最近对相关概念进行了学习与研究,期间也通过智能体开发平台成功搭建了一些有趣的Agent。所以计划通过本篇文章,跟大家分享笔者对于AI Agent的些许理解。
二、AI Agent是什么AI Agent,即人工智能体,是一种能够感知环境、进行自主理解、决策和执行动作的智能实体。简单理解,是一种基于大语言模型,能够通过独立思考、调用工具来逐步完成给定目标的计算机程序。
可能大家会疑问,AI Agent又和LLM、RAG有什么区别?他们之间的关系又是怎样的?
我们不妨,先通过对比 LLM、RAG 的用途,来更好地理解 AI Agent。
1、LLMLLM(大语言模型)是基于海量文本数据训练的深度学习模型,能够生成自然语言文本、深入理解文本含义,并处理各种自然语言任务,如文本摘要、问答、翻译等。简单理解是语言的逻辑推理,如我们常见的Chat GPT、文心一言、通义千问等
但由于LLM的知识是提早训练好的内容,时效性不强;加上用于训练的知识一般来源于公域的标准化知识,存在局限性。
为了解决LLM知识有限的问题,需要把外部的知识提供给LLM进行学习,让它理解之后表达出来,这时候就需要用到RAG技术。
2、RAGRAG(检索增强生成)是一种结合了外部信息检索与大型语言模型生成能力的技术,用于处理复杂的信息查询和生成任务。在大模型时代,RAG 通过加入外部数据(如本地知识库、实时数据等)来增强 AI 模型的检索和生成能力,提高信息查询和生成质量。比如:文心一言的插件服务,支持把实时又或者私有化知识提供给LLM。
总结而言,RAG是一种技术,作用于LLM,目的是增加输出结果的准确性。
3、AI Agent与LLM、RAG的关系
如果把AI Agent理解为一个智能实体的话,LLM充当着智能体的“大脑”角色。
AI Agent 会利用 LLM 的推理能力,把问题进行拆解,形成一个一个的小问题,并定义好这些小问题之间的前后关系,先处理哪个,再处理哪个。然后按照顺序,调用 LLM 、 RAG 或者外部工具,来解决每一个小问题,直至解决最初的问题。
三、AI Agent的基础架构上文提及到,LLM充当着智能体的大脑,但仅仅有“大脑”并不能完成复杂任务的执行。作为智能体,还需要如“神经感官系统”以及“肢体”的参与,这时候引入AI Agent的基础架构。
▲由LLM驱动的智能体系统
如上图所示,Agent由4个关键部分组成,分别是:规划(Planning)、记忆(Memory)、工具(Tools)、行动(Action)
1、规划(Planning)
“规划”充当着智能体的“思维模式”。如果用人类来类比,当接到一个任务时,我们的思维模式可能会像下面这样:
首先会思考怎样完成这个任务。然后会把任务拆解成多个子任务分步进行。接着评估现有工具能够帮助我们高效达成目的。在执行任务的时候,我们会对执行过程进行反思和完善,以持续调整策略。执行过程中思考任务何时可以终止。因此,我们可以通过 LLM 提示工程(Prompt),为智能体赋予这样的思维模式。比如:在编写Prompt的时候运用ReAct、CoT等推理模式,引导LLM对复杂的任务进行拆解,拆分为多个步骤,一步步思考和解决,从而使输出的结果更加准确。
2、记忆(Memory)
记忆是什么?当我们在思考这个问题,其实人类的大脑已经在使用记忆。记忆是大脑存储、保留和回忆信息的能力。
仿照人类的记忆机制,智能体分为了两种记忆机制
短期记忆,如:单次会话的上下文记忆会被短暂的储存,以用于多轮会话,在任务完结后被清空。长期记忆,长时间被保留的信息,如:用户的特征信息、业务信息,通常用向量数据库来存储和快速检索。3、工具(Tools)
智能体具备感知环境与决策执行的能力,这离不开“神经感官系统”的帮助,“工具”便充当着这个角色。智能体通过工具从周边环境获取到信息(感知),经过LLM处理后再使用工具完成任务(执行)。
所以我们需要为智能体配备各种工具以及赋予它使用工具的能力。比如:
通过调用软件系统不同应用模块的API,获取到指定的业务信息,以及执行业务的操作权限。通过调用外部的插件工具,来获取原本LLM并不具备的能力,如:文心的Chat files插件获取文档解析能力;扣子的ByteArtist插件获取文生图能力等。这里便运用到了上文提及的RAG相关技术
▲扣子平台的插件商城
4、行动(Action)
智能体基于规划和记忆来执行具体的行动,这可能包括与外部世界互动,或者通过工具的调用来完成一个动作,具体来说就是一个输入(Input)任务的最终输出(Output)。
如:实体AI机器人完成一个“鼓掌”动作的任务;又或者软件系统中,由AI助手创建一个待办任务。
▲Cyberdog2完成“鼓掌”任务
四、AI Agent示例
为了更好地理解AI Agent,笔者这里举个生活中简单的例子:假设您需要与朋友在附近吃饭,需要AI Agent帮你预订餐厅。
Agent会先对您提出的任务进行拆解,如:
第1步(获取当前所在方位)推理1:当前知识不足以回答这个问题,需要知道当前所在方位以及附近的餐厅行动1:使用地图工具(Tools)获取当前所在方位结果1:得出附近餐厅列表第2步(确定匹配餐厅)推理2:确定预订的餐厅,需要知道您的饮食偏好以及其余细节(如:吃饭时间、人数)行动2:从记忆(Memory)中获取您的饮食偏好、人数、时间等信息结果2:确定最匹配的餐厅第3步(预订餐厅)推理3:基于结果2,评估当前所拥有的工具能否完成餐厅预订行动3:使用相关插件工具,进行餐厅预订(Aciton)结果3:任务完成五、Agent与To B产品应用场景
对AI Agent有了初步的了解后,我们可以把这套框架思想代入到To B产品的功能AI化设计中。比如:通过AI Agent完成搭建报表、创建任务、生成工作报告等工作。这里拿【生成工作报告】为例子,分享一下笔者的思路:
在CRM系统中,写工作报告(周报、月报)是一个周期性的高频工作。这个工作可分为几个阶段:
1、手动阶段刚开始,员工填写工作报告需要以下好几步:
第一步:通过各种方式整理汇报周期内,联系了哪些客户;商机都推进到什么阶段;哪些客户完成转化成交,成交业绩多少等行为信息第二步:把零散的行为信息,重新梳理,转化为汇报格式(如:内容+当前进度+预期等格式)第三步:选择汇报人,提交报告这个过程中,员工把大部分的时间都耗在了收集与整理行为信息的工作上。
▲手动阶段写工作周报
2、Copilot阶段
由于引入了LLM,员工在写工作报告的时候,可以省去了整理零散信息,撰写报告的一步。
此时只需要把报告要求发给LLM,让LLM基于零散的数据信息进行加工整理,最后自动撰写工作报告。当提问中不含有汇报人等信息,LLM将通过多轮会话的方式进行获取。
3、Agent阶段
到了Agent的阶段,我们不妨以智能体的基础框架出发,构建【工作报告智能体】的框架。
规划(Planning),编写Prompt的时候,让LLM对“生成工作报告”任务进行拆解,分为了获取基础数据—整理输出报告—选择汇报人—执行提交四步。工具(Tools),受限于LLM无法获取私有化知识的问题,通过RAG技术,接入数据中心API来获取客户联系、流转、成交等明细数据;以及接入工作报告应用API来获取“填写”与“提交”的业务执行权限。记忆(Memory),把员工以往的汇报内容进行分析,提炼出汇报文案风格、内容格式、汇报周期、汇报人等特征信息,作为长记忆进行存储,供撰写报告时使用。行动(Action),基于工作报告应用开放的执行权限,待LLM成功生成工作报告后,自动执行提交操作,完成任务。▲工作报告智能体框架
通过这个方式,员工只需要给Agent下达写工作报告的任务(设置定时任务或手动触发),Agent将会自动完成数据采集、报告撰写、选择汇报人、报告提交操作。
▲工作报告智能体demo
六、总结
如果把“To B软件的AI化”类比于汽车自动驾驶技术的发展。23年LLM的推出,相当于To B软件应用的自动化程度由L1阶段升级到L2阶段;AI Agent的到来,让自动化程度得到了进一步的提升,由L2阶段升级到L4阶段。
▲人类与AI协同的三种模式
随着AI Agent自主性的进一步加强,将会逐渐替代越来越多的重复性工作。但从To B软件的角度来看,AI最终解决的核心问题仍然不变—「降本增效」。
因此,作为产品经理,在提升自己AI能力的同时,还要持续提高自己对于产品所在行业的业务理解能力。毕竟在没有找到核心场景前,就算配套再先进的工具也带来不了任何价值。
以上是笔者近阶段的学习与思考,希望能帮到你。