AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AI Agents:面向开发人员的全方位指南
发布日期:2024-10-22 18:08:29 浏览次数: 1805 来源:Agent智能体


代理(AI Agents)和代理工作流在生成式人工智能生态系统中备受瞩目。然而,如同任何新兴技术一般,代理的术语与定义纷繁多样,常常使开发人员感到困惑。为了明晰代理的本质,本文将为已熟悉大型语言模型和快速工程基础知识的开发人员提供全面的资源,深入剖析代理结构的各个层面,并将其映射至技术实现当中。

关于代理框架的说明:尽管这些框架可作为入门之选,但通常较为抽象,对核心概念有所隐藏。学习人工智能代理的最有效途径是从零开始设计并构建它们。因此,本文将对人工智能代理与传统代理角色(如在联络中心中的角色)进行比较与对照。通过此举,开发人员能够概念化并理解人工智能代理如何紧密模仿人类对应者。


01

人工智能代理的剖析

将人工智能代理视为具有明确角色的员工的数字孪生,是思考其的最佳方式。当个人接受新工作时,会有一份定义清晰的合同,其中确定了诸如工作定义、成功指标、报告层级结构、组织信息访问权限以及该角色是否包含管理他人等基本要素。这些方面确保员工在工作中发挥最大效能,并为组织的整体成功做出贡献。

从技术层面而言,人工智能代理与员工并无二致。与人类代理相同,代理也拥有一组对其有效运作至关重要的关键属性。在幕后,这些属性以技术堆栈的形式得以实现,利用生成式人工智能的新兴构建模块,如系统提示、提示设计技术、矢量数据库、工具等。

大型语言模型(包括多模态模型)是人工智能代理的基础。人工智能代理的每个方面都通过大型语言模型进行控制和路由。它是大脑和驱动力,不仅定义了一个代理的执行路径,还定义了由多个代理组成的整个工作流。人工智能代理的每个属性都与大型语言模型的一个或多个参数直接相关。

上图展示了人工智能代理的核心结构,同时将关键属性映射至人类需要完成的传统工作要素上。让我们深入探究这些属性。


02

人物角色

人工智能代理的角色是确定代理关键特征的最重要方面,相当于传统环境中的头衔或工作职能。例如,擅长处理客户投诉的客户支持工程师就是一项工作职能,也是执行该工作的个人的角色。可轻松将其扩展至人工智能代理。

系统角色转化为代理的角色,且在整个会话期间保持不变。从技术角度看,角色在大型语言模型上下文中映射至系统提示。大多数推理 API 允许使用系统角色、助理角色和用户角色来定义消息收集。系统角色转换为代理的角色,在整个会话期间保持不变,并通过强制执行角色来塑造代理的响应。

例如,以下系统角色定义了代理的角色或工作职能:“你是一家专注于软件产品的科技公司的人工智能客户支持工程师。你的主要职责是协助客户进行故障排除、解决问题并回答与公司产品相关的查询。你必须以冷静、专业和富有同理心的方式回应,始终确保客户感到被倾听和理解。如果客户感到沮丧或不安,你应承认他们的感受并在提供清晰、可行的解决方案的同时给予安慰。你的语气应友好、支持和耐心,确保每次互动都让客户感到被重视和满意。”


03

指令

人工智能代理的指令代表实现预期结果所必需的任务定义。它是一项广泛的指导方针,涵盖了代理预期执行的各种任务,确保了跨不同场景的灵活性。指令并非专注于单一、狭窄的任务,而是提供了一个通用框架来处理代理范围内的多个请求,确保代理可以在不同的用户交互中提供成功的结果。

在现实世界中,这一概念类似于为支持工程师定义工作描述。例如,负责协助客户使用会计软件的支持工程师将处理与该产品相关的任何电话。但若客户就非相关问题(如硬件技术支持)联系他们,工程师应礼貌地将电话转接到正确的部门。工作描述为员工管理各种任务提供了必要的指导,同时也知道何时应该听从他人的意见。

对于人工智能代理,这可以在提示消息集合的用户角色中表示出来。例如,提示指令可能是:“你是一名专门解决会计软件相关问题的人工智能支持代理。如果客户询问与软件的故障排除或指导相关的问题,提供清晰简洁的步骤来解决他们的问题。如果查询超出你的领域,引导用户到适当的部门以获取进一步的帮助。”

