这两年,随着人工智能(AI)和计算能力的发展,AI应用的落地速度大大加快。以ChatGPT为代表的AI应用迅速火遍全球,成为打工人的常用工具。紧接着,多模态、AI Agent等各种高大尚的名词也逐渐进入大众视野,吸引了大量关注。那么,到底什么是AI Agent?下文半支烟将带你详细了解这个概念。

1. 一句话总结:什么是AI Agent

AI Agent,经常被翻译为:智能体或代理。

一句话总结,AI Agent就是一个有着聪明大脑而且能够感知外部环境采取行动智能系统

我们可以把它想象成一个能思考和行动的人,而大型语言模型(LLM)就是这个人的“大脑”。通过这个大脑,再加上一些能够感知外部世界和执行任务的部件,AI Agent就变成了一个有“智慧”的机器人。

要让AI Agent充分利用它的“大脑”和各种组件,需要一种协调机制。ReAct机制就是常用的协调机制。通过ReAct机制,AI Agent能够结合外部环境和行动组件,完成复杂的任务。

为什么我们需要AI Agent呢?其实说到底是因为单一的模型对我们来说作用不大,我们需要的是一个具备智能的复杂系统。只有复杂系统才能真正的应到到实际生产工作中。

2. 从单一模型到复合AI系统

要理解AI Agent,我们先看看AI领域的一些变化。

以前的AI系统通常是单一模型,受训练数据的限制,只能解决有限的任务或者固定领域的任务,难以适应新的情况。

而现在,我们有了LLM通用大模型,训练的数据更多,能完成更多领域的任务,比如内容生成、文生图、文生视频等等。同时还可以把大模型和各种外部组件结合起来,构建复合AI系统,这样就能解决更复杂的问题。

举个例子,如果直接让单一模型帮我制定一个去三亚的旅游计划,它无法做到。如果让LLM大模型帮我制定一个去三亚的旅游计划,它可以制定一个鸡肋的计划,几乎不可用,因为它不知道我的个人信息、也不知道航班信息,也不知道天气情况。

但如果我们设计一个复杂AI系统,让系统里的LLM大模型能够通过工具能访问我的个人信息,访问互联网上的天气情况,访问航班信息,再结合航班系统的开放接口,就可以自动帮我预定机票,自动制定行程规划了。

这就是复合AI系统的魅力,它能够结合工具、记忆、其余各种组件 来解决复杂问题。

3. 复合AI系统的模块化

复合AI系统是模块化的,就像拼积木一样。你可以选择不同的模型和组件,然后把它们组合在一起,解决不同的问题。

比如,你可以用一个模型来生成文本,用另一个模型来处理图像,还可以用一些编写的程序代码,一起构建出复杂AI系统。

4. AI Agent的推理与行动能力

AI Agent的核心是让LLM大模型 掌控 复杂AI系统的逻辑,说白了就是让LLM主导AI Agent的思维过程。我们向LLM输入复杂问题,它可以将复杂问题分解并一步步的制定解决方案。

这与设计一个程序系统不同,在AI系统里,LLM大模型会一步一步的思考、制定一步一步的计划,然后一个一个的去解决。并不是按照某个指定程序去执行的。

AI Agent的组件包括:大模型的推理能力、行动能力 和 记忆能力。

  • 大模型的推理能力是 解决问题的核心。
  • 行动能力通过工具(外部程序)实现,模型可以定义何时调用它们以及如何调用它们。工具可以是搜索引擎、计算器、操作数据库等。
  • 记忆能力使大模型能够存储内部日志和对话历史,从而使体验更加个性化。记忆可以帮助大模型在解决复杂问题时保持上下文连贯。

5. 总结

我们正处于AI Agent发展的早期阶段。未来,我们将看到更多的系统利用AI Agent进行"AI+"的转型。

总结来说,AI Agent通过整合LLM的推理能力和外部工具的行动能力,能够在复杂环境中自主解决问题。ReAct机制很好的实现了AI Agent的理念。

希望这篇博客对你有帮助!如果你有问题或想法,欢迎在评论区留言,一起探讨!

如果想了解具体的代码实践,可以翻阅我的这篇文章《基于ReAct机制的AI Agent》。

=====>>>>>> 关于我 <<<<<<=====

本篇完结!欢迎点赞 关注 收藏!!!

原文链接:https://mp.weixin.qq.com/s/E3odBUtAGY9bzGIxOFt1HA

