你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 代理服务的透明度说明

Important

仅为方便起见,提供非英语翻译。 请参阅 EN-US 版本以获取最终版本的此文档。

什么是透明度说明?

AI 系统不仅包括技术,还包括使用它的人员、受其影响的人员以及部署它的环境。 创建一个适合其预期用途的系统需要了解技术的工作原理、功能和局限性,以及如何实现最佳性能。 Microsoft 的透明度说明旨在帮助你了解 AI 技术的工作原理、系统所有者可通过哪些选择来影响系统性能和行为,以及保持系统全局观(包括技术、人员和环境)的重要性。 开发或部署自己的系统时,可以使用透明度说明,或者与将使用或受系统影响的人员共享它们。

Microsoft 的透明度说明是 Microsoft 将其 AI 原则付诸实践的广泛努力的一部分。 若要了解详细信息,请参阅 Microsoft AI 原则

Azure AI 代理服务的基础知识

Introduction

Azure AI 代理服务是一项完全托管的服务,旨在使开发人员能够安全地生成、部署和缩放高质量且可扩展的 AI 代理,而无需管理基础计算和存储资源。 Azure AI 代理服务提供对 模型、工具和技术的 集成访问,以便您可以利用来自连接源(如必应搜索、SharePoint、Fabric、Azure Blob 存储和许可数据)的知识扩展代理功能,以及使用 Azure 逻辑应用、Azure Functions、OpenAPI 3.0 指定工具和代码解释器等工具进行操作。 了解详细信息

有关代理的一般免责声明

代理 AI 系统旨在使用代理功能来实现用户指定的高级目标。 系统应设计为允许用户适当地纳入人工监督,以确保系统按预期执行作和任务。 如果代理表现出意外或不良行为,用户应能够进行干预并采取适当的措施来缓解潜在风险。

有关敏感域中代理的免责声明

在设计和部署代理 AI 系统于行为不可逆或后果严重的敏感领域时,用户应格外谨慎。 此类领域包括但不限于金融和保险、医疗保健、法律和住房。 创建自治代理 AI 时,还应采取其他预防措施,如我们的 行为准则中所述。 你负责遵守与使用任何 AI 服务和解决方案创建的代理相关的所有适用法律和安全标准,包括代理目录、基础代码示例以及类似的资源和信息(请参阅以下 选择用例时的注意事项)。

关键术语

以下是 Azure AI 代理服务 SDK 的关键组件(以及它提供支持的 Azure AI Foundry 门户 体验):

Term Definition
开发人员 生成代理的 Azure AI 代理服务客户。
User 使用和/或操作开发人员创建的代理的人员。
Agent 一个应用程序或一个系统,它使用生成 AI 模型和工具来访问和与真实数据源、API 和系统进行交互,以实现用户指定的目标,例如回答问题、执行作或完全自动化工作流,以及不进行人工监督。
Tool 内置或自定义功能,使代理能够执行简单或复杂的任务,或通过代理服务 SDK 或 Azure AI Foundry 门户与信息源、应用程序和/或服务进行交互。
知识工具 一种工具,使代理能够访问和处理来自内部和外部源的数据,包括其模型训练截止日期之外的信息,以提高对用户查询的响应的准确性和相关性。
操作工具 一种工具,使代理能够通过与外部系统、API 和服务集成来代表用户执行任务和执行作。
Thread 代理和用户之间的会话。 线程存储消息并自动处理截断,使内容适合模型的上下文。
Message 代理或用户创建的消息。 消息可以包括文本、图像和其他文件。 消息以列表的形式存储在线程上。
Run 激活代理以根据线程的内容开始运行。 代理使用其配置和线程的消息通过调用模型和工具来执行任务。 在运行过程中,代理会将消息追加到线程。
运行步骤 代理在运行期间所采取的步骤的详细列表。 代理可以在运行期间调用工具或创建消息。 通过检查运行步骤,可以了解代理如何获取其最终结果。

相关功能概念

Term Definition
代理 AI 系统 一个伞式术语,其中包含开发人员在使用 Azure AI 代理服务时可在其代理中启用的以下常见功能。
Autonomy 独立执行操作并在不同程度的人工监督下控制系统行为的能力。
Reasoning 能够处理信息,同时理解与第三方用户可能采取的各种行动、任务或参与的上下文和结果。
Planning 将复杂的用户指定目标和操作分解为任务和子任务,以便执行。 计划的任务由一个或多个代理创建。
Memory 能够存储或保留先前观察、交互或系统行为中的信息或上下文。
Adaptability 能够根据从环境或先前体验中收集的信息更改或调整行为并提高性能。
Extensibility 能够调用资源(例如外部知识源)和执行函数(例如,发送电子邮件),从连接的系统、软件或平台(包括使用工具)。

