一文详细拆解Agent工作原理

news2025/1/25 4:45:13

一、写在前面

Agent,中文译为“代理”或“智能体”,是一种能够在特定环境中自主行动、感知环境、做出决策并与其他Agent或人类进行交互的计算机程序或实体。它们具备自主性、反应性、社交性和适应性等特点,能够根据环境的变化调整自己的行为,以达到预设的目标。

本文通过详细拆解Agent从提示词接收、LLM大模型理解识别、知识库匹配、任务规划到行动执行等五个关键步骤,从而深入剖析Agent的工作原理,另外也将目前市面上Agent产品的能力项汇总,希望给大家带来一些启示。

二、典型Agent智能体的工作过程

典型Agent智能体的工作过程示例

(一)关键步骤一:

Prompt提示词【圈定角色范围、阐述任务背景、习惯特色】

提示词是Agent接收到的初始输入,它描述了Agent需要完成的任务或解决的问题。提示词可以是文本、图像、语音等多种形式。Agent需要对提示词进行解析和理解,以便为后续的任务规划和行动执行提供指导。

智能体的提示词要统一:对话涉及到发展平台的生态供应方,包括行业规范、背景知识和智能体的提示词。提示词包括上下文和指令,需要注意清晰表达需求、统一称谓代词和避免行业黑话。

(1) 通用指令构成

① Context 上下文:说明想让大模型执行任务的背景

② Instruction 指令:说明你想让模型执行什么任务

③ Input Data 输入数据:说明用户要输入什么内容

④ Outpt Indicator 输出提示:规定输出结果内容(说清想要+不想要)

(2) Tips

① 要减少模糊表达,明确提出你的需求。

② 指令中的称谓代词要统一,不要反复切换,可能会造成 AI 大模型理解混乱。

③ 指令中尽可能不要体现行业黑话,可能会造成 AI 大模型理解障碍。

总结:提示词写得好不好直接影响处理结果

最简单的指令公式: 你想让智能体扮演的角色+希望TA根据用户什么样输入信息来生成什么样的结果+对助手所生成的内容的详细要求。

示例

你是一名资深导游。我的目的地以及预计游玩时间是xxxx,你需要根据我提供目的地和预计游玩时间,给我提参观建议,为我制定旅行计划。你所制定的旅行计划必须具有可行性,不能行程太过紧凑,要考虑通行时间。
(可将用户输入内容,带入通配符位置,形成完整的一段命令,发送给模型请求结果)

释义备注-Token:在计算机科学中,Token通常指的是一段文本的最小独立部分。在大模型中,Token可以是一个单词,一个字符,或者一个子词。(1Token ≈ 4个字符/字母 ≈ 1.8个中文字 ≈ 0.75个单词)

(二)关键步骤二:

LLM大模型【理解、提取、识别、选择】

LLM大模型(Large Language Model)是Agent进行任务规划和知识推理的重要工具。它通过对大量文本数据的学习,具备了强大的语言处理能力和知识推理能力。Agent可以利用LLM大模型对提示词进行深入分析,生成可能的解决方案,并进行选择和优化。

(三)关键步骤三:

Memory知识库【调用、匹配、当前输入内容、上下文内容、向量数据库】

分类简述
感觉记忆当前用户输入内容,包括文本、图像或其他形式,短暂保留感觉印象
短期记忆上下文内容(包括写在Prompt中的信息),处理复杂任务的临时存储空间,受有限的上下文本长度限制
长期记忆(字)外部向量存储的知识库,Anget使用时可快速检索,具备存储量大。文本字段内容形式存在
长期记忆(文)外部向量存储的知识库文件,Anget使用时可快速检索,具备存储量大。如docx、xlxs、csv、pdf、ppt、jpg、txt等
长期记忆(网)填写网页URL,自动检索网页信息,并将网页信息作为知识库

释义备注-

向量数据库:向量数据库通过将数据转化为向量存储,解决大模型海量知识的存储、检索、匹配问题。向量数据库利用人工智能中的Embedding方法,将图像、音视频等非结构化数据抽象、转换为多维向量,由此可以结构化地在向量数据库中进行管理,从而实现快速、高效的数据存储和检索过程。

