开发与工程 ✓ Microsoft · 官方 azure-ai-foundrypython-sdkhosted-agentsmcpstreaming-responsesconversation-threadsstructured-outputs

Azure AI Foundry Agent Framework

帮助 Python 开发者构建具备持久会话、托管工具和流式响应能力的 Azure AI Foundry 智能体。

FollowSkills 评估 · FSRS-2.0
不推荐
50/ 100 五分制 2.5 / 5
信任安全14 / 25 · 2.8/5

文档明确偏好 DefaultAzureCredential、生产环境凭据约束和客户端上下文管理,降低凭据暴露与资源泄漏风险;但 HostedMCPTool 多处示例使用 never_require,且展示 Bearer API key、文件上传和外部 API 调用,却缺少默认用户确认、数据流/保留说明、最小权限边界与回滚方案,因此扣分。

可靠稳定8 / 20 · 2.0/5

架构、安装、认证、线程、工具、MCP 和错误处理路径较完整,且提供重试与降级示例;但依赖使用 --pre、关键 API 未由该技能内测试复现,部分异常处理过宽,失败诊断和版本兼容信息不足,因此按静态证据保守扣分。

适用触发8 / 15 · 2.7/5

目标受众和主要场景清晰,包括持久代理、托管工具、MCP、线程和流式响应;但非适用范围、触发排除条件、服务可用性限制、中文支持及中国大陆网络可达性未说明,且核心功能依赖 Azure 服务,因此扣分。

规范维护9 / 15 · 3.0/5

SKILL.md 采用渐进式结构并链接四个主题参考文件,包含安装、环境变量、示例、限制性提示、MIT 许可证、作者和版本字段;但没有变更日志、兼容矩阵、明确维护责任/更新路径或系统化 FAQ,依赖与预览版风险也未充分说明,因此扣分。

有效结果7 / 15 · 2.3/5

示例覆盖基础代理、函数工具、托管工具、流式响应、线程、结构化输出、MCP 和重试,具备较高直接参考价值;但所有关键结果依赖真实 Azure 配置和服务,示例含占位符,未提供该技能专属的可验证输出或替代方案比较,因此受静态上限并扣分。

证据核验4 / 10 · 2.0/5

源文件提供了可审计的代码片段、配置说明和仓库级 CI/测试材料,支持有限的文档追踪;但没有显示针对本技能关键路径的提交测试套件或第三方执行证据,无法静态确认 API 正确性,因此保守评分。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 不要默认将 approval_mode="never_require" 用于具有写入、删除、私有数据或外部副作用的 MCP 工具;应按工具启用确认并限制 allowed_tools。
  • 不要把示例中的 Bearer API key、项目端点、文件内容或线程标识直接用于生产;应确认凭据、数据流、保留策略和权限范围。
  • 安装使用 --pre,且示例依赖 Azure AI Foundry、Bing、MCP 端点及网络可达性;部署前需锁定兼容版本并验证中国大陆网络与区域服务可用性。
查看完整评分方法 →

它能做什么 & 适用场景

这是 Microsoft Agent Framework Python SDK 的 Agent Skill,面向在 Azure AI Foundry 上创建持久化智能体的开发者。它覆盖 AzureAIAgentsProvider、函数工具、代码解释器、文件搜索、Bing 网页搜索、MCP、会话线程、流式响应和结构化输出。内容强调优先使用 DefaultAzureCredential,并通过异步上下文管理器释放客户端、凭据和传输资源。它适合已经拥有 Azure AI Foundry 项目并希望直接获得 Python 实现模式的团队;不适合作为独立运行时或完整 Azure 部署指南。

指导编码代理生成 Python 异步代码:安装 agent-framework 或 agent-framework-azure-ai,配置 Azure AI Foundry 项目端点和模型部署名称,使用 AzureAIAgentsProvider 创建、获取或包装智能体,注册函数和托管工具,调用 Agent.run() 或 Agent.run_stream(),通过 AgentThread 保持多轮对话,并使用 Pydantic 模型处理结构化输出。它还展示 HostedMCPTool、MCPStreamableHTTPTool 以及 Bing 搜索连接的使用方式。

  1. Python 开发者需要在 Azure AI Foundry 中创建一个带有自定义函数工具的异步智能体。
  2. 团队需要让智能体执行代码、搜索文件或通过 Bing 搜索网页。
  3. 应用需要使用 AgentThread 保存多轮对话,并在后续请求中恢复上下文。
  4. 开发者需要将智能体响应以 Pydantic 定义的结构化格式返回。
  5. 团队需要通过 MCP 接入服务托管或客户端管理的外部工具。
  6. 应用需要逐块输出智能体响应,以实现流式用户体验。

优缺点一览