Capabilities

系统行为

Azure AI 代理服务提供与安全托管的数据、现用工具和自动工具调用的集成,使开发人员能够从用户指定的高级目标中生成能够推理、计划和执行任务的代理。 Azure AI 代理服务通过内置内存管理和复杂的接口实现快速代理开发,以便与常用计算平台无缝集成,将 LLM 功能与常规用途、编程作桥接。

Azure AI 代理服务组件和功能的示意图。

Azure AI 代理服务的主要功能包括:

  1. 快速开发和自动化流程: 代理需要与正确的工具、系统和 API 无缝集成才能执行确定性或不确定作。
  2. 与广泛的内存和知识连接器集成: 代理需要管理聊天状态,并与内部和外部知识源连接,以便有正确的上下文来完成进程。
  3. 灵活的模型选择: 使用适合其任务的模型生成的代理可以更好地集成来自多个数据类型的信息,为特定于任务的方案生成更好的结果,并提高缩放部署的成本效率。
  4. 内置企业就绪情况:代理需要能够支持组织独特的数据隐私和合规性需求、根据组织的需求进行缩放并可靠且高质量地完成任务
  5. 使用代理目录更轻松地生成: 代理目录中的代理代码示例提供“初学者工具包功能”,用于快速配置和部署代理以用于各种用例兴趣。

代理目录

Azure AI Foundry 代理服务提供了一系列不同的代理代码示例,可让你开始为特定的用例需求构建代理。 部署每个代理代码示例时,应考虑到风险管理注意事项。 请参阅当前可用的 代理代码示例列表

扩展性功能

Azure AI 代理服务的扩展性功能使代理能够与知识源、系统和平台进行交互,以建立并增强代理功能。 Specifically:

使用丰富的知识来源生态系统来巩固代理输出的可靠安全基础

开发人员可以配置丰富的知识源生态系统,使代理能够访问和处理来自多个源的数据,从而提高响应和输出的准确性。 这些数据源的连接器在指定的网络参数中运行。 Azure AI 代理服务中内置的知识工具包括:

  • 文件搜索 (内置的检索扩充生成(RAG)工具,用于处理和搜索 Azure AI 搜索、Azure Blob 存储和本地文件中的专用数据)
  • 使用必应搜索查找事实依据(一种使用必应搜索从 Web 提取信息的 Web 搜索工具)
  • SharePoint(内置工具,用于在 SharePoint 中连接组织的内部文档,以获得有根据的响应)
  • Fabric 数据助手(一款内置工具,用于通过生成型 AI与 Microsoft Fabric上的结构化数据进行对话)
  • 引入许可数据(一种工具,支持使用专有数据进行基础设置,这些数据通过开发人员从 TripAdvisor 等数据提供商处获得的许可 API 密钥进行访问)

代理通过代表 (OBO) 身份验证简化了对 SharePoint 和 Fabric AI 技能的安全数据访问,从而使代理只能访问用户有权访问的 SharePoint 或 Fabric 文件。

通过操作工具,在有或没有人工输入的情况下启用自治操作

开发人员可以通过作工具将代理连接到外部系统、API 和服务,使代理能够执行任务并代表用户执行作。 Azure AI 代理服务中内置的作工具包括:

  • 代码解释器 (可在安全环境中编写和运行 Python 代码、处理各种数据格式和生成具有数据和视觉对象的文件)
  • Azure 逻辑应用 (基于云的 PaaS 工具,使用 1,400 多个内置连接器实现自动化工作流)
  • Azure Functions (使代理能够执行无服务器代码以执行同步、异步、长时间运行和事件驱动作的工具)
  • OpenAPI 3.0 指定工具 (使用 OpenAPI 3.0 规范定义的自定义函数,用于安全地将代理连接到基于 OpenAPI 的外部 API)
  • 模型上下文协议工具 (通过模型上下文协议通过现有远程 MCP 服务器连接到代理的自定义服务)。
  • 深度研究工具:(一种通过 o3 深度研究模型和“使用必应搜索查找事实依据”实现基于 Web 的多步骤研究的工具)。
  • 计算机使用:(工具通过 UI 与计算机系统和应用程序交互来执行任务)
  • 浏览器自动化工具 (可通过自然语言提示执行真实浏览器任务的工具,无需人工干预中间即可启用自动浏览活动)
  • 图像生成 (用于生成和编辑图像的工具)

协调多代理系统

