> ## Content Index
> Fetch the complete content index at: https://www.azurebrasil.cloud/llms.txt
> Use this file to discover other available public pages before exploring further.

# Voice Agents no Microsoft Foundry: como criar agentes de voz em tempo real
- URL: https://www.azurebrasil.cloud/blog/voice-agents-no-microsoft-foundry-como-criar-agentes-de-voz-em-tempo-real/
- Published: 2026-10-14T11:56:42.000Z
- Updated: 2026-10-14T11:56:42.000Z
- Author: Mateus Nascimento

Quem cria agentes no Microsoft Foundry sabe que a parte de texto está bem resolvida. Faltava um jeito simples de colocá-los para conversar por voz, sem montar do zero captura, transcrição, síntese e streaming de áudio.

É isso que os **Voice Agents** trazem: agentes que escutam o usuário, entendem o pedido e respondem falando, em tempo real, com a opção de um avatar representando o assistente na tela.

Neste artigo, vamos criar nosso primeiro agente pelo portal e ver como integrá-lo a aplicações via SDK.

> **Importante:** os Voice Agents estão em preview, sem SLA, e a Microsoft não recomenda o uso em produção nesse estágio. A disponibilidade de modelos, vozes e avatares também varia por região.

## O que são os Voice Agents?

Um Voice Agent é um agente do Foundry Agent Service criado no modo de interação por voz. Ele conversa pelo microfone, com áudio fluindo nos dois sentidos durante a sessão. Pense em um assistente de suporte que consulta sistemas internos, ou em um atendimento telefônico que verifica o status de um pedido.

A vantagem em relação a montar tudo na mão é que o serviço gerencia a orquestração de voz. Modelo, instruções, voz, detecção de turnos e supressão de ruído ficam definidos no próprio agente, do lado do servidor. A base técnica vem do **Voice Live**, o serviço de voz em tempo real do Azure.

### Speech-to-speech ou cascata?

Por trás de cada sessão existe uma de duas arquiteturas:

- **Speech-to-speech nativo:** um modelo de tempo real, como o `gpt-realtime`, recebe o áudio e devolve a resposta falada diretamente. É o caminho com menor latência.
- **Cascata:** o áudio é transcrito (STT), um modelo de texto gera a resposta e a síntese (TTS) transforma o texto em fala. Dá mais controle sobre transcrição e voz e permite usar outros modelos de texto, inclusive de outros provedores, por meio de uma implantação própria.

Um detalhe: **não escolhemos a arquitetura diretamente**. O Foundry a deriva do modelo selecionado.

## Criando nosso primeiro Voice Agent

Vamos criar o **Jarvis**, um assistente que conversa em português e tira dúvidas sobre tecnologia e Azure.

Você vai precisar de uma assinatura Azure, um projeto no Foundry, a role **Foundry User** no projeto (antigo Azure AI User),e um navegador com microfone. O portal fica em [https://ai.azure.com.](https://ai.azure.com/?ref=azurebrasil.cloud)

### 1\. Criando o agente

No projeto, vá em **Build > Agents** e selecione a opção para criar um agente. Na janela de criação, dê um nome ao agente e escolha o modo de interação:

- **Texto:** o usuário digita e recebe respostas escritas.
- **Serviço de voz:** o usuário fala e recebe respostas faladas em tempo real.

Selecione **Serviço de voz** e escolha o caso de uso para o qual o agente será otimizado. Essa escolha define as instruções iniciais, que vamos ajustar no playground.

Depois, clique em **Criar agente e abrir o playground**.

Atenção: **o modo de interação não pode ser alterado depois**. Se precisar de voz em um agente de texto, será necessário criar outro. Vale também escolher um nome estável, porque ele aparece nas versões, nos traces, nos números de telefone vinculados e nas chamadas via SDK.

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2026/10/image.png)

### 2\. Configurando o comportamento

O Foundry abre então o playground, onde configuramos a experiência. O primeiro passo são as **instruções**, e aqui está uma diferença importante em relação aos agentes de texto: instrução para voz precisa ser escrita para ser ouvida. Nada de markdown, tabelas ou URLs lidas em voz alta. Em um chat, o usuário passa o olho na resposta. Em uma conversa falada, uma resposta longa vira monólogo.

