- Introdução
- Criar
- Adicione um agente de IA a um fluxo de trabalho
- Chamar uma API externa
- Processar e-mails de entrada
- Crie um fluxo de trabalho de notificação do Slack
- Adicione aprovação humana a um fluxo de trabalho
- Crie um fluxo de trabalho de agente de chat
- Tratar erros
- Noções básicas de depuração
- Intervenção humana: escalonamento ou etapa humana
- Avaliando seus fluxos de trabalho
- Implantar e executar
- Exemplos
- Referência
Agente de voz
Configure a Voice agent: its model and prompts, output variables, tools, handoffs between agents, and the call transcript, with fixes for common issues.
O que faz
Anexa um agente a uma chamada telefônica em tempo real e fale com o chamador. O áudio é transmitido diretamente para um modelo de fala em tempo real, que permite que o chamador interrompa o agente no meio da fala. Configure o modelo, a persona, a solicitação, as ferramentas e os índices de contextualização diretamente no nó.
Ambas as direções de chamada usam o mesmo formato de três etapas:
| Direction | Sequência de nós |
|---|---|
| Recebida | Chamada de entrada → Agente de voz → Encerrar chamada |
| Perdida | Criar chamada de saída → Agente de voz → Encerrar chamada |
O nó é rotulado como Agente de voz na categoria Agente do painel Adicionar nó .
Referência de configuração
| Campo | Description |
|---|---|
| Modelo | O modelo de fala em tempo real. O padrão é gpt-realtime-2.1. |
| Persona | A voz do modelo selecionado. O padrão é Marin. |
| Prompt do Sistema | A função do agente, suas instruções de status e como ele deve encerrar a conversa. |
| Temperatura | Criatividade de resposta de 0 a 1. |
| Máximo de tokens | Token máximo de uma conversa. |
| Contexto da chamada | Na seção Configurações de chamadas . A chamada à qual este agente é anexado. Associe-o a um callContext upstream, por exemplo, $vars.createOutgoingCall1.output.callContext. |
Variáveis de saída
Opcionalmente, você pode configurar variáveis de saída estruturadas na seção Saídas do painel de propriedades. Elas são úteis para definir variáveis orientadas por objetivos ou de roteamento a serem usadas em nós subsequentes dentro do fluxo de trabalho.
Cada variável de saída que você declara se torna um campo no objeto de saída do agente, referenciado $vars.<agentName>.output.<name> como. Dê um nome e um tipo a cada um e, em seguida, instrua o agente no campo de descrição da variável como preenchê-lo. A geração de saída é orientada por uma combinação de solicitação do sistema do agente e as descrições das variáveis de saída.
O agente os preenche quando termina sua sessão de voz.
Os dois usos mais comuns são resumos de chamadas e entregas. Para obter um resumo, declare uma saída como call_summary e use sua descrição para dizer ao agente para resumir a chamada. O agente grava-o quando termina sua sessão e os nós downstream o leem como $vars.voiceAgent1.output.call_summary.
Ferramentas
Conecte ferramentas ao identificador Ferramentas para fornecer ao agente recursos que ele possa chamar durante o raciocínio. O agente decide durante seu loop se e quando chamar cada ferramenta conectada. Cada ferramenta carrega uma descrição que informa ao agente para que serve a ferramenta, portanto, escreva descrições claras quando uma ferramenta expõe uma.
Ao projetar ferramentas para agentes de voz:
- O chamador espera em cada chamada de ferramenta, então mantenha o trabalho de cada ferramenta pequeno e rápido.
- As ferramentas que o agente chama na mesma rodada retornam juntas, a mais lenta define por quanto tempo o chamador ouve o silêncio.
- Após um tempo limite, o agente pode relatar falha e tentar novamente, portanto, torne as ferramentas idempotentes. Uma chamada de ferramenta que não retorna em 180 segundos expirará.
Disponibilidade de ferramentas
| Categoria da ferramenta | Disponibilidade |
|---|---|
| Processos RPA | Disponível |
| Fluxos de trabalho da API | Disponível |
| Atividades | Disponível |
| Outros fluxos de trabalho (Maestro) | Disponível |
| Process orchestration | Disponível |
| Funções codificadas | Disponível |
| Agente (chame um agente independente implantado) | Disponível |
| Conectores | Disponível |
| Contextualização de índices | Disponível |
| Ferramentas integradas (Analisar Arquivos, Deep RAG, Transformação em lote) | Não disponível |
| Escalonamentos | Não disponível |
| Ferramentas de Protocolo de Contexto do Modelo (MCP) | Não disponível |
| A2A (Agente para Agente) | Não disponível |
| Intelligent Xtraction and Processing (IXP) (extração de documentos) | Não disponível |
Ferramentas de voz integradas
Cada agente de voz tem acesso a duas ferramentas integradas. Elas estão incluídas, mas não são exibidas na tela:
- Ferramenta Double-Tone Multi-Frequency (DTMF): usada para pressionar dígitos no teclado do telefone, que pode ser usada para navegar em árvores de telefone externas
- Encerrar sessão: usada para sair da conversa sem encerrar a chamada. Útil para transferências de agentes de voz.
Proteções de ferramentas
As proteções no nível da ferramenta estão disponíveis nas ferramentas conectadas ao nó do agente de voz. Você pode filtrar ou bloquear os parâmetros de entrada de uma ferramenta. Configure a proteção na ferramenta anexada ao identificador de Ferramentas do agente de voz. proteções da ferramenta tem mais detalhes.
Entregas
Encerrar uma sessão de voz não é o mesmo que encerrar uma chamada. Quando um agente encerra sua sessão, ele sai da chamada, mas deixa a linha aberta: o agente preenche suas variáveis de saída e o fluxo de trabalho passa para o próximo nó. Apenas o nó Encerrar chamada e o chamador podem desligar a chamada.
É isso que torna as entregas possíveis. Nós de agente de voz em cadeia e associe todos eles ao mesmo contexto de chamada. Cada agente encerra sua própria sessão quando é concluído, e apenas o último caminho chega a Encerrar chamada, para que o chamador permaneça na linha durante todo o tempo.
Uma entrega tem duas partes:
- Encaminhe para o agente correto. Dê ao primeiro agente uma variável de saída, por
handoff, e use sua descrição para dizer ao agente qual valor definir. Ramifique esse valor com um nó Switch para que cada caso leve ao agente que lida com ele. - Carregue o contexto. Um agente de recebimento não sabe nada sobre o que já foi mencionado. Faça referência a uma saída de resumo de chamada do primeiro agente em sua solicitação do sistema (
$vars.voiceAgent1.output.call_summary), ou adicione um nó Obter contexto de conversa na ramificação e faça referência à transcrição. A seção Transcrição de chamadas tem detalhes.
Não é possível entregar uma chamada a um humano. Não há transferência de chamada em tempo real.
O agente de voz não tem conexão de Escalonamentos , porque uma chamada não pode esperar enquanto uma pessoa conclui uma tarefa. Para que uma pessoa aja no resultado de uma chamada, adicione um nó da categoria Humana , como Formulário Rápido, após o agente de voz.
Transcrito da chamada
Para ler uma transcrição após uma chamada, abra o trace de execução de uma execução de teste ou o trace de uma execução implantada, como descrito nas execuções do Monitor . A observabilidade tem mais detalhes.
Para usar a transcrição dentro do fluxo de trabalho:
- Adicione um nó Obter contexto de conversa .
- Passe em
$vars.<incomingOrOutgoingCallNodeId>.output.callContext.conversationId. Por exemplo,<incomingOrOutgoingCallNodeId>pode sercreateOutgoingCall1. - Faça referência à transcrição como
$vars.<getConversationContextNodeId>.output.conversationContext.messages. Por exemplo,getConversationContextNodeIdpode sergetConversationContext1.
Por exemplo, você pode passar a transcrição para um agente autônomo para processamento:
Problemas comuns
O agente conversa normalmente, mas nunca executa uma ferramenta. Nenhum robô não assistido ou padrão com uma máquina sem servidor é atribuído onde o fluxo de trabalho é executado, então cada chamada de ferramenta volta como um erro e o agente permanece conversacional. Peça ao administrador para atribuir um robô e, em seguida, chame novamente. Requisitos da pasta tem mais detalhes.
A chamada termina antes que a conversa seja concluída, mas não há erros. O agente encerrou sua própria sessão no meio da conversa e o fluxo de trabalho passou para Encerrar chamada. Esse é provavelmente um problema de prompt em que o agente de voz acha que terminou de ajudar o chamador e decide encerrar a sessão.
O agente interrompe ou produz strings de dígitos de leitura estáticas. Com o Gemini Live à temperatura 0, strings de dígitos longos podem travar ou parecer distorcer. Aumente a temperatura ligeiramente. Se o problema persistir, tente o outro modelo.
O agente não anexa com um erro de esquema de ferramenta. O modelo Gemini aceita um subconjunto de esquema restrito. Mesclar o esquema de entrada da ferramenta ou encapsular a ferramenta em um fluxo de trabalho de API com um esquema de entrada mesclada e usar o fluxo de trabalho como a ferramenta.
A chamada é conectada, ninguém fale e ela será interrompida após cerca de 25 segundos. Uma chamada que nunca anexa um agente é encerrada após cerca de 25 segundos de tempo algum. Associe o contexto da chamada ao callContext do gatilho da chamada de entrada ou do nó Criar chamada de saída .
Próximas Etapas
- Chamada recebida: inicia um fluxo de trabalho de chamada recebida.
- Criar chamada de saída: inicia uma chamada de saída.
- Encerrar chamada: encerra a chamada.
- Implantação: conectando um número e associando-o a um fluxo de trabalho.
- Comunidade: faça perguntas e compartilhe fluxos de trabalho com outros construtores no Fórum da UiPath.