你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:Azure 逻辑应用(消耗型 + 标准型)
重要
消费代理工作流功能为预览版,受 Microsoft Azure 预览补充使用条款的约束。
Azure 逻辑应用支持使用具有大型语言模型(LLM)的代理循环来完成任务的工作流。 代理循环使用迭代过程来解决复杂的多步骤问题。 LLM 是一个经过训练的程序,可识别模式并执行无需人工交互的作业,例如:
- 分析、解释以及推理信息,例如说明、提示、输入和其他数据。
- 根据结果和可用数据做出决策。
- 根据代理的说明制定答案,并将其返回给提问者。
可以生成使用自治或聊天代理循环的工作流。 代理循环使用自然语言与你和连接的模型进行通信。 代理还使用模型生成的输出来执行与人机交互或不使用人工交互的工作。 该模型可帮助代理循环提供以下功能:
- 接受有关代理角色、操作方法以及如何响应的信息。
- 接收和响应说明和请求,或 提示。
- 根据可用信息处理输入、分析数据并做出选择。
- 选择用于完成完成请求所需的任务的工具。 工具基本上是一个由一个或多个行动组成的序列,这些行动共同完成一个任务。
- 适应需要灵活性且变化多端、动态、不可预知或不稳定的环境。
有了用于构建智能体循环工具的 1,400 多个连接器,智能体工作流支持从智能体循环和模型功能中获益良多的各种方案。 根据你的方案,创建一个没有人工交互的自治代理工作流,或者创建具有人工交互的对话代理工作流,以最符合解决方案的需求。
本概述涵盖以下方面:
- 代理与非代理工作流
- 代理循环密钥概念
- 自主代理工作流与对话代理工作流
- 代理结构
- 示例方案
- 身份验证和授权
- 基本计费信息
代理与非代理工作流
使用代理循环的工作流可以超越对非代理工作流施加的限制。 代理工作流可以适应发生意外事件的环境,根据提示、输入和可用数据选择要使用的工具,不断提高其性能,处理非结构化数据,支持复杂方案,并提供更高级别的适应性和灵活性。 非代理工作流在稳定环境中表现最佳,遵循预定义的规则,并执行静态、可预测和重复的任务。
下表提供了代理工作流和非代理工作流之间的更多比较:
| 方面 | 代理人 | 非代理 |
|---|---|---|
| 逻辑 | 根据输入和其他可用信息,对要执行的任务做出明智的选择,并采取措施。 | 遵循预定义的规则和固定序列。 |
| 任务管理 | 将任务视为单独的实体 | 不適用 |
| 数据结构 | 处理非结构化数据。 | 使用可预测的模式处理结构化数据。 |
| 适应性 | 检测和响应不断变化的条件和环境,做出决策,并适应新的实时输入。 | 可能会难以适应遇到意外或动态更改的环境。 |
重要概念
下表提供了关键概念的基本简介:
| 概念 | DESCRIPTION |
|---|---|
| 代理循环 | 使用结构化迭代过程来解决复杂多步骤问题的预生成作。 代理循环通过迭代地执行以下步骤来实现此目标: 1. 思考:从特定数据源收集、处理和分析可用信息和输入,例如文本、图像、音频、传感器数据等。 应用原因、逻辑或学习模型来了解请求、创建计划或解决方案,并选择最佳作来回答或满足来自生成 AI 模型的帮助的请求。 2. 行动:根据做出的选择和可用的工具,完成数字或真实世界中的任务。 3. 学习 (可选):通过使用反馈或其他信息来适应其自己的行为。 代理可以通过调用您在 Azure Logic Apps 中通过预生成动作创建的工具来接受指令,处理服务、系统、应用和数据,并响应结果。 代理可以使用部署的模型(例如,在 Azure OpenAI 服务中)处理信息、做出选择和完成任务。 注意:代理工作流可以序列中包含多个代理。 不能将代理内联添加为另一个代理中的工具。 有关详细信息,请参阅 什么是 AI 代理? |
| 大型语言模型 (LLM) | 一个经过训练的程序,用于识别模式并执行工作,而无需人工干预。 有关详细信息,请参阅 什么是大型语言模型? |
| 工具 | 工具包含一个或多个为代理执行任务的动作。 例如,工具可以发送电子邮件、处理数据源、执行计算或转换、与 API 交互等。 例如,请参阅 “创建工具”以获取天气。 |
| 代理参数 | 基于代理参数的用例,在工具或一个操作参数中创建的一个参数。 创建代理参数,以便代理能将仅限模型的输出传递为工具中某一操作的参数输入。 不需要来自非模型源的值的代理参数。 代理参数在以下方面不同于传统参数: - 代理参数仅适用于在其中定义它们的工具。 此限制意味着不能与其他工具共享代理参数。 相比之下,可以在全局范围内与工作流中的操作和控制流结构共享传统参数。 - 当工作流开始运行时,代理参数不使用解析的值。 仅当代理使用特定参数调用工具时,代理参数才会接收值。 这些参数将成为调用该工具的代理参数。 - 即使该工具存在于同一循环迭代中,代理也可以使用不同的代理参数值多次调用同一工具。 例如,工具可以检查西雅图和伦敦的天气。 有关详细信息,请参阅 为“获取预测”动作创建代理参数。 |
| 上下文 | 代理通过将最大数量的令牌或消息保留为上下文,并将该上下文传递给模型,以便进行下一次交互,从而维护日志历史记录。 每个模型都有不同的 上下文长度 限制。 |
自主代理工作流与对话代理工作流
为了帮助你更好地了解这些代理工作流类型的不同之处,以下各节介绍并显示每个代理工作流类型的示例。 这两种工作流类型都使用代理循环和工具获取当前天气,并在电子邮件中发送该信息。 所有代理都有一个信息窗格,可在其中使用所需的模型设置代理,并提供有关代理的角色、其功能以及响应方式的说明。
自动化代理工作流
以下高级步骤描述了基本自治代理工作流的行为:
工作流从任何受支持的触发器开始。
在触发器和代理之间,可以选择性地运行零个或多个动作。
智能体接受系统指令和非人工提示或输入,例如触发器或前一个操作的输出。
根据你所拥有的代理工作流是消耗型还是标准型,代理将从以下资源中选择使用 Azure OpenAI 模型或 LLM API 来解释和理解说明及请求。 代理还使用模型来处理和分析提供的输入。
逻辑应用程序 模型源 消耗 Microsoft Foundry 标准 - Azure OpenAI 服务资源
- Azure AI Foundry 项目 (预览版)
- 带有 LLM API 的 Azure API 管理帐户(预览版)根据代理说明,模型有助于规划代理需要调用哪些工具来执行必要的任务。
代理返回工具结果,并响应工作流调用方或指定的收件人。
以下屏幕截图显示了一个基本的自治代理工作流示例:
对话代理工作流
以下高级步骤描述了基本聊天代理工作流的行为:
工作流始终以名为 “聊天会话启动时”的触发器开始。
在触发器和代理之间,可以选择性地运行零个或多个动作。
代理通过集成聊天界面接受系统指令和人工提供的提示或输入,例如 ,西雅图的天气是什么?
根据您是否使用消费型或标准型代理工作流,代理将使用以下来源中的 Azure OpenAI 模型或 LLM API 来解读和理解指令及请求。 代理还使用模型来处理和分析提供的输入。
逻辑应用程序 模型源 消耗 Microsoft Foundry 标准 - Azure OpenAI 服务资源
- 使用 LLM API 的 Azure API 管理帐户(预览版)根据代理说明,该模型有助于规划代理为必要任务调用哪些工具。
代理返回工具结果,并通过聊天界面响应人工提示者。
以下屏幕截图显示了基本的聊天代理工作流:
以下屏幕截图显示了可从 Azure 门户中的设计器工具栏或工作流边栏菜单访问的集成聊天界面:
对话代理工作流还支持 Azure 门户之外可供其他人使用的外部聊天客户端。 要为此外部聊天客户端提供并确保访问的安全性,您需要设置生产认证和授权。
探索代理工作流结构
若要生成新的代理工作流,请在多租户 Azure 逻辑应用中创建消耗逻辑应用,或者在单租户 Azure 逻辑应用中创建标准逻辑应用,并选择以下工作流类型之一:
- 自治代理
- 对话代理
这些工作流类型包括消耗或标准有状态工作流中的所有功能,旨在专门处理代理功能。 这些工作流类型自动包括空代理。
例如,以下屏幕截图显示了新的自治代理工作流:
以下屏幕截图显示了新的对话代理工作流:
在标准逻辑应用中,如果现在有监控状态的工作流,以下屏幕截图显示了如何添加智能体操作以包括自主智能体和 LLM 功能:
虽然消耗智能体工作流是使用待用模型自动设置的,但标准智能体工作流要求你设置与模型的连接,以供智能体使用:
注释
连接窗格根据工作流类型和所选模型源显示不同的连接要求。
代理要求你提供说明,说明代理可以扮演的角色、代理可以执行的任务,以及其他特定的规范性信息,以帮助代理响应提示、回答问题并执行请求的任务,例如:
连接到模型的空代理可以响应仅使用模型功能的提示,因此代理不必包含工具。 但是,为了使代理使用 Azure 逻辑应用中可用的操作,代理需要你创建工具。 您可以首先从连接器图库中添加一个操作,以开始创建工具。
下方示意图显示了画廊,你可以在其中浏览并选择动作以构建工具。
下图显示了一个天气代理,可以获取天气预报并在电子邮件中发送该预测:
更多示例方案
以下部分介绍代理可以在工作流中完成任务的几种方法:
抵押贷款代理
假设你的银行使用抵押贷款代理,该代理通过单个协调循环执行以下任务来自主处理贷款,或者在必要时进行人工干预:
- 与客户交谈以回答问题。
- 查看贷款申请。
- 收集财务信息以评估贷款资格。
- 检索和分析风险数据。
- 提交时请求和汇总房地产评估。
- 包括边缘事例的人工审阅者。
- 批准或拒绝应用程序。
- 将决策传达给相关方。
订单履行代理
假设你的企业使用订单履行代理来执行以下任务:
- 与客户互动,根据企业知识回答产品问题。
- 创建订单,但在必要时将其传递给人类。
- 通过智能化升级提供全天候支持。
还可以有一个代理来协调其他代理的工作。 例如,你可能有一个代理团队,例如编写者、审阅者和发布者,协同工作来创建和分发销售报表。
设施工作订单代理
若要支持内部设施团队,工单专员将执行以下任务:
- 与员工交谈并提供服务请求的选项。
- 根据员工选择打开工作订单。
- 将工作订单发送到相应的服务团队。
- 根据作业进度和状态更新工作订单。
- 作业完成后关闭工作订单。
- 请通知相关方已完成的作业。
身份验证和授权
非代理工作流通常与一组小型、已知和可预测的调用方进行交互。 但是,会话代理工作流与更广泛的调用方(例如人员、代理、模型上下文协议 (MCP) 服务器、工具代理和外部服务进行通信。 这种更广泛的覆盖范围会增加集成选项,但引入了不同的安全挑战,因为调用方可能源自动态、未知或不受信任的网络。 当呼叫者来自你无法控制的网络,或者当标识是外部或未绑定的标识时,你必须对每个调用方进行身份验证和授权,以便你可以保护聊天代理工作流,因为它们提供外部聊天客户端来与人员交互。
对于非生产活动,Azure 门户使用 开发人员密钥 进行身份验证和授权。 但是,当聊天代理工作流准备好用于生产时,请为逻辑应用类型设置相应的 生产身份验证和授权 。
开发人员密钥身份验证和授权
对于非生产活动(例如设计、开发和快速验证),Azure 门户提供、管理和使用 开发人员密钥 代表你运行工作流。
什么是开发人员密钥?
开发人员密钥是一种便捷的身份验证机制,仅由 Azure 门户用于在设计、开发和快速测试阶段运行工作流。 在这些阶段,开发人员密钥允许你省去手动设置 Easy Auth 或使用共享访问签名(SAS)复制触发器回调 URL 的步骤。 该密钥仅基于 Azure 资源管理器持有者令牌链接到特定用户和租户,该令牌是对对 Azure 资源管理器 REST API 的请求进行身份验证的访问令牌。
在工作流设计器中使用内置测试体验(例如运行工作流、调用 请求 触发器或与内部聊天界面中的聊天代理工作流交互)时,门户会自动注入开发人员密钥。 密钥隐式绑定到租户会话和已登录门户用户,因此由于此绑定(仅基于 ARM 持有者令牌)而无法在外部分发密钥。
开发人员密钥限制
以下列表描述了开发人员密钥的使用和设计限制:
- 密钥不能替代生产场景中的 Easy Auth、托管标识、联合凭据或已签名的回叫 URL。
- 密钥不是为大型或不受信任的调用方群体、代理工具或自动化客户端设计的。
- 密钥不是一种逐用户授权机制,因为缺乏细化的范围和角色。
- 密钥不受请求执行层的条件访问策略(仅在门户登录层)的约束。
- 密钥不适用于编程用法或 CI/CD 用法。
有关开发人员密钥与简易身份验证之间的比较,请参阅 Easy Auth 与开发人员密钥。
开发人员密钥用例
下表描述了使用开发人员密钥的合适和不适当的方案:
| 适当的场景 | 不适当的情境 |
|---|---|
| 在正式化身份验证之前,先在设计器中进行快速测试。 | 工作流需要具有确定性特征的自动化,这种自动化改为使用服务主体和 Easy Auth 或已签名的 SAS。 |
| 检查工作流结构、绑定或基本触发器和动行为。 | - 工作流调用方包括外部代理、MCP 服务器或对话客户端。 - 你计划在租户外部发布工作流终结点。 |
| 临时沙盒或峰值原型,这些原型稍后会采用 Easy Auth 或 SAS URL 强化。 | 工作流需要可审核的用户身份、令牌吊销、条件访问策略或最小权限原则。 |
生产身份验证和授权
当对话代理工作流准备好用于生产时,以下部分介绍非生产以及生产选项,用于对调用方进行身份验证并授权其访问代理工作流。
| 逻辑应用程序 | 身份验证和授权 |
|---|---|
| 消耗 | 具有 Microsoft Entra ID 的 OAuth 2.0 |
| 标准 | 在您的逻辑应用资源上,Easy Auth(也称为应用服务身份验证)可以启用位于 Azure 门户之外的外部聊天客户端。在您设置 Easy Auth 后,其他人即可使用该客户端。请参阅 逻辑应用的简易身份验证。 |
有关生产身份验证和授权的详细信息,请参阅逻辑应用类型的选项卡。
为你的逻辑应用使用 Microsoft Entra ID 的 OAuth 2.0
在生产环境中使用“消费型”会话代理工作流时,请在逻辑应用资源上设置代理授权策略,通过 OAuth 2.0 和 Microsoft Entra ID 来保护聊天客户端的访问权限。 请参阅 迁移到生产身份验证。
账单管理
消耗:计费使用即用即付模型。 智能体循环定价基于每个智能体操作使用的令牌数计算,并在你的帐单上显示为企业单位。 有关特定定价信息,请参阅 Azure 逻辑应用定价。
标准:尽管代理工作流不会产生额外费用,但 AI 模型使用会产生费用。 有关详细信息,请参阅 Azure 定价计算器。