Agent智能体?我们要的到底是什么

What is an agent?

近年来,大型语言模型(LLM)的能力越来越强,应用范围也越来越广泛,其中一个热门方向就是智能体(Agent)。但在这一切的背后,我们真正追求的是什么?是简单地让机器执行命令,还是赋予它们更多的智能体特性(Agentic features),使它们能够更加自主地参与决策过程?

本文将深入探讨智能体的概念、为何“具有智能体特性”变得如此重要,以及这一趋势如何影响我们对未来技术的构想。

什么是智能体?

传统应用程序通常遵循预先定义好的规则和逻辑,而智能体则不同,它可以根据LLM的理解和判断,动态地选择下一步操作,这使得智能体能够处理更加复杂和不确定的任务。

简单来说,智能体就是一个利用LLM来决定应用程序控制流程的系统,可以被视为一种能够自主决策和执行任务的系统。它通过与外部数据和计算资源的交互,来实现复杂的任务。

智能体与传统应用程序的区别

以LangChain生态为例,通过LangChain创建的很多LLM应用的工具,特别是那些作为推理引擎并与外部数据源和计算资源交互的系统,这些系统通常被称为智能体

智能体的定义可能因人而异。技术上讲,智能体是一个利用LLM来决定应用程序控制流程的系统。

然而,这样的定义并不完美。人们往往认为智能体是高级的、自主的、类似人类的系统,但一个简单的系统也可以通过LLM在两条不同路径之间进行路由,这也符合技术定义。这表明,智能体的定义并不单一,而是具有多样性。

举个例子,想象一下一个智能客服机器人。传统的客服机器人只能根据预设的关键词进行简单的问答。但智能客服机器人则可以利用LLM理解用户的真实意图,并根据情况选择不同的对话策略,例如:

  • 如果用户只是询问简单的信息,智能客服机器人可以直接给出答案。

  • 如果用户的问题比较复杂,智能客服机器人可以引导用户提供更多信息,或者将用户转接到人工客服。

Agentic意味着什么?

Agentic可以理解为“具有智能体特性”。一个系统越“具有智能体特性”,就意味着LLM在决定系统行为方面的作用越大。

Agentic谱系

我们可以把Agentic看作一个连续谱系:

  • 一端是完全没有Agentic的系统。 这些系统完全按照预设的规则运行,LLM的作用仅仅是提供信息或执行简单的指令。

  • 另一端是完全Agentic的系统。 这些系统的行为完全由LLM决定,甚至可以自己设定目标和计划。

当然,大多数实际系统都处于这个谱系的中间地带。例如,一个智能客服机器人可能在回答简单问题时没有Agentic,但在处理复杂问题时就需要一定的**Agentic。

吴恩达提出了一个观点,即智能体的能力可以被视为一个谱系,就像自动驾驶车辆有不同的自动化等级一样,智能体的能力也可以有不同的等级,因而在现阶段使用Agentic定义比Agent更加合适。这个观点得到了广泛的认同,并且有助于更好地理解智能体的不同层次。

LLM的作用程度

根据系统中LLM的作用程度,可以将智能体划分为不同的等级:

  1. 路由器(Router):使用LLM将输入路由到特定的下游工作流,这种行为具有一定的“智能体特性”。

  2. 状态机(State Machine):如果系统使用多个LLM进行多次路由步骤,并且其中一个步骤决定是否继续或结束,这种系统就类似于状态机。

  3. 自主智能体(Autonomous Agent):如果系统能够构建工具、记住这些工具并在未来的步骤中使用它们,这种系统就具有高度的智能体特性。

尽管这些定义看起来比较技术性,但在设计和描述LLM系统时,这些技术定义是非常有用的。

Agentic为何有价值?

理解Agentic的概念对于构建和使用基于LLM的系统至关重要。它可以帮助我们:

  • 选择合适的系统架构。 对于一些简单的任务,可能并不需要Agentic,传统的应用程序就足够了。但对于一些复杂的任务,就需要考虑构建具有Agentic的系统。

  • 设计更有效的交互方式。 对于具有Agentic的系统,我们需要设计更灵活的交互方式,以便LLM能够充分发挥其作用。

  • 评估系统的性能。 对于具有Agentic的系统,传统的评估指标可能不再适用,我们需要探索新的评估方法。

总而言之,Agentic是一个需要根据具体问题和应用场景进行权衡的因素。

更进一步说,理解你的系统可以有多“具有智能体特性”,可以在开发过程中指导你的决策——包括构建、运行、交互、评估,甚至监控。