Funciona bem pedir frases curtas e uma pergunta por vez, confirmar nomes, números e datas, pedir esclarecimento em vez de adivinhar e definir o que fazer quando uma ferramenta falhar. Para o Jarvis, podemos substituir as instruções iniciais por algo assim:

"Você é o Jarvis, assistente virtual especializado em tecnologia e Microsoft Azure. Converse em português do Brasil, com frases curtas, naturais e objetivas. Faça uma pergunta por vez e, se não entender o que foi dito, peça para o usuário repetir."

Também podemos definir a **saudação inicial**, falada assim que a sessão começa:

"Olá! Sou Jarvis, seu assistente virtual. Posso ajudar com dúvidas sobre tecnologia, inteligência artificial e serviços do Azure. Como posso ajudar?"

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2026/10/image-1.png)

### 3\. Escolhendo o modelo e a voz

Em **Modelo de IA**, o portal separa as opções entre modelos nativos de speech-to-speech e modelos de texto, cada um com latência aproximada e faixa (Pro, Standard ou Lite).

Usamos o `azure-realtime`, modelo de tempo real com latência aproximada de 600 ms. A lista de modelos muda conforme a região, então o portal é a fonte da verdade.

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2026/10/image-2.png)

Na seção **Voz**, escolhemos a voz masculina **Antonio**. Nas opções avançadas da voz, dá para ajustar a velocidade de fala, a temperatura (em vozes Neural HD compatíveis) e um léxico personalizado para corrigir a pronúncia de nomes e siglas.

Idioma, lista de frases (ótima para termos como "Entra ID"), supressão de ruído e detecção de turno ficam nas configurações avançadas, que mudam conforme o modelo.

### 4\. Adicionando um avatar

Ative o avatar e escolha um personagem, em formato retrato ou corpo inteiro. Ele aparece durante a conversa, falando com a voz configurada.

Funciona bem para totens, sites e treinamentos. Só lembre que o avatar gera cobrança à parte, a disponibilidade varia por região e, em chamadas telefônicas, o usuário recebe apenas o áudio.

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2026/10/image-3.png)

### 5\. Testando o agente

Antes de testar, salve o agente. A sessão sempre usa a última versão salva, e as configurações ficam bloqueadas enquanto ela está ativa.

Selecione o microfone, clique em **Iniciar**, permita o acesso no navegador e converse:

"Jarvis, você consegue me explicar o que é Azure Functions?"

Observe a latência, a qualidade da transcrição e se o agente respeita as pausas naturais. Experimente também interrompê-lo no meio da resposta. Esse comportamento, o **barge-in**, vem habilitado por padrão: o agente para de falar e passa a escutar.

As métricas aparecem em tempo real, e as conversas ficam na aba **Traces**.

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2026/10/image-4.png)

## Conectando ferramentas e sistemas externos

Os Voice Agents suportam quatro tipos de ferramenta:

- **Function:** executada pela sua aplicação cliente, que recebe a chamada pela sessão e devolve o resultado.
- **MCP:** conexão direta com um servidor MCP remoto.
- **Toolbox:** coleção versionada de ferramentas do Foundry, como Azure AI Search, busca na web e OpenAPI.
- **System:** controles da sessão, como o `end_conversation`, que permite ao agente encerrar a chamada.

O agente pode ter ferramentas individuais **ou** uma toolbox. Para voz, a Microsoft recomenda a toolbox, por ser reutilizável e versionada.

Se o usuário pergunta "Jarvis, qual é o status do meu chamado?", o agente consulta a API de atendimento e responde por voz. O ponto de atenção é a latência: poucos segundos de silêncio parecem ligação caída. Para isso existe a **resposta provisória** (interim response): enquanto a ferramenta processa, o agente diz algo como "Só um momento, estou verificando". Ela pode ser estática ou gerada pelo modelo, e a estática não adiciona chamadas ao modelo, o que ajuda na latência e no custo. No portal, essa opção aparece nas configurações avançadas, mas só para combinações de modelo e voz compatíveis.

## E para desenvolvedores? Já temos SDK?

**Sim.** Os Voice Agents têm SDK para **Python**, **JavaScript/TypeScript** e **.NET**, além de suporte no **Azure Developer CLI** (`azd`).

