AI Agent:技术原理与未来趋势

news2024/11/24 9:19:34

在人工智能的快速发展中,AI Agent作为一项创新技术,正逐渐成为研究和应用的热点。AI Agent不仅仅是执行命令的程序,它们能够感知环境、做出决策并采取行动,展现出类似人类的群体协作能力。本文将探讨AI Agent的技术原理、开源框架、以及未来发展趋势。
在这里插入图片描述

AI Agent概述

AI Agent的迅速发展得益于大型语言模型(LLM)的驱动。自从2023年以来,LLM Agent因其在研究、框架和应用方面的迅猛发展而受到广泛关注。Agent的概念源自于能够通过传感器感知环境,并通过执行器对环境做出反应的实体。在工程实现上,AI Agent可以拆分为规划、记忆、工具和行动四大核心模块。

这里是引用

在这里插入图片描述

LLM Agent系统架构

LLM Agent系统架构可以概括为“1+4”模型,即一个大语言模型加上观察、思考、行动和记忆四个功能模块。这种架构使得AI Agent能够进行复杂的任务处理和决策制定。

Multi-Agents协作

Multi-Agents技术允许多个自主的Agent参与协作,模拟人类群体在解决问题时的动态。Agent与环境的接口可以是虚拟的,也可以是与物理世界的直接交互。Agent配置可以是预定义的、模型生成的或数据驱动的。Agent间的通信可以是合作、辩论或竞争,通信结构可以是分层、去中心化、集中化或共享消息池。
在这里插入图片描述

开源框架的技术剖析

开源框架为AI Agent的开发提供了多样化的工具和平台。以下是一些值得关注的开源框架:

斯坦福小镇

斯坦福小镇项目是一个多Agent的Demo Roleplay,展示了Agent如何感知环境并基于“记忆流”做出决策。Agent的记忆分为观察和反思两种类型,包括被动和主动行为,以及由LLM评估打分的重要性、时效性和相关性。
在这里插入图片描述
记忆流分成两个部分
第一种记忆类型Memory Objects:

  • Observation(包括被动和主动行为)
  • lmportance score:LLM评估打分(0-10)
  • Recency score: 时间衰减因子
  • Relevance score:向量检索
    在这里插入图片描述

第二种记忆类型 Reflection:
这是Agent生成的更高层次、更抽象的思想
在这里插入图片描述

AutoGen

AutoGen是微软开发的一个多Agent框架,它允许用户构建自己的复杂工作流。这个框架需要用户自己定制解决复杂问题,例如组成软件公司写代码或组成虚拟小组讨论Idea。
在这里插入图片描述
Autogen 优势与不足总结
优势
微软官方主推开源产品,文档,示例比较完善丰富,相关研究和应用也在不断持续
不足

  • 底层跟GTP模型深度绑定,如果需要使用Bedrock的模型或者本地模型,则需要使用LLMProxy方案(fastchat,litellm,ollama等)
  • 对Claude 系列模型的message api不太友好,需要对接口改动较多。如消息中name参数缺失需要严格按照’userassistant’顺序等
  • 无法对agent输出的message做精细化的控制(类似metagpt那种特定消息的订阅发布机制)导致每次运行消耗token数非常多,实际运行不太稳定,速度也非常慢

LangGraph

LangGraph是一套在langchain框架之上的开发组件,可以轻松开发带有状态的、可控循环流程的LLM应用。它借鉴了NetworkX框架的设计思路,将应用流程定义成一个图,其中节点代表Agent或工具,边代表执行顺序。
在这里插入图片描述

一个应用流程定义成一个图节点(node)可以代表一个agenttool,或者一次function call,亦或者一次大模型调用,甚至是链接一个子图。边(edge),则代表节点的执行顺序(数据流向),并且可以通过设置conditionaledge,来控制流程分支。
在这里插入图片描述

MetaGPT

MetaGPT是国内开源的一个Multi-Agent框架,它构成一个虚拟软件公司,内部包括不同角色的Agent,提供了软件公司全过程的精心调配。
在这里插入图片描述
MetaGPT记忆和通信机制
首先每个agent 维护一个自己的消息队列通过 watch(action),来订阅来自全局环境里某些特定 action 发布的消息,并触发observe,think,action,publish,把消息发给全局环境。全局环境中的消息又接着被其他订阅该action 的 agent 观察到,重复上述流程
在这里插入图片描述
在这里插入图片描述

ChatDev