该指令通过提供具体的指导来实现期望的结果,同时保持管理不同场景的灵活性,从而扩展了系统角色。


04

任务

任务是指令的延伸,侧重于代理职责范围内的特定可操作项目。虽然指令提供了涵盖多种潜在操作的一般框架,但任务是代理响应特定用户输入必须采取的直接具体操作。任务是细致入微且情境化的,可确保代理准确高效地满足个人需求,从而指导代理执行与整体指令一致的特定步骤。

每项任务都是针对特定客户问题而采取的具体步骤。在现实世界中,这类似于员工根据其工作描述执行特定任务的方式。例如,负责会计软件的支持工程师可能会接到有关生成财务报告错误的电话。该指令指导工程师帮助解决与软件相关的问题,但在这种情况下,任务是排除故障并解决用户遇到的特定错误。每个任务都是针对特定客户问题采取的具体步骤,由更广泛的指令驱动,但根据当前情况量身定制。

在人工智能代理的背景下,任务可以直接响应用户输入,将指令缩小到特定的操作。

例如,在收到支持会计软件问题的一般指令后,特定的任务提示可能是:“用户报告他们的财务报告无法正确生成。帮助他们确定可能的原因,如数据输入错误或软件版本问题,并引导他们完成解决错误的步骤。”

此任务将更广泛的指令缩小为可操作的、针对特定项目的响应,直接满足用户的需求。


05

规划

规划组件是提示策略不可或缺的一部分,是一般指令的扩展。它旨在引导人工智能代理通过特定的推理过程或行为调整来应对更复杂或不断变化的情况。虽然指令和任务为处理各种任务提供了广泛的框架,但提示策略侧重于增强代理根据用户输入进行推理、适应和反思的能力。这些策略是情境化的,可帮助代理进行逐步推理或自我纠正,确保任务得到深思熟虑和有效地执行。从技术上讲,应用一些提示工程技术(如 React、Chain-of-Thought 和 Reflection)来帮助代理推理和规划任务。

在现实世界中,这类似于专业人士使用结构化技术解决问题的方式。例如,客户支持工程师可能会遵循以下流程:首先将客户的问题分解为较小的部分,反思过去的经验以寻求更好的解决方案,并根据客户的反馈调整方法。这些策略(无论是逐步分析、反思结果还是动态调整行动)都可以帮助专业人士更有效地解决特定问题,就像提示策略可以帮助人工智能代理在对话环境中做同样的事情一样。

在人工智能代理的背景下,可以通过引导代理的推理过程将提示策略纳入任务中。例如,“思路链” 提示可能会指示:“列出解决用户问题所涉及的步骤,并解释每个行动背后的原因。”


06

记忆

人工智能代理中的记忆功能与支持工程师访问历史数据以提供更好服务的方式非常相似。在现实世界中,当支持工程师收到客户的询问时,他们可以根据客户 ID 查找过去的交互,并使用工单 ID 访问特定于事件的数据。此历史背景可帮助工程师了解以前的问题、解决方案和客户的偏好,从而使他们能够提供更明智、个性化的支持。同样,人工智能代理依靠记忆来回忆过去的交互和相关信息,以便准确有效地做出响应,尤其是在正在进行或后续对话期间。

矢量数据库等技术通过实时存储和检索相关数据点来促进记忆,使用嵌入来匹配上下文相似的信息。

在人工智能代理生态系统中,记忆分为短期和长期功能。短期记忆允许代理在会话中保留上下文,例如回忆对话早期部分的细节。矢量数据库等技术通过实时存储和检索相关数据点,使用嵌入来匹配上下文相似的信息,从而实现这一点。对于长期记忆,传统数据库存储代理可以在多个会话中引用的历史数据,确保服务的连续性。就像支持工程师会参考客户的过去工单一样,人工智能中的长期记忆有助于保留对以前互动和结果的了解。

