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