使用 Azure AI 代理服务的多代理系统可以设计为针对特定方案实现高性能的自治工作流。 在多代理系统中,由多个上下文感知的自治代理(无论是人类还是 AI 系统)交互或协同工作,以实现用户指定的个人或集体目标。 Azure AI 代理服务开箱即用,与助手 API 线控兼容的多代理协调框架一起使用,例如由 Microsoft Research 创建的最先进的 Python 研究 SDK AutoGen 和适用于 Python、.NET 和 Java 的企业 AI SDK Semantic Kernel

构建新的多代理解决方案时,首先使用 Azure AI 代理服务生成单一实例代理,以获取最可靠、可缩放且安全的代理。 然后,可以使用支持的业务流程框架将这些代理协调在一起。 AutoGen 不断演变,以找到代理(和人类)合作的最佳协作模式。 如果你正在寻找生产支持和非中断性变更,则可以将使用 AutoGen 显示生产价值的功能移动到语义内核中。

1线路兼容 意味着 API 可以以与现有协议、现有数据格式和通信标准完全兼容的方式进行通信和交换数据,在本例中为助手 API 协议。 这意味着两个系统可以无缝协作,而无需更改其核心实现。

用例

预期用途

Azure AI 代理服务灵活 且与用例无关。 这提供了多种可能性来自动执行日常任务并解锁知识工作的新可能性 -- 无论是发送电子邮件和安排会议的个人生产力代理、持续监视市场趋势和自动创建报表的销售代理、可以研究潜在顾客并自动限定潜在顾客的销售代理、主动跟进个性化消息的客户服务代理, 或开发人员代理,可以交互升级代码库或改进代码存储库。 下面是使用 Azure AI 代理服务开发的代理的预期用途示例:

  • 医疗保健:简化员工导向和基本行政支持: 医院的行政助理部署代理,整理标准作程序、工作人员目录,并将政策转变为新护士的简明方向:最终材料由 HR 审查和批准,减少重复工作,而不影响内容质量。
  • 零售:个性化购物指南: 当地精品店主可以部署一个代理,根据客户的需求和过往购买记录来推荐礼品选项,通过复杂的产品目录给予负责任的指导,而不推送任何偏见或误导性的信息。
  • 政府:公民请求会审和社区活动协调: 城市职员使用代理对传入的服务请求进行分类(例如坑坑修复),将其分配给正确的部门,并编译简单的状态更新:官员审查并敲定通信,以保持透明度和准确性。
  • 教育:协助研究和参考收集: 教师依靠代理从行星科学课程的有信誉来源收集适合年龄的文章和资源:教师验证材料的事实准确性,并调整它们以适应课程,确保学生获得可信内容。
  • 制造:库存监督和任务计划: 工厂主管部署代理来监视库存水平,安排供应不足时的补货,并优化班次名单:管理确认代理的建议,并保留最终决策权限。
  • 深入研究工具:在 Azure OpenAI 透明度说明中选择具有深入研究技术的用例模型时,详细了解预期用途、功能、限制、风险和注意事项。
  • 计算机使用:计算机使用工具附带了额外的重大安全和隐私风险,包括提示注入攻击。 在 Azure OpenAI 透明度说明中选择用例时,详细了解预期用途、功能、限制、风险和注意事项。
  • 图像生成工具:图像生成工具由 gpt-image-1 模型提供支持。 在 Azure OpenAI 透明度说明中选择用例模型时,详细了解预期用途、功能、限制、风险和注意事项。

代理代码示例具有特定的预期用途,开发人员可配置这些用途,以便仔细构建、实现和部署代理。 请参阅 代理代码示例列表

选择用例时的注意事项