No SDK, um Voice Agent é um agente com `kind` igual a `voice`. Cada alteração gera uma nova versão imutável, e o endpoint fica ativo assim que a primeira versão existe, sem etapa separada de deploy.

### Pacotes para .NET

Para .NET, os principais pacotes NuGet são:

- **Azure.AI.Projects:** cliente do projeto, incluindo o `ProjectsRealtimeClient`, que abre a sessão de voz.
- **Azure.AI.Projects.Agents:** criação e gerenciamento das definições, como o `VoiceAgentDefinition`.
- **Azure.Identity:** autenticação no Microsoft Entra ID com `DefaultAzureCredential`.

Os dois primeiros estão em preview (a `3.0.0-beta.3` é a versão de referência para Voice Agents) e trazem o `Azure.AI.Extensions.OpenAI` como dependência. É necessário .NET 8 ou superior. Como novas betas saem com frequência, confira a versão mais recente no NuGet antes de começar.

### Como funciona a integração?

A comunicação em tempo real usa **WebSocket**, autenticado com token do Microsoft Entra ID, conectando a aplicação diretamente ao endpoint de voz do agente.

Como modelo, voz e instruções já estão no agente, o cliente não precisa reenviar essa configuração, embora possa sobrescrever alguns campos da sessão, como os de áudio. O papel dele é capturar e enviar o áudio, tratar os eventos da sessão e reproduzir as respostas conforme chegam.

Se você precisar controlar diretamente a sessão de áudio, outra opção é usar o **Voice Live SDK** (`Azure.AI.VoiceLive`) sem a camada de agentes.

Nos Voice Agents, o Foundry gerencia a orquestração; com o Voice Live direto, sua aplicação ganha controle e assume responsabilidade.

## Como publicar o agente?

Com o agente testado, a aba **Canais** mostra as opções de publicação:

- **Aplicativo web de prévia:** link para compartilhar a experiência no navegador com pessoas da organização, quando o endpoint é compatível. O acesso precisa ser concedido; ter o link não basta.
- **Números de telefone:** chamadas recebidas via **Teams Phone extensibility** (com Azure Communication Services) ou **Twilio**. Há também uma API para chamadas de saída.

Não confunda publicar um app no Microsoft Teams com conectar um número de telefone do Teams ao agente. Para voz, o caminho é o segundo.

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2026/10/image-5.png)

## Custos e limitações

Um minuto de conversa gera muito mais tokens do que um minuto digitando, porque a fala do usuário e a do agente são tokenizadas.

Pesam na conta os tokens de áudio, a duração das sessões, as ferramentas e recursos opcionais como avatar e armazenamento. Modelos gerenciados são cobrados pelo serviço; modelos implantados por você, na sua própria implantação, aproveitando cota ou PTU existentes.

Para economizar, limite o tamanho das respostas com `max_output_tokens`, mantenha as instruções enxutas (elas são reenviadas a cada turno), prefira respostas provisórias estáticas e use o `end_conversation` para encerrar chamadas concluídas.

## Conclusão

Os Voice Agents trazem ao Foundry uma peça que faltava: agentes de voz em tempo real sem montar a infraestrutura de áudio do zero.

Pelo portal, criamos e testamos o agente em minutos. Pelos SDKs, levamos a experiência para aplicações próprias e centrais de atendimento. Ainda é preview, então o momento é ideal para provas de conceito. Se você já trabalha com agentes no Foundry, vale testar.

## Referências oficiais

- [Criar um Voice Agent no Foundry](https://learn.microsoft.com/en-us/azure/foundry/agents/quickstarts/prompt-voice-agent?ref=azurebrasil.cloud)
- [Configurar Voice Agents](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/configure-voice-agent?ref=azurebrasil.cloud)
- [Boas práticas para agentes de voz](https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/voice-agent-best-practice?ref=azurebrasil.cloud)
- [Publicar agentes de voz](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/voice-agent-channels-publish?ref=azurebrasil.cloud)
- [Custos dos Voice Agents](https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/voice-agent-pricing?ref=azurebrasil.cloud)
- [Exemplo de Voice Agents em .NET](https://github.com/Azure-Samples/Cognitive-Speech-TTS/tree/master/VoiceAgent/samples/CSharp?ref=azurebrasil.cloud)