AI时代你一定要知道的Agent概念

news/2024/9/19 22:08:03/文章来源:https://www.cnblogs.com/mangod/p/18308640

这两年,随着人工智能(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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读写给大家的AI极简史笔记01机器决策

读写给大家的AI极简史笔记01机器决策1. 识别、洞察、行动 1.1. 当你不知道该做什么时,智力就是你需要使用的东西。 1.1.1. [瑞士]让皮亚杰(Jean Piaget),生物学家和发展心理学家 1.2. 对于人类来说很难的事情,对机器来说很简单。 1.2.1. …

Extension Eslint is configured as formatter but it cannot format TypeScript-files.

应该是Eslint报错了。 到OUTPUT面板查看Eslint的输出信息。

SpringMVC-04-结果跳转及数据处理

1、结果跳转 SpringMVC中有两种实现 Handler 的方式:接口实现 和 注解实现, 两种方式对请求结果的处理各有不同。 1.1、接口Handler处理结果 public class ControllerTest implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest request, H…

SciTech-EECS-电路设计- PCB设计-PCB设计流程 + 元器件封装设计 + PCB设计规则 +PCB布局/布线/覆铜等设计

PCB(印刷电路板)设计, 是以"电路原理图"为根据实现电路设计者所需要的功能。 "PCB设计"主要指"版图设计", 需要考虑:"外部Connections(连接)"的布局, "内部Components(电子元器件)的优化布局, "金属连线" 和 "Via…

全网最适合入门的面向对象编程教程:19 类和对象的 Python 实现-使用 PyCharm 自动生成文件注释和函数注释

本文主要介绍了在使用Python的IDE-PyCharm时,如何在新建文件时自动添加文件注释的方法,同时对PyCharm中生成函数注释的方法进行了简单介绍。全网最适合入门的面向对象编程教程:19 类和对象的 Python 实现-使用 PyCharm 自动生成文件注释和函数注释 摘要: 本文主要介绍了在使…

spring email 发送功能

邮件通知是现代应用中常见的一种通信方式,特别是在需要及时反馈、告警或重要事件通知的场景下。Spring Boot提供了简单而强大的邮件发送功能,本文将通过pring Boot中使用JavaMailSender 接口实现邮件发送。使用场景说明注册验证:在用户注册、商户注册时,通过邮件发送验证码…

T240718(辐角函数连续性)

复变函数辐角函数的连续性[T240718] 证明复变函数 \(\arg z ~(-\pi<\arg z\le \pi)\) 在负实轴上 (包括原点) 不连续, 除此之外在 \(z\) 平面上处处连续. 证:当 \(z=0\) 时, \(\arg z\) 无意义, 自然不连续. 在负实轴上任取一点 \(z_0\), 当 \(z\) 从上半平面趋于 \(z_0\) …

缺陷和缺陷报告

一、缺陷的基本概述1、缺陷的定义 软件未实现产品说明书要求的功能软件出现了产品说明书指明不应该出现的功能软件实现了产品说明书未提到的功能软件未实现产品说明书虽未明确提及在应该实现的目标软件难以理解、不易使用、运行缓慢或者(从测试的角度看)最终用户会认为不好 2…

用Python实现批量扫描域名是否存在指定文件

初学Python练手项目,直接上代码,后续技术进步了可以加上指定字典扫描,现在还不会^_^ 加上并发的话扫描速度会更快,现在也不会~1 import requests2 3 with open(domains.txt,r) as file:4 domains =[line.strip() for line in file]5 for domain in domains:6 try:7…

海量数据场景面试题:出现频率最高的 100 个词

用两种解法解面试题:出现频率最高的 100 个词题目描述 假如有一个 1G 大小的文件,文件里每一行是一个词,每个词的大小不超过 16 bytes,要求返回出现频率最高的 100 个词。内存限制是 10M。 解法1 由于内存限制,所以我们没有办法一次性把大文件里面的所有内容一次性读取到内…

Loki的API接口

参考 Loki HTTP 接口 |Grafana Loki 文档 状态接口 这些 HTTP 端点由所有组件公开,并返回组件的状态:GET /ready GET /log_level GET /metrics GET /config GET /services GET /loki/api/v1/status/buildinfo$ curl 127.0.0.1:3100/ready ready$ curl 127.0.0.1:3100/log_lev…