Agentic在开发过程中的作用

  • 构建:在构建复杂的智能体系统时,拥有一个框架可以加速开发过程。这个框架应该支持分支逻辑和循环。

  • 运行:智能体系统越复杂,运行起来就越困难。需要能够处理长时间运行的任务,并且在执行过程中处理任何可能发生的错误。

  • 交互:在系统运行时,你需要观察系统内部的运行情况,并在必要时修改智能体的状态或指令。

  • 评估:需要一个评估框架来测试智能体的表现,包括中间步骤的效率。

  • 监控:需要一个新的监控框架来深入了解智能体的每一步操作,并根据智能体的步骤查询运行情况。

理解和利用系统中智能体特性的谱系,可以提高开发过程的效率和系统的鲁棒性。

Agentic是新趋势

随着LLM技术的不断发展,我们正在构建越来越多的具有Agentic的系统。例如:

Agentic

  • 自主机器人: 可以根据环境和任务自主规划行动路线,例如自动驾驶汽车、物流机器人等。

  • 智能个人助理: 可以根据用户的习惯和需求提供个性化的服务,例如安排日程、推荐内容等。

  • 智能创作工具: 可以辅助用户进行创作,例如生成文本、图像、音乐等。

随着我们在智能体谱系上走得更远,支持工具的整个生态系统都需要重新构想。我们需要开发新的编程模型、调试工具和评估指标,以支持这些更复杂、更智能的系统。

传统的工具和基础设施可能无法满足需求,例如,LangGraph和LangSmith就是为了帮助构建、运行和交互智能体而设计的新工具。

LangGraph和LangSmith

随着智能体特性的不断发展,我们需要重新构想整个支持工具的生态系统,以适应智能体应用的需求。

总结

AgentAgentic是理解和构建基于LLM的系统的关键概念。随着LLM技术的不断发展,我们可以预见,未来将会出现更多更强大的智能体,为我们的生活带来更多便利和可能性。

智能体技术的探索之路还很长,但通过不断地学习和创新,我们有望构建一个更加智能、更加互联的未来。

随着大模型的不断爆火,每个行业都在开发搭建自己的私有化大模型,时代急需大量大模型人才,也会带来大批量的就业岗位?“雷军曾说过:站在风口,猪都能飞起来”可以说现在大模型就是当下最大的风口,是一个可以改变自身的机会,就看我们怎么把握住。

那么,我们如何去学习大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、大模型全套的学习计划

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、大模型经典PDF书籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

四、AI大模型商业化落地方案

以上的AI大模型学习资料,都已上传至CSDN,需要的小伙伴可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SSM框架学习(七、MyBatis-Plus高级用法:最优化持久层开发)

目录 一、MyBatis-Plus快速入门 1.简介 2.快速入门 二、MyBatis-Plus核心功能 1.基于Mapper接口CRUD (1)Insert 方法 (2)Delete方法 (3)Update 方法 (4)Select方法 2.基于Serv…

解决在Windows中安装tensorflow2.10无法检测到GPU的问题

解决在Windows中安装tensorflow2.10无法检测到GPU的问题 官方给出的Windows本地安装方式 更新显卡驱动到最新。安装anaconda或miniconda作为python环境的管理工具。创建新的环境tf:conda create --name tf python3.9,然后进入改环境:conda …

【学习笔记】理解 C++ 中 reinterpret_cast 和 C 风格类型转换的区别

【学习笔记】理解 C 中 reinterpret_cast 和 C 风格类型转换的区别 在 C 中,类型转换是一个常见的操作,特别是当我们需要在不同类型之间进行数据操作时。本篇笔记将通过两个具体的例子来讨论 reinterpret_cast 和 C 风格的类型转换的区别。 示例 1&…

【uniapp】设置公共样式,实现公共背景等

目录 1、 全局渐变背景色 2.1 创建common目录 2.2 在common下新建style和images等目录 2.3 在style下新建common-style.scss 2.4 common-style输入全局渐变颜色 2.5 引入样式 2.6 业务页面引入 2.7 展示 2、全局字体颜色 2.1 新建base-style.scss文件 2.2 设置base-…

【动手学深度学习】7.6. 残差网络(ResNet)(个人向笔记)

1. ResNet精读论文视频的Introduction部分 深度卷积神经网络好,好在可以叠加很多层,每一层都可以提取不一样的特征但是网络特别深的时候,梯度要么爆炸要么消失,我们能做的就是将参数随机初始化做好,或者是在中间加一些…