Chat Dev是一个开源多代理(Agent)编程框架的项目,国内人工智能初创企业面壁智能打造的一个虚拟软件公司,由各种具有不同角色的代理人(Agent)运作,包括首席执行官(首席执行官)、首席采购官(首席产品官)、1首席技术官(首席技术官)、程序员等。查特开发内部的代理通过参与专门的功能研讨会(通过连锁店组合)进行协作,从需求分析,设计、编码、测试和到最终的文档编写,依次完成软件开发各个阶段的任务。
在这里插入图片描述
在这里插入图片描述

Bedrock Agent

Bedrock Agent代表了亚马逊云科技在AI Agent领域的解决方案。它通过用户调用agent、获取对话历史、生成观察或最终回复等步骤,实现了复杂的工作流程。
在这里插入图片描述

Agents工作流

Bedrock Agent的工作流包括用户调用agent、返回控制、Lambda获取对话历史、预处理和后处理等环节。这种工作流允许Agent在调用时需要函数的执行结果,并在循环中直到完成任务或询问用户后续问题。
在这里插入图片描述

Session和Prompt属性

Session和Prompt属性在用户和agent之间的会话期间持续存在,它们可以在Lambda事件中发送,用于个性化agent的行为。
在这里插入图片描述

Bedrock Agent – Orchestration

Bedrock Agent的编排采用了ReAct范式,即推理加动作加外部反馈,以提升回答的准确率。
在这里插入图片描述

总结与展望

AI Agent代表了工作流的革新,它们不再是简单的指令执行者,而是能够进行自我反思、规划和修正的参与者。设计有用的Agent AI应用需要考虑通信机制、记忆机制和工作流设计。

选择合适的Agent开发框架或服务时,需要考虑是否有足够的技术开发人员、是否需要快速上线、对数据和服务安全的看重程度、是否单Agent已经满足效果,以及是否有可参考的SOP或工作流

垂直特定场景落地,具备开放世界的通用性Multi-Agents最大的作用是通过模拟人在生产活动中的群体协助,或者分工,来提高AI解决问题的能力上限,随着各类垂直特定场景的逐步落地(例如 AIGC创作 Agents,数据加工 Agents),未来会出现具备更好开放世界通用性的 AI Agent。

AI Agent技术的发展为人工智能领域带来了新的可能性。从技术原理的深入理解到开源框架的应用实践,再到未来趋势的展望,AI Agent正逐步成为推动智能化进程的重要力量。随着技术的不断成熟和应用场景的不断拓展,我们期待AI Agent能够在更多领域展现出其独特的价值和潜力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1879706.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决idea中git无法管理项目中所有需要管理的文件

点击文件->设置 选择版本控制—>目录映射 点击加号 设置整个项目被Git管理

淘宝天猫小学升级复习学习资料怎么领取大额优惠券返利购物更省钱?

暑假是一个很好的机会来回顾和巩固过去一年里学到的知识。通过复习学习资料,孩子可以加深对基础知识的理解和记忆,为下一学年的学习打下坚实的基础。对于即将升入更高年级的孩子来说,他们可能会面临更加复杂和深入的学习内容。购买升学复习资…

图灵虚拟机配置

导入虚拟机 点击新建,选择虚拟硬盘文件 环境机器.vmdk 配置网络

pcap包常见拆分方法

文章目录 Wireshark 拆分流量包SplitCap使用简介魔数报错示例结果 在进行流量分析时,经常需要分析pcap流量包。但是体积过大的流量包不容易直接分析,经常需要按照一定的规则把它拆分成小的数据包。 这里统一选择cic数据集里的Thursday-WorkingHours.pcap…

10大内网安全管理系统!企业内网安全必备系统

内网安全管理系统对于维护企业网络安全至关重要,它们帮助监控、管理内部网络资源,防止数据泄露和安全威胁。以下是十款知名的内网安全管理系统。 1. 安企神终端安全管理系统 详细介绍: 安企神是针对企业内网安全需求设计的一款综合管理系统&…

HTML5的多线程技术:Web Worker API

Web Workers API 是HTML5的一项技术,它允许在浏览器后台独立于主线程运行脚本,即允许进行多线程处理。这对于执行密集型计算任务特别有用,因为它可以防止这些任务阻塞用户界面,从而保持网页的响应性和交互性。Web Workers在自己的…

计算机图形学笔记----矩阵

矩阵和标量的运算 ,则 矩阵与矩阵相乘 的矩阵A,的矩阵B。两矩阵,结果为的矩阵,第一个矩阵的列数必须和第二个矩阵的行数相同,否则不能相乘 ,中的每个元素等于A的第i行所对应的矢量和B的第j列所对应的矢量进行矢量点…

