一文详细拆解Agent工作原理

一、写在前面

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在更多领域发挥更大的作用,为人类的生活带来更多便利和惊喜。

  • 20
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 汽车电子控制单元(ECU)是现代汽车中必不可少的电子设备之一,它负责管理发动机、变速器、车辆稳定性控制系统等多个重要部件。而ECU中的bootloader则是支持ECU软件更新的重要组成部分,它具有一个特殊的启动程序,用于将新的软件加载到ECU中。 ECU bootloader的工作原理主要是将新的软件程序通过CAN总线或其他通信方式,发送到ECU中进行更新。具体步骤如下:首先,ECU bootloader会检查当前系统中的软件版本是否需要更新。如果需要更新,则它会在系统启动时自动进入bootloader模式,并等待接收新的软件程序。接下来,ECU bootloader将通过通信接口接收新的程序,并将其存储在特定的flash存储器中。然后,ECU bootloader会进行程序校验和压缩等动作,以确保接收到的程序没有任何问题。最后,ECU bootloader将新的程序加载到内存中,并将控制权交给新程序,完成软件更新过程。 在进行ECU bootloader的开发时,需要注意以下几个要点:首先是要选择适当的存储器,并确定软件程序的大小。其次,需要实现通信接口,确定通信协议和数据传输方式。然后,需要设计和实现程序校验和压缩等安全和稳定性相关的功能。最后,还需要进行一系列的测试和验证,以确保软件更新功能的正确性和可靠性。 总之,ECU bootloader是现代汽车中非常重要的一个电子组件,它支持汽车ECU软件更新,保证了车辆的正常运行和安全。在进行ECU bootloader开发时,需要充分考虑软件大小、通信接口、安全性等方面的因素,确保实现出稳定可靠的功能。 ### 回答2: 汽车电子ECU Bootloader是一种可以更新车辆控制器软件的重要工具,本文将介绍汽车电子ECU Bootloader的工作原理和开发要点。 汽车电子ECU Bootloader的工作原理主要是通过分区管理技术将存储器划分为Bootloader和应用程序两个区域,Bootloader负责车辆控制器的引导和固件更新,而应用程序则实现车辆控制器的各项功能。当车辆控制器出现故障或升级需要时,Bootloader通过CAN总线接受来自外部设备的控制命令,对存储器中的数据进行读写操作,完成软件更新等任务。 开发汽车电子ECU Bootloader需要考虑以下几个要点: 1.安全性:保证Bootloader在更新过程中不会遭到外部攻击或出现故障,同时需要遵守汽车规范和安全标准,确保车辆控制器的安全性和稳定性。 2.可靠性:Bootloader需要对存储器中的数据进行正确的读写操作,避免数据丢失或损坏等可能出现的问题,同时需要实现固件校验技术,确保固件的完整性和正确性。 3.灵活性:Bootloader需要支持多种协议和接口,以适应不同车辆控制器的要求,同时需要支持多种固件格式,以避免与其他系统不兼容的问题。 4.可测试性:Bootloader需要为软件开发人员提供方便的测试和调试工具,以便快速迭代和改进,同时需要支持错误日志和故障诊断技术,以帮助分析和决问题。 综上所述,汽车电子ECU Bootloader是进行车辆控制器软件更新和管理的重要工具,其开发需要考虑多个要点,包括安全性、可靠性、灵活性和可测试性等,以确保车辆控制器的安全性、稳定性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

实在智能RPA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值