深度剖析AI Agent的原理及应用发展

发布于:2024-04-17 ⋅ 阅读:(26) ⋅ 点赞:(0)

本篇文章将深入探讨AI Agent是什么?它是如何运作的?它实际应用场景有哪些以及对我们的生活会带来哪些改变。请坐好,准备发车啦~

深度剖析AI Agent的原理及应用发展

随着大语言模型(LLM)在23年的快速发展,大模型逐步收敛为以闭源为代表的ChatGPT和以开源为代表的Llama2。

深度剖析AI Agent的原理及应用发展

大模型本身也在朝着多模态的方向发展,这意味着模型能够处理不同类型的数据,如:文本、图片、视频和音频,其本质是丰富模型的信息处理与生成能力,能够更好地理解现实世界,处理复杂问题。

一、LLM vs Agent
虽然大语言模型的能力足够强大,但它依旧是被动的响应用户的指令,并且生成的效果取决于使用者如何使用它。

而AI Agent(智能代理)的出现,将改变这一现状。

它是一个自动化的程序,它具备自主规划和执行的能力,它也被视为通往AGI(通用人工智能)的钥匙。

从NLP -> AGI 的发展路线分为五个级别,From:《The Rise and Potential of Large Language Model Based Agents: A Survey》,分别是:语料库、互联网、感知、具身和社会属性。

目前的大语言模型已经来到了第二级,具备互联网实时访问的多模态内容输出。AI Agent在LLM的基础之上在往感知、具身和社会属性的方向方展;当其具备感知环境与行动的能力时,将进入到第三和第四级别;再进一步,当多个Agent通过它们之间的互动、合作,且具备情感属性,能够处理更加复杂的任务或反映现实世界中的社会行为时,Agent将进入第五级。

二、什么是AI Agent?
Agent被翻译为代理或者智能体,它核心的作用是具备自主实现目标的能力,能够感知外部环境,具备自主性、反馈性、积极性和情感社交属性的智能体。

光这样描述还是很抽象,以我们的日常行为进行一个比喻:人类处理任何问题和任务时,都会经历信息输入->信息处理->信息输出过程。

信息输入:主要通过人类感官系统,视觉、听觉、味觉、触觉等
信息处理:主要通过人类的大脑进行规划与决策
信息输出:主要通过人类的语言和四肢所采取的行动
我们来想想一个场景: 小明想要吃树上的苹果,首先通过感官系统感知到苹果树上的苹果,然后在大脑中思考如何采摘苹果,最后借助采摘工具,拿到苹果后成功地放到嘴巴里津津有味地吃了起来。我们将场景抽象成模型,其实就形成了AI Agent的大致框架:

分以下几个模块:

感知模块:小明看到苹果树上的苹果
规划模块:想尝一尝苹果,并思考和规划如何才能吃到苹果
行动模块:借助采摘工具,拿到苹果后放入嘴中
反馈模块:苹果是甜的,津津有味地吃了起来~
其中最关键的是大脑部分(规划&决策),由ChatGPT、Llama2、Gemini这样的大语言模型作为Agent的大脑,增强了Agent的规划与决策的能力。

三、AI Agent关键模块说明
我们将上图进行进一步的抽象和延展,就是网上广为流传由OpenAI提出的Agent的模型图

图片来源:《LLM Powered Autonomous Agents》

其实和上图模型中各模块的关联关系差不多,只是OpenAI将AI Agent各模块的相关信息呈现的更丰富,基于这张模型图,可以拆分为以下几个模块:规划、记忆、工具和行动。

1. Memory-记忆模块部分
将记忆模块分为两个子模块,分别是

1)短期记忆模块:提示词工程中的上下文,类比于人类的感知模块,是外部信息的输入,如:文本/图片/视频/音频。

短期记忆模块受到模型的上下文的限制,我们常看到的GPT-4 Turbo支持128k上下文指的就是模型能够记住的上下文长度,超过上下文的限制后,LLM就会忘记之前输入的信息(犹如得了阿尔兹海默症)。

2)长期记忆模块:支持向量库检索,类比于人类的博物馆,支持在执行任务时调用博物馆中的知识。

长期记忆分为:

外显的陈述性记忆(客观的事实或观点,如:事件&事实&概念)
内显的程序记忆(主观习得的知识,如:翻译&骑自行车)
2. Planning-规划模块部分
将规划模块进行细分,其中思维链(CoT)和子目标分解(Subgoal Decomposition)是为了将复杂目标进行拆分,找到最优的执行路径。

而反思(Reflection)和自我批判(Self-critics)模块,引入强化学习机制,通过环境的反馈状态,能从错误中吸取”教训”,从而提高结果的质量。其中大语言模型-LLM在规划模块占据核心位置。像CoT、ToT、ReAct等在规划模块运用的相关技术,其实大部分是进阶的提示词工程的使用技巧,掌握了这些进阶提示词工程的技巧,我们一样能在ChatGPT中实现智能体的规划能力。