Django 页面展示模型创建表的数据

1,添加视图函数 Test/app8/urls.py from django.shortcuts import render from .models import Userdef create_user(request):if request.method POST:username request.POST.get(username)email request.POST.get(email)# ... 获取其他字段的值# 创建用户实例…

新手练习项目 7:猜数字游戏

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 目录 一、项目描述二、项目实现三、项目步骤四、项目扩展方向 更多项目内容,请关注我、订…

源码学习:文件描述符

在进程描述学习中,扯到了max_fds,接着就联想到了日常运维中常见的ulimit参数、sysctl内核参数,原来以为max_fds与这些个关联性比较强,但经过一早上折腾以后,发现其实还是有一些差距的。但是在学习过程中,却…

java基于ssm+jsp 固定资产管理系统

1前台首页功能模块 固定资产管理系统,在系统首页可以查看首页、设备信息、论坛信息、我的、跳转到后台等内容,如图1所示。 图1前台首页功能界面图 注册,在注册页面可以填写用户名、密码、姓名、性别、头像、身份证、手机等详细内容&#xff…

ASP.NET CORE应用针对IIS有哪两种部署模式?

一、ASP.NET CORE Core Module IIS其实也是按照管道的方式来处理请求的,但是IIS管道和ASP.NET CORE中间件管道有本质的不同。对于部署在IIS中的Web应用来说,从最初接收到请求到最终将响应发出去,这段处理流程被细分为一系列固定的步骤&#x…

设计模式-状态模式和策略模式

1.状态模式 1.1定义 当一个对象的内在状态改变时允许根据当前状态作出不同的行为; 1.2 适用场景 (1)一个对象的行为取决于它的状态,并且它必须在运行时根据状态来决定其行为. (2)代码中包含了大量的与状态有关的条件语句,例如:一个操作含有庞大的多分值语句(if…

【信息安全及等保】网络安全等级保护技术建议书(word原件)

1信息系统详细设计方案 1.1安全建设需求分析 1.1.1网络结构安全 1.1.2边界安全风险与需求分析 1.1.3运维风险需求分析 1.1.4关键服务器管理风险分析 1.1.5关键服务器用户操作管理风险分析 1.1.6数据库敏感数据运维风险分析 1.1.7“人机”运维操作行为风险综合分析 1.2…

3D打印随形水路在注塑生产中的显著优势

3D打印技术在模具制造中已崭露头角,特别是在注塑生产中,3D打印随形水路的应用正变得日益普遍。 首先,该技术能精准优化模具温度。3D打印随形水路随形冷却的设计让模具温度更加均匀,水路更贴近产品,有效提升产品品质和缩…

不知道自己的优势擅长和兴趣爱好,我该如何填报高考志愿选专业?

天生我才必有用,每个人都是独立的个体,拥有自己的优势和擅长,当然这个优势和擅长,不是和别人对比,而是和自己对比产生的。 如果说你不知道自己的优势擅长,不知道自己的兴趣和爱好,那只不过是你没…

李一桐遭遇蜈蚣惊魂

李一桐遭遇“蜈蚣惊魂”!刘宇宁展现真男人本色在娱乐圈的幕后,总有一些心跳加速的惊险。近日,李一桐在拍戏时遭遇了一场“蜈蚣惊魂”,让无数粉丝和网友为她捏了一把冷汗。而在这场惊险的遭遇中,刘宇宁展现出了真男人的…

[寄宿日记]韩漫日漫无删减完整版,免费在线观看漫画

[寄宿日记]韩漫日漫无删减完整版,免费在线观看漫画 不能多说,怕审-核不过,自己看图吧。 想要的在这里: https://blog.csdn.net/qq_42098517/article/details/140079915 https://gitee.com/zzwuweijun/manhua/blob/master/README…

【原理】机器学习中的最小二乘法公式推导过程

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、什么是最小二乘法1.1. 什么是最小二乘法1.2. 最小二乘法的求解公式 二、最小二乘法求解公式的推导 最小二乘法是基本的线性求解问题之一,本文介绍最小二乘法的原理,和最小二法求解公式…

【PyTorch单点知识】神经元网络模型剪枝prune模块介绍(上,非结构化剪枝)

文章目录 0. 前言1. 剪枝prune主要功能分类2. torch.nn.utils.prune中的方法介绍3. PyTorch实例3.1 BasePruningMethod3.2PruningContainer3.3 identity3.4random_unstructured3.5l1_unstructured 4. 总结 0. 前言 按照国际惯例,首先声明:本文只是我自己…