我们鼓励客户在其创新解决方案或应用程序中使用 Azure AI 代理服务。 但是,在选择用例时,需要考虑以下事项:

  • 避免使用或滥用系统可能导致对个人造成重大身体或心理伤害的情况。 例如,诊断患者或开药的场景可能会造成重大伤害。
  • 避免使用或滥用系统可能对生命机会或法律地位产生重大影响的情况。 示例包括 AI 系统或代理可能影响个人的法律地位、法律权利或其获得信贷、教育、就业、医疗保健、住房、保险、社会福利权益、服务、机会或提供这些服务的条款的场景。
  • 避免可能导致伤害的高风险方案。 代理中使用的模型可能会反映训练数据或提示中提供的示例的某些社会观点、偏见和其他不良内容。 因此,我们警告不要在高风险情况下使用代理,在这种情况下,不公平、不可靠或冒犯性行为可能极其昂贵或导致伤害。
  • 仔细考虑高风险领域或行业中的用例,其中代理的行为是不可逆的或会导致重大后果。 此类行业包括但不限于医疗保健、医药、金融或法律领域。 例如:能够进行财务交易或提供财务建议、直接与外部服务交互、管理医学或提供与健康相关的建议、公开共享敏感信息的能力或授予对关键系统的访问权限的能力。
  • 法律和法规注意事项。 Microsoft非常重视安全,并认真履行法律和监管义务。 我们始终努力遵守开发和部署 AI 技术的适用法律、法规和标准,包括Microsoft负责任的 AI 标准。 组织有责任在使用任何 AI 服务和解决方案(包括代理、代理目录和基础代理代码示例)时评估安全影响和潜在的特定法律和法规义务。 某些用途和产品/服务可能符合法律和法规要求,可能需要许可证,或者可能不适合所有行业、方案或用例。 此外,代理、代理目录和基础代理代码示例不得以适用法律、法规、服务条款或相关行为准则禁止的方式使用。
  • Microsoft未创建、测试或验证你可能决定连接到的任何第三方系统、API、服务器和服务。 连接到第三方(非Microsoft)系统、API、服务器或服务时,某些数据将与该服务共享,应用程序可能会接收返回的数据。 Microsoft对你或其他人使用任何远程系统、API、服务器和服务没有任何责任。 这些服务的使用受你与提供商的协议的约束。 你需对任何使用及相关成本负责。
  • 浏览器自动化工具具有巨大的安全风险和用户责任。 浏览器自动化工具具有重大的安全风险。 AI 的判断错误以及其遇到的网页中存在的恶意或令人困惑的指令,可能会导致其执行您或其他人不打算执行的命令,这可能会危害您或其他用户的浏览器、计算机及其所能访问的任何账户的安全,包括个人、财务或企业系统。 通过使用浏览器自动化工具,你确认你对其使用及其创建的任何代理负有责任,包括对你向其他用户提供的功能,以及通过生成的代理提供的功能。 

Limitations

技术限制、操作因素和范围

  • 生成 AI 模型限制: 由于 Azure AI 代理服务适用于各种模型,因此整个系统继承了特定于这些模型的限制。 在选择要合并到代理中的模型之前,请仔细 评估模型 以了解其限制。 请考虑查看 Azure OpenAI 透明度说明 ,了解有关生成 AI 限制的其他信息,这些限制也可能与系统相关,并查看将生成 AI 合并到代理应用程序中的其他最佳做法。
  • 工具业务流程复杂性: AI 代理依赖于多个集成工具和数据连接器(例如必应搜索、SharePoint 和 Azure 逻辑应用)。 如果其中任一工具配置不当、不可用或返回不一致的结果,或者单个代理上配置了大量工具,则代理的指导可能会变得碎片化、过时或误导。
  • 不相等表示和支持: 在为不同的用户组提供服务时,如果语言品种、区域数据或专业知识域的代表性不足,AI 代理可能会显示不均衡的性能。 例如,零售代理可能会为那些使用代表性不足的语言的客户提供不太可靠的产品建议。
  • 不透明的决策过程: 由于代理将大型语言模型与外部系统相结合,因此跟踪其决策背后的“原因”可能会变得具有挑战性。 使用此类代理的用户可能会发现很难理解为什么选择某些工具或工具组合来回答查询、使代理输出或作的信任和验证复杂化。
  • 代理目录限制:Azure AI Foundry 代理服务中的代理目录旨在帮助客户快速开始为各种潜在用例部署代理。 基础代理代码示例可能无法完全满足每个方案的独特使用要求和相关风险。 作为开发人员,你负责在实现之前仔细查看代理代码示例、在特定用例的上下文中测试代理行为以及进行所有适当的自定义。 这包括评估在 选择用例时的注意事项中所述的所有安全影响和潜在的特定法律和法规义务。
  • 不断发展的最佳做法和标准: 代理是一项新兴技术,也是关于安全集成、透明工具使用情况和负责任的部署的指导不断演变。 跟上最新的最佳做法和审核过程至关重要,即使善意的使用也可能会变得有风险,而无需持续审查和优化。

系统性能

