你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Foundry 代理服务是用于生成、部署和缩放 AI 代理的托管平台。 使用任何框架、Foundry 模型目录中的任何受支持模型,以及用于模型推理和工具的统一入口进行构建。
Foundry 在从声明性代码到完整代码的任意位置相遇:定义 提示代理 ,让 Foundry 运行它,将自己的代码打包为 托管代理,或者从已在其他位置运行的代理调用 响应 API 。 选择如何构建涵盖了每种路径。
代理服务概览
| 组件 | 它的作用 |
|---|---|
| 代理运行时 | 托管并扩展提示智能体和托管智能体。 管理对话、工具调用和代理生命周期。 |
| 工具箱 | 一次策展一组工具,例如:Web 搜索、文件搜索、代码解释器、MCP 服务器和自定义函数。 然后,通过单个托管 MCP 终结点通过集中身份验证、治理和版本控制跨代理共享它们。 |
| 模型 | 适用于 Foundry 模型目录中的许多模型,例如 GPT-4o、Llama 和 DeepSeek。 在不更改代理代码的情况下交换模型。 |
| 可观察性 | 端到端跟踪、指标、评估和 Application Insights 集成。 查看代理做出的每个决策并衡量其质量。 |
| 优化 | 代理优化器(预览版)评估代理行为,并为提示代理和托管代理自动生成更好的说明、技能、工具说明和模型选择。 |
| 标识和安全性 | Microsoft Entra标识、RBAC、内容筛选器和虚拟网络隔离。 内置的企业级信任保障。 |
| 发布 | 版本代理人,创建稳定的终结点,并通过 Microsoft Teams、智能 Microsoft 365 Copilot 副驾驶® 和 Entra Agent Registry 共享。 |
选择构建方式
Tip
正在构建你的第一个代理? 从提示代理开始,可以使用 Foundry 门户,也可以按照使用代码创建提示代理的快速入门进行操作。
Foundry 提供了多种生成方法,从单个模型调用到完全容器化代理。 根据尝试执行的操作选择路径:
- 希望最大限度地减少管理工作?从提示代理开始。 配置说明、模型和工具;Foundry 在没有代码或基础结构的情况下运行它。
- 想要在 Foundry 中完全控制?部署托管代理。 以容器形式引入你自己的代码和框架;Foundry 会使用托管终结点、缩放和标识来运行它。
- 已在其他位置运行代理代码?直接调用响应 API 以使用 Foundry 模型和工具,无需管理代理资源。
提示代理和托管代理是 Foundry 中的两种代理类型。 下一部分将细分每个部分的值,以便可以放心地进行选择。
代理类型
代理服务提供两种代理类型。 你的选择决定了需要自行构建多少,以及由 Foundry 管理多少:
- 提示代理:最快的路径。 定义说明、模型和工具,Foundry 为你运行代理,无需管理代码或基础结构。
- 托管代理:控制力最强。 引入你自己的代码和框架,Foundry 会将其作为容器运行,并提供托管终结点、缩放和标识。
提示智能体
完全通过配置定义提示代理,包括说明、模型选择和工具。 为了快速开始,您可以在 Foundry 门户中创建这些内容,或者通过 SDK 或 REST API 以编程方式定义它们,以集成到您的 CI/CD 工作流中。 无论采用哪种方式,Foundry 都会为你运行代理。 没有要维护的应用程序代码,也没有用于优化、缩放或监视安全性的容器或包。
可通过两种方式开始使用:
- 门户优先:在 Foundry 门户中以交互方式创建代理,在操场中对其进行测试,然后从应用程序代码调用它。
- 代码优先:在部署管道中使用 SDK 或 REST API 定义代理,启用版本控制、代码评审和自动推出。
最适合:快速上手、内部工具、不需要自定义编排逻辑的生产环境代理,以及希望获得托管运行时而无需承担基础设施开销的团队。
托管代理
托管代理是使用 Agent Framework 构建的基于代码的代理, LangGraph、OpenAI Agents SDK、Anthropic Agent SDKGitHub Copilot SDK, 或你自己的代码。 将你的代理以容器映像或源代码 .zip 文件的形式交付给 Foundry(如果你提供的是 .zip 文件,Foundry 会为你构建映像),然后 Foundry 会通过托管终结点、自动扩缩容、专用的 Microsoft Entra 标识、会话级状态持久化以及端到端可观测性来运行它。
在后台,代理代码调用 Foundry 项目终结点进行模型推理和工具业务流程,这使你能够从目录中访问 Foundry 模型和一组统一的平台工具:标准工具(如文件搜索、代码解释器和 Web 搜索),以及其他工具(如 SharePoint、WorkIQ 和 Fabric IQ)。
最适合:调用您自定义代码的代理;其次也适用于自定义编排逻辑、多代理系统以及自定义协议(Webhook、语音、AG-UI)等场景,在这些场景中,您希望完全控制代理逻辑,同时让 Foundry 处理托管、扩缩容和身份管理。
比较代理类型
| 提示智能体 | 托管代理 | |
|---|---|---|
| 创作界面 | 门户、SDK 或 REST | Agent Framework, LangGraph, OpenAI Agents SDK, Anthropic Agent SDK, GitHub Copilot SDK, 自定义代码 |
| Foundry 模型 + 平台工具 | 是的 | 是(通过 Foundry 项目终结点上的响应 API) |
| 技能支持 | 是的 | 是的 |
| 要维护的运行时代码 | 没有 | 是,你的代理逻辑 |
| 用于管理的计算 | 无,完全托管 | 容器计算,由 Foundry 托管 |
| 托管终结点 | 是的 | 是的 |
| 自动缩放 | 自动,由 Foundry 托管;随请求量扩缩 | 自动,由 Foundry 托管;根据会话数和请求量扩缩容容器实例 |
| 代理标识 (Entra) | 是的 | 自动,每个智能体专用 |
| 成本模型 | 每次调用的推理 + 工具使用 | 每次调用推理 + 工具使用 + 容器计算 |
| 最适合 | 快速上手,无需自定义编排即可部署生产级智能体 | 调用自定义代码的代理;其次,自定义编排逻辑 |
使用 Responses API 创建临时代理
直接从自己的代码调用响应 API 时,将生成 临时代理:代理的定义(说明、工具和模型)位于应用程序代码中,而不是作为 Foundry 中的持久资源。 每个调用都会在进程中组装代理,并针对响应 API 运行代理,因此在 Foundry 中没有要创建、更新或删除的代理。
如果需要,请使用此模式:
- 应用附带的代理逻辑。 该定义与其余代码一同通过源代码管理和代码评审进行版本控制,而不是作为需要专人保持与应用同步的独立 Foundry 资源。
- 无需承担资源开销即可使用 Foundry 功能。 你仍可使用模型目录中的模型、平台工具、项目范围的数据、On-Behalf-Of 身份验证,以及项目级可观测性和治理功能。 所有这些功能均可通过 Foundry 项目终结点使用。
请参阅 快速入门:使用响应 API 获取信息。
模型支持
代理服务适用于 Foundry 模型目录中可用的许多模型。 有关完整列表,请参见 Foundry 门户。
工具和工具箱
代理通过 工具处理世界。 Foundry 提供 Web 搜索、文件搜索、代码解释器和内存等内置工具,同时允许通过函数、OpenAPI 规范和 MCP 服务器添加自定义工具。 有关完整集,请参阅 工具箱概述。
工具箱将这些工具分组到单个可重用单元中。 只需整理一次这些工具,Foundry 就会通过一个托管的、兼容 MCP 的端点统一对外提供它们,任何代理或运行时都可使用,且不受框架限制。 工具箱集中身份验证、治理和版本控制,因此可以在一个位置更新工具,而不是重新创建每个代理。 创建新的版本,对其进行测试,并在准备就绪时将其提升为默认值。 若要了解详细信息,请参阅 Foundry 中的工具箱是什么?
连接到 MCP 远程服务器并进行身份验证
Foundry 支持可以添加到代理的远程 MCP 服务器,例如Azure DevOps MCP 服务器。 连接Azure DevOps组织以启用代理访问,并配置一部分可用工具来控制代理可以执行的操作。 还可以使用 Functions MCP Webhook 终结点(/runtime/webhooks/mcp)连接托管在Azure Functions上的自定义 MCP 服务器,以向代理公开自定义工具。
MCP 服务器和其他工具连接支持的身份验证选项包括:
- 基于密钥的访问
- Microsoft Entra(使用代理的托管标识或项目的托管标识)
- OAuth 标识传递(代理)
- 未经身份验证的访问(如果适用)
使用工具配置中管理的凭据和范围连接远程 MCP 服务器时,这些身份验证选项也适用。
开发生命周期
代理服务支持完整的 build-test-deploy-monitor 工作流:
- 创建:使用门户或 SDK 定义提示代理,或者编写调用响应 API 的托管代理。
- 测试:在 代理操场 中与代理聊天或在本地运行。 MCP 服务器集成(包括托管在 Azure Functions 上的自定义 MCP 服务器)可直接在演练场中进行测试,以便在发布前验证工具连接性、权限和行为。
- 跟踪:使用 代理跟踪检查每个模型调用、工具调用和决策。
- 评估:运行评测以衡量质量并发现回归问题。
- 优化:使用 代理优化器自动改进托管代理的说明。
- 发布:将代理升级为具有稳定端点的托管资源。
- 监视:使用 服务指标 和仪表板跟踪性能和可靠性。
如需详细指南,请参阅 代理开发生命周期。
企业功能
代理服务为部署的每个代理提供企业级基础结构:
- 代理标识:每个代理都可以具有专用的Microsoft Entra标识,从而在不共享凭据的情况下对资源和 API 进行安全的作用域访问。 代理身份可以对外部 MCP 服务器(包括托管在 Azure Functions 上的服务器)进行身份验证,并且在配置时支持 OAuth 代理 (OBO) 传递。
- 专用网络:在Azure虚拟网络中运行代理,实现完全网络隔离,并符合数据驻留要求。 专用网络可供提示智能体使用。 托管智能体支持自带 Azure 虚拟网络 (BYO VNet),其中每个会话在 VM 隔离沙盒中运行并连接到你的 VNet。
- 基于角色的访问控制:通过 Microsoft Entra 和 Azure RBAC 细化权限。 控制谁可以创建、调用和管理代理。
- 内容安全性:集成内容筛选器有助于缓解提示注入风险(包括交叉提示注入)并防止不安全的输出。
有关环境设置说明,请参阅 设置环境。
发布和共享
代理服务提供内置的版本控制和发布功能,以便代理可以放心地从开发迁移到生产环境。
- 版本管理:在你迭代智能体时,系统会自动为各个版本创建快照。 回滚到任何以前的版本或比较版本之间的更改。
- 发布:将代理提升为具有稳定端点的托管资源。 已发布的代理继承为项目配置的 企业标识和访问控制 ,并且可以以编程方式调用。
- 分发:通过 智能 Microsoft 365 Copilot 副驾驶® 和 Teams 以及 Entra 代理注册表共享已发布的代理,让您的代理出现在用户已开展工作的地方。 Foundry 智能体服务支持用于 Microsoft 365 发布的 OpenResponses 和 Activity Protocols,一种用于灵活终结点与自定义应用和服务集成的调用协议,以及用于智能体之间通信的 A2A 协议(预览版)。
安全性、隐私和合规性
代理服务专为需要对标识、网络、数据处理和安全进行强控制的企业工作负荷而设计。
- 安全控制:使用集成的 护栏 来帮助减少不安全的输出并缓解提示注入风险,包括交叉提示注入攻击(XPIA)。
- 网络隔离和数据驻留控制:使用 虚拟网络 和自带资源来满足要求。
- 携带您自己的资源:使用您自己的Azure资源(例如存储、Azure AI 搜索和用于聊天状态的Azure Cosmos DB),以满足合规性和运营需求。 请参阅 “使用自己的资源”。
- Responsible AI 指南:有关一组更广泛的建议和治理资源,请参阅 适用于 Microsoft Foundry 的Responsible AI。
相关内容
- 设置环境
- 代理开发生命周期
- 部署第一个托管代理
- Foundry 工具箱概述
- 部署第一个托管代理
- 配额、限制和区域支持
- 有关帮助或与社区联系,请加入 Microsoft AI Discord。