06-03-03 — Microsoft Agent Framework 1.0: a convergência (GA abril/2026)
TL;DR
O Microsoft Agent Framework 1.0 (GA em abril 2026) é a fusão oficial de Semantic Kernel e AutoGen em uma única plataforma com APIs estáveis. Suporte a .NET 9+ e Python 3.10+, MCP nativo, A2A protocol, graph workflow engine e integração profunda com Azure AI Foundry, Copilot Studio e M365. Para empresas .NET, este é o framework de referência para produção.
O que mudou com o AF 1.0
Antes do AF 1.0, empresas tinham que escolher entre SK (plugins maduros, .NET, Azure) ou AutoGen (multi-agent, Python). O AF 1.0 elimina essa escolha:
graph LR
SK[Semantic Kernel\nPlugins · .NET · Azure] --> AF[Agent Framework 1.0\nGA Abril 2026]
AG[AutoGen v0.4\nMulti-agent · Graph · Actor] --> AF
AF --> NET[.NET 9+]
AF --> PY[Python 3.10+]
AF --> AZF[Azure AI Foundry]
AF --> CS[Copilot Studio]
AF --> M365[Microsoft 365]
APIs estáveis — o que isso significa na prática
Antes do GA, tanto SK quanto AutoGen tinham APIs marcadas como "experimental" que quebravam entre versões. Com o AF 1.0:
- APIs públicas seguem SemVer: breaking changes somente em major versions
- Suporte LTS com Microsoft Premier Support disponível
- Certificação para uso em ambientes regulados (financeiro, saúde)
- SLA de suporte para pacotes NuGet/PyPI
Estrutura de pacotes
| Pacote (.NET) | Pacote (Python) | Responsabilidade |
|---|---|---|
Microsoft.AgentFramework.Core | microsoft-agent-framework | Abstrações base: Agent, Message, Channel |
Microsoft.AgentFramework.SemanticKernel | maf-semantic-kernel | Kernel, plugins, AI services |
Microsoft.AgentFramework.Graph | maf-graph | Graph workflow engine |
Microsoft.AgentFramework.MCP | maf-mcp | MCP client e server |
Microsoft.AgentFramework.A2A | maf-a2a | Agent-to-Agent protocol |
Microsoft.AgentFramework.Foundry | maf-foundry | Deploy e monitoring no Foundry |
Lifecycle: build → test → deploy → monitor
Build — criando um agente
using Microsoft.AgentFramework;
using Microsoft.AgentFramework.SemanticKernel;
// AF 1.0 usa o mesmo padrão do SK, com extensões para agents
var builder = AgentApplication.CreateBuilder(args);
builder.Services.AddAgentFramework(options =>
{
options.AddAzureOpenAI(
deploymentName: "gpt-4o",
endpoint: builder.Configuration["AzureOpenAI:Endpoint"]!);
options.AddPlugin<ClimaPlugin>();
options.AddPlugin<CalendarioPlugin>();
options.EnableMCP(); // MCP server/client nativo
options.EnableA2A(); // Agent-to-Agent protocol
});
// Registra o agente com metadados para descoberta A2A
builder.Services.AddAgent<AssistenteEmpresarialAgent>(agent =>
{
agent.Name = "assistente-empresarial";
agent.Description = "Agente de suporte a decisões executivas";
agent.Version = "1.0.0";
});
var app = builder.Build();
app.MapAgentEndpoints(); // expõe REST + WebSocket + A2A card
await app.RunAsync();
Test — AgentTestHost
// AF 1.0 inclui AgentTestHost para testes unitários/integração
using Microsoft.AgentFramework.Testing;
[Fact]
public async Task Agente_DeveBuscarClimaEResponder()
{
await using var testHost = await AgentTestHost.StartAsync<AssistenteEmpresarialAgent>(
configureServices: services =>
{
services.AddMockAIService(); // LLM mockado
services.AddFakePlugin<ClimaPlugin>(fake =>
fake.Returns("obter_clima", "28°C, ensolarado"));
});
var response = await testHost.SendMessageAsync("Qual o clima hoje?");
Assert.Contains("28°C", response.Content);
}
Deploy — Azure AI Foundry
// Publicar para Azure AI Foundry via CLI ou SDK
// CLI: af deploy --foundry-project meu-projeto --agent assistente-empresarial
// Ou via SDK no pipeline CI/CD:
var foundryClient = new FoundryClient(credential);
await foundryClient.Agents.DeployAsync(new AgentDeployment
{
Name = "assistente-empresarial",
Version = "1.0.0",
ContainerImage = "meu-registry.azurecr.io/assistente:1.0.0",
ScaleSettings = new { MinInstances = 1, MaxInstances = 10 }
});
Monitor — Application Insights + Foundry Dashboard
// AF 1.0 emite telemetria OpenTelemetry por padrão
builder.Services.AddOpenTelemetry()
.WithTracing(tracing => tracing
.AddAgentFrameworkInstrumentation() // spans automáticos por agente/tool
.AddAzureMonitorTraceExporter());
// Métricas disponíveis:
// - agent.invocation.duration
// - agent.tool.calls.count
// - agent.token.usage (prompt + completion)
// - agent.errors.count
🏢 Integração com o ecossistema Microsoft
- Azure AI Foundry: deploy, versionamento, A/B testing e monitoring de agentes
- Copilot Studio: agentes AF 1.0 como ações customizadas em Copilot Studio (M365 Copilot)
- Microsoft 365: agentes podem ser chamados de Teams, Outlook e SharePoint via Copilot connectors
- Azure API Management: throttling, autenticação e monetização de agentes expostos como APIs
Exemplo completo em Python
from microsoft_agent_framework import Agent, AgentContext, kernel_function
from microsoft_agent_framework.azure import AzureOpenAIService
# Define um agente AF 1.0 em Python
class AssistenteEmpresarial(Agent):
def __init__(self):
super().__init__(
name="assistente-empresarial",
description="Suporte a decisões executivas"
)
self.add_service(AzureOpenAIService(
deployment="gpt-4o",
endpoint=os.environ["AZURE_OPENAI_ENDPOINT"]
))
@kernel_function(description="Busca KPIs do ERP")
async def buscar_kpis(self, periodo: str) -> dict:
# Integração com ERP da empresa
return {"receita": 2_500_000, "margem": 0.32}
# Execução local
async def main():
agente = AssistenteEmpresarial()
resposta = await agente.invoke("Como foi o Q1 2026?")
print(resposta)
asyncio.run(main())
Como isso se conecta
- 06-03-01 Semantic Kernel — base do AF 1.0; todos os plugins SK funcionam no AF 1.0
- 06-03-02 AutoGen — a outra metade; graph workflow e multi-agent vêm do AutoGen
- 06-03-04 AF 1.0: MCP, A2A, graph — deep dive nos três features principais
- Módulo 07 (MCP/A2A) — os protocolos de interoperabilidade que o AF 1.0 implementa