Embedding:技术是一种将图像、音视频等非结构化数据转化为计算机能够识别的语言的方法。

MIPS:最大内积搜索,文本数据转化为向量后,就可以通过数学方法来计算两个向量之间的相似度,即可实现对文本的比较。向量数据库强大的检索功能就是基于向量相似度计算而达成的,是一种模糊匹配的检索,没有标准的准确答案,进而更高效地支撑更广泛的应用场景。

(四)关键步骤四:

Planning任务规划【分析方式、分析思考、推理痕迹】

任务规划是Agent根据提示词、LLM大模型以及知识库进行决策和规划的过程。它涉及对任务的分解、目标的设定、路径的规划等多个方面。Agent需要综合考虑各种因素,制定出最合适的任务执行方案。

方式技术简述
Prompt提示词任务的分解的环节可以由三种方式完成:
1)在大模型输入简单的提示,比如“XYZ的步骤”,或者“实现XYZ的子目标是什么?”;2)使用特定任务的指令,比如在需要写小说的时候要求大模型“写一个故事大纲”;3)通过人工提供信息,网站地图/RPA流程最佳实践
CoT思维链已成为一种标准的提示技术,用于提高模型在复杂任务中的表现。模型被要求“一步一步地思考”,将艰巨的任务分解为更小更简单的步骤。思维链将大任务转化为多个可管理的任务,并帮助人们理解模型的思维过程。
ToT思维树通过在任务的每一步探索多种推理可能性来扩展思维链。它首先将问题分解为多个思考步骤,并在每个步骤中生成多个想法,从而创建一个树状结构。搜索过程可以是BFS(广度优先搜索)或DFS(深度优先搜索)。

React:将任务中单独的行为和语言空间组合在一起,从而使大模型的推理和行动融为一体。该模式帮助大模型与环境互动(例如使用维基百科搜索API),并以自然语言留下推理的痕迹。

关键步骤五:

Action工具使用【执行、返回、执行】

行动执行是Agent根据任务规划结果执行具体操作的过程。它可能涉及与环境的交互、数据的收集和处理、决策的调整等多个环节。Agent需要准确地执行每一步操作,以确保任务能够顺利完成。

方式技术简述
内置工具大模型内置工具,可直接使用,包括有:日历、计算器、代码解释器、搜索等
Plug插件用于扩展Agent功能的插件,可以通过Agent插件来实现一些特定的功能或者对Agent进行定制化的配置。Agent插件通常包括以下几个部分:
1. 插件配置文件:用于配置插件的参数和属性,通常是一个XML或者JSON格式的文件。
2. 插件类库:包含插件的代码和依赖库,通常是一个JAR或者DLL文件。
3. 插件接口:定义了插件与Agent之间的交互接口,包括插件的初始化、启动、停止等操作。
API接口应用程序编程接口(Application Programming Interface,API接口),是应用程序重要的组成部分,就是应用程序对外提供了一个操作数据的入口,这个入口可以是一个函数或类方法,也可以是一个url地址或者一个网络地址。
RPA桌面自动化是一种机器人流程自动化技术,它允许通过配置自动化软件模拟和人类在软件系统中交互的动作来执行业务流程,RPA软件机器人在应用程序界面上识别数据并像人类一样操纵应用程序。

JSON:OpenAI也在2023年6月为GPT-4和GPT-3.5更新了函数调用的功能,开发者现在可以向这两个大模型描述函数,并让模型智能地选择输出包含调用这些函数的参数的JSON对象。这是一种更可靠地将GPT的功能与外部工具和API相连的新方法,允许开发者更可靠地从模型中获得结构化的数据,为AI开发者提供了方便。

二、当前市面上Agent主要呈现

目前智能体的呈现主要有以下几个形式:

Copilot场景助理→ChatGPTs对话式→Flow工作流→Agent自主智能体→Agents多智能体协同

智能体的呈现主要形式

