AI下半场-Agent
带你学AI

什么是Agent ?

Agent:基于大型语言模型的常识能力、推理能力,用于迭代运行一些目标或任务。它和ChatGPT的区别:

  • ChatGPT——你问一次,它答一次,你俩像是在交谈。

  • Agent——工作流程相对复杂,模型基本上是自己与自己交谈,而不需要人类干预每一部分的交互。

image.png

















ChatGPT一问一答的形式,在ChatGPT插件推出后发生了一些变化:模型可以利用外部工具进行最多10个请求。考虑到有些人还没尝试过ChatGPT的插件,我举一个例子:

  1. 如果你有一个天气插件,你问ChatGPT“Beijing的温度是多少”的时候,ChatGPT知道它回答不了,并查看你安装的插件。

  2. 然后ChatGPT给插件发送一个请求,并收到一个错误消息:“请使用城市的中文名称”。

  3. ChatGPT能读懂这个错误,修复错误之后发送一个新的请求“北京的温度是多少”。

  4. 然后他把查询到的数据反馈给你:“北京地面温度30度,较为舒适”

这就是Agent如何工作的最简单示例。

Agent由来

Agent的起源可以上溯到古希腊哲学思想,不过最早将其引入引入计算机科学和人工智能领域的人,则是著名科学家图灵,他在20世纪50年代提出机器智能的测试方法时引入了智能体相关概念。

在经历了经历了符号主义、连接主义、数学分析等多个发展阶段,目前的Agent(智能体)更强调主体的自主性、目标性、主动性和社交性等方面的能动特征。

image.png

















原神的海灯节这一部分,一个由Agent构成的和谐社会,人类也可以参与其中。

以前,基于强化学习方法训练的Agent在问题和技能方面存在限制,只能在数字游戏等特定场景中进行规划和模拟对抗,或者在有限领域内进行规划和执行,缺乏泛化能力,难以进行真正的人机互动。

现在有了大模型,就极大地扩展了Agent的能力,它就像Agent的大脑,使Agent能够在接收到目标后进行逻辑推理和自我引导,不断寻找实现目标的最佳途径。

通过与其他软硬件的连接,Agent能够熟练地执行计算机任务、浏览网页、读写文件、进行支付等操作,而我们只需提供目标即可。

image.png
















作为一个智能体的Agent,就如同人类通过感知应对外界变化,在社会中逐步适应环境。智能代理的框架也由三个部分组成,分别是“控制端(Brain)、感知端(Perception)和行动端(Action)”。

“控制端”通常由 LLMs 构成,是智能代理的核心,主要发挥存储记忆知识,承担着信息处理、决策等功能;

“感知端”则是将Agent的感知空间从纯文本拓展到包括文本、视觉和听觉等多模态领域,使其能够从周围环境中获取与利用信息;

“行动端”除了常规的文本输出,还赋予Agent具身能力、使用工具的能力,使其能够更好地适应环境变化。

为了更容易了解Agent,一个简单的例子来说明Agent的工作流程:

比如,当人类询问是否会下雨时,感知端(Perception)将指令转换为大模型可以理解的表示。然后控制端(Brain)开始根据当前天气和网上的天气预报进行推理和行动规划。最后,行动端(Action)做出响应并将雨伞递给人类。

image.png






















Agengt应该是一个仅通过简单的指令,就可以完全自主的分析规划,减轻人类的工作压力,提高解决任务效率的智能体。未来,在解放用户双手后,甚至可以自主完成创新性的、探索性的工作,就像电影《HER》中的AI一样。

基于此,代理的应用可以有三种范式,包括“单代理、多代理和人机交互”。

image.png






单代理场景指可以接受人类自然语言命令,执行日常任务的Agent目前备受用户青睐,具有很高的现实使用价值,可以分成“任务导向、创新导向、生命周期导向”这三类。

image.png











在多代理场景中,Agent被看作是许多较小、特定功能的个体,它们相互协作和互动以解决问题。这种场景包括“合作型互动”和“对抗型互动”两种主要形式。合作型互动可以进一步细分为无序合作和有序合作,有助于提高任务效率和改进决策。

在人机交互场景中,Agent则主要与人类进行互动,共同完成任务。互动分两种模式“Instructor-Executor”和“Equal Partnership”。

其中,在Instructor-Executor模式中,人类充当指导者,提供指令和反馈,而Agent则充当执行者,根据指示逐步调整和优化;Equal Partnership模式中,Agent可以表现出共情能力,与人类平等地参与任务执行。

image.png













在代理社会的概念框架中,我们可以清晰看到分为三个关键部分,共同构建了这个复杂的社会模型。

左侧部分描述了在个体层面上,代理展现出多种内化行为,包括计划、推理和反思。此外,代理还具备内在的人格特征,这些特征涵盖了认知、情感和性格三个方面,进一步塑造了他们的行为和决策。

中间部分强调了单个代理能够与其他代理形成群体,共同展现出协同合作等群体行为。这种合作性互动是代理社会中的重要组成部分,代理们在群体中互相影响,形成共同决策和行为,从而实现更高层次的目标。

右侧部分则关注了代理社会的环境,这个环境可以是虚拟的沙盒环境,也可以是真实的物理世界。在这个环境中,存在着多种要素,包括其他人类参与者和各类可用资源。对于每个单独的代理来说,其他代理也构成了环境的一部分,影响着他们的互动和决策。

整体互动则是代理社会的核心,代理们通过感知外界环境、采取行动,积极地参与整个交互过程。这个过程是复杂而动态的,代理社会的运作机制就是通过这种整体互动不断演化和发展的。

这三个关键部分共同构成了代理社会的概念框架,它们相互交织,共同塑造了代理社会的复杂性和多样性。

Agents的工作流程

一些流行的GPT Agents的项目,如AutoGPT和BabyAGI,是有史以来最受欢迎的开源项目之一。Agents的想法真正激发了开发者的想象力,人们正在争相围绕这个想法创业或者开发应用。

如果你是开发者,也想开发Agents,LangChain有一个很好的库和一套工具,可以帮助你不必从零开始构建一切。

下图是BabyAGI(一个流行的GPT Agents项目)的工作流程:

image.png

















解释一下上图:在为Agent创建一个主任务后,工作流程分为三个主要步骤:

  • 第一步:获取第一个未完成的任务,将任务发送给执行Agent, 该Agent使用OpenAI API根据上下文完成任务;

  • 第二步:丰富结果并将其存储在向量数据库中;

  • 第三步:基于目标和前一个任务的结果创建新任务, 并根据优先级对任务列表进行排序。

先说第一步,我们看一个具体的例子。

假设我们有一个任务,即“写一篇1500字的博客文章,介绍ChatGPT及其功能”。作为控制Agent的用户,你要做的就是写出这个任务,同时尽量详细的提出要求。

模型会处理这些要求,并执行以下操作:

sub_tasks = openai.ChatCompletion.create(
   model="gpt-4",
   messages=[
       {"role": "system", "content": "你是一名世界级的助手,可以帮助人们完成任务"},
       {"role": "user", "content": "写一篇1500字的博客文章,介绍ChatGPT及其功能"},
       {"role": "user", "content": "根据用户的请求,并将其分解成便于轻松完成的子任务"}
   ]
)


Agent工具

image.png












Agent GPT是一款功能强大的多功能开源 AI 工具,用于配置、创建和部署自主 AI 代理,无需用户持续输入。您只需指定您的目标,基于 GPT 3.5 架构的 Agent GPT 就会完成剩下的工作

image.png











Auto-GPT是一个基于 OpenAI 的 GPT-4 模型的开源自主代理,可以自主完成任务以满足用户的最终目标。

Auto-GPT 由 Toran Bruce Richards 创建,已在 GitHub 上公开发布,并将很快在 GUI/Web 应用程序上提供。它可以与应用程序、软件以及本地和在线服务(如文字处理器和网络浏览器)无缝交互,以完成给定的任务。 


BabyAGI是一个开源、独立管理、基于 GitHub 的 Python 脚本,其灵感来自人类认知发展。 

这个由 AI 驱动的任务管理系统使用 OpenAI 和矢量数据库(例如 Weaviate 和 Chroma)来创建任务、确定优先级和执行任务。它专注于语言学习、强化学习和认知发展,以学习和执行复杂的任务。

image.png








SuperAGI是一个自主 AI 框架,可帮助您快速、轻松、可靠地开发和部署自主 GPT 代理。数千家公司,包括亚马逊、微软、谷歌、特斯拉和 IBM 等巨头,信任并使用 SuperAGI 来自动化其业务流程并构建自主应用程序。

SuperAGI 还提供了使用特定目标和指令构建和创建简单软件应用程序的模板。其他重要功能包括代理内存存储、资源管理器、性能遥测、多向量数据库和循环检测启发法。 

Agent实际应用举例

为了体验Agents的实际应用,我们可以打开一个BabyAGI在线运行代码的环境: https://babyagi-ui.vercel.app/。  (需要OpenAI API KEY)

image.png












让我们以“教我如何编写Python”为目标:

image.png


























你可以看到BabyAGI的第一步是根据我的目标制作任务列表,它将“教我如何编写Python”分解为以下任务:

  1. 安装Python并熟悉Python解释器

  2. 学习基本的Python语法和数据类型

  3. 了解控制流和决策制定

  4. 学习函数和类

  5. 了解模块和包

6.。。。。。。。
















CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