本篇文章将深入探讨AI Agent是什么?它是如何运作的?它实际应用场景有哪些以及对我们的生活会带来哪些改变。请坐好,准备发车啦~
随着大语言模型(LLM)在23年的快速发展,大模型逐步收敛为以闭源为代表的ChatGPT和以开源为代表的Llama2
大模型本身也在朝着多模态的方向发展,这意味着模型能够处理不同类型的数据,如:文本、图片、视频和音频,其本质是丰富模型的信息处理与生成能力,能够更好地理解现实世界,处理复杂问题
虽然大语言模型的能力足够强大,但它依旧是被动的响应用户的指令,并且生成的效果取决于使用者如何使用它
而AI Agent(智能代理)的出现,将改变这一现状
它是一个自动化的程序,它具备自主规划和执行的能力,它也被视为通往AGI(通用人工智能)的钥匙
从NLP -> AGI 的发展路线分为五个级别
(From:《The Rise and Potential of Large Language Model Based Agents: A Survey》)
分别是:语料库、互联网、感知、具身和社会属性
目前的大语言模型已经来到了第二级,具备互联网实时访问的多模态内容输出
AI Agent在LLM的基础之上在往感知、具身和社会属性的方向方展
当其具备感知环境与行动的能力时,将进入到第三和第四级别
再进一步,当多个Agent通过它们之间的互动、合作,且具备情感属性,能够处理更加复杂的任务或反映现实世界中的社会行为时,Agent将进入第五级
Agent被翻译为代理或者智能体
它核心的作用是具备自主实现目标的能力,能够感知外部环境,具备自主性、反馈性、积极性和情感社交属性的智能体。
光这样描述还是很抽象,以我们的日常行为进行一个比喻:
人类处理任何问题和任务时,都会经历信息输入->信息处理->信息输出过程
信息输入:主要通过人类感官系统,视觉、听觉、味觉、触觉等
信息处理:主要通过人类的大脑进行规划与决策
信息输出:主要通过人类的语言和四肢所采取的行动
我们来想想一个场景:
小明想要吃树上的苹果,首先通过感官系统感知到苹果树上的苹果,然后在大脑中思考如何采摘苹果,最后借助采摘工具,拿到苹果后成功地放到嘴巴里津津有味地吃了起来
我们将上述的场景抽象成模型,其实就形成了AI Agent的大致框架
分以下几个模块
感知模块:小明看到苹果树上的苹果
规划模块:想尝一尝苹果,并思考和规划如何才能吃到苹果
行动模块:借助采摘工具,拿到苹果后放入嘴中
反馈模块:苹果是甜的,津津有味地吃了起来~
其中最关键的是大脑部分(规划&决策),由ChatGPT、Llama2、Gemini这样的大语言模型作为Agent的大脑,增强了Agent的规划与决策的能力
我们将上图进行进一步的抽象和延展,就是网上广为流传由OpenAI提出的Agent的模型图
其实和上图模型中各模块的关联关系差不多,只是OpenAI将AI Agent各模块的相关信息呈现的更丰富,基于这张模型图,可以拆分为以下几个模块:规划、记忆、工具和行动
Memory-记忆模块部分
将记忆模块分为两个子模块,分别是
短期记忆模块:提示词工程中的上下文,类比于人类的感知模块,是外部信息的输入,如:文本/图片/视频/音频短期记忆模块受到模型的上下文的限制我们常看到的GPT-4 Turbo支持128k上下文指的就是模型能够记住的上下文长度,超过上下文的限制后,LLM就会忘记之前输入的信息(犹如得了阿尔兹海默症)
长期记忆模块:支持向量库检索,类比于人类的博物馆,支持在执行任务时调用博物馆中的知识。长期记忆分为:
外显的陈述性记忆(客观的事实或观点,如:事件&事实&概念)
内显的程序记忆(主观习得的知识,如:翻译&骑自行车)
将规划模块进行细分
其中思维链(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
虽然OpenAI拆分为了两个不同的模块,但是我们其实可以把它看作一个整体,有了工具再采取行动(有了采摘工具再去采摘苹果)
Agent具体的行动方式分类三类
文本输出:大语言模型的基础能力
工具使用:大语言模型通过调用外部的程序工具,拓展了模型本身能力的边界,其中能够调用的工具包括:
专家模块,如:调用其他的模型来协同处理任务
工具模块,如:其他应用程序的API或插件处理特定任务
具身行动:可理解为现实世界的机器人,能够在现实环境中定位自身位置、感知周围物体,接收指定任务后与周围物体进行交互,从而实现任务目标
我们用一个简单的公式做个阶段性的总结:
Agent = LLM + 记忆 + 感知&反思 + 规划+ 工具使用
23年11月9日比尔·盖茨在其发表的文章《AI is about to completely change how you use computers》中提出:AI Agent在医疗保健、教育、生产力、娱乐与购物等应用领域将发挥其巨大的潜能
咱们重点谈谈教育和娱乐
谷歌在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中分享给大家使用
它能够根据我们给出的学习计划,自动拆解学习内容
完成每一章的学习内容后,可以选择继续学习或出题测试检验自己的学习成果
学习过程中我们能够随时提出对某个知识点感兴趣,它会基于我们的兴趣进行延展学习
具体的使用方法:
进入网站:https://supertools.therundown.ai/content/mr-ranedeer这是一个汇聚全球创作者所创作的GPTs,并且按照不同类别进行分类,找起来非常方便
选择Mr.Ranedeer,点击使用按钮,页面会自动跳转至自己的ChatGPT界面中,就能开始学习起来啦
在此附上Mr.Ranedeer使用方法:https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor/blob/main/Guides/How to use Mr. Ranedeer.md#how-to-use-mr-ranedeer
由奚志恒等作者发布的论文《The Rise and Potential of Large Language Model Based Agents: A Survey 》中,原神为例,构建了一个由多个Agent共同协作的社会,人类也能够参与到其中与不同Agent进行互动交流
图中左上角有一个Agent在点菜,另一个Agent在规划和解决做菜的任务;右上角的Agent们在讨论如何制作灯笼和计算灯笼的成本
基于上述的案例我们能够构想一下未来具有AI加持的游戏画面:
在一个类似于像荒野大镖客这样的开放性游戏中,我们遇见的每一个NPC都具有独立情感,我们能够与之交互,不同玩家的行为选择会产生不同的游戏剧情
好啦,以上就是我对Agent的理解,如果文章中有描述不对的地方,请帮忙指正,避免对其他读者产生误导,在这里我先说谢谢啦🙏
如果文章有给到你启发和收获,可以告诉我,我会特别开心😄
加油 朋友们🤗