四、总结与展望

本文详细拆解了当下Agent的工作的关键步骤,汇集了当下Agent产品在市面上的呈现形式。然而,随着技术的不断发展,Agent的工作原理也将不断演进和完善。未来,我们可以期待Agent在更多领域发挥更大的作用,为人类的生活带来更多便利和惊喜。

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

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

相关文章

vue3项目中动态加载字体,并解决字体图标显示异常问题

先上效果图 setIconfont.ts文件代码 // 字体图标 url // 为什么引入俩个版本的font-awesome图标,因为最新版本的图标需要匹配字体库,单独引入样式文件部分图标会不显示 // 测试发现在引入4.7.0中的样式后所有的图标都可以显示,暂且认为4.7…

蓝桥杯备战刷题one(自用)

1.被污染的支票 #include <iostream> #include <vector> #include <map> #include <algorithm> using namespace std; int main() {int n;cin>>n;vector<int>L;map<int,int>mp;bool ok0;int num;for(int i1;i<n;i){cin>>nu…

Rust-windows安装环境

文章目录 前言一、Using rustup (Recommended)二、配置vscode解决办法&#xff1a;在终端依次运行如下两条指令&#xff1a; 总结 前言 Rust学习系列&#xff0c;之前介绍了macOS环境下的rust安装方式macOS rust安装。这篇学习windows的rust安装方式。 提示&#xff1a;以下是…

汇总版!美团搜索推荐算法面试题10道(含答案)

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂同学、参加社招和校招面试的同学&#xff0c;针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 今天我整…

跟着cherno手搓游戏引擎【25】封装2DRenderer,封装shader传参,自定义Texture

封装2DRenderer&#xff1a; Renderer.h: #include"ytpch.h" #include"Renderer.h" #include <Platform/OpenGL/OpenGLShader.h> #include"Renderer2D.h" namespace YOTO {Renderer::SceneData* Renderer::m_SceneData new Renderer::S…

JavaWeb——005 -- 请求响应 分层解耦(Postman、三层架构、IOC、DI、注解)

目录 一、请求 1、Postman&#xff08;接口测试工具&#xff09; 1.1、介绍 ②、安装 2、简单参数 1.1、原始方式 1.2、SpringBoot方法 ③、小结 3、实体参数 3.1、简单实体对象 3.2、复杂实体对象 3.3、小结 4、数组集合参数 ①、数组​编辑 ②、集合 ③、小结…

15-55V输入自动升降压 光伏MPPT自动跟踪充电方案 大功率300瓦

1.MPPT原理--简介 MPPT&#xff0c;全称为Maximum Power Point Tracking&#xff0c;即最大功点跟踪&#xff0c;它是一种通过调节电气模块的工作状态&#xff0c;使光伏板能够输出更多电能的电气系统能够将太阳能电池板发出的直流电有效地贮存在蓄电池中&#xff0c;可有效地…

python + selenium/appnium

Selenium 的自动化原理: selenium 自动化流程: 自动化程序调用Selenium 客户端库函数&#xff08;比如点击按钮元素&#xff09;客户端库会发送Selenium 命令 给浏览器的驱动程序浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令浏览器执行命令浏览器驱动程序获取命令执行的…

Linux 不同架构、不同系统的问题

文章目录 一、麒麟V10&#xff08;kylin&#xff09;操作系统中&#xff0c;sudo执行程序后&#xff0c;其环境变量依然为用户家目录。&#xff08;1&#xff09;背景&#xff08;2&#xff09;原因&#xff08;3&#xff09;解决办法 二、统信&#xff08;UOS&#xff09;操作…

标准库中的String类 String(C++)【1】

学习String的时候我是对照https://legacy.cplusplus.com/这个网站进行理解 标准库中的String类 string类的基础String的特点String常用的接口&#xff08;黑框标记的是常用接口&#xff09;构造函数string类对象的访问及遍历操作第一种 下标[ ]第二种 迭代器第三种 范围for st…

OpenAI的Sora深度解析