例如,在实践中,当人工智能支持代理处理客户查询时,它可能会使用矢量数据库来回忆对话中之前的细节,例如提到的特定产品问题。同时,代理可以访问长期记忆,使用传统数据库根据客户的 ID 检索历史记录,显示过去的购买或技术问题。具体实施可能如下所示:“客户之前在两个月前在 Ticket #12345 下报告过类似的产品问题。这是该解决方案的摘要,我现在可以在此基础上解决当前问题。” 这种短期和长期记忆的结合使代理能够提供更无缝、个性化的支持。


07

工具

就像支持工程师利用他们的技能与 CRM、ERP 或任何内部业务线应用程序等各种系统交互以完成任务一样,人工智能代理依靠工具来增强其功能并更有效地解决问题。支持工程师可以访问 CRM 系统来检索客户详细信息,或使用 ERP 系统来检查产品可用性或管理订单。这些工具对于完成他们的任务至关重要,为工程师提供满足客户要求所需的资源。同样,人工智能代理需要能够访问特定的工具或功能来处理超出简单基于文本的交互的复杂任务。

正如支持工程师必须熟练操作各种系统一样,人工智能代理可以通过声明式的访问工具来定义。

在人工智能环境中,这是通过函数调用和工具调用实现的,其中代理可以调用外部系统或 API 来执行特定任务。正如支持工程师必须熟练掌握各种系统一样,人工智能代理可以通过声明方式定义对工具的访问权限 —— 使其能够执行诸如从外部源检索数据、执行命令或与第三方服务交互等任务。这些工具是在代理定义时提供的,确保代理能够超越预定义的响应。工具调用至关重要,因为它允许代理扩展其功能,使其能够动态地与外部系统交互以生成更准确、更符合上下文的响应。

例如,在人工智能支持代理负责更新客户送货信息的实施中,代理可能会使用工具调用与公司的 ERP 系统进行交互。提示可能如下所示:“访问 ERP 系统,将订单 {订单 ID} 的送货详细信息更新为客户提供的新地址。”

此操作将使用代理定义中声明性提供的工具触发,使代理能够与内部和外部的外部系统无缝交互。工具调用使人工智能代理能够从被动响应者转变为主动参与者,使他们的响应具有可操作性并与现实世界系统紧密集成。同样重要的是要了解,将人类纳入循环也是经常提供给人工智能代理的工具。此过程可确保代理正在升级或让人类参与以继续工作流程。


08

代表团

在现实场景中,高级支持工程师可能会监督一个初级工程师团队,根据手头问题的复杂性或专业性委派任务。如果工作量太大,高级工程师可以将任务分配给更适合处理特定问题的其他团队成员。这种委派使团队能够更有效地运作,确保任务由合适的人完成,并且高级工程师可以专注于高级职责。同样,人工智能代理也可以从将任务委派给具有专业知识或能力的其他代理的能力中受益,从而使工作流程更加高效和专注。

正如高级工程师可以管理团队一样,人工智能代理可以定义具有将特定任务委派给其他代理的能力。

在人工智能中,通过注册多个代理来实现委派,允许一个代理根据需求将任务传递给另一个代理。就像高级工程师可以管理团队一样,人工智能代理可以定义将特定任务委派给其他代理的能力。这通常在代理定义期间提供,系统会识别哪些代理具有执行某些任务的技能。委派是人工智能代理的一个强大属性,使它们能够与其他代理协作解决复杂、多方面的问题。这确保最有能力的代理负责每项任务,从而提高系统的整体性能和准确性。

例如,在客户支持环境中,处理有关软件错误的技术查询的人工智能代理可能会认识到专门的人工智能代理更有能力解决该问题。提示可能如下所示:“此问题涉及对代码库的深入技术分析。将任务委托给‘技术调试代理’,并为客户请求一份详细报告。”

通过将任务委托给具有适当技能的另一个代理,初始人工智能代理可确保客户收到高质量、准确的响应。此委托能力是在代理设置期间定义的,允许以更灵活、更高效的方式处理复杂的工作流程。

本文深入探讨了人工智能代理的结构,将其关键属性与传统工作角色进行了比较。从角色和指令到任务和委派,人工智能代理的结构与客户支持环境中的人类工作流程极为相似。本文还介绍了一些重要方面,例如记忆、工具和委派,强调了人工智能代理推理、计划和与其他代理协作能力的重要性。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询