Azure AI Foundry Agent Framework
帮助 Python 开发者构建具备持久会话、托管工具和流式响应能力的 Azure AI Foundry 智能体。
文档明确偏好 DefaultAzureCredential、生产环境凭据约束和客户端上下文管理,降低凭据暴露与资源泄漏风险;但 HostedMCPTool 多处示例使用 never_require,且展示 Bearer API key、文件上传和外部 API 调用,却缺少默认用户确认、数据流/保留说明、最小权限边界与回滚方案,因此扣分。
架构、安装、认证、线程、工具、MCP 和错误处理路径较完整,且提供重试与降级示例;但依赖使用 --pre、关键 API 未由该技能内测试复现,部分异常处理过宽,失败诊断和版本兼容信息不足,因此按静态证据保守扣分。
目标受众和主要场景清晰,包括持久代理、托管工具、MCP、线程和流式响应;但非适用范围、触发排除条件、服务可用性限制、中文支持及中国大陆网络可达性未说明,且核心功能依赖 Azure 服务,因此扣分。
SKILL.md 采用渐进式结构并链接四个主题参考文件,包含安装、环境变量、示例、限制性提示、MIT 许可证、作者和版本字段;但没有变更日志、兼容矩阵、明确维护责任/更新路径或系统化 FAQ,依赖与预览版风险也未充分说明,因此扣分。
示例覆盖基础代理、函数工具、托管工具、流式响应、线程、结构化输出、MCP 和重试,具备较高直接参考价值;但所有关键结果依赖真实 Azure 配置和服务,示例含占位符,未提供该技能专属的可验证输出或替代方案比较,因此受静态上限并扣分。
源文件提供了可审计的代码片段、配置说明和仓库级 CI/测试材料,支持有限的文档追踪;但没有显示针对本技能关键路径的提交测试套件或第三方执行证据,无法静态确认 API 正确性,因此保守评分。
- 不要默认将 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 搜索连接的使用方式。
- Python 开发者需要在 Azure AI Foundry 中创建一个带有自定义函数工具的异步智能体。
- 团队需要让智能体执行代码、搜索文件或通过 Bing 搜索网页。
- 应用需要使用 AgentThread 保存多轮对话,并在后续请求中恢复上下文。
- 开发者需要将智能体响应以 Pydantic 定义的结构化格式返回。
- 团队需要通过 MCP 接入服务托管或客户端管理的外部工具。
- 应用需要逐块输出智能体响应,以实现流式用户体验。
优缺点一览
- 覆盖从基础创建到函数工具、托管工具、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 管理异步凭据和客户端。