计算机视觉算法分享。问题或建议&#xff0c;请文章私信或者文章末尾扫码加微信留言。sora 具体介绍和使用方法&#xff1a;OpenAI Sora 下一代生产力&#xff1a;最新小白必看教程 | 解剖Sora的前世今生 | Sora核心源码目前 openai 官方还未开放 sora 灰度&#xff0c;不过根据…

客户端订阅服务端事件的机制

一、场景描述 产业大脑平台是一个典型的审核系统&#xff0c;用户发布到平台的信息需要经过审核员审核后生效。 用户发布信息->审核员审核信息->用户信息生效&#xff0c;这一流程可能发生在用户的同一次登录周期内。为了使客户端能实时响应信息的状态变化&#xff0c;…

QML小案例 使用QML简单实现翻牌版扫雷游戏(二)

使用QML实现扫雷功能案例&#xff0c;使用QML界面实现翻牌特效&#xff0c;以及随机的&#xff0c;从左到右&#xff0c;从中心向两边加载界面的特效实现&#xff0c;简单的示例NumberAnimation&#xff0c;PropertyAnimation&#xff0c;SequentialAnimation实现动画的效果,QM…

Python接口自动化之Token详解及应用

以下介绍Token原理及在自动化中的应用。 一、Token基本概念及原理 1.Token作用 为了验证用户登录情况以及减轻服务器的压力&#xff0c;减少频繁的查询数据库&#xff0c;使服务器更加健壮。 2.什么是Token Token是服务端生成的一串字符串&#xff0c;以作客户端进行请求的一…

49.仿简道云公式函数实战-文本函数-Ip

1. Ip函数 获取当前用户的ip地址 注意是Ipv4的地址 2. 函数用法 IP() 3. 函数示例 获取当前用户的ip地址IP() 4. 代码实战 首先我们在function包下创建text包&#xff0c;在text包下创建IpFunction类&#xff0c;代码如下&#xff1a; package com.ql.util.express.sel…

python 基础知识点(蓝桥杯python科目个人复习计划51)

今日复习计划&#xff1a;做复习题 例题1&#xff1a;大石头的搬运工 问题描述&#xff1a; 在一款名为“大石头的搬运工”的游戏中&#xff0c;玩家需要 操作一排n堆石头&#xff0c;进行n - 1轮游戏。 每一轮&#xff0c;玩家可以选择一堆石头&#xff0c;并将其移动到任…

Doris——荔枝微课统一实时数仓建设实践

目录 一、业务介绍 二、早期架构及痛点 2.1 早期架构 2.2 架构痛点 三、技术选型 四、新的架构及方案 五、搭建经验 5.1 数据建模 5.2 数据开发 5.3 库表设计 5.4 数据管理 5.4.1 监控告警 5.4.2 数据备份与恢复 六、收益总结 七、未来规划 原文大佬这篇Doris腾…

科技创新引领零售商品部降本增效的未来

随着科技的不断发展和应用&#xff0c;零售行业也迎来了前所未有的变革。在这个竞争激烈的市场中&#xff0c;零售商品部如何利用科技手段降低成本、提高效率成为了企业关注的焦点。让我们一起探讨一下科技创新如何引领零售商品部降本增效的未来。 首先&#xff0c;利用大数据…

算法--动态规划(线性DP、区间DP)

这里写目录标题 tip数组下标从0开始还是从1开始 数学三角形介绍算法思想例题代码 最长上升子序列介绍算法思想例题代码 最长公共子序列介绍算法思想例题代码 tip 数组下标从0开始还是从1开始 如果代码中涉及到数组下标为i-1&#xff08;有时候哪怕不是同一个数组也符合情况&am…

sql-labs第46关 order by盲注

sql-labs第46关 order by盲注 来到了第46关进入关卡发现让我们输入的参数为sort&#xff0c;我们输入?sort1尝试&#xff1a; 输入?sort2,3,发现表格按照顺序进行排列输出&#xff0c;明显是使用了order by相关的函数。 我们将参数变成1进行尝试&#xff0c;就会报错&…