提高系统性能的最佳做法

  • 评估代理性能:评估代理的可靠识别用户请求的方式,选择适当的工具和进程,并遵守分配的任务。 使用以下 Microsoft Azure AI 评估 SDK 评估器:
    • 意向解决方法:衡量代理识别用户请求的方式,包括用户意图的范围如何、提出澄清问题,并提醒最终用户了解其功能范围。
    • 工具调用准确性:评估代理选择相应工具的能力,并从前面的步骤中处理正确的参数。
    • 任务符合性:根据代理的系统消息和先前步骤衡量代理的最终响应遵守其分配的任务程度。
  • 提供受信任的数据: 在系统中检索或上传不受信任的数据可能会损害系统或应用程序的安全性。 若要使用 Azure AI 代理服务在应用程序中缓解这些风险,建议记录和监视 LLM 交互(输入/输出),以检测和分析潜在的提示注入,明确描述用户输入,以最大程度地降低提示注入的风险,限制 LLM 对敏感资源的访问,将其功能限制为最低要求,并将其与关键系统和资源隔离。 了解大型语言模型的安全指南中的其他缓解方法。
  • 深思熟虑地选择和集成工具: 选择稳定、记录良好且适合代理的预期用途和目标的工具。 例如,使用可靠的数据库连接器进行事实查找或经过良好测试的 API 来执行特定作。 将工具数量限制为真正增强功能的工具数量,并指定代理应如何使用它们的方式和时间。
  • 为系统边界提供用户主动控制: 请考虑创建用户控件,使作 AI 代理的用户能够主动设置允许哪些作或工具的边界,以及代理可以运行哪些域。
  • 建立实时监督和人为介入流程: 请考虑为用户提供足够的实时控制来授权、验证、审查和批准代理系统行为,包括动作、计划任务、操作环境或域边界以及知识或操作工具访问权限。 特别是对于关键任务或高风险任务,请考虑纳入用户强制人工审查和审批步骤。 确保用户或人工作员可以轻松干预、更正或替代代理的决定,尤其是在这些决策具有安全或法律影响时。 有关详细信息,请参阅 AI 上的过度依赖
  • 确保人类决策的可识别性和可追溯性:为用户提供作之前、期间和之后的信息,帮助他们了解决策的理由、确定干预位置以及解决问题。 在系统中集成检测工具或日志记录,例如使用 Azure AI 代理服务的 OpenTelemetry 跟踪,以便追踪输出,包括提示、模型步骤和工具调用。 这样就可以重建代理的推理过程、隔离问题、优化提示、优化工具集成以及验证指南遵循情况。 有关详细信息,请参阅 使用 Application Insights 进行跟踪
  • 层代理说明和指南: 将复杂任务分解为系统提示中的步骤或子指令。 这有助于代理更有效地处理多步骤推理,减少错误并提高最终输出的清晰度。
  • 识别缩放的复杂性阈值: 当单个代理的系统消息一直难以处理任务的复杂性、广度或深度(例如频繁产生不完整的结果、达到推理瓶颈或需要广泛的特定于域的知识)时,系统可能会从过渡到多代理体系结构中获益。 最佳做法是监视性能指标,例如响应准确性、延迟和错误频率。 如果对单个代理提示的优化不再产生改进的结果,请考虑将工作负荷分解为专用子任务,每个任务都由其自己的代理管理。 通过将复杂任务(例如,将策略研究和策略解释拆分为单独的代理),可以保持模块化,更有效地使用专用域知识,并减少任何单个代理上的认知重载。

评估和集成 Azure AI 代理服务以供使用

  • 映射代理的风险和影响。 在开发或部署代理应用程序之前,请仔细考虑预期行动的影响,以及行动或工具未按预期方式工作的后果——例如在不同阶段生成或处理不准确的信息,或导致偏见或不公平的结果。
  • 确保足够的人工监督和控制。 考虑包括控制以帮助用户及时验证、审查和/或批准操作,例如这可能包括审查计划的任务或对外部数据源的调用(视你的系统而定)。 请考虑包括对系统故障进行充分用户修正的控制,尤其是在高风险方案和用例中。 例如,MCP 工具允许你传递自定义标头,如远程 MCP 服务器可能需要的身份验证密钥或架构。 在这种情况下,建议查看与远程服务器共享的所有数据,并选择性地记录这些数据以进行审核。 注意第三方在数据保留和位置方面的做法。
  • 明确定义动作和相关要求。 明确定义哪些行为是允许的(行为边界)、哪些是禁止的或需要显式授权,可能有助于您的代理系统按预期运行,并具备适当的人类监督级别。
  • 明确定义预期的作环境。 明确定义代理旨在有效执行的预期运行环境(域边界)。
  • 在决策时确保适当的可理解性。 在操作和/或工具调用之前、期间和之后向用户提供信息可能有助于他们理解操作的理由,或了解为什么采取某些操作、应用程序为何以某种方式运行,应该在哪里进行干预,以及如何解决问题。

详细了解负责任 AI

详细了解 Azure AI 代理服务