优点
  • 覆盖从基础创建到函数工具、托管工具、MCP、线程、流式响应和结构化输出的完整工作流。
  • 明确强调 DefaultAzureCredential、生产凭据限制和异步资源清理。
  • 提供可直接改造的 Python 代码示例和 Provider 方法速查表。
  • MIT 许可证,且仓库公开说明仍在持续维护和扩展。
局限
  • 依赖 Azure AI Foundry 项目端点、模型部署和相应身份权限;源材料未说明具体权限配置。
  • 网页搜索需要额外的 Bing 连接 ID,MCP 示例还依赖可访问的 MCP 服务。
  • 示例使用 --pre 预发布包,源材料未提供版本锁定或兼容性矩阵。
  • 源材料没有展示该具体技能的独立测试覆盖或详细错误处理方案。
  • 技能只覆盖 Azure AI Foundry 的 Python Agent Framework,不应替代仓库中的其他 SDK 技能。

如何安装

可安装整个技能集合:npx skills add microsoft/skills,然后在向导中选择所需技能。README 说明技能会安装到所选编码代理的目录,例如 GitHub Copilot 使用 .github/skills/。本技能的源文件位于 .github/plugins/azure-sdk-python/skills/agent-framework-azure-ai-py/SKILL.md。运行示例所需的 Python 包安装命令是:pip install agent-framework --pre;或仅安装 Azure 专用包:pip install agent-framework-azure-ai --pre。源材料没有提供固定 Python 版本、单独 CLI 或独立安装包。

如何使用

将该技能加载到编码代理后,可提出类似请求:“用 Microsoft Agent Framework Python SDK 创建一个 Azure AI Foundry 持久化智能体,使用 DefaultAzureCredential、代码解释器、MCP、会话线程和流式响应。”使用前需设置 AZURE_AI_PROJECT_ENDPOINT 和 AZURE_AI_MODEL_DEPLOYMENT_NAME;使用网页搜索时还需设置 BING_CONNECTION_ID。生产环境使用 DefaultAzureCredential 时,源材料要求设置 AZURE_TOKEN_CREDENTIALS=prod 或指定凭据,并使用 async with 管理异步凭据和客户端。

常见问题

使用这个技能需要支付额外费用吗?
源材料没有提供定价信息。它只说明需要 Azure AI Foundry 项目、模型部署,以及某些功能所需的 Bing 连接或 MCP 服务。
需要哪些访问条件?
至少需要 AZURE_AI_PROJECT_ENDPOINT 和 AZURE_AI_MODEL_DEPLOYMENT_NAME,并配置 Azure 身份凭据。生产环境的 DefaultAzureCredential 还需要设置 AZURE_TOKEN_CREDENTIALS;网页搜索需要 BING_CONNECTION_ID。
它能独立运行智能体吗?
不能。它是供编码代理使用的指导文件,帮助生成基于 agent-framework-azure-ai 的 Python 代码;实际运行仍需要 Python、相关包、Azure 服务和凭据。
它是否适合非 Azure 或非 Python 项目?
不适合直接使用。该技能明确面向 Azure AI Foundry 和 Microsoft Agent Framework Python SDK;仓库中另有面向其他语言和服务的独立技能。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

帮助 Java 开发者构建高吞吐、可 checkpoint 的 Azure 事件流应用。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

为 TypeScript Azure 应用配置安全、可切换的 Microsoft Entra ID 身份验证。

自动化与运维 ✓ Microsoft · 官方

Azure 应用可靠性顾问

评估并提升 Azure Functions 与 App Service 的可靠性。

开发与工程 ✓ Microsoft · 官方

Azure 云架构师

帮助编码代理按照 Azure 架构中心最佳实践设计和审查生产级云系统。

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

为 Python 开发者提供 Azure 文本分析与自然语言处理集成指导。

自动化与运维 ✓ Microsoft · 官方

Azure 资源架构可视化器

分析 Azure 资源组及其依赖关系,生成详细的 Mermaid 架构图。

开发与工程 ✓ Microsoft · 官方

Azure Maps .NET 开发技能

为 .NET 应用提供地理搜索、路线、地图、定位与天气开发指导。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

自动化与运维 ✓ Microsoft · 官方

Azure AI 网关治理

用 Azure API Management 统一治理 AI 模型、MCP 工具和智能体流量。

自动化与运维 ✓ Microsoft · 官方

AKS Automatic 就绪评估

评估 Kubernetes 工作负载能否迁移到 AKS Automatic,并定位兼容性阻塞项。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB .NET 资源管理技能

用 .NET 通过 ARM 部署和管理 Azure Cosmos DB 资源。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 工作区管理技能

用 .NET 通过 Azure Resource Manager 配置和管理 Microsoft Playwright Testing 工作区。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

相关 Skills