ai聊天对话页面-uniapp

流式传输打字机效果,只支持uniapp内使用 ,下载地址 https://download.csdn.net/download/qq_54123885/89899859

Java基于SpringBoot微信小程序的跳蚤市场系统设计与实现(lw+数据库+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

WT2003H语音芯片MCU下载方案助力电动车智能化升级:实现多功能语音提示+报警功能

一:产品市场 随着科技的发展,电瓶车在技术革新上也在不断进步,如今许多厂家,都会加入语音提示功能,能在倒车、喇叭、故障时发出语音报警,提示骑行者电量不足、倒车请注意、故障语音提示等;唯创…

微信小程序引入组件教程

1、安装 node.js 下载网址:https://nodejs.org 2.通过 npm 安装 npm init -y npm i vant/weapp -S --production 3、修改 app.json 将 app.json 中的 “style”: “v2” 去除 4、修改 project.config.json 关于修改 project.config.json 的详细内容&#x…

Linux系统重建Grub引导的方法

一、问题出现的原因 在安装双系统时,我们都是先安装Windows系统,再安装Linux系统,这样在启动计算机时,两个系统都可以被引导启动,并在开机界面可以进行选择。这是因为Linux使用的操作系统引导加载器Grub可以引导如Win…

Qt- QSS风格选择器常用属性选择器样式表盒子

1. 风格设置 Qt 提供了 3 种整体风格,使用 QStyleFactory::keys() 来获取 (windowsvista 、Windows 、Fusion) 可以在 main.cpp 中调用 setStyle 方法对应用程序进行全局风格的设置 int main(int argc, char *argv[]) {QApplication a(arg…

Unity中使用Json导入项目无法识别Newtonsoft.Json

Unity导入项目无法识别Newtonsoft.Json 因为项目中用到了JSON解析,所以引入了一个解析类库 using Newtonsoft.Json.Linq; 换了台设备之后,导入这个项目之后,这个引用就标红了,找不到类库。 因为是C#报错所以研究了半天visual stu…

自动驾驶系列—深入解析自动驾驶系统验车平台:确保车辆交付质量的关键工具

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

LeetCode刷题日记之贪心算法(二)

目录 前言买卖股票的最佳时机II跳跃游戏跳跃游戏II总结 前言 在上一篇贪心算法的学习中,我们探讨了贪心算法的基本思路和逻辑框架。在这篇文章中,我将继续分享几道经典的LeetCode贪心算法题,并探讨其背后的解题思路和技巧。希望通过这些题目…

Java入门-创建对象

Java包管理器 包(package)的导入 Java体系非常庞大,为了管理更多的代码互不侵犯,采用了一个叫“包管理”的机制来管理代码,简单来说就是把不同的Java代码放在不同的文件夹里,这个文件夹就是“包”。对于使…

【Linux】【命令】查找(grep/find)与统计(wc)

查找与统计 grepfindwcExamples grep grep 命令用于在文件中或者标准输出中搜索特定字符串,并显示匹配结果。 grep 全称:Global Regular Expression Print 基本语法: grep [OPTION]... PATTERN [FILE] ...默认情况下,PATTERN 是…

Agentic RAG(基于智能体的检索增强生成)是检索增强生成(Retrieval-Augmented Generation,RAG)技术的一种高级形式

Agentic RAG(基于智能体的检索增强生成)是检索增强生成(Retrieval-Augmented Generation,RAG)技术的一种高级形式,它通过引入人工智能代理(Agent)的概念,为语言模型赋予了…

2024.10月18日- Vue2组件开发(3)

Vue组件开发 一、 ref属性 如果在vue里,想要获取DOM对象,并且不想使用JS的原生语法,那么就可以使用ref属性。ref属性的用法: 1)在HTML元素的开始标记中,或者在Vue子组件中的开始标记中定义,相…

Pytest参数详解 — 基于命令行模式!

1、--collect-only 查看在给定的配置下哪些测试用例会被执行 2、-k 使用表达式来指定希望运行的测试用例。如果测试名是唯一的或者多个测试名的前缀或者后缀相同,可以使用表达式来快速定位,例如: 命令行-k参数.png 3、-m 标记(…

jenkins添加新服务

jenkins添加新服务 新建item 添加流水线 node{def envname "ENVIRONMENT:1234-dev"def projectGitUrl http://xxxxx/xxxxxx/12345.gitdef imageServer harbor.xxxxx.com //镜像仓库地址def projectAppName 12345-applicationdef projectGitBranch dev//git分…