这篇适合谁,读完能做到什么
这篇适合已经了解智能体基本概念、正在为项目挑选开发框架的读者。读完你应该能说清智能体框架解决什么问题,分得清 Microsoft Agent Framework 和 Foundry Agent Service 的分工,看懂一段调用工具的智能体代码,并知道先从哪一个开始[1]。
智能体框架是做什么的
AI 智能体框架是帮助开发者简化智能体创建、部署和管理的软件平台。它提供预先做好的组件、抽象层和工具,让开发者把精力放在自己应用的独特之处,而不是从零解决常见问题。这类框架有助于提升可扩展性、易用性和效率[1]。
智能体框架还超出了传统 AI 框架的范围。它可以构建能与用户、其他智能体和环境交互、从而达成特定目标的智能体;这些智能体能够自主行动、做出决策,并适应变化的条件[1]。其中有三项能力尤其重要[1]:
- 协作与协调:多个智能体一起工作,相互沟通,共同完成复杂任务[1]。
- 任务自动化与管理:自动化多步骤工作流,在智能体之间委派任务,动态管理任务[1]。
- 上下文理解与适应:智能体理解上下文,适应变化的环境,并根据实时信息做决定[1]。
三个能加快原型开发的特性
大多数智能体框架都具备三个共同特性,能帮助团队快速搭出原型并反复迭代[1]。
- 模块化组件。SDK 提供现成的部件,例如 AI 与记忆连接器、通过自然语言或代码插件实现的函数调用,以及提示词模板[1]。
- 协作工具。为智能体设计明确的角色和任务,然后测试和完善它们的协作流程[1]。
- 实时学习。建立反馈循环,让智能体从交互中学习,并动态调整行为[1]。
Microsoft Agent Framework(MAF)
Microsoft Agent Framework 是一套精简的智能体开发 SDK。它内置工具调用和对话管理,并通过 Azure 身份进行认证,开发者不必直接管理 API 密钥[1]。它面向生产环境,适合使用工具、执行多步骤工作流、需要企业级集成的智能体[1]。
在这个框架里,智能体通过 FoundryChatClient 创建,并配置名称、指令和工具。智能体会处理用户消息,根据对话内容自动调用工具,并在多次交互之间保持对话状态[1]。工具就是普通的 Python 函数,在创建智能体时注册即可[1]。
第一个智能体的代码大致如下[1]:
import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
provider = FoundryChatClient(
project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
credential=AzureCliCredential(),
)
agent = provider.as_agent(
name="my_agent",
instructions="You are a helpful assistant.",
)
response = await agent.run("Hello, World!")
print(response)项目端点和模型部署名分别从环境变量 AZURE_AI_PROJECT_ENDPOINT 和 AZURE_AI_MODEL_DEPLOYMENT_NAME 读取[1]。代码中的 await 要放在异步函数里执行。如果要做多智能体协作,示例会建一个规划智能体和一个执行智能体,两者的指令各不相同,再把规划的结果交给执行智能体[1]。
Microsoft Foundry Agent Service
Foundry Agent Service 是两者中较新的一个,于 Microsoft Ignite 2024 推出[1]。主要特点如下:
- 模型选择更灵活:可以直接调用 Llama 3、Mistral、Cohere 等开源大模型[1]。
- 企业安全:提供更强的安全机制和数据存储方式,适合企业应用[1]。
- 发布状态:处于公开预览(Public Preview)阶段,支持 Python 和 C# 构建智能体[1]。
- 兼容性:可以直接配合 Microsoft Agent Framework 使用[1]。
在 Foundry 中,智能体像一个「聪明的」微服务。它把生成式 AI 模型和能访问真实数据源的工具结合起来,可以回答问题(RAG)、执行操作,或者自动化整个工作流[1]。用 Python SDK 创建智能体的写法如下[1]:
agent = project_client.agents.create_agent(
model="gpt-5-mini",
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)线程(thread)表示智能体和用户之间的一次对话,可用来跟踪进展、保存上下文并管理交互状态。线程中的消息可以是文本、图片或文件[1]。服务还内置了与 Azure OpenAI、Azure AI Search、Bing 搜索和代码执行的连接[1]。
该选哪一个
建议的路径很简单:先用 Microsoft Agent Framework 构建智能体,等需要在生产环境中部署和扩展时,再使用 Foundry Agent Service[1]。
如果你正在开发面向生产的 AI 智能体应用,又希望尽快上手,应优先考虑 Microsoft Agent Framework。它提供简洁、符合 Python 习惯的 API,几行代码就能定义带工具和指令的智能体[1]。如果你的需求是企业级部署,并且需要搜索、代码执行等 Azure 集成,那么 Foundry Agent Service 更合适。它是一项平台服务,可以在 Foundry 门户里构建智能体,并大规模部署[1]。
两者并非非此即彼。Foundry Agent Service 开箱即可与 Microsoft Agent Framework 配合,用框架构建的智能体可以运行在该服务上[1]。在 Azure 体系内,Foundry 可以连接 Bing、Azure AI Search 和 Azure Functions;框架则通过 FoundryChatClient 和 Azure 身份,从工具里直接调用 Azure 服务[1]。
示例代码在哪里
示例代码放在仓库的 code_samples 目录下:有面向 Microsoft Foundry 的 Python notebook,有面向 Azure OpenAI Responses API 的 Python notebook,还有一个 .NET 版本的 Agent Framework 文件[1]。打开与你所选平台对应的那一个即可。
本文改编自 Microsoft 开源课程《AI Agents for Beginners》第 2 课[1],原文以 MIT 许可证发布。
来源
- 1Explore AI Agent FrameworksMicrosoft ai-agents-for-beginners (MIT)
引用本页: 智能体框架怎么选:Microsoft Agent Framework 与 Foundry Agent Service. TellWorld, https://www.tellworld.net/zh/practice/practice-agentic-frameworks. 更新于 2026-11-14