针对于这一块可以查阅一下OpenAI的官方文档中Prompt Engineer的使用指南部分,地址:https://platform.openai.com/docs/guides/prompt-engineering/strategy-give-models-time-to-think

3. Action&Tools-行动和工具调用模块
虽然OpenAI拆分为了两个不同的模块,但是我们其实可以把它看作一个整体,有了工具再采取行动(有了采摘工具再去采摘苹果)。

Agent具体的行动方式分类三类:

1)文本输出:大语言模型的基础能力

2)工具使用:大语言模型通过调用外部的程序工具,拓展了模型本身能力的边界,其中能够调用的工具包括:

专家模块,如:调用其他的模型来协同处理任务
工具模块,如:其他应用程序的API或插件处理特定任务
3)具身行动:可理解为现实世界的机器人,能够在现实环境中定位自身位置、感知周围物体,接收指定任务后与周围物体进行交互,从而实现任务目标

我们用一个简单的公式做个阶段性的总结:

Agent = LLM + 记忆 + 感知&反思 + 规划+ 工具使用

四、AI Agent应用场景
23年11月9日比尔·盖茨在其发表的文章《AI is about to completely change how you use computers》中提出:AI Agent在医疗保健、教育、生产力、娱乐与购物等应用领域将发挥其巨大的潜能。

咱们重点谈谈教育和娱乐。

1. 教育
谷歌在22年底曾发布的三篇有关未来教育的报告,其中提到关于未来教学方式将从一对多的教学方式,转变为个性化教学和自适应教学

目前也已有许多头部机构在教育领域已有了较为成熟的AI应用 像可汗学院推出的AI学习助手Khanmigo,不仅能为学生在数学、科学、人文科学等领域进行教学辅导,而且能够帮助老师编写教案、规划课程,将AI深入融合进了教学工作的各个环节,让老师能够更专注于学生的综合能力培养。

再推荐一款笔者常用的GPTs,名为Mr.Ranedeer

先介绍一下GPTs,GPTs是由OpenAI推出的ChatGPT的定制化模式,任何人都无需编码即可构建属于自己的ChatGPT

虽然只需要说说话就能构建GPT,但是要让自己的GPT足够实用,且能够在将来GPTs的商店中赚到钱,那还需要具备三个核心要素:

提示词-Prompt,优秀的Prompt才会让GPT有优秀的表现
行为-Action,能够让GPT具备调用工具的能力,拓展GPT的能力边界
数据-Database,数据的质量很大程度上决定了GPT输出的质量
其中数据属于属于企业&个人,有就是有,没有就是没有。

所以对于大部分人来说,能做的就是Prompt的撰写和Action的配置。其中Action中的Function Calling(函数调用-调用外部应用的API接口),是GPTs能够作为Agent的最核心能力,通过接入外部应用的接口GPT可以调用其他软件去完成任务目标,从而给出目标结果。

情不自禁的扯远了…

我们再回到刚刚推荐的Mr.Ranedeer,它是作者:JushBJJ分享的GPTs,最早是以Prompt的形式上传至Github中分享给大家使用。

它能够根据我们给出的学习计划,自动拆解学习内容
完成每一章的学习内容后,可以选择继续学习或出题测试检验自己的学习成果
学习过程中我们能够随时提出对某个知识点感兴趣,它会基于我们的兴趣进行延展学习
具体的使用方法:

1)进入网站:Mr. Ranedeer: Your AI Tutor for Personalized Learning! 这是一个汇聚全球创作者所创作的GPTs,并且按照不同类别进行分类,找起来非常方便

2)选择Mr.Ranedeer,点击使用按钮,页面会自动跳转至自己的ChatGPT界面中,就能开始学习起来啦。

3)在此附上Mr.Ranedeer使用方法:https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor/blob/main/Guides/How to use Mr. Ranedeer.md#how-to-use-mr-ranedeer

2. 娱乐
由奚志恒等作者发布的论文《The Rise and Potential of Large Language Model Based Agents: A Survey 》中,原神为例,构建了一个由多个Agent共同协作的社会,人类也能够参与到其中与不同Agent进行互动交流。》

图中左上角有一个Agent在点菜,另一个Agent在规划和解决做菜的任务;右上角的Agent们在讨论如何制作灯笼和计算灯笼的成本。

基于上述的案例我们能够构想一下未来具有AI加持的游戏画面:

在一个类似于像荒野大镖客这样的开放性游戏中,我们遇见的每一个NPC都具有独立情感,我们能够与之交互,不同玩家的行为选择会产生不同的游戏剧情。