AI时代你一定要知道的Agent概念的更多相关文章

  1. 每个极客都应该知道的Linux技巧

    每个极客都应该知道的Linux技巧 2014/03/07 | 分类: IT技术 | 0 条评论 | 标签: LINUX 分享到:18 本文由 伯乐在线 - 欣仔 翻译自 TuxRadar Linux. ...

  2. 开发者所需要知道的iOS7 SDK新特性

    iOS 7 春风又绿加州岸,物是人非又一年.WWDC 2013 keynote落下帷幕,新的iOS开发旅程也由此开启.在iOS7界面重大变革的背后,开发者们需要知道的又有哪些呢.同去年一样,我会先简单 ...

  3. 十件你需要知道的事,关于openstack-trove(翻译)

    开源数据库即服务OpenStack Trove应该知道的10件事情 作者:Ken Rugg,Tesora首席执行官 Ken Rugg是Tesora的创始人,CEO和董事会成员. Ken的大部分职业都是 ...

  4. 程序员必须要知道的Hadoop的一些事实

    程序员必须要知道的Hadoop的一些事实.现如今,Apache Hadoop已经无人不知无人不晓.当年雅虎搜索工程师Doug Cutting开发出这个用以创建分布式计算机环境的开源软...... 1: ...

  5. 【转载】在IT界取得成功应该知道的10件事

     在IT界取得成功应该知道的10件事 2011-08-11 13:31:30 分类: 项目管理 导读:前面大多数文章都是Jack Wallen写的,这是他的新作,看来要成为NB程序员还要不停的自我总结 ...

  6. 理工科应该的知道的C/C++数学计算库(转)

    理工科应该的知道的C/C++数学计算库(转) 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分析...这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件 ...

  7. 你应该知道的10个奇特的 HTML5 单页网站

    网页设计师努力寻找新的方式来展现内容.其中一个大的趋势是单页网站,现在被世界上的一些大的品牌广泛采用,使用它们来为用户提供一个快速,干净和简单的而且​​美丽的网站. 下面是10个令人惊叹的单页 H​​ ...

  8. Git / 程序员需要知道的12个Git高级命令

    众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...

  9. 你应该知道的RPC原理

    你应该知道的RPC原理 在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示.这些程序的特点是服务消费方和服务提供方是本地调用关系. 而一旦踏入公司尤其是大型互 ...

  10. 希望早几年知道的5个Unix命令

    原文: http://spin.atomicobject.com/2013/09/09/5-unix-commands/ 希望早几年知道的5个Unix命令 使用*nix系统已经有一段时间了.但是还是有 ...

随机推荐

  1. Java计算百分比保留整数

    1.Java计算百分比保留整数的方法步骤 在Java中计算百分比并保留整数,通常涉及以下步骤: (1)计算原始数值与基准数值的百分比(通常使用 (原始数值 / 基准数值) * 100 的公式). (2 ...

  2. 食道测压结合Manoview软件

    我认为是位于食道开始的地方是上食道括约肌(UES):upper esophageal sphincte,吞咽时,此处的压力会有变大.食道结束的地方是食道下括约肌(LES),从这在往下就是胃,一般情况这 ...

  3. Sublime快速在当前目录下新建文件(advanceNewfile插件)

    1.ctrl+shift+p,输入pci,选择第一个,回车 2.输入 advanceNewfile 安装 3.ctrl+alt+n 新建文件自动保存在当前目录下

  4. go append的坑

    b := []int{1,2,3,4,5} slice := b[:2] newSlice := append(slice, 50) fmt.Println(b) fmt.Println(newSli ...

  5. (数据科学学习手札161)高性能数据分析利器DuckDB在Python中的使用

    本文完整代码及附件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,就在几天前,经过六年多的 ...

  6. ts symbol 作为属性名

    在 TypeScript 中,如果你希望在一个对象中使用某个 symbol 作为属性名,你必须使用中括号 [] 括起来,并在括号中放入该 symbol.     这是因为当你使用 symbol 作为属 ...

  7. react 高阶函数

    HOC(Higher Order Components)就是一个函数,传给它一个组件,它返回一个新的组件. 高阶组件:就相当于手机壳,通过包装组件,增强组件功能. 实现步骤: 首先创建一个函数 指定函 ...

  8. 机器学习算法(一):1. numpy从零实现线性回归

    系列文章目录 机器学习算法(一):1. numpy从零实现线性回归 机器学习算法(一):2. 线性回归之多项式回归(特征选取) @ 目录 系列文章目录 前言 一.理论介绍 二.代码实现 1.导入库 2 ...

  9. monaco-editor 实现SQL编辑器

    原文链接:https://www.yuque.com/sxd_panda/antv/editor 安装 yarn add monaco-editor 或 npm install monaco-edit ...

  10. springboot项目中一些小技巧

    一.使用命令创建maven工程 1.例如我们想在IDEA的工作空间目录下E:\Gitee\springboot,创建maven项目,首先先进入该目录下 2.去掉原来的目录,输入cmd,然后回车,进入命 ...