0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

面向Agent的大模型应用开发框架,你了解多少?

发表时间:2023-11-07 08:06:06

文章来源:炫佑科技

浏览次数:136

菏泽炫佑科技

面向Agent的大模型应用开发框架,你了解多少?

那么,什么是代理?

1. 什么是代理

这里的代理人指的是代理人,可以追溯到明斯基的《心灵》一书。在那本书中,明斯基对代理人的定义有些抽象——“社会中能够协商解决问题的个人,而这个人就是代理人”。在计算机世界中,智能体是通过传感器感知其环境并通过执行器作用于该环境的实体,因此可以将实体定义为从感知序列到实体动作的映射。一般认为,智能体是指驻留在一定环境中,能够继续自主运行,具有自主性、反应性、社会性和主动性等特征的计算实体。智能

是智能体与环境交互的新兴属性。

1.1 代理的结构和特征

代理的一般结构如下图所示

代理的主要功能包括:

● 自主性():在没有人类或其他代理直接干预的情况下运行,对自己的行为和内部状态进行一些控制。

● 社交性 ( ) 通过某种交流与其他智能体(或人类)互动的能力。交互主要有三种类型:协作()、协调()和协商()。

● 反应性():感知环境(可以是物理世界、通过图形用户界面连接的用户、一系列其他智能体或所有这些智能体的组合)并及时对环境的变化做出反应。

● 亲-:既能对环境做出反应,又能主动制定目标。

如果您尝试稍微形式化代理,它可能如下所示:

代理 = + 代理

= + +代理

是代理的真正子集

1.2 大模型域中的智能体

在大模型领域,

大模型取代了传统智能体中的规则引擎和知识库,智能体为推理、观察、批评和验证提供了对话通道。特别是当配置了正确的提示和推理设置时,单个 LLM 可以显示广泛的功能,不同配置的代理之间的对话可以帮助以模块化和互补的方式组合这些广泛的 LLM 功能。

开发人员可以轻松快速地创建具有不同角色的代理,例如,使用代理编写代码、执行代码、连接人工反馈、验证输出等。通过选择和配置内置功能的子集,还可以轻松扩展代理的后端,以允许更多自定义行为。

2. 什么是多智能体

多智能体是指由多个自主个体组成的群体系统,其目标是通过相互信息进行相互交流和互动。

一般来说,Multi-Agent是由一系列交互的Agent及其对应的组织规则和信息交换协议组成的,其中的每个Agent通过相互沟通、合作、竞争等方式,可以完成大量单个Agent无法完成的复杂任务,就是一个“系统系统”。

2.1 Multi-Agent的系统分类及特点

开发软件需要学什么_开发软件有哪些_软件开发

多智能体系统(MAS)可分为以下几类:

Multi-Agent系统的主要特点如下:

自治。在多智能体系统中,每个智能体都可以管理自己的行为,并自主合作或竞争。

容错。智能体可以协同工作,形成一个协作系统,实现独立或共同的目标,如果一些智能体出现故障,其他智能体会自主适应新环境并继续工作,而不会导致整个系统陷入故障状态。

灵活性和可扩展性。Multi-Agent系统本身采用分布式设计,Agent具有高内聚、低耦合的特点,使得系统具有极强的可扩展性。

协作能力。多智能体系统是一个分布式系统,智能体之间可以通过适当的策略相互协作,实现全局目标。

2.2 大模型域中的多智能体

具体来说,当LLM在基于模型的大型应用程序中被分解为更简单的子任务时,它们已被证明具有解决复杂任务的能力。多智能体通信和协作能够以一种称为“对话”的直观方式解耦和集成这些子任务。

为了使基于模型的大型代理适合多代理对话,每个代理都可以进行对话,并且可以接收、响应和响应消息。正确配置后,代理可以自动与其他代理进行多个对话,或在某些对话轮次中请求人工输入,从而通过人工反馈产生 RLHF。对话式代理设计利用了 LLM 通过聊天获得反馈和取得进展的能力,并且还允许以模块化方式组合 LLM 的功能。

