<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Foundry | The .NET Blog</title><link>https://thedotnetblog.com/pt/tags/foundry/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>pt</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 02 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/pt/tags/foundry/index.xml" rel="self" type="application/rss+xml"/><item><title>Microsoft Foundry Abril 2026: Foundry Local GA, GPT-5.5, CodeAct com Hyperlight</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/microsoft-foundry-april-2026-whats-new/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/microsoft-foundry-april-2026-whats-new/</guid><description>O resumo de abril do Foundry é denso: Foundry Local atinge GA, GPT-5.5 chega, Agent Framework recebe rastreamento OpenTelemetry, CodeAct executa Python em micro-VMs Hyperlight, e o Painel de Monitoramento de Agentes está disponível.</description><content:encoded>&lt;p&gt;Um mês movimentado para o Microsoft Foundry. Estes são os anúncios mais importantes.&lt;/p&gt;
&lt;h2 id="foundry-local-está-geralmente-disponível"&gt;Foundry Local está Geralmente Disponível&lt;/h2&gt;
&lt;p&gt;Foundry Local — o runtime de IA local multiplataforma da Microsoft — passa de preview para GA no Windows, macOS (Apple Silicon) e Linux x64. Inferência de modelos locais pronta para produção com um SDK amigável para desenvolvedores. A versão 1.1 adiciona suporte a transcrição, embeddings e API Responses.&lt;/p&gt;
&lt;h2 id="gpt-55"&gt;GPT-5.5&lt;/h2&gt;
&lt;p&gt;O mais recente modelo da família GPT-5 está agora disponível no Foundry. Cota padrão para assinaturas Tier 5 e Tier 6. Se você trabalhou com variantes anteriores do GPT-5, vale a pena avaliar para seus casos de uso.&lt;/p&gt;
&lt;h2 id="rastreamento-do-agent-framework-no-foundry"&gt;Rastreamento do Agent Framework no Foundry&lt;/h2&gt;
&lt;p&gt;Dois recursos de rastreamento são lançados em preview este mês:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rastreamento do Microsoft Agent Framework&lt;/strong&gt; — Os agentes MAF agora podem emitir rastreamentos OpenTelemetry no Foundry. Depure o comportamento dos agentes, rastreie a execução em múltiplas etapas, exponha latência e erros nas chamadas de ferramentas. Isso preenche uma lacuna real: saber &lt;em&gt;o que seu agente realmente fez&lt;/em&gt; na produção, não apenas o que retornou.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rastreamento de agentes hospedados&lt;/strong&gt; — Sessões, chamadas de ferramentas e etapas de execução de agentes hospedados também aparecem nos rastreamentos do Foundry. A mesma história de observabilidade estendida ao nível hospedado.&lt;/p&gt;
&lt;h2 id="codeact-com-hyperlight-alpha"&gt;CodeAct com Hyperlight (Alpha)&lt;/h2&gt;
&lt;p&gt;Esta é a adição tecnicamente mais interessante: Agent Framework agora pode executar código Python dentro de micro-máquinas virtuais &lt;a href="https://github.com/hyperlight-dev/hyperlight"&gt;Hyperlight&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;CodeAct é o padrão onde um agente gera e executa código Python como ferramenta. A preocupação óbvia é a segurança — você está executando código gerado pelo modelo. As micro-VMs do Hyperlight fornecem isolamento em nível de processo com tempo de inicialização próximo ao nativo, tornando a execução de código em sandbox prática sem a sobrecarga de contêineres ou VMs completos.&lt;/p&gt;
&lt;p&gt;Para fluxos de trabalho agênticos onde a execução de código é necessária, isso é uma melhoria significativa de segurança em relação à execução de código no processo host.&lt;/p&gt;
&lt;h2 id="painel-de-monitoramento-de-agentes-preview"&gt;Painel de Monitoramento de Agentes (Preview)&lt;/h2&gt;
&lt;p&gt;Um painel de operações unificado combinando uso de tokens, latência, taxa de sucesso de execução e pontuações de avaliadores em uma única visualização. A distinção dos painéis de observabilidade regulares: inclui resultados de avaliação junto com métricas operacionais, para que você possa correlacionar &amp;ldquo;o agente está mais lento&amp;rdquo; com &amp;ldquo;as pontuações do avaliador caíram&amp;rdquo; — ou confirmar que não estão relacionados.&lt;/p&gt;
&lt;h2 id="avaliadores-personalizados-de-avaliação-contínua-preview"&gt;Avaliadores Personalizados de Avaliação Contínua (Preview)&lt;/h2&gt;
&lt;p&gt;Agora você pode trazer seus próprios avaliadores baseados em código ou prompt para pipelines de avaliação contínua. Anteriormente, a avaliação contínua estava limitada a avaliadores integrados. Os avaliadores personalizados permitem que você aplique critérios de qualidade específicos da equipe em seu loop de monitoramento de produção.&lt;/p&gt;
&lt;h2 id="inventário-de-agentes-no-plano-de-controle"&gt;Inventário de Agentes no Plano de Controle&lt;/h2&gt;
&lt;p&gt;A visualização Operate do Plano de Controle do Foundry agora mostra todos os agentes suportados em uma assinatura: agentes Foundry, Azure SRE Agent, loops de agentes do Logic Apps e agentes personalizados registrados. Uma visualização para entender o que está implantado e onde.&lt;/p&gt;
&lt;p&gt;Postagem original: &lt;a href="https://devblogs.microsoft.com/foundry/whats-new-in-microsoft-foundry-apr-2026/"&gt;What&amp;rsquo;s new in Microsoft Foundry | April 2026&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Seu Agente MAF Local Acabou de Ganhar um Lar em Produção</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/maf-agent-local-to-production-foundry-hosted-agents/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/maf-agent-local-to-production-foundry-hosted-agents/</guid><description>Foundry Hosted Agents dá ao seu agente Microsoft Agent Framework identidade, escalamento, persistência de sessão e observabilidade sem configuração adicional. Veja como isso parece na prática.</description><content:encoded>&lt;p&gt;Fazer um agente funcionar localmente é a parte divertida. A parte complicada é tudo que vem depois: implantá-lo sem enlouquecer, gerenciar sessões, configurar identidade, conectar observabilidade. Normalmente isso significa muita infraestrutura personalizada.&lt;/p&gt;
&lt;p&gt;O Foundry Hosted Agents acabou de remover a maior parte dessa infraestrutura para usuários do Microsoft Agent Framework (MAF).&lt;/p&gt;
&lt;h2 id="o-que-o-foundry-hosted-agents-realmente-faz"&gt;O Que o Foundry Hosted Agents Realmente Faz&lt;/h2&gt;
&lt;p&gt;Quando você implanta um agente MAF no Foundry Hosted Agents, a plataforma lida com uma lista surpreendentemente longa de coisas que você teria que construir por conta própria:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Escalar para zero&lt;/strong&gt; — seu agente não custa nada quando ocioso e volta automaticamente&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sandboxes isolados por VM por sessão&lt;/strong&gt; — cada sessão de usuário tem seu próprio sandbox com persistência do sistema de arquivos que sobrevive a eventos de redução de escala&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Entra ID integrado&lt;/strong&gt; — cada agente tem sua própria identidade para chamar modelos Foundry, Toolbox e serviços Azure sem segredos na imagem&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implantações versionadas&lt;/strong&gt; — cada implantação é um snapshot imutável, com suporte a blue/green e canary rollout&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Observabilidade sem configuração&lt;/strong&gt; — &lt;code&gt;APPLICATIONINSIGHTS_CONNECTION_STRING&lt;/code&gt; é injetado em tempo de execução para que os traces OpenTelemetry do MAF fluam automaticamente para o App Insights&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esse último é genuinamente agradável. Sem fiação extra, sem configuração adicional. Os traces simplesmente aparecem.&lt;/p&gt;
&lt;h2 id="a-diferença-no-código-é-mínima"&gt;A Diferença no Código É Mínima&lt;/h2&gt;
&lt;p&gt;Isso é o que mais aprecio nessa integração. Você não reescreve seu agente. Você simplesmente o envolve:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Em .NET:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;Microsoft.Agents.AI.Foundry.Hosting&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;WebApplication&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CreateBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Services&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddFoundryResponses&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Build&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MapFoundryResponses&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Em Python:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ResponsesHostServer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;server&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;É isso. A mesma lógica que você testou localmente é o que roda em produção. A plataforma a envolve na infraestrutura de gerenciamento de sessões, identidade e escalamento.&lt;/p&gt;
&lt;h2 id="dois-protocolos-um-agente"&gt;Dois Protocolos, Um Agente&lt;/h2&gt;
&lt;p&gt;Os Hosted Agents suportam dois estilos de endpoints:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Responses&lt;/strong&gt; (&lt;code&gt;/responses&lt;/code&gt;) — compatível com OpenAI, gerencia histórico de conversas e streaming. Bom padrão para agentes em forma de chat.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Invocations&lt;/strong&gt; (&lt;code&gt;/invocations&lt;/code&gt;) — você define o esquema de requisição/resposta. Bom para workflows não conversacionais.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Se você está construindo algo que parece uma conversa, comece com Responses. Se está construindo um agente em forma de API que recebe entrada estruturada e retorna saída estruturada, Invocations te dá a flexibilidade.&lt;/p&gt;
&lt;h2 id="o-fluxo-de-implantação-com-azd"&gt;O Fluxo de Implantação com &lt;code&gt;azd&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Quando você executa &lt;code&gt;azd up&lt;/code&gt; com um agente MAF:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Opcionalmente cria um projeto Foundry e implanta um modelo&lt;/li&gt;
&lt;li&gt;Empacota seu código e envia uma imagem para o Azure Container Registry&lt;/li&gt;
&lt;li&gt;Provisiona compute a partir da imagem ACR&lt;/li&gt;
&lt;li&gt;Atribui um Entra ID dedicado ao agente&lt;/li&gt;
&lt;li&gt;Expõe um endpoint estável (&lt;code&gt;https://{project_endpoint}/agents/{agent_name}&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Lida com tudo mais a partir desse ponto&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As sessões persistem por até 30 dias. O compute ocioso é desprovisionado após 15 minutos e restaurado transparentemente na próxima requisição. Da perspectiva do agente, nada mudou.&lt;/p&gt;
&lt;h2 id="conclusão"&gt;Conclusão&lt;/h2&gt;
&lt;p&gt;A distância entre &amp;ldquo;funcionando localmente&amp;rdquo; e &amp;ldquo;rodando em produção&amp;rdquo; tem sido historicamente longa e dolorosa para agentes de IA. Foundry Hosted Agents + MAF fecha essa lacuna significativamente. Se você já tem um agente local construído com Agent Framework, vale a pena tentar hoje.&lt;/p&gt;
&lt;p&gt;A equipe diz que o GA está chegando em breve — atualmente está em preview. Confira os &lt;a href="https://learn.microsoft.com/en-us/agent-framework/hosting/foundry-hosted-agent"&gt;docs de integração MAF Hosted Agent&lt;/a&gt; e os &lt;a href="https://github.com/microsoft/agent-framework/tree/main/dotnet/samples/04-hosting/FoundryHostedAgents"&gt;exemplos .NET&lt;/a&gt; para começar.&lt;/p&gt;
&lt;p&gt;Artigo original: &lt;a href="https://devblogs.microsoft.com/agent-framework/from-local-to-production-deploy-your-microsoft-agent-framework-agent-with-foundry-hosted-agents/"&gt;From Local to Production: Deploy Your Microsoft Agent Framework Agent with Foundry Hosted Agents&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Foundry Local 1.1: Transcrição em Tempo Real, Embeddings e a API de Respostas</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-local-11-transcription-embeddings-responses-api/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-local-11-transcription-embeddings-responses-api/</guid><description>Foundry Local 1.1 adiciona transcrição ao vivo do microfone, embeddings de texto e suporte à API de Respostas — tudo a correr localmente sem dependência da cloud, sem latência de rede, sem custo por token.</description><content:encoded>&lt;p&gt;Foundry Local 1.0 provou o conceito: executar modelos de IA localmente no Windows, macOS (Apple Silicon) e Linux x64 com um SDK amigável para desenvolvedores. A versão 1.1 adiciona três capacidades que cobrem muitos casos de uso reais em produção.&lt;/p&gt;
&lt;h2 id="transcrição-de-áudio-em-directo"&gt;Transcrição de Áudio em Directo&lt;/h2&gt;
&lt;p&gt;A nova funcionalidade mais significativa: streaming de voz para texto em tempo real diretamente do microfone. Legendas, interfaces de voz, transcrição de reuniões, ferramentas de acessibilidade — tudo a correr localmente sem qualquer dependência da cloud.&lt;/p&gt;
&lt;p&gt;A API é baseada em sessões e transmite resultados à medida que chegam, com marcadores &lt;code&gt;is_final&lt;/code&gt; para distinguir texto intermédio do finalizado. Disponível para todos os bindings de linguagem: JavaScript, C#, Python e Rust.&lt;/p&gt;
&lt;p&gt;Carrega um modelo de voz em streaming do catálogo, cria uma sessão com definições de áudio (frequência de amostragem, canais, idioma), inicia-a, envia blocos de áudio PCM em bruto e consome o stream assíncrono de resultados. O post tem exemplos completos em Python e C#.&lt;/p&gt;
&lt;h2 id="embeddings-de-texto"&gt;Embeddings de Texto&lt;/h2&gt;
&lt;p&gt;Pesquisa semântica, pipelines RAG, clustering, correspondência de similaridade — tudo isto requer embeddings. Foundry Local 1.1 adiciona suporte para modelos de embedding para que possas gerar vetores localmente a partir do mesmo SDK, sem enviar dados para um endpoint na cloud.&lt;/p&gt;
&lt;p&gt;Para aplicações onde a residência de dados é importante ou onde processas conteúdo sensível, a geração local de embeddings é uma capacidade significativa.&lt;/p&gt;
&lt;h2 id="api-de-respostas"&gt;API de Respostas&lt;/h2&gt;
&lt;p&gt;O Foundry Local suporta agora a &lt;a href="https://platform.openai.com/docs/api-reference/responses"&gt;API de Respostas&lt;/a&gt; — a interface estruturada concebida para interações agênticas. Isto adiciona:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Chamada de ferramentas&lt;/strong&gt; — permite que modelos a correr localmente invoquem ferramentas que defines&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Entrada multimodal visão-linguagem&lt;/strong&gt; — passa imagem + texto a modelos com capacidade de visão&lt;/li&gt;
&lt;li&gt;Compatível com a forma padrão de API, pelo que agentes existentes que apontam para a API de Respostas da OpenAI funcionam contra modelos locais&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="melhorias-no-tamanho-do-pacote"&gt;Melhorias no Tamanho do Pacote&lt;/h2&gt;
&lt;p&gt;Duas alterações reduzem o tamanho do pacote JavaScript:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A camada FFI &lt;code&gt;koffi&lt;/code&gt; foi substituída por um addon C Node-API personalizado&lt;/li&gt;
&lt;li&gt;O fornecedor de execução WebGPU é distribuído como plugin separado, pelo que as aplicações que não precisam de aceleração GPU não pagam o custo de tamanho&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;O SDK C# agora aponta para versões de framework inferiores para compatibilidade .NET mais ampla.&lt;/p&gt;
&lt;h2 id="por-que-importa"&gt;Por Que Importa&lt;/h2&gt;
&lt;p&gt;As três capacidades juntas — transcrição, embeddings, chamada de ferramentas — cobrem os blocos de construção fundamentais de muitas aplicações de IA. Executá-los localmente significa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sem internet necessária&lt;/li&gt;
&lt;li&gt;Sem custos por token&lt;/li&gt;
&lt;li&gt;Sem dados a sair da máquina&lt;/li&gt;
&lt;li&gt;Latência consistente independentemente das condições de rede&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Foundry Local é a escolha certa para cenários de edge, cargas de trabalho sensíveis à privacidade, aplicações offline, ou qualquer coisa onde se queira evitar a dependência da cloud durante o desenvolvimento.&lt;/p&gt;
&lt;p&gt;Post original: &lt;a href="https://devblogs.microsoft.com/foundry/foundry-local-v1-1/"&gt;Foundry Local 1.1: Live Transcription, Embeddings, and Responses API&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>GPT-5.5 Chegou ao Azure Foundry — O que Desenvolvedores .NET Precisam Saber</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/gpt-55-foundry-ga-what-dotnet-developers-need-to-know/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/gpt-55-foundry-ga-what-dotnet-developers-need-to-know/</guid><description>GPT-5.5 está disponível para todos no Microsoft Foundry. A progressão do GPT-5 ao 5.5, o que realmente melhorou e como começar a usá-lo nos seus agentes hoje.</description><content:encoded>&lt;p&gt;&lt;em&gt;Este post foi traduzido automaticamente. Para a versão original, &lt;a href="https://thedotnetblog.com/pt/news/emiliano-montesdeoca/gpt-55-foundry-ga-what-dotnet-developers-need-to-know/"&gt;clique aqui&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A Microsoft acaba de anunciar que &lt;a href="https://azure.microsoft.com/en-us/blog/openais-gpt-5-5-in-microsoft-foundry-frontier-intelligence-on-an-enterprise-ready-platform/"&gt;GPT-5.5 está geralmente disponível no Microsoft Foundry&lt;/a&gt;. Se você tem construído agentes no Azure, esta é a atualização que você estava esperando.&lt;/p&gt;
&lt;h2 id="a-progressão-do-gpt-5"&gt;A progressão do GPT-5&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPT-5&lt;/strong&gt;: unificou raciocínio e velocidade em um único sistema&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT-5.4&lt;/strong&gt;: raciocínio multi-etapas mais sólido, capacidades agênticas para empresas&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT-5.5&lt;/strong&gt;: raciocínio de contexto longo mais profundo, execução agêntica mais confiável, maior eficiência de tokens&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="o-que-realmente-mudou"&gt;O que realmente mudou&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Codificação agêntica aprimorada&lt;/strong&gt;: GPT-5.5 mantém contexto em grandes bases de código, diagnostica falhas arquiteturais e antecipa requisitos de testes. O modelo raciocina sobre &lt;em&gt;o que mais&lt;/em&gt; uma correção afeta antes de agir.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eficiência de tokens&lt;/strong&gt;: Saídas de maior qualidade com menos tokens e menos tentativas. Custo e latência diretamente menores em produção.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Análise de contexto longo&lt;/strong&gt;: Lida com documentos extensos e históricos multi-sessão sem perder o fio.&lt;/p&gt;
&lt;h2 id="preços"&gt;Preços&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modelo&lt;/th&gt;
&lt;th&gt;Entrada ($/M tokens)&lt;/th&gt;
&lt;th&gt;Entrada em cache&lt;/th&gt;
&lt;th&gt;Saída ($/M tokens)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;$5,00&lt;/td&gt;
&lt;td&gt;$0,50&lt;/td&gt;
&lt;td&gt;$30,00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5 Pro&lt;/td&gt;
&lt;td&gt;$30,00&lt;/td&gt;
&lt;td&gt;$3,00&lt;/td&gt;
&lt;td&gt;$180,00&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="por-que-o-foundry-importa"&gt;Por que o Foundry importa&lt;/h2&gt;
&lt;p&gt;O Foundry Agent Service permite definir agentes em YAML ou conectá-los com Microsoft Agent Framework, GitHub Copilot SDK, LangGraph ou OpenAI Agents SDK — e executá-los como agentes hospedados isolados com sistema de arquivos persistente, identidade Microsoft Entra e preços de escala a zero.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;AIAgent&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;aiProjectClient&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AsAIAgent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;gpt-5.5&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;instructions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Você é um assistente útil.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;MeuAgente&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Veja o &lt;a href="https://azure.microsoft.com/en-us/blog/openais-gpt-5-5-in-microsoft-foundry-frontier-intelligence-on-an-enterprise-ready-platform/"&gt;anúncio completo&lt;/a&gt; para todos os detalhes.&lt;/p&gt;</content:encoded></item><item><title>O RFT do Foundry ficou mais barato e inteligente — Veja o que mudou</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-fine-tuning-april-2026-rft-graders/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-fine-tuning-april-2026-rft-graders/</guid><description>A Microsoft Foundry lançou três atualizações de RFT este mês: treinamento global para o4-mini, novos avaliadores de modelo GPT-4.1 e um guia de boas práticas que vai te poupar horas de debugging.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Este post foi traduzido automaticamente. Para a versão original, &lt;a href="https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-fine-tuning-april-2026-rft-graders/"&gt;clique aqui&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Se você está desenvolvendo aplicações .NET que dependem de modelos fine-tunados, as atualizações do Foundry deste mês merecem sua atenção. O Reinforcement Fine-Tuning ficou mais acessível e significativamente mais barato.&lt;/p&gt;
&lt;p&gt;Os detalhes completos estão no &lt;a href="https://devblogs.microsoft.com/foundry/whats-new-in-foundry-finetune-april-2026/"&gt;anúncio oficial&lt;/a&gt;, mas aqui vai o resumo prático.&lt;/p&gt;
&lt;h2 id="treinamento-global-para-o4-mini"&gt;Treinamento Global para o4-mini&lt;/h2&gt;
&lt;p&gt;o4-mini é o modelo preferido para cargas de trabalho pesadas em raciocínio e agentes. A grande novidade: agora você pode iniciar jobs de fine-tuning a partir de mais de 13 regiões Azure com taxas de treinamento por token mais baixas em comparação com o treinamento Standard. Mesma infraestrutura, mesma qualidade, maior alcance.&lt;/p&gt;
&lt;p&gt;Se sua equipe está distribuída geograficamente, isso importa. Você não está mais preso a um punhado de regiões para treinar.&lt;/p&gt;
&lt;p&gt;Aqui está a chamada da API REST para iniciar um job de treinamento global:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -X POST &lt;span class="s2"&gt;&amp;#34;https://&amp;lt;your-resource&amp;gt;.openai.azure.com/openai/fine_tuning/jobs?api-version=2025-04-01-preview&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -H &lt;span class="s2"&gt;&amp;#34;Content-Type: application/json&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -H &lt;span class="s2"&gt;&amp;#34;api-key: &lt;/span&gt;&lt;span class="nv"&gt;$AZURE_OPENAI_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -d &lt;span class="s1"&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;model&amp;#34;: &amp;#34;o4-mini&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;training_file&amp;#34;: &amp;#34;&amp;lt;your-training-file-id&amp;gt;&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;method&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;type&amp;#34;: &amp;#34;reinforcement&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;reinforcement&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;grader&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;type&amp;#34;: &amp;#34;string_check&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;name&amp;#34;: &amp;#34;answer-check&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;input&amp;#34;: &amp;#34;{{sample.output_text}}&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;reference&amp;#34;: &amp;#34;{{item.reference_answer}}&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;operation&amp;#34;: &amp;#34;eq&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;hyperparameters&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;n_epochs&amp;#34;: 2,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;compute_multiplier&amp;#34;: 1.0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#34;trainingType&amp;#34;: &amp;#34;globalstandard&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Essa flag &lt;code&gt;trainingType: globalstandard&lt;/code&gt; é a diferença chave.&lt;/p&gt;
&lt;h2 id="novos-avaliadores-de-modelo-família-gpt-41"&gt;Novos Avaliadores de Modelo: Família GPT-4.1&lt;/h2&gt;
&lt;p&gt;Avaliadores definem o sinal de recompensa contra o qual seu modelo otimiza. Até agora, avaliadores baseados em modelo eram limitados a um conjunto menor de modelos. Agora você tem três novas opções: GPT-4.1, GPT-4.1-mini e GPT-4.1-nano.&lt;/p&gt;
&lt;p&gt;Quando você deve usar avaliadores de modelo em vez de determinísticos? Quando a saída da sua tarefa é aberta, quando você precisa de pontuação parcial em múltiplas dimensões, ou quando está construindo workflows com agentes onde a correção das chamadas de ferramentas depende do contexto semântico.&lt;/p&gt;
&lt;p&gt;A questão é que a estratégia de níveis é prática:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPT-4.1-nano&lt;/strong&gt; para iterações iniciais. Baixo custo, ciclos de feedback rápidos.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT-4.1-mini&lt;/strong&gt; quando sua rubrica de avaliação estiver estável e você precisar de maior fidelidade.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT-4.1&lt;/strong&gt; para avaliação em produção ou rubricas complexas onde cada decisão de pontuação conta.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Você pode até misturar tipos de avaliadores em um único job de RFT. Use string-match para a dimensão de &amp;ldquo;resposta correta&amp;rdquo; e um avaliador de modelo para avaliar a qualidade do raciocínio. Essa flexibilidade é honestamente o que torna isso útil para cargas de trabalho reais.&lt;/p&gt;
&lt;h2 id="a-pegadinha-do-formato-de-dados-do-rft"&gt;A Pegadinha do Formato de Dados do RFT&lt;/h2&gt;
&lt;p&gt;Isso confunde muita gente. O formato de dados do RFT é diferente do SFT. A última mensagem em cada linha deve ter o papel User ou Developer — não Assistant. A resposta esperada vai em uma chave de nível superior como &lt;code&gt;reference_answer&lt;/code&gt; que o avaliador referencia diretamente.&lt;/p&gt;
&lt;p&gt;Se você estava fazendo supervised fine-tuning e quer mudar para RFT, precisa reestruturar seus dados de treinamento. Não pule essa etapa ou seus jobs vão falhar silenciosamente.&lt;/p&gt;
&lt;h2 id="por-que-isso-importa-para-desenvolvedores-net"&gt;Por Que Isso Importa para Desenvolvedores .NET&lt;/h2&gt;
&lt;p&gt;Se você está chamando modelos fine-tunados nas suas aplicações .NET através do SDK Azure OpenAI, treinamento mais barato significa que você pode iterar de forma mais agressiva. As opções de avaliadores de modelo significam que você pode fazer fine-tuning para tarefas com nuances — não apenas cenários de correspondência exata. E o guia de boas práticas no &lt;a href="https://github.com/microsoft-foundry/fine-tuning/blob/main/Demos/Agentic_RFT_PrivatePreview/RFT_Best_Practice.md"&gt;GitHub&lt;/a&gt; vai te poupar tempo real de debugging.&lt;/p&gt;
&lt;p&gt;Comece pequeno. Dez a cem amostras. Avaliador simples. Valide o ciclo. Depois escale.&lt;/p&gt;</content:encoded></item><item><title>Conecte seus servidores MCP no Azure Functions aos Foundry Agents — Veja como</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-agents-mcp-servers-azure-functions/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-agents-mcp-servers-azure-functions/</guid><description>Construa seu servidor MCP uma vez, faça deploy no Azure Functions e conecte-o aos agentes Microsoft Foundry com autenticação adequada. Suas ferramentas funcionam em qualquer lugar — VS Code, Cursor e agora agentes de IA empresariais.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Este post foi traduzido automaticamente. Para a versão original, &lt;a href="https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-agents-mcp-servers-azure-functions/"&gt;clique aqui&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Isso é algo que eu amo no ecossistema MCP: você constrói seu servidor uma vez e ele funciona em qualquer lugar. VS Code, Visual Studio, Cursor, ChatGPT — cada cliente MCP pode descobrir e usar suas ferramentas. Agora, a Microsoft está adicionando mais um consumidor a essa lista: os agentes Foundry.&lt;/p&gt;
&lt;p&gt;Lily Ma da equipe do Azure SDK &lt;a href="https://devblogs.microsoft.com/azure-sdk/give-your-foundry-agent-custom-tools-with-mcp-servers-on-azure-functions/"&gt;publicou um guia prático&lt;/a&gt; sobre como conectar servidores MCP implantados no Azure Functions com agentes Microsoft Foundry. Se você já tem um servidor MCP, isso é puro valor agregado — sem necessidade de reconstruir nada.&lt;/p&gt;
&lt;h2 id="por-que-essa-combinação-faz-sentido"&gt;Por que essa combinação faz sentido&lt;/h2&gt;
&lt;p&gt;Azure Functions te dá infraestrutura escalável, autenticação integrada e cobrança serverless para hospedar servidores MCP. Microsoft Foundry te dá agentes de IA que podem raciocinar, planejar e agir. Conectar os dois significa que suas ferramentas personalizadas — consultar um banco de dados, chamar uma API de negócio, executar lógica de validação — se tornam capacidades que agentes de IA empresariais podem descobrir e usar autonomamente.&lt;/p&gt;
&lt;p&gt;O ponto-chave: seu servidor MCP continua o mesmo. Você está apenas adicionando o Foundry como mais um consumidor. As mesmas ferramentas que funcionam no seu setup do VS Code agora alimentam um agente de IA com o qual sua equipe ou clientes interagem.&lt;/p&gt;
&lt;h2 id="opções-de-autenticação"&gt;Opções de autenticação&lt;/h2&gt;
&lt;p&gt;É aqui que o post realmente agrega valor. Quatro métodos de autenticação dependendo do seu cenário:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Método&lt;/th&gt;
&lt;th&gt;Caso de uso&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Baseado em chave&lt;/strong&gt; (padrão)&lt;/td&gt;
&lt;td&gt;Desenvolvimento ou servidores sem autenticação Entra&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Microsoft Entra&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Produção com identidades gerenciadas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Passthrough de identidade OAuth&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Produção onde cada usuário se autentica individualmente&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Sem autenticação&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dev/testes ou apenas dados públicos&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Para produção, Microsoft Entra com identidade do agente é o caminho recomendado. O passthrough de identidade OAuth é para quando o contexto do usuário importa — o agente solicita que os usuários façam login, e cada requisição carrega o token próprio do usuário.&lt;/p&gt;
&lt;h2 id="configurando"&gt;Configurando&lt;/h2&gt;
&lt;p&gt;O fluxo geral:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Faça deploy do seu servidor MCP no Azure Functions&lt;/strong&gt; — exemplos disponíveis para &lt;a href="https://github.com/Azure-Samples/remote-mcp-functions-dotnet"&gt;.NET&lt;/a&gt;, Python, TypeScript e Java&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Habilite a autenticação MCP integrada&lt;/strong&gt; na sua function app&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Obtenha sua URL de endpoint&lt;/strong&gt; — &lt;code&gt;https://&amp;lt;FUNCTION_APP_NAME&amp;gt;.azurewebsites.net/runtime/webhooks/mcp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adicione o servidor MCP como ferramenta no Foundry&lt;/strong&gt; — navegue até seu agente no portal, adicione uma nova ferramenta MCP, forneça o endpoint e as credenciais&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Depois teste no playground do Agent Builder enviando um prompt que acionaria uma das suas ferramentas.&lt;/p&gt;
&lt;h2 id="minha-opinião"&gt;Minha opinião&lt;/h2&gt;
&lt;p&gt;A história de composabilidade aqui está ficando realmente forte. Construa seu servidor MCP uma vez em .NET (ou Python, TypeScript, Java), faça deploy no Azure Functions, e cada cliente compatível com MCP pode usá-lo — ferramentas de programação, apps de chat, e agora agentes de IA empresariais. É um padrão &amp;ldquo;escreva uma vez, use em qualquer lugar&amp;rdquo; que realmente funciona.&lt;/p&gt;
&lt;p&gt;Para desenvolvedores .NET especificamente, a &lt;a href="https://github.com/Azure-Samples/remote-mcp-functions-dotnet"&gt;extensão MCP do Azure Functions&lt;/a&gt; torna isso simples. Você define suas ferramentas como Azure Functions, faz deploy, e tem um servidor MCP de nível de produção com toda a segurança e escalabilidade que o Azure Functions proporciona.&lt;/p&gt;
&lt;h2 id="finalizando"&gt;Finalizando&lt;/h2&gt;
&lt;p&gt;Se você tem ferramentas MCP rodando no Azure Functions, conectá-las aos agentes Foundry é uma vitória rápida — suas ferramentas personalizadas se tornam capacidades de IA empresarial com autenticação adequada e sem alterações de código no servidor.&lt;/p&gt;
&lt;p&gt;Leia o &lt;a href="https://devblogs.microsoft.com/azure-sdk/give-your-foundry-agent-custom-tools-with-mcp-servers-on-azure-functions/"&gt;guia completo&lt;/a&gt; para instruções passo a passo sobre cada método de autenticação, e confira a &lt;a href="https://learn.microsoft.com/azure/azure-functions/functions-mcp-foundry-tools?tabs=entra%2Cmcp-extension%2Cfoundry"&gt;documentação detalhada&lt;/a&gt; para configurações de produção.&lt;/p&gt;</content:encoded></item><item><title>Microsoft Foundry Março 2026 — GPT-5.4, Agent Service GA e a Atualização do SDK Que Muda Tudo</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/microsoft-foundry-march-2026-whats-new/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/microsoft-foundry-march-2026-whats-new/</guid><description>A atualização de março de 2026 do Microsoft Foundry é gigante: Agent Service chega ao GA, GPT-5.4 traz raciocínio confiável, o SDK azure-ai-projects se estabiliza em todas as linguagens, e Fireworks AI traz modelos abertos para o Azure.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Este post foi traduzido automaticamente. Para a versão original, &lt;a href="https://thedotnetblog.com/pt/news/emiliano-montesdeoca/microsoft-foundry-march-2026-whats-new/"&gt;clique aqui&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Os posts mensais de &amp;ldquo;Novidades no Microsoft Foundry&amp;rdquo; costumam ser uma mistura de melhorias incrementais e alguma funcionalidade destaque ocasional. A &lt;a href="https://devblogs.microsoft.com/foundry/whats-new-in-microsoft-foundry-mar-2026/"&gt;edição de março de 2026&lt;/a&gt;? É basicamente tudo destaque. Foundry Agent Service chega ao GA, GPT-5.4 é lançado para produção, o SDK recebe uma grande versão estável, e Fireworks AI traz inferência de modelos abertos para o Azure. Vamos detalhar o que importa para desenvolvedores .NET.&lt;/p&gt;
&lt;h2 id="foundry-agent-service-está-pronto-para-produção"&gt;Foundry Agent Service está pronto para produção&lt;/h2&gt;
&lt;p&gt;Essa é a grande novidade. O runtime de agentes de nova geração está em disponibilidade geral — construído sobre a API Responses da OpenAI, compatível em protocolo com agentes OpenAI, e aberto a modelos de múltiplos provedores. Se você está construindo com a API Responses hoje, migrar para o Foundry adiciona segurança empresarial, rede privada, RBAC do Entra, rastreamento completo e avaliação sobre sua lógica de agentes existente.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.ai.projects&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.ai.projects.models&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;PromptAgentDefinition&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;project_client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;AZURE_AI_PROJECT_ENDPOINT&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;credential&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;DefaultAzureCredential&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;project_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;agents&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create_version&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;agent_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;my-enterprise-agent&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;definition&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;PromptAgentDefinition&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;AZURE_AI_MODEL_DEPLOYMENT_NAME&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;instructions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;You are a helpful assistant.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Adições principais: rede privada de ponta a ponta, expansão de autenticação MCP (incluindo passthrough OAuth), preview do Voice Live para agentes de voz para voz, e agentes hospedados em 6 novas regiões.&lt;/p&gt;
&lt;h2 id="gpt-54--confiabilidade-acima-de-inteligência-pura"&gt;GPT-5.4 — confiabilidade acima de inteligência pura&lt;/h2&gt;
&lt;p&gt;GPT-5.4 não é sobre ser mais inteligente. É sobre ser mais confiável. Raciocínio mais forte em interações longas, melhor aderência a instruções, menos falhas no meio de workflows, e capacidades integradas de uso de computador. Para agentes em produção, essa confiabilidade importa muito mais do que pontuações em benchmarks.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modelo&lt;/th&gt;
&lt;th&gt;Preço (por M tokens)&lt;/th&gt;
&lt;th&gt;Ideal Para&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.4 (≤272K)&lt;/td&gt;
&lt;td&gt;$2.50 / $15 saída&lt;/td&gt;
&lt;td&gt;Agentes em produção, código, fluxos de documentos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.4 Pro&lt;/td&gt;
&lt;td&gt;$30 / $180 saída&lt;/td&gt;
&lt;td&gt;Análise profunda, raciocínio científico&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.4 Mini&lt;/td&gt;
&lt;td&gt;Econômico&lt;/td&gt;
&lt;td&gt;Classificação, extração, chamadas leves de ferramentas&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;A jogada inteligente é uma estratégia de roteamento: GPT-5.4 Mini lida com o trabalho de alto volume e baixa latência enquanto GPT-5.4 cuida das solicitações com raciocínio pesado.&lt;/p&gt;
&lt;h2 id="o-sdk-finalmente-está-estável"&gt;O SDK finalmente está estável&lt;/h2&gt;
&lt;p&gt;O SDK &lt;code&gt;azure-ai-projects&lt;/code&gt; lançou versões estáveis em todas as linguagens — Python 2.0.0, JS/TS 2.0.0, Java 2.0.0, e .NET 2.0.0 (1º de abril). A dependência do &lt;code&gt;azure-ai-agents&lt;/code&gt; sumiu — tudo vive sob &lt;code&gt;AIProjectClient&lt;/code&gt;. Instale com &lt;code&gt;pip install azure-ai-projects&lt;/code&gt; e o pacote inclui &lt;code&gt;openai&lt;/code&gt; e &lt;code&gt;azure-identity&lt;/code&gt; como dependências diretas.&lt;/p&gt;
&lt;p&gt;Para desenvolvedores .NET, isso significa um único pacote NuGet para toda a superfície do Foundry. Chega de malabarismo com SDKs de agentes separados.&lt;/p&gt;
&lt;h2 id="fireworks-ai-traz-modelos-abertos-para-o-azure"&gt;Fireworks AI traz modelos abertos para o Azure&lt;/h2&gt;
&lt;p&gt;Talvez a adição mais interessante arquitetonicamente: Fireworks AI processando mais de 13 trilhões de tokens por dia a ~180K requisições/segundo, agora disponível através do Foundry. DeepSeek V3.2, gpt-oss-120b, Kimi K2.5, e MiniMax M2.5 no lançamento.&lt;/p&gt;
&lt;p&gt;A verdadeira história é o &lt;strong&gt;bring-your-own-weights&lt;/strong&gt; — faça upload de pesos quantizados ou fine-tunados de qualquer lugar sem mudar a stack de serving. Deploy via serverless pay-per-token ou throughput provisionado.&lt;/p&gt;
&lt;h2 id="outros-destaques"&gt;Outros destaques&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Phi-4 Reasoning Vision 15B&lt;/strong&gt; — raciocínio multimodal para gráficos, diagramas e layouts de documentos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evaluations GA&lt;/strong&gt; — avaliadores prontos para uso com monitoramento contínuo de produção integrado ao Azure Monitor&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Priority Processing&lt;/strong&gt; (Preview) — faixa de computação dedicada para cargas de trabalho sensíveis à latência&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Voice Live&lt;/strong&gt; — runtime de voz para voz que se conecta diretamente aos agentes do Foundry&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tracing GA&lt;/strong&gt; — inspeção de rastreamento de agentes de ponta a ponta com ordenação e filtragem&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Depreciação do PromptFlow&lt;/strong&gt; — migração para Microsoft Framework Workflows até janeiro de 2027&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="conclusão"&gt;Conclusão&lt;/h2&gt;
&lt;p&gt;Março de 2026 é um ponto de virada para o Foundry. Agent Service GA, SDKs estáveis em todas as linguagens, GPT-5.4 para agentes de produção confiáveis, e inferência de modelos abertos via Fireworks AI — a plataforma está pronta para cargas de trabalho sérias.&lt;/p&gt;
&lt;p&gt;Leia o &lt;a href="https://devblogs.microsoft.com/foundry/whats-new-in-microsoft-foundry-mar-2026/"&gt;resumo completo&lt;/a&gt; e &lt;a href="https://learn.microsoft.com/azure/foundry/quickstarts/get-started-code"&gt;crie seu primeiro agente&lt;/a&gt; para começar.&lt;/p&gt;</content:encoded></item><item><title>Azure DevOps MCP Server chega ao Microsoft Foundry: O que isso significa para seus agentes de IA</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/azure-devops-mcp-server-microsoft-foundry/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/azure-devops-mcp-server-microsoft-foundry/</guid><description>O Azure DevOps MCP Server agora está disponível no Microsoft Foundry. Conecte seus agentes de IA diretamente aos workflows de DevOps — work items, repos, pipelines — com poucos cliques.</description><content:encoded>&lt;p&gt;MCP (Model Context Protocol) está tendo seu momento. Se você tem acompanhado o ecossistema de agentes de IA, provavelmente notou servidores MCP surgindo por todo lado — dando aos agentes a capacidade de interagir com ferramentas e serviços externos através de um protocolo padronizado.&lt;/p&gt;
&lt;p&gt;Agora o &lt;a href="https://devblogs.microsoft.com/devops/remote-mcp-server-preview-in-microsoft-foundry/"&gt;Azure DevOps MCP Server está disponível no Microsoft Foundry&lt;/a&gt;, e essa é uma daquelas integrações que faz você pensar nas possibilidades práticas.&lt;/p&gt;
&lt;h2 id="o-que-está-realmente-acontecendo-aqui"&gt;O que está realmente acontecendo aqui&lt;/h2&gt;
&lt;p&gt;A Microsoft já lançou o Azure DevOps MCP Server como &lt;a href="https://devblogs.microsoft.com/devops/azure-devops-remote-mcp-server-public-preview"&gt;public preview&lt;/a&gt; — esse é o servidor MCP em si. A novidade é a integração com o Foundry. Agora você pode adicionar o Azure DevOps MCP Server aos seus agentes Foundry diretamente do catálogo de ferramentas.&lt;/p&gt;
&lt;p&gt;Para quem ainda não conhece o Foundry: é a plataforma unificada da Microsoft para construir e gerenciar aplicações e agentes alimentados por IA em escala. Acesso a modelos, orquestração, avaliação, deploy — tudo em um só lugar.&lt;/p&gt;
&lt;h2 id="configurando"&gt;Configurando&lt;/h2&gt;
&lt;p&gt;A configuração é surpreendentemente simples:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;No seu agente Foundry, vá para &lt;strong&gt;Add Tools&lt;/strong&gt; &amp;gt; &lt;strong&gt;Catalog&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Busque &amp;ldquo;Azure DevOps&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Selecione o Azure DevOps MCP Server (preview) e clique em &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Insira o nome da sua organização e conecte&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Isso é tudo. Seu agente agora tem acesso às ferramentas do Azure DevOps.&lt;/p&gt;
&lt;h2 id="controlando-o-que-seu-agente-pode-acessar"&gt;Controlando o que seu agente pode acessar&lt;/h2&gt;
&lt;p&gt;Essa é a parte que eu aprecio: você não está preso a uma abordagem de tudo-ou-nada. Você pode especificar quais ferramentas estão disponíveis para seu agente. Então se você quer que ele apenas leia work items mas não toque em pipelines, pode configurar isso. Princípio do menor privilégio, aplicado aos seus agentes de IA.&lt;/p&gt;
&lt;p&gt;Isso importa para cenários enterprise onde você não quer que um agente acidentalmente dispare um pipeline de deploy porque alguém pediu para ele &amp;ldquo;ajudar com o release.&amp;rdquo;&lt;/p&gt;
&lt;h2 id="por-que-isso-é-interessante-para-equipes-net"&gt;Por que isso é interessante para equipes .NET&lt;/h2&gt;
&lt;p&gt;Pense no que isso possibilita na prática:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Assistentes de planejamento de sprint&lt;/strong&gt; — agentes que podem buscar work items, analisar dados de velocidade e sugerir capacidade de sprint&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bots de code review&lt;/strong&gt; — agentes que entendem o contexto do seu PR porque podem realmente ler seus repos e work items vinculados&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resposta a incidentes&lt;/strong&gt; — agentes que podem criar work items, consultar deploys recentes e correlacionar bugs com mudanças recentes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Onboarding de desenvolvedores&lt;/strong&gt; — &amp;ldquo;No que devo trabalhar?&amp;rdquo; recebe uma resposta real baseada em dados reais do projeto&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para equipes .NET que já usam Azure DevOps para seus pipelines de CI/CD e gerenciamento de projetos, ter um agente de IA que pode interagir diretamente com esses sistemas é um passo significativo em direção à automação útil.&lt;/p&gt;
&lt;h2 id="o-panorama-maior-do-mcp"&gt;O panorama maior do MCP&lt;/h2&gt;
&lt;p&gt;Isso faz parte de uma tendência mais ampla: servidores MCP estão se tornando a forma padrão como agentes de IA interagem com o mundo exterior. Estamos vendo para GitHub, Azure DevOps, bancos de dados, APIs SaaS — e o Foundry está se tornando o hub onde todas essas conexões se encontram.&lt;/p&gt;
&lt;p&gt;Se você está construindo agentes no ecossistema .NET, vale a pena prestar atenção ao MCP. O protocolo é padronizado, as ferramentas estão amadurecendo, e a integração com Foundry torna acessível sem precisar configurar manualmente conexões de servidor.&lt;/p&gt;
&lt;h2 id="para-finalizar"&gt;Para finalizar&lt;/h2&gt;
&lt;p&gt;O Azure DevOps MCP Server no Foundry está em preview, então espere que ele evolua. Mas o workflow principal é sólido: conectar, configurar acesso às ferramentas e deixar seus agentes trabalharem com seus dados de DevOps. Se você já está no ecossistema Foundry, está a poucos cliques. Experimente e veja quais workflows você consegue construir.&lt;/p&gt;
&lt;p&gt;Confira o &lt;a href="https://devblogs.microsoft.com/devops/remote-mcp-server-preview-in-microsoft-foundry/"&gt;anúncio completo&lt;/a&gt; para a configuração passo a passo e mais detalhes.&lt;/p&gt;</content:encoded></item><item><title>Do laptop à produção: implantando agentes de IA no Microsoft Foundry com dois comandos</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/</guid><description>O Azure Developer CLI agora tem comandos 'azd ai agent' que levam seu agente de IA do desenvolvimento local a um endpoint Foundry em produção em minutos. Aqui está o fluxo de trabalho completo.</description><content:encoded>&lt;p&gt;Você conhece aquela lacuna entre &amp;ldquo;funciona na minha máquina&amp;rdquo; e &amp;ldquo;está implantado e servindo tráfego&amp;rdquo;? Para agentes de IA, essa lacuna tem sido dolorosamente ampla. Você precisa provisionar recursos, implantar modelos, configurar identidade, montar monitoramento — e isso é antes de qualquer pessoa poder realmente chamar seu agente.&lt;/p&gt;
&lt;p&gt;O Azure Developer CLI acabou de transformar isso em &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;uma questão de dois comandos&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="o-novo-fluxo-de-trabalho-azd-ai-agent"&gt;O novo fluxo de trabalho &lt;code&gt;azd ai agent&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Deixe-me mostrar como isso realmente se parece. Você tem um projeto de agente de IA — digamos um agente concierge de hotel. Funciona localmente. Você quer ele rodando no Microsoft Foundry.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Isso é tudo. Dois comandos. &lt;code&gt;azd ai agent init&lt;/code&gt; gera a infraestrutura como código no seu repositório, e &lt;code&gt;azd up&lt;/code&gt; provisiona tudo no Azure e publica seu agente. Você recebe um link direto para seu agente no portal Foundry.&lt;/p&gt;
&lt;h2 id="o-que-acontece-por-baixo-dos-panos"&gt;O que acontece por baixo dos panos&lt;/h2&gt;
&lt;p&gt;O comando &lt;code&gt;init&lt;/code&gt; gera templates Bicep reais e inspecionáveis no seu repositório:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Um &lt;strong&gt;Foundry Resource&lt;/strong&gt; (contêiner de nível superior)&lt;/li&gt;
&lt;li&gt;Um &lt;strong&gt;Foundry Project&lt;/strong&gt; (onde seu agente vive)&lt;/li&gt;
&lt;li&gt;Configuração de &lt;strong&gt;implantação de modelo&lt;/strong&gt; (GPT-4o, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identidade gerenciada&lt;/strong&gt; com atribuições de papéis RBAC apropriadas&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azure.yaml&lt;/code&gt; para o mapa de serviços&lt;/li&gt;
&lt;li&gt;&lt;code&gt;agent.yaml&lt;/code&gt; com metadados do agente e variáveis de ambiente&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;O ponto chave: tudo isso é seu. É Bicep versionado no seu repositório. Você pode inspecioná-lo, customizá-lo e fazer commit junto com o código do seu agente. Sem caixas pretas mágicas.&lt;/p&gt;
&lt;h2 id="o-ciclo-interno-de-desenvolvimento"&gt;O ciclo interno de desenvolvimento&lt;/h2&gt;
&lt;p&gt;O que eu realmente gosto é a história de desenvolvimento local. Quando você está iterando na lógica do agente, não quer reimplantar toda vez que muda um prompt:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Isso inicia seu agente localmente. Combine com &lt;code&gt;azd ai agent invoke&lt;/code&gt; para enviar prompts de teste, e você tem um ciclo de feedback apertado. Editar código, reiniciar, invocar, repetir.&lt;/p&gt;
&lt;p&gt;O comando &lt;code&gt;invoke&lt;/code&gt; também é inteligente no roteamento — quando um agente local está rodando, ele aponta automaticamente para ele. Quando não está, vai para o endpoint remoto.&lt;/p&gt;
&lt;h2 id="monitoramento-em-tempo-real"&gt;Monitoramento em tempo real&lt;/h2&gt;
&lt;p&gt;Esta é a funcionalidade que me convenceu. Uma vez que seu agente está implantado:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent monitor --follow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cada requisição e resposta fluindo pelo seu agente é transmitida para seu terminal em tempo real. Para depurar problemas em produção, isso é inestimável. Sem vasculhar log analytics, sem esperar métricas agregarem — você vê o que está acontecendo agora.&lt;/p&gt;
&lt;h2 id="o-conjunto-completo-de-comandos"&gt;O conjunto completo de comandos&lt;/h2&gt;
&lt;p&gt;Aqui a referência rápida:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Comando&lt;/th&gt;
&lt;th&gt;O que faz&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent init&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Gera um projeto de agente Foundry com IaC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd up&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Provisiona recursos Azure e implanta o agente&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Envia prompts ao agente remoto ou local&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent run&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Executa o agente localmente para desenvolvimento&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Transmite logs em tempo real do agente publicado&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent show&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Verifica saúde e status do agente&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd down&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Limpa todos os recursos Azure&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="por-que-isso-importa-para-desenvolvedores-net"&gt;Por que isso importa para desenvolvedores .NET&lt;/h2&gt;
&lt;p&gt;Embora o exemplo do anúncio seja baseado em Python, a história de infraestrutura é agnóstica a linguagem. Seu agente .NET recebe o mesmo scaffolding Bicep, a mesma configuração de identidade gerenciada, o mesmo pipeline de monitoramento. E se você já usa &lt;code&gt;azd&lt;/code&gt; para suas apps .NET Aspire ou implantações Azure, isso se encaixa direto no seu fluxo de trabalho existente.&lt;/p&gt;
&lt;p&gt;A lacuna de implantação para agentes de IA tem sido um dos maiores pontos de fricção no ecossistema. Ir de um protótipo funcional a um endpoint de produção com identidade, rede e monitoramento adequados não deveria exigir uma semana de trabalho DevOps. Agora requer dois comandos e alguns minutos.&lt;/p&gt;
&lt;h2 id="para-finalizar"&gt;Para finalizar&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd ai agent&lt;/code&gt; está disponível agora. Se você tem adiado a implantação dos seus agentes de IA porque a configuração de infraestrutura parecia trabalho demais, experimente. Confira o &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;tutorial completo&lt;/a&gt; para o passo a passo completo incluindo integração de app de chat frontend.&lt;/p&gt;</content:encoded></item><item><title>Foundry Agent Service está GA: O que realmente importa para construtores de agentes .NET</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-agent-service-ga-what-matters/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/foundry-agent-service-ga-what-matters/</guid><description>O Foundry Agent Service da Microsoft acaba de chegar ao GA com rede privada, Voice Live, avaliações de produção e um runtime multi-modelo aberto. Aqui está o que você precisa saber.</description><content:encoded>&lt;p&gt;Vamos ser honestos — construir um protótipo de agente IA é a parte fácil. A parte difícil é tudo o que vem depois: colocá-lo em produção com isolamento de rede adequado, executar avaliações que realmente signifiquem algo, lidar com requisitos de conformidade e não quebrar nada às 2 da manhã.&lt;/p&gt;
&lt;p&gt;O &lt;a href="https://devblogs.microsoft.com/foundry/foundry-agent-service-ga/"&gt;Foundry Agent Service acabou de chegar ao GA&lt;/a&gt;, e esta versão está focada como um laser nessa lacuna do &amp;ldquo;tudo que vem depois&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="construído-sobre-a-responses-api"&gt;Construído sobre a Responses API&lt;/h2&gt;
&lt;p&gt;A manchete: o Foundry Agent Service de próxima geração é construído sobre a OpenAI Responses API. Se você já está construindo com esse protocolo, migrar para o Foundry requer mudanças mínimas de código. O que você ganha: segurança empresarial, rede privada, RBAC Entra, rastreamento completo e avaliação — sobre sua lógica de agente existente.&lt;/p&gt;
&lt;p&gt;A arquitetura é intencionalmente aberta. Você não está preso a um provedor de modelo ou um framework de orquestração. Use DeepSeek para planejamento, OpenAI para geração, LangGraph para orquestração — o runtime cuida da camada de consistência.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.ai.projects&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.ai.projects.models&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;PromptAgentDefinition&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;DefaultAzureCredential&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;credential&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;AZURE_AI_PROJECT_ENDPOINT&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;credential&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;credential&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;project_client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;project_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_openai_client&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;project_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;agents&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create_version&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;agent_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;my-enterprise-agent&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;definition&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;PromptAgentDefinition&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;AZURE_AI_MODEL_DEPLOYMENT_NAME&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;instructions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;You are a helpful assistant.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;conversation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;conversations&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;responses&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;What are best practices for building AI agents?&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;extra_body&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;agent_reference&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;agent_reference&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;output_text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Se você vem do pacote &lt;code&gt;azure-ai-agents&lt;/code&gt;, os agentes agora são operações de primeira classe no &lt;code&gt;AIProjectClient&lt;/code&gt; em &lt;code&gt;azure-ai-projects&lt;/code&gt;. Remova a dependência standalone e use &lt;code&gt;get_openai_client()&lt;/code&gt; para conduzir as respostas.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="rede-privada-o-bloqueador-empresarial-removido"&gt;Rede privada: o bloqueador empresarial removido&lt;/h2&gt;
&lt;p&gt;Esta é a funcionalidade que desbloqueia a adoção empresarial. Foundry agora suporta rede privada completa de ponta a ponta com BYO VNet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sem egress público&lt;/strong&gt; — o tráfego do agente nunca toca a internet pública&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Injeção de contêiners/sub-redes&lt;/strong&gt; na sua rede para comunicação local&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conectividade de ferramentas incluída&lt;/strong&gt; — servidores MCP, Azure AI Search, agentes de dados Fabric, todos operam sobre caminhos privados&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esse último ponto é crítico. Não são apenas as chamadas de inferência que ficam privadas — cada invocação de ferramenta e chamada de recuperação também fica dentro do perímetro da sua rede. Para equipes operando sob políticas de classificação de dados que proíbem roteamento externo, isso era o que faltava.&lt;/p&gt;
&lt;h2 id="autenticação-mcp-feita-direito"&gt;Autenticação MCP feita direito&lt;/h2&gt;
&lt;p&gt;Conexões de servidores MCP agora suportam o espectro completo de padrões de autenticação:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Método de auth&lt;/th&gt;
&lt;th&gt;Quando usar&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Baseado em chave&lt;/td&gt;
&lt;td&gt;Acesso compartilhado simples para ferramentas internas da organização&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entra Agent Identity&lt;/td&gt;
&lt;td&gt;Serviço a serviço; o agente se autentica como ele mesmo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entra Managed Identity&lt;/td&gt;
&lt;td&gt;Isolamento por projeto; sem gerenciamento de credenciais&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OAuth Identity Passthrough&lt;/td&gt;
&lt;td&gt;Acesso delegado por usuário; agente age em nome dos usuários&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;OAuth Identity Passthrough é o interessante. Quando usuários precisam dar a um agente acesso aos seus dados pessoais — seu OneDrive, sua organização Salesforce, uma API SaaS com escopo por usuário — o agente age em seu nome com fluxos OAuth padrão. Sem identidade de sistema compartilhada fingindo ser todos.&lt;/p&gt;
&lt;h2 id="voice-live-voz-a-voz-sem-a-encanação"&gt;Voice Live: voz a voz sem a encanação&lt;/h2&gt;
&lt;p&gt;Adicionar voz a um agente costumava significar juntar STT, LLM e TTS — três serviços, três saltos de latência, três superfícies de faturamento, tudo sincronizado à mão. &lt;strong&gt;Voice Live&lt;/strong&gt; colapsa isso em uma única API gerenciada com:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Detecção semântica de atividade de voz e fim de turno (entende significado, não apenas silêncio)&lt;/li&gt;
&lt;li&gt;Supressão de ruído e cancelamento de eco do lado do servidor&lt;/li&gt;
&lt;li&gt;Suporte a barge-in (usuários podem interromper no meio da resposta)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Interações de voz passam pelo mesmo runtime de agente que o texto. Mesmos avaliadores, mesmos traces, mesma visibilidade de custos. Para suporte ao cliente, serviço de campo ou cenários de acessibilidade, isso substitui o que antes requeria um pipeline de áudio personalizado.&lt;/p&gt;
&lt;h2 id="avaliações-de-checkbox-para-monitoramento-contínuo"&gt;Avaliações: de checkbox para monitoramento contínuo&lt;/h2&gt;
&lt;p&gt;Aqui é onde o Foundry fica sério sobre qualidade em produção. O sistema de avaliação agora tem três camadas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Avaliadores prontos para uso&lt;/strong&gt; — coerência, relevância, fundamentação, qualidade de recuperação, segurança. Conecte a um dataset ou tráfego ao vivo e obtenha pontuações.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Avaliadores personalizados&lt;/strong&gt; — codifique sua própria lógica de negócio, padrões de tom e regras de conformidade específicas do domínio.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Avaliação contínua&lt;/strong&gt; — Foundry amostra tráfego de produção ao vivo, executa sua suíte de avaliadores e exibe resultados em dashboards. Configure alertas do Azure Monitor para quando a fundamentação cai ou limites de segurança são violados.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Tudo é publicado no Azure Monitor Application Insights. Qualidade do agente, saúde da infraestrutura, custo e telemetria da aplicação — tudo em um só lugar.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;eval_object&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;evals&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Agent Quality Evaluation&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;data_source_config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;DataSourceConfigCustom&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;custom&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;item_schema&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;object&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;properties&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;string&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;required&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;include_sample_schema&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;testing_criteria&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;azure_ai_evaluator&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;fluency&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;evaluator_name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;builtin.fluency&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;initialization_parameters&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;deployment_name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;AZURE_AI_MODEL_DEPLOYMENT_NAME&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;data_mapping&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;{{item.query}}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;response&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;{{sample.output_text}}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="seis-novas-regiões-para-agentes-hospedados"&gt;Seis novas regiões para agentes hospedados&lt;/h2&gt;
&lt;p&gt;Agentes hospedados agora estão disponíveis em East US, North Central US, Sweden Central, Southeast Asia, Japan East e mais. Isso importa para requisitos de residência de dados e para comprimir latência quando seu agente roda perto de suas fontes de dados.&lt;/p&gt;
&lt;h2 id="por-que-isso-importa-para-desenvolvedores-net"&gt;Por que isso importa para desenvolvedores .NET&lt;/h2&gt;
&lt;p&gt;Embora os exemplos de código no anúncio de GA sejam Python-first, a infraestrutura subjacente é agnóstica a linguagem — e o SDK .NET para &lt;code&gt;azure-ai-projects&lt;/code&gt; segue os mesmos padrões. A Responses API, o framework de avaliação, a rede privada, a autenticação MCP — tudo isso está disponível a partir do .NET.&lt;/p&gt;
&lt;p&gt;Se você tem esperado os agentes IA passarem de &amp;ldquo;demo legal&amp;rdquo; para &amp;ldquo;consigo realmente entregar isso no trabalho&amp;rdquo;, esta versão GA é o sinal. Rede privada, autenticação adequada, avaliação contínua e monitoramento de produção são as peças que faltavam.&lt;/p&gt;
&lt;h2 id="para-finalizar"&gt;Para finalizar&lt;/h2&gt;
&lt;p&gt;Foundry Agent Service está disponível agora. Instale o SDK, abra &lt;a href="https://ai.azure.com"&gt;o portal&lt;/a&gt; e comece a construir. O &lt;a href="https://learn.microsoft.com/azure/foundry/quickstarts/get-started-code"&gt;guia de início rápido&lt;/a&gt; leva você de zero a um agente rodando em minutos.&lt;/p&gt;
&lt;p&gt;Para o mergulho técnico completo com todos os exemplos de código, confira o &lt;a href="https://devblogs.microsoft.com/foundry/foundry-agent-service-ga/"&gt;anúncio de GA&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>