3. 基于大模型的通用智能体和多智能体系统3.1 单智能体系统

基于大型模型的常见单智能体系统包括:

3.2 多智能体系统

基于大型模型的常见多智能体系统包括:

开发软件需要学什么_开发软件有哪些_软件开发

在了解了Agent和Multi-Agent的基本概念和常用系统后软件开发,如何开发基于大模型的Agent应用?上个月(2023 年 9 月), 提出了一个开源框架,为开发 LLM Agent 应用程序提供了有价值的参考。

4. 基于Multi-Agent的LLM应用开发框架:

是一个用于编排、优化和自动化的开发框架,可简化 LLM 工作流。它提供了可定制的对话代理,利用了 GPT-4 等 LLM 的*强大功能,同时通过与人员和工具集成并通过自动聊天在多个代理之间进行对话来解决其局限性。

4.1 的典型示例

使用多代理会话启用基于 LLM 的复杂工作流,其典型示例如下:

左图表示一个基于构建的可自定义代理,它可以基于 LLM、工具、人员面向Agent的大模型应用开发框架,你了解多少?,甚至是它们的组合。右上方表示智能体可以通过对话解决任务,右下方表示支持许多其他复杂的对话模式。

4.2 一般用法

使用 ,构建一个复杂的多智能体会话系统可以归结为:

这两个步骤都是模块化的,使这些代理可重用和可组合。例如,要构建一个基于代码的问答系统,可以设计代理及其交互,这样的系统可以减少应用程序所需的手动交互次数。下图显示了用于解决代码中问题的工作流:

接收用户的问题并与他们协调。编写代码并解释它,确保它是安全的,然后执行它。如果出现问题,可以重复该过程,直到问题得到解决。

5.核心功能:可定制代理

中的代理具有由 LLM、人工、工具或这些元素的组合启用的功能。例如:

开发软件需要学什么_软件开发_开发软件有哪些

5.1 助理代理

使用助理代理的一个简单方法是

调用 Agent 和 User Agent 之间的自动聊天,可以轻松构建 + Code + 插件的增强版本(如下图所示),该插件具有可自定义的自动化功能,可以在自定义环境中使用,也可以嵌入到更大的系统中。

在上图中,助理代理扮演 AI 助手的角色,例如 Bing Chat。用户代理承担用户的角色并模拟用户行为,例如代码执行。自动执行两个座席之间的聊天,同时允许人工反馈或干预。用户代理与人类无缝交互,并在适当的时候使用工具。

5.2 多代理会话

以代理会话为中心的设计有很多好处,包括:

支持自动聊天和

多样化的通信模式,可以轻松编排复杂、动态的工作流程和实验的多功能性,在下图中,一个名为“ ”的特殊代理用于支持多个代理之间的群聊。

是一个重复以下三个步骤的特殊代理:选择一个说话人(在本例中为 Bob),要求该说话人做出回应,然后将所选说话人的消息广播给所有其他代理。

总而言之,它被设计为构建 LLM 应用程序的通用基础设施。它的对话模式支持现有LLM系统的几乎所有模式类型,在“静态”模式下,无论输入如何,代理的拓扑结构都保持不变。允许灵活的对话模式,包括可根据不同应用需求定制的静态和动态模式。其多智能体系统可以执行LLM生成的代码,允许人员参与系统的执行。

6. 使用示例

上面提供了许多有趣的示例,但这里简要介绍了如何使用 .ipynb 生成基于多代理会话的应用程序示例 - 代码生成、执行、调试和人工反馈任务解决。

软件开发_开发软件有哪些_开发软件需要学什么

6.1 环境设置

需要高于 3.8 的版本,并按如下方式安装:

果仁

只需几行代码,即可快速实现强大的体验:

import autogen
config_list = autogen.config_list_from_json("OAI_CONFIG_LIST")

参考文件如下:

= ['

model': 'GPT-4','

': '',

}, # gpt-4 的 API'

model': 'GPT-4','

': '','

': '','

': '天蓝色',

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多