Escolha o modelo Realtime que você está usando no desenvolvimento. Para o GPT-Live, consulte Criação de prompts para o GPT-Live.
gpt-realtime-2 é nosso modelo de voz com raciocínio mais avançado para aplicações de fala para fala com baixa latência. Ele pode pensar antes de falar, seguir instruções com mais confiabilidade, usar uma janela de contexto maior e chamar ferramentas com mais precisão do que os modelos anteriores de tempo real.
Para aproveitar essas melhorias, crie prompts com objetivos mais claros. Defina explicitamente as responsabilidades do assistente, os pontos de decisão, o comportamento de chamada de ferramentas e os mecanismos de proteção: o que ele deve fazer, quando deve fazer e o que deve evitar.
Comece de forma simples. Não sobrecarregue o prompt logo de início. Comece com um prompt mínimo, execute avaliações e só então adicione instruções para os comportamentos que falharem nos testes.
Escolha um modelo
| Modelo | Quando usar | Foco na criação de prompts |
|---|---|---|
gpt-realtime-2 | Você precisa do melhor desempenho em raciocínio, uso de ferramentas e cumprimento de instruções em tempo real. | Ajuste o esforço de raciocínio, os preâmbulos, as políticas de uso de ferramentas, a captura exata de entidades e o estado em sessões longas. |
gpt-realtime-1.5 | Você precisa de um modelo de fala para fala rápido e confiável, sem raciocínio. | Siga a estrutura básica de prompts em tempo real e teste comportamentos sensíveis à latência. |
Guia de criação de prompts para o Realtime 2.0
Use gpt-realtime-2 quando o agente de voz precisar de recursos mais avançados de
raciocínio, seleção de ferramentas, tratamento exato de entidades ou manutenção de estado em sessões longas.
Comece com reasoning.effort: "low", teste o comportamento padrão dos preâmbulos
e defina claramente quando exigir confirmação antes de ações de escrita.
O que mudou no Realtime 2
Crie prompts para o Realtime 2 como um agente de voz com raciocínio, não como um bot de voz básico.
| Mudança | O que isso significa para os prompts |
|---|---|
| Raciocínio | Permita que o modelo raciocine internamente em tarefas complexas antes de falar ou chamar ferramentas. Use preâmbulos para evitar silêncios desconfortáveis ou falas desnecessárias. |
| A precisão do prompt é ainda mais importante | Substitua orientações genéricas como "seja prestativo" por regras claras de acionamento, ação e exceção: quando agir, o que fazer e quando não fazer. |
| Conflitos entre instruções têm um custo maior | Remova regras sobrepostas com always, never, only e must, a menos que sejam realmente necessárias. Defina a prioridade quando houver conflito entre regras. |
| É mais fácil orientar o comportamento no uso de ferramentas | Especifique quando o assistente deve agir imediatamente, pedir informações que faltam, confirmar detalhes que exigem alta precisão, tentar novamente após uma falha ou escalonar o caso. |
| Os preâmbulos são um comportamento de primeira classe | O modelo pode falar breves atualizações antes de processos mais longos de raciocínio ou uso de ferramentas. Oriente quando os preâmbulos devem aparecer, quão curtos devem ser e quando omiti-los. |
| Janela de contexto ampliada | gpt-realtime-2 amplia a janela de contexto em tempo real de 32 mil para 128 mil tokens, tornando-o mais adequado para sessões longas e prompts de sistema maiores. |
Os preâmbulos não são a cadeia de pensamento oculta. São breves atualizações faladas, como "Vou verificar esse pedido agora." Não peça ao modelo que revele seu raciocínio privado.
Estrutura recomendada para o prompt
Use seções curtas com títulos. O modelo deve conseguir encontrar rapidamente as instruções relevantes.
# Role and Objective
# Personality and Tone
# Language
# Reasoning
# Message Channels
# Preambles
# Verbosity
# Tools
# Unclear Audio
# Entity Capture
# Long Context Behavior
# EscalationNem todo caso de uso precisa de todas as seções. Adicione as seções relevantes para o seu produto.
Defina o esforço de raciocínio
gpt-realtime-2 pode oferecer um raciocínio mais profundo em troca de maior latência. Use o menor nível de raciocínio que ainda dê ao assistente inteligência suficiente para o fluxo de trabalho.
Comece com low para a maioria dos agentes de voz em produção. Aumente ou diminua o nível conforme a complexidade da tarefa, a tolerância à latência e o custo de uma falha.
| Esforço | Quando usar | Exemplo |
|---|---|---|
minimal | A menor latência possível é a prioridade e a tarefa é simples. | Comandos de casa inteligente, temporizadores, consultas simples ao calendário. |
low | Você precisa de respostas rápidas e raciocínio básico. | Atendimento ao cliente, consulta de pedidos, perguntas simples sobre políticas. |
medium | O assistente precisa raciocinar para realizar tarefas com várias etapas. | Suporte técnico, diagnósticos, roteamento complexo. |
high | Um raciocínio mais profundo melhora significativamente as chances de sucesso. | Fluxos de trabalho que exigem alta precisão, decisões de escalonamento, tarefas com restrições. |
xhigh | O raciocínio máximo compensa a latência e o custo adicionais. | Planejamento complexo, triagem crítica, orquestração de ferramentas em situações de alto risco. |
Além da configuração da API, oriente o modelo sobre quando e quanto raciocinar.
## Reasoning
- For direct answers, simple lookups, and short confirmations, respond quickly and do not reason.
- For multi-step tasks, tool decisions, troubleshooting, or escalation, reason before acting.
- Do not perform extended reasoning when the user's audio is unclear; ask for clarification instead.Use preâmbulos com propósito
Preâmbulos são breves atualizações faladas que mantêm a sensação de que o agente de voz está respondendo enquanto raciocina, consulta informações ou chama uma ferramenta. Quando bem usados, tranquilizam o usuário ao mostrar que o assistente está trabalhando. Quando mal usados, tornam-se falas desnecessárias e aumentam a latência percebida.
gpt-realtime-2 gera preâmbulos por padrão. Comece testando o comportamento padrão. Se ele não corresponder à experiência desejada para o seu produto, ajuste-o explicitamente.

## Preambles
Use short preambles only when they help the user understand that work is happening.
### When to use a preamble
Use a preamble when:
- you are about to call a tool that may take noticeable time;
- you need to reason through a multi-step request;
- you are checking records, availability, account state, or policy details;
- you are preparing an escalation or handoff;
- silence would make the assistant feel unresponsive.
When a preamble is needed, output it immediately before substantive reasoning or tool use.
### When to not use a preamble
Do not use a preamble when:
- the answer is direct and can be given immediately;
- the user is only confirming, correcting, or declining something;
- the audio is unclear and you need clarification;
- the latest audio is silence, background noise, hold music, TV audio, or side conversation;
- the tool call is lightweight and the user would not benefit from an update.
### Preamble style
When using a preamble:
- keep it natural, calm, and concise;
- vary the wording across turns;
- describe the action, not the internal reasoning;
- avoid filler.
Avoid phrases like:
- "Let me think..."
- "Hmm..."
- "One moment while I process that..."
- "I am now going to access the tool..."
### Preamble length
Use one short sentence.
Do not exceed two short sentences unless the user needs an explanation before a high-impact action.
### Prefer
- "I'll check that order now."
- "I'll look up your appointment details."
- "I'll verify that before we make any changes."
- "I'll check the policy and then give you the next step."
- "I'll pull that up so we can make sure it's the right account."
### Avoid
- "Let me think about that for a second."
- "Please wait while I process your request."
- "I'm going to use my tools now."
- "Interesting question. I will reason through this carefully."Controle o tamanho das respostas
gpt-realtime-2 segue melhor as orientações de tamanho quando o prompt especifica o nível de detalhe para cada tipo de tarefa. Em vez de dizer ao modelo "seja conciso", defina o que significa ser conciso no contexto: respostas diretas, resultados de ferramentas, solução de problemas, comparações e escalonamentos podem exigir respostas de tamanhos diferentes.
## Verbosity
- Direct answers: Use 1-2 short sentences.
- Clarifying questions: Ask one question at a time.
- Tool results: Summarize the result first, then give only the next useful action.
- Product or option comparisons: Include key differences, tradeoffs, and who each option fits.
- Troubleshooting: Give one step at a time unless the user asks for the full procedure.
- Escalations: Briefly explain why escalation is needed and what will happen next.Exemplo:
Usuário: Qual plano devo escolher?
Assistente: Se você quer o menor custo, escolha o Basic. Se precisa de permissões de equipe e faturamento compartilhado, escolha o Pro. Se a revisão de conformidade ou os controles administrativos forem importantes, escolha o Empresas.
Defina o comportamento das ferramentas
gpt-realtime-2 tem melhor desempenho em chamadas de ferramentas, mas o comportamento ainda depende de como o prompt e as especificações das ferramentas são definidos. Se o prompt não definir quando agir, perguntar, confirmar ou se recuperar de falhas, o assistente poderá chamar ferramentas cedo demais, fazer perguntas desnecessárias ou repetir chamadas que falharam.
Defina o grau de proatividade nas chamadas de ferramentas
Uma proatividade alta funciona bem para ações somente leitura e de baixo risco. Uma proatividade baixa é melhor quando as ferramentas modificam dados, geram efeitos externos ou dependem de identificadores exatos.
| Tipo de ferramenta | Comportamento padrão |
|---|---|
| Consulta somente leitura e de baixo risco | Chame a ferramenta quando a intenção e os campos obrigatórios estiverem claros. |
| Somente leitura com identificador exato | Confirme o identificador antes da consulta. |
| Comunicação visível ao usuário | Prepare um rascunho ou resumo antes de enviar. |
| Alterações na conta | Confirme antes de chamar a ferramenta. |
| Compras, cancelamentos, pagamentos | Confirme o valor, o alvo da ação e a consequência antes de chamar a ferramenta. |
| Ações irreversíveis ou de alto impacto | Confirme explicitamente e ofereça encaminhamento quando apropriado. |
Use esse padrão equilibrado quando houver uma combinação de ações de leitura e gravação. Adapte-o ao seu caso de uso.
## Tools
Use only the tools explicitly provided in the current tool list. Do not invent, assume, simulate, or rename tools.
For read-only tools:
- Call the tool when the user's intent is clear and all required fields are available.
- Do not ask for confirmation unless the lookup depends on a high-precision identifier or there is meaningful risk of using the wrong record.
- Ask a clarification question only if a required field is missing, ambiguous, or conflicting.
For write tools or external actions:
- Summarize the intended action before calling the tool.
- Include the key consequence, such as what will be changed, sent, canceled, ordered, or charged.
- Ask for confirmation.
- Do not call the tool until the user clearly confirms.
For exact identifiers:
- Treat order IDs, tracking numbers, account numbers, confirmation codes, phone numbers, and email addresses as high precision.
- Normalize only when the field type is clear.
- Confirm the final value before account-specific lookups, validation, or write actions.
After tool calls:
- Only say an action was completed after the tool call succeeds.
- If the tool fails, explain the failure briefly, avoid raw errors, and give the user a clear next step.Exemplo de alto risco:
Usuário: Cobre o saldo restante no meu cartão.
Ruim:
Assistente: Fiz a cobrança no seu cartão.
Bom:
Assistente: Só para confirmar, você quer que eu cobre $248.16 no cartão cadastrado para quitar o saldo restante. Posso prosseguir?
Recupere-se de falhas nas ferramentas
Falhas nas ferramentas fazem parte da conversa. Uma boa recuperação deve explicar o que aconteceu e indicar ao usuário um próximo passo claro.
Não trate todas as falhas da mesma forma. O comportamento de recuperação deve depender do tipo de ferramenta, do modo de falha e do impacto para o usuário. Algumas falhas devem ser tratadas silenciosamente com uma nova tentativa. Outras exigem pedir ao usuário que esclareça algo, corrija um identificador, confirme uma nova ação ou escolha um caminho alternativo.
## Tool Failures
If a tool call fails:
1. Briefly explain what failed in user-friendly language.
2. Do not blame the user or expose raw tool errors.
3. If the failure may be due to an exact identifier, read back the value used and ask the user to correct it.
4. If the failure may be temporary, offer to retry once.
5. If the same failure happens repeatedly, offer an alternate path or escalation.
Do not repeatedly call the same tool with the same arguments after failure.
Do not ask for a different identifier until you have first checked whether the captured value was correct.Ruim:
Assistente: Algo deu errado.
Bom:
Assistente: Não encontrei uma correspondência para O R D traço 3 1 2 5 B 2 3. Entendi alguma parte errado?
Mantenha a disponibilidade das ferramentas sincronizada
Os modelos Realtime são proativos em ajudar. Se o prompt mencionar uma ferramenta que não está realmente disponível, ou se a lista de ferramentas não corresponder ao prompt, o modelo poderá inventar um nome de ferramenta ou fingir que concluiu a ação.
Por exemplo, se o prompt fizer referência a lookup_order, mas a ferramenta fornecida se chamar search_orders, o modelo poderá chamar o nome errado ou simular a ação.
## Tool Availability
Use only the tools that are explicitly provided in the current tool list.
Do not invent, assume, or simulate tools. If a tool is mentioned in the instructions but is not present in the tool list, treat it as unavailable.
If the user requests an action that requires an unavailable tool:
1. Do not pretend to complete the action.
2. Briefly explain that the tool is not available.
3. Offer the closest supported next step.
Only say an action was completed after the relevant tool call succeeds.Use o metaprompt de auditoria de prompts no apêndice para revisar os prompts de produção em busca de contradições, ferramentas ausentes e instruções frágeis.
Lide com silêncio e áudio de fundo
Agentes de voz tendem a responder por padrão. Em produção, eles costumam ouvir áudio que não deveria receber uma resposta falada, como silêncio, ruído de fundo, música de espera, áudio de TV ou conversas paralelas.
Use uma ferramenta de espera sem operação quando o assistente precisar ficar em silêncio e continuar ouvindo. A ferramenta dá ao modelo uma ação válida que não envolve fala, em vez de fazê-lo dizer coisas como "Estou aqui" ou "Não entendi".
Design da ferramenta:
{
"name": "wait_for_user",
"description": "Call this when the latest audio does not need a spoken response, such as silence, background noise, hold music, TV audio, side conversation, or speech not addressed to the assistant. This tool helps end the turn without a spoken reply.",
"parameters": {
"type": "object",
"properties": {},
"required": []
}
}Combine-a com instruções no prompt:
## Handling Silence and Background Noise
If the latest audio is silence, background noise, hold music, TV audio, side conversation, or speech not addressed to you, call `wait_for_user`.
Do not respond conversationally after calling this tool.
Do not say "I'm here," "I didn't catch that," "Take your time," or "Let me know when you're ready."
Resume normal responses only when the user clearly addresses you or asks for help.Use isso para áudio que não é dirigido ao assistente, não para solicitações pouco claras do usuário. Se o usuário estiver claramente falando com o assistente, mas o conteúdo for ininteligível, peça esclarecimentos.
Use os canais de mensagem de forma intencional
gpt-realtime-2 pode produzir mensagens intermediárias visíveis ao usuário no canal commentary e respostas finais voltadas ao usuário no canal final. Use instruções específicas para cada canal quando o comportamento depender de onde aparece.
| Canal | Visível ao usuário? | Usado para |
|---|---|---|
commentary | Sim | Preâmbulos e chamadas de ferramentas. |
final | Sim | Mensagem final voltada ao usuário. |
Por exemplo, as chamadas de ferramentas ocorrem no canal commentary. Se você quiser que o assistente diga algo antes, durante ou depois de usar ferramentas, especifique esse comportamento em relação ao canal commentary.
Before calling tools in the commentary channel, briefly tell the user what you are doing.gpt-realtime-2 pode emitir várias fases de resposta em um único turno. Na saída da API, essa distinção é representada pelo evento response.done, que inclui um valor de phase indicando se o conteúdo é commentary ou a resposta final.
Você pode usar esse campo para tratar cada fase de forma diferente no seu aplicativo. Por exemplo, commentary pode ser reproduzido ou exibido como uma breve atualização intermediária, enquanto final_answer pode ser reservado para a resposta concluída do assistente.
response.output[0].phase: "commentary"
response.output[1].phase: "final_answer"Lide com áudio pouco claro
O modelo só deve agir com base em áudio que consiga entender com confiança. Se o áudio não estiver claro, o modelo deve fazer uma pergunta breve para pedir esclarecimentos, em vez de tentar adivinhar.
Não deixe o modelo inferir palavras ausentes, chamar ferramentas, capturar entidades, gerar preâmbulos ou gastar tempo de raciocínio interno tentando reconstruir o que o usuário pode ter dito.
## Unclear Audio
- Only respond to clear audio or text.
- If the user's audio is not clear, ask for clarification using a short English phrase such as "Sorry, could you repeat that clearly?"
- Don't repeat the same unclear-audio clarification twice.
- Treat audio as unclear if it is ambiguous, noisy, silent, unintelligible, partially cut off, or if you are unsure of the exact words the user said.
- Do not guess what the user meant from unclear audio.
- Do not reason when the audio is unclear.
- Do not provide a preamble or call tools in the commentary channel when the audio is unclear.Exemplo:
Áudio do usuário: "Consulte o pedido três um-" [interrompido]
Ruim:
Assistente: Vou consultar o pedido 31 agora.
Bom:
Assistente: Ouvi apenas parte do número do pedido. Você poderia repetir dígito por dígito?
Capture entidades com exatidão
Muitos fluxos de trabalho em tempo real dependem de valores exatos: IDs de pedidos, códigos de rastreamento, endereços de e-mail, códigos de confirmação, números de contas, números de sinistros, IDs de chamados, referências de suporte e números de telefone.
A interação por voz dificulta isso. Os usuários falam rápido, agrupam números de formas diferentes, soletram partes dos valores, usam expressões de preenchimento, corrigem o que disseram no meio da fala ou pronunciam caracteres com sons parecidos. Um único dígito errado pode fazer uma consulta falhar ou retornar a conta errada.
Capture entidades com cautela. Colete um valor por vez, normalize apenas o que estiver claro, confirme valores que exigem alta precisão antes de chamar ferramentas e permita retomar o fluxo após cada correção.
Colete uma entidade por vez
Quando um fluxo de trabalho precisar de vários valores, colete um por vez. Isso evita que os campos se misturem, especialmente em conversas por voz.
## Entity Collection Order
Collect required values one at a time.
- Ask for only the next missing value.
- Do not ask for multiple values in the same turn.
- Before asking, check whether the value was already provided earlier in the conversation or the session.
- If a possible value already exists, confirm it with the user before using it.
Example:
"I see tracking number ABC-54321 from earlier. Should I use that one, or do you have a different tracking number?"
Do not call tools until the current value has been collected, validated, and confirmed.Lide com caracteres soletrados
Use esta abordagem quando os usuários soletrarem IDs, códigos, nomes ou endereços de e-mail, um caractere por vez. A forma falada é a entrada, não o valor final.
## Spelled-Out Characters
When a user dictates an ID, code, or email character by character, treat the spoken sequence as one compact value. Preserve explicitly spoken separators like dash, dot, underscore, slash, or plus; otherwise do not add spaces or separators.
Examples:
- "A B C one two three" -> "ABC123"
- "B C dash nine eight seven" -> "BC-987"
- "J O H N at example dot com" -> "john@example.com"
Do not insert spaces between spelled-out characters unless the user explicitly says the value contains spaces.Normalize números falados com cuidado
No caso de identificadores numéricos, os usuários podem dizer os dígitos individualmente, agrupá-los ou falar números por extenso. Se o campo esperar uma sequência numérica contínua, converta em dígitos os números falados que estiverem claros.
## Spoken Number Handling
Convert spoken numbers into digits when collecting numeric identifiers.
Examples:
- "one two three four" -> "1234"
- "one twenty three" -> "123"
- "one nineteen" -> "119"
- "ninety nine eleven" -> "9911"
- "nine thousand nine hundred eleven" -> "9911"
If multiple interpretations are plausible, ask the user to clarify before using the value.
Example:
"I heard either 119 or 1-19. Could you repeat the number digit by digit?"Confirme os identificadores exatos antes de chamar ferramentas
IDs de pedidos, códigos de rastreamento, números de contas, números de sinistros, códigos de confirmação e identificadores semelhantes são campos que exigem alta precisão. Confirme-os antes de usá-los em uma chamada de ferramenta.
No caso de identificadores numéricos, repita o valor dígito por dígito. Ler o valor como um número inteiro pode ocultar erros.
Exemplo:
Assistente: Só para confirmar, ouvi 8... 3... 5... 2... 1. Está certo?
Se o usuário corrigir um caractere ou dígito, repita o valor corrigido completo antes de chamar a ferramenta.
Exemplo:
Assistente: Entendi. Tenho aqui 8... 3... 5... 7... 1. Está correto?
## Exact Identifier Confirmation
Before calling tools with high-precision identifiers:
- Confirm the final normalized value with the user.
- Read numeric identifiers back digit by digit.
- Do not use guessed, partial, or ambiguous values.
- If the user corrects the value, repeat the full corrected value before calling the tool.Confirme e-mails caractere por caractere
Endereços de e-mail são valores importantes. Pontos, hífens, sublinhados, letras repetidas e nomes com sons parecidos podem causar falhas na consulta de contas ou fazer com que mensagens sejam enviadas para o endereço errado.
Peça ao usuário para soletrar o endereço de e-mail:
Assistente: Você poderia soletrar o endereço de e-mail caractere por caractere para eu ter certeza de que anotei tudo corretamente?
Ao repetir o endereço, confirme o valor final exato:
Assistente: Só para confirmar, é c-h-e-n arroba example ponto com, certo?
## Email Confirmation
Email addresses must be captured exactly.
If the user says the email naturally without spelling it out, ask them to repeat it character by character.
Example:
"Could you spell the email address character by character so I can make sure I have it exactly right?"
When reading an email back, confirm the exact final email address.
Example:
"Just to confirm, that is c-h-e-n at example dot com, right?"Fluxo de trabalho para coleta de entidades
Evite armadilhas da interpretação literal de instruções
gpt-realtime-2 segue instruções de forma mais literal do que os modelos anteriores de tempo real. Prompts que funcionavam bem em modelos mais antigos podem precisar de ajustes.
Use uma linguagem precisa. O modelo pode priorizar a redação exata de uma instrução em vez do comportamento mais amplo que você pretendia. Regras abrangentes ou rígidas podem dominar o comportamento do assistente de maneiras surpreendentes, especialmente quando várias regras se sobrepõem.
Tenha cuidado com palavras que impõem restrições, como must, only, never e always. Use-as quando o comportamento for realmente obrigatório, não apenas para dar ênfase. O uso excessivo de restrições rígidas pode tornar o assistente inflexível, cauteloso demais ou incapaz de lidar com exceções razoáveis.
Prefira um escopo preciso:
For write actions that modify user data, ask for confirmation before calling the tool.Evite um escopo amplo:
Always ask for confirmation before doing anything.A versão ampla pode causar confirmações desnecessárias antes de consultas inofensivas de somente leitura, como verificar o status de um pedido, consultar a disponibilidade ou ler informações da conta.
Exemplo de interpretação literal
Recomendações gerais para criação de prompts:
- Prefira instruções explícitas a intenções implícitas.
- Evite palavras que imponham restrições desnecessárias, a menos que o comportamento realmente precise ser rígido.
- Reduza ao mínimo as orientações contraditórias.
- Tenha cautela com instruções de prioridade em camadas ou que entrem em conflito.
- Teste os prompts de forma incremental. Pequenas mudanças na redação podem ter grandes efeitos no comportamento.
- Ao migrar de modelos anteriores de tempo real, espere ter que reestruturar alguns prompts para obter os melhores resultados.
Controle o idioma e o sotaque separadamente
O idioma e o sotaque devem ser controlados separadamente.
O sotaque do usuário não é o mesmo que o idioma em que ele deseja conversar. Um usuário pode falar inglês com sotaque de hindi, espanhol, francês ou mandarim e ainda assim esperar respostas em inglês.
Evite instruções amplas sobre idioma, como:
Mirror the user.
Respond naturally in the user's language.
Switch languages when appropriate.
Sound local.
Adapt to the user's accent.Essas instruções são amplas demais. O modelo pode interpretar o sotaque, expressões de preenchimento, sinais verbais de escuta ou palavras estrangeiras isoladas como motivos para mudar de idioma.
Política para o idioma inglês
## Language
English is the default response language.
- Do not infer language from accent alone.
- Ignore short filler sounds, backchannels, and isolated foreign words for language detection.
- Only switch languages if the user explicitly asks or provides a substantive utterance in another language.
- If language confidence is low, ask a short clarification instead of guessing.
- Keep preambles, spoken bridges, tool-related messages, and final answers in the same language.
- Accent adaptation must not change the response language.Política multilíngue
## Language
Default to English unless the user clearly uses another language.
Switch languages only when:
- the user explicitly asks to use another language;
- the user provides a substantive utterance in another language. A substantive utterance means the user gives a complete request, question, or correction in another language, not just a greeting, name, address, filler word, or borrowed phrase.
Do not switch languages based on:
- accent;
- pronunciation;
- filler words;
- short backchannels;
- names;
- addresses;
- isolated foreign words.
If uncertain, ask:
"Would you like me to continue in English or [LANGUAGE]?"Controle de sotaque
gpt-realtime-2 pode seguir instruções de sotaque com mais firmeza, mas prompts vagos sobre sotaque podem causar desvios ou mudanças indesejadas de idioma.
Prompts de controle de sotaque funcionam melhor quando especificam:
- o sotaque desejado;
- quais características devem permanecer estáveis;
- o ritmo, a acentuação e a prosódia desejados;
- se a adaptação do sotaque deve afetar a escolha do idioma.
Em vez de:
Sound Australian.Use:
## Accent
Speak English with a light Australian accent.
- Keep the accent stable from the first word to the last.
- Use natural Australian vowel shaping, but keep speech easy to understand.
- Do not exaggerate the accent.
- Do not change response language based on the user's accent.Vozes personalizadas
Use Vozes personalizadas quando as vozes padrão não conseguirem atender de forma confiável aos requisitos de marca, sotaque ou personagem.
Os prompts podem orientar o sotaque, o ritmo e a maneira de falar, mas não substituem completamente o design da voz. Para casos de uso que exigem uma identidade vocal consistente da marca ou fidelidade ao sotaque, considere usar Vozes personalizadas.
As Vozes personalizadas estão disponíveis apenas para clientes aprovados. Entre em contato com a equipe responsável pela sua conta para obter acesso.
Mantenha o estado em sessões longas
O gpt-realtime-2 amplia a janela de contexto em tempo real de 32 mil para 128 mil tokens, tornando-o mais adequado para sessões longas. Para conversas bidirecionais densas, considere que 128 mil tokens equivalem a aproximadamente 1 a 2 horas de contexto de áudio bruto denso. Isso varia conforme o uso de ferramentas, o raciocínio interno, os registros inseridos e outros detalhes da sessão.
Em casos de uso com contexto longo, o gpt-realtime-2 tem melhor desempenho quando consegue distinguir quais informações são atuais, quais servem de contexto e quais devem ser ignoradas se houver conflito entre as fontes. Não dependa do modelo para inferir a prioridade das fontes a partir de uma transcrição bruta ou de um grande volume de contexto sem organização. Estruture as informações.
Use um padrão estruturado ao iniciar uma sessão com grande quantidade de contexto, como registros recuperados, histórico de conversas anteriores, políticas, resumos, anotações sobre a conta ou documentos de referência.
Migre de modelos anteriores de tempo real
Ao migrar de modelos anteriores de tempo real, trate o prompt como uma forma de definir o comportamento, não apenas como um texto a ser transferido.
- Use o Codex ou um modelo de raciocínio avançado para reestruturar o prompt com base nas orientações mais recentes de criação de prompts para Realtime. Inclua um link para este guia de criação de prompts para fundamentar a migração em práticas recomendadas.
- Defina o esforço de raciocínio como
lowem vez do valor padrão. Aumente-o apenas para fluxos de trabalho que exijam planejamento mais aprofundado. - Revise nomes de ferramentas, parâmetros, enumerações, esquemas JSON e outras configurações para garantir que correspondam à implementação esperada.
- Remova exemplos desatualizados. Adicione exemplos curtos de fluxos sem erros, ambiguidades, interrupções, chamadas de ferramentas e comportamentos alternativos.
- Compare conversas representativas antes e depois da migração. Verifique se há regressões em relação a uma avaliação existente e documente as mudanças intencionais de comportamento.
- Faça uma revisão final de consistência. Confirme que o prompt distingue claramente requisitos obrigatórios, padrões, regras de ferramentas, regras de segurança e comportamentos alternativos.
- Execute avaliações, analise falhas representativas e refine o prompt até que os comportamentos desejados sejam confiáveis.
Guia de criação de prompts para Realtime 1.5
O gpt-realtime-1.5 é um modelo de fala para fala da Realtime API. As mesmas orientações de criação de prompts para gpt-realtime se aplicam a este modelo.
Os sistemas de fala para fala são essenciais para tornar a voz uma interface central de IA. O gpt-realtime-1.5 permite criar agentes de voz em tempo real robustos e fáceis de usar, capazes de executar fluxos de trabalho de missão crítica em escala.
Em comparação com os modelos anteriores de tempo real em versão prévia, o gpt-realtime-1.5 segue melhor as instruções, faz chamadas de ferramentas com mais confiabilidade, oferece melhor qualidade de voz e proporciona uma experiência mais fluida no geral. Esses avanços tornam viável a transição de abordagens encadeadas para experiências realmente em tempo real, reduzindo a latência e produzindo respostas que soam mais naturais e expressivas.
Os modelos de tempo real se beneficiam de técnicas de criação de prompts que não se aplicariam diretamente a modelos baseados em texto. Este guia começa com uma sugestão de estrutura básica de prompt e depois detalha cada parte com dicas práticas, pequenos padrões que você pode copiar e exemplos que pode adaptar ao seu caso de uso.
Dicas gerais
- Refine continuamente: Pequenas mudanças na redação podem fazer o comportamento funcionar ou falhar.
- Exemplo: Na instrução sobre áudio pouco claro, trocamos “inaudível” → “ininteligível”, o que melhorou o tratamento de entradas com ruído.
- Prefira tópicos a parágrafos: Tópicos claros e curtos funcionam melhor que parágrafos longos.
- Oriente com exemplos: O modelo segue de perto as frases de exemplo.
- Seja preciso: Ambiguidade ou instruções conflitantes = pior desempenho, assim como no GPT-5.
- Controle o idioma: Fixe o idioma de saída se observar mudanças indesejadas de idioma.
- Reduza a repetição: Adicione uma regra de Variedade para reduzir frases que soam robóticas.
- Use texto em maiúsculas para dar ênfase: Escrever as regras principais em maiúsculas as destaca e facilita que o modelo as siga.
- Converta regras não textuais em texto: em vez de escrever "IF x > 3 THEN ESCALATE", escreva "SE HOUVER MAIS DE TRÊS FALHAS, ENCAMINHE PARA OUTRO NÍVEL DE ATENDIMENTO".
Estrutura do prompt
Organizar o prompt ajuda o modelo a entender o contexto e manter a consistência entre os turnos. Também facilita refinar e modificar seções problemáticas.
- O que faz: Use seções claras e identificadas no prompt de sistema para que o modelo consiga encontrá-las e segui-las. Mantenha cada seção focada em um único assunto.
- Como adaptar: Adicione seções específicas do domínio (por exemplo, Conformidade, Política da marca). Remova as seções desnecessárias (por exemplo, Pronúncias de referência, se não houver dificuldades com a pronúncia).
Exemplo
# Role & Objective — who you are and what “success” means
# Personality & Tone — the voice and style to maintain
# Context — retrieved context, relevant info
# Reference Pronunciations — phonetic guides for tricky words
# Tools — names, usage rules, and preambles
# Instructions / Rules — do’s, don’ts, and approach
# Conversation Flow — states, goals, and transitions
# Safety & Escalation — fallback and handoff logicPapel e objetivo
Esta seção define quem é o agente e o que significa dar a tarefa por concluída. Os exemplos mostram duas identidades diferentes para demonstrar como o modelo segue fielmente o papel e o objetivo quando são explícitos.
- Quando usar: O modelo não está assumindo a persona, o papel ou o escopo de tarefa de que você precisa.
- O que faz: Fixa a identidade do agente de voz para que suas respostas sejam condicionadas à descrição desse papel
- Como adaptar: Modifique o papel de acordo com seu caso de uso
Exemplo (o modelo adota um sotaque específico)
# Role & Objective
You are a Quebecois French-speaking customer service bot. Your task is to answer the user's question.Modelo anterior de tempo real em versão prévia:
gpt-realtime-1.5:
Exemplo (o modelo interpreta um personagem)
# Role & Objective
You are a high-energy game-show host guiding the caller to guess a secret number from 1 to 100 to win 1,000,000$.Modelo anterior de tempo real em versão prévia:
gpt-realtime-1.5:
O gpt-realtime-1.5 consegue desempenhar o papel especificado com mais confiabilidade do que os modelos anteriores de tempo real em versão prévia.
Personalidade e tom
O gpt-realtime-1.5 segue bem as instruções ao imitar uma personalidade ou um tom específico. Você pode ajustar a experiência de voz e a maneira de falar de acordo com as necessidades do seu caso de uso.
- Quando usar: As respostas soam sem expressão, são longas demais ou variam de forma inconsistente entre os turnos.
- O que faz: Define a voz, a concisão e o ritmo para que as respostas soem naturais e consistentes.
- Como adaptar: Ajuste a cordialidade, a formalidade e a extensão padrão das respostas. Para áreas regulamentadas, priorize a precisão e a neutralidade. Adicione outras subseções relevantes para seu caso de uso.
Exemplo
# Personality & Tone
## Personality
- Friendly, calm and approachable expert customer service assistant.
## Tone
- Warm, concise, confident, never fawning.
## Length
2–3 sentences per turn.Exemplo (múltiplas emoções)
# Personality & Tone
- Start your response very happy
- Midway, change to sad
- At the end change your mood to very angrygpt-realtime-1.5:
O modelo consegue seguir as instruções complexas e alternar entre três emoções ao longo da resposta em áudio.
Instruções de velocidade
Na Realtime API, o parâmetro speed altera a velocidade de reprodução, não a forma como o modelo compõe a fala. Para que a fala realmente soe mais rápida, adicione instruções que orientem o ritmo.
- Quando usar: Os usuários querem uma voz que fale mais rápido; ajustar apenas a velocidade de reprodução (com o parâmetro speed) não resolve o estilo de fala.
- O que faz: Ajusta o estilo de fala (concisão, cadência) independentemente da velocidade de reprodução no cliente.
- Como adaptar: Modifique a instrução de velocidade para atender aos requisitos do caso de uso.
Exemplo
# Personality & Tone
## Personality
- Friendly, calm and approachable expert customer service assistant.
## Tone
- Warm, concise, confident, never fawning.
## Length
- 2–3 sentences per turn.
## Pacing
- Deliver your audio response fast, but do not sound rushed.
- Do not modify the content of your response, only increase speaking speed for the same response.Versão prévia anterior do modelo em tempo real:
gpt-realtime-1.5:
Com instruções explícitas de ritmo, gpt-realtime-1.5 pode falar em um ritmo perceptivelmente mais rápido sem soar apressado demais.
Restrição de idioma
As restrições de idioma garantem que o modelo responda de forma consistente no idioma desejado, mesmo em condições difíceis, como ruído de fundo ou entradas em vários idiomas.
- Quando usar: Para evitar mudanças acidentais de idioma em ambientes multilíngues ou ruidosos.
- O que faz: Restringe a saída ao idioma escolhido para evitar mudanças acidentais de idioma.
- Como adaptar: Substitua “inglês” pelo idioma desejado ou adicione instruções mais complexas de acordo com seu caso de uso.
Exemplo (restringir a um idioma)
# Personality & Tone
## Personality
- Friendly, calm and approachable expert customer service assistant.
## Tone
- Warm, concise, confident, never fawning.
## Length
- 2–3 sentences per turn.
## Language
- The conversation will be only in English.
- Do not respond in any other language even if the user asks.
- If the user speaks another language, politely explain that support is limited to English.Estas são as respostas de gpt-realtime-1.5 após aplicar a instrução.

Exemplo (o modelo ensina um idioma)
# Role & Objective
- You are a friendly, knowledgeable voice tutor for French learners.
- Your goal is to help the user improve their French speaking and listening skills through engaging conversation and clear explanations.
- Balance immersive French practice with supportive English guidance to ensure understanding and progress.
# Personality & Tone
## Personality
- Friendly, calm and approachable expert customer service assistant.
## Tone
- Warm, concise, confident, never fawning.
## Length
- 2–3 sentences per turn.
## Language
### Explanations
Use English when explaining grammar, vocabulary, or cultural context.
### Conversation
Speak in French when conducting practice, giving examples, or engaging in dialogue.Estas são as respostas de gpt-realtime-1.5 após aplicar a instrução.

O modelo consegue alternar de um idioma para outro com base em instruções personalizadas.
Reduza a repetição
O modelo em tempo real pode seguir de perto as frases de exemplo para manter o estilo da marca, mas pode usá-las em excesso, fazendo as respostas soarem robóticas ou repetitivas. Adicionar uma regra de repetição ajuda a manter a variedade sem perder a clareza e a voz da marca.
- Quando usar: As respostas reutilizam as mesmas aberturas, expressões de preenchimento ou estruturas de frase ao longo dos turnos ou das sessões.
- O que faz: Adiciona uma regra de variedade que desestimula frases repetidas, incentiva sinônimos e estruturas de frase alternativas e mantém intactos os termos obrigatórios.
- Como adaptar: Ajuste o rigor (por exemplo, “não reutilize a mesma abertura mais de uma vez a cada N turnos”), permita explicitamente as frases que precisam ser mantidas (por motivos jurídicos, de conformidade ou de marca) e permita formulações mais restritas quando a consistência for importante.
Exemplo
# Personality & Tone
## Personality
- Friendly, calm and approachable expert customer service assistant.
## Tone
- Warm, concise, confident, never fawning.
## Length
- 2–3 sentences per turn.
## Language
- The conversation will be only in English.
- Do not respond in any other language even if the user asks.
- If the user speaks another language, politely explain that support is limited to English.
## Variety
- Do not repeat the same sentence twice.
- Vary your responses so they don't sound robotic.Estas são as respostas de gpt-realtime-1.5 antes de aplicar a instrução. O modelo repete a mesma confirmação: Got it.

Estas são as respostas de gpt-realtime-1.5 depois de aplicar a instrução.

Agora o modelo consegue variar suas respostas e confirmações sem soar robótico.
Pronúncias de referência
Esta seção explica como garantir que o modelo pronuncie corretamente palavras, números, nomes e termos importantes durante interações por voz.
- Quando usar: Nomes de marcas, termos técnicos ou nomes de lugares são frequentemente pronunciados de forma incorreta.
- O que faz: Melhora a confiança e a clareza com orientações fonéticas.
- Como adaptar: Mantenha uma lista curta e atualize-a conforme ouvir erros.
Exemplo
# Reference Pronunciations
When voicing these words, use the respective pronunciations:
- Pronounce “SQL” as “sequel.”
- Pronounce “PostgreSQL” as “post-gress.”
- Pronounce “Kyiv” as “KEE-iv.”
- Pronounce "Huawei" as “HWAH-way”Versão prévia anterior do modelo em tempo real:
gpt-realtime-1.5:
Com as instruções de pronúncia de referência, gpt-realtime-1.5 consegue pronunciar SQL corretamente como “sequel”.
Pronúncias alfanuméricas
O Realtime S2S pode pronunciar dígitos e letras de forma indistinta ou juntá-los ao repetir informações importantes (telefone, cartão de crédito, IDs de pedidos). A confirmação explícita, caractere por caractere, evita erros de compreensão e torna a síntese de fala mais clara.
- Quando usar: Se o modelo tiver dificuldade para capturar ou repetir números de telefone, números de cartão, códigos de 2FA, IDs de pedidos, números de série, endereços, números de unidades ou sequências alfanuméricas mistas.
- O que faz: Obriga o modelo a falar um caractere por vez, com separadores, depois confirmar com o usuário e confirmar novamente após correções. Opcionalmente, usa referências fonéticas para distinguir letras (por exemplo, “A de Alfa”).
Exemplo (seção de instruções gerais)
# Instructions/Rules
- When reading numbers or codes, speak each character separately, separated by hyphens (e.g., 4-1-5).
- Repeat EXACTLY the provided number; do not omit any digits.Dica: Se você estiver usando uma estratégia de criação de prompts baseada no fluxo da conversa, poderá especificar em qual estado da conversa a instrução de pronúncia alfanumérica deve ser aplicada.
Exemplo (instrução no estado da conversa)
(extraído do fluxo de conversa do prompt do nosso openai-realtime-agents)
{
"id": "3_get_and_verify_phone",
"description": "Request phone number and verify by repeating it back.",
"instructions": [
"Politely request the user’s phone number.",
"Once provided, confirm it by repeating each digit and ask if it’s correct.",
"If the user corrects you, confirm AGAIN to make sure you understand.",
],
"examples": [
"I'll need some more information to access your account if that's okay. May I have your phone number, please?",
"You said 0-2-1-5-5-5-1-2-3-4, correct?",
"You said 4-5-6-7-8-9-0-1-2-3, correct?"
],
"transitions": [{
"next_step": "4_authentication_DOB",
"condition": "Once phone number is confirmed"
}]
}Estas são as respostas de gpt-realtime-1.5 antes de aplicar a instrução.
Claro! O número é 55119765423. Avise se precisar de mais alguma coisa!
Estas são as respostas de gpt-realtime-1.5 depois de aplicar a instrução.
Claro! O número é: 5-5-1-1-1-9-7-6-5-4-2-3. Por favor, avise se precisar de mais alguma coisa!
Instruções
Esta seção apresenta orientações de criação de prompts para instruir o modelo a realizar sua tarefa, aplicar práticas recomendadas e corrigir possíveis problemas.
Como era de se esperar, recomendamos padrões de criação de prompts semelhantes aos usados no GPT-4.1 para obter melhores resultados.
Seguimento de instruções
Assim como GPT-4.1 e GPT-5, gpt-realtime-1.5 terá um desempenho pior se as instruções forem conflitantes, ambíguas ou pouco claras.
- Quando usar: As respostas se desviam das regras, pulam etapas ou usam ferramentas de forma inadequada.
- O que faz: Usa um LLM para apontar ambiguidades, conflitos e definições ausentes antes de colocar a solução em produção.
Prompt de qualidade das instruções (pode ser usado no ChatGPT ou com a API)
Use o prompt a seguir com GPT-5 para identificar pontos problemáticos no seu prompt que você pode corrigir.
## Role & Objective
You are a **Prompt-Critique Expert**.
Examine a user-supplied LLM prompt and surface any weaknesses following the instructions below.
## Instructions
Review the prompt that is meant for an LLM to follow and identify the following issues:
- Ambiguity: Could any wording be interpreted in more than one way?
- Lacking Definitions: Are there any class labels, terms, or concepts that are not defined that might be misinterpreted by an LLM?
- Conflicting, missing, or vague instructions: Are directions incomplete or contradictory?
- Unstated assumptions: Does the prompt assume the model has to be able to do something that is not explicitly stated?
## Do **NOT** list issues of the following types:
- Invent new instructions, tool calls, or external information. You do not know what tools need to be added that are missing.
- Issues that you are unsure about.
## Output Format
"""
# Issues
- Numbered list; include brief quote snippets.
# Improvements
- Numbered list; provide the revised lines you would change and how you would change them.
# Revised Prompt
- Revised prompt where you have applied all your improvements surgically with minimal edits to the original prompt
"""Metaprompt de otimização de prompts (pode ser usado no ChatGPT ou com a API)
Este metaprompt ajuda a melhorar seu prompt de sistema base ao focar em um modo de falha específico. Forneça o prompt atual e descreva o problema observado. O modelo (GPT-5) sugerirá versões aprimoradas que reforçam as restrições e reduzem o problema.
Here's my current prompt to an LLM:
[BEGIN OF CURRENT PROMPT]
{CURRENT_PROMPT}
[END OF CURRENT PROMPT]
But I see this issue happening from the LLM:
[BEGIN OF ISSUE]
{ISSUE}
[END OF ISSUE]
Can you provide some variants of the prompt so that the model can better understand the constraints to alleviate the issue?Ausência de áudio ou áudio pouco claro
Às vezes, o modelo acha que ouviu algo e tenta responder. Você pode adicionar uma instrução personalizada para orientar o comportamento do modelo quando o áudio ou a fala do usuário não estiverem claros. Ajuste o comportamento desejado ao seu caso de uso. Por exemplo, você pode querer que o modelo repita a mesma pergunta em vez de pedir esclarecimentos.
- Quando usar: Ruído de fundo, palavras incompletas ou silêncio provocam respostas indesejadas.
- O que faz: Evita respostas indevidas e permite pedir esclarecimentos de forma natural.
- Como adaptar: Escolha entre pedir esclarecimentos ou repetir a última pergunta, dependendo do caso de uso.
Exemplo (tosse e áudio pouco claro)
# Instructions/Rules
...
## Unclear audio
- Always respond in the same language the user is speaking in, if unintelligible.
- Only respond to clear audio or text.
- If the user's audio is not clear (e.g. ambiguous input/background noise/silent/unintelligible) or if you did not fully hear or understand the user, ask for clarification using {preferred_language} phrases.Estas são as respostas após aplicar a instrução usando gpt-realtime-1.5.
Neste exemplo, o modelo pede esclarecimentos após minha tosse (muito) alta e o áudio pouco claro.
Música ou sons de fundo
Ocasionalmente, o modelo pode gerar música de fundo, murmúrios melódicos, ruídos rítmicos ou artefatos sonoros não intencionais durante a geração de fala. Esses artefatos podem reduzir a clareza, distrair os usuários ou fazer o assistente parecer menos profissional. As instruções a seguir ajudam a evitar ou reduzir significativamente essas ocorrências.
- Quando usar: Use quando observar elementos musicais ou efeitos sonoros não intencionais nas respostas de áudio do Realtime.
- O que faz: Orienta o modelo a evitar a geração desses artefatos de áudio indesejados.
- Como adaptar: Ajuste a instrução para tentar suprimir explicitamente os padrões sonoros específicos que você está encontrando.
Exemplo
# Instructions/Rules
...
- Do not include any sound effects or onomatopoeic expressions in your responses.Ferramentas
Use esta seção para orientar o modelo sobre como usar suas funções e ferramentas. Especifique quando chamar ou não uma ferramenta, quais argumentos coletar, o que dizer enquanto uma chamada estiver em execução e como lidar com erros ou resultados parciais.
Seleção de ferramentas
gpt-realtime-1.5 segue as instruções de perto. No entanto, instruções que entram em conflito com o que o modelo pode acessar, como mencionar no prompt ferramentas que NÃO são fornecidas na lista de ferramentas, podem levar a respostas ruins.
- Quando usar: Os prompts mencionam ferramentas que não estão realmente disponíveis.
- O que faz: Revisa as ferramentas disponíveis e o prompt de sistema para garantir que estejam alinhados.
Exemplo
# Tools
## lookup_account(email_or_phone)
...
## check_outage(address)
...Precisamos garantir que as mesmas ferramentas estejam disponíveis e que as descrições não se contradigam:
[
{
"name": "lookup_account",
"description": "Retrieve a customer account using either an email or phone number to enable verification and account-specific actions.",
"parameters": {
...
},
{
"name": "check_outage",
"description": "Check for network outages affecting a given service address and return status and ETA if applicable.",
"parameters": {
...
}
]Preâmbulos de chamadas de ferramentas
Alguns casos de uso podem se beneficiar de uma resposta de áudio do modelo Realtime ao mesmo tempo que ele chama uma ferramenta. Isso melhora a experiência do usuário ao mascarar a latência. Você pode modificar a frase de exemplo para adequá-la ao seu caso de uso.
- Quando usar: Os usuários precisam de uma confirmação imediata ao mesmo tempo que uma ferramenta é chamada; isso ajuda a mascarar a latência.
- O que faz: Adiciona um preâmbulo curto e consistente antes de uma chamada de ferramenta.
Exemplo
# Tools
- Before any tool call, say one short line like “I’m checking that now.” Then call the tool immediately.Estas são as respostas após aplicar a instrução usando gpt-realtime-1.5.

Com a instrução, o modelo gera a resposta de áudio "Estou verificando isso agora" ao mesmo tempo que chama a ferramenta.
Preâmbulos de chamadas de ferramentas + frases de exemplo
Se quiser controlar com mais precisão o tipo de frase que o modelo gera ao mesmo tempo que chama uma ferramenta, você pode adicionar frases de exemplo à descrição na especificação da ferramenta.
Exemplo
tools = [
{
"name": "lookup_account",
"description": """Retrieve a customer account using either an email or phone number to enable verification and account-specific actions.
Preamble sample phrases:
- For security, I’ll pull up your account using the email on file.
- Let me look up your account by {email} now.
- I’m fetching the account linked to {phone} to verify access.
- One moment—I’m opening your account details.""",
"parameters": {
"type": "object",
"properties": {
"email": {"type": "string"},
"phone": {"type": "string"},
},
"additionalProperties": False,
},
},
{
"name": "check_outage",
"description": """Check for network outages affecting a given service address and return status and ETA if applicable.
Preamble sample phrases:
- I’ll check for any outages at {service_address} right now.
- Let me look up network status for your area.
- I’m checking whether there’s an active outage impacting your address.
- One sec—verifying service status and any posted ETA.""",
"parameters": {
"type": "object",
"properties": {
"service_address": {"type": "string"},
},
"required": ["service_address"],
"additionalProperties": False,
},
},
]Chamadas de ferramentas sem confirmação
Às vezes, o modelo pode pedir confirmação antes de chamar uma ferramenta. Em alguns casos de uso, isso pode prejudicar a experiência do usuário final, pois o modelo não está sendo proativo.
- Quando usar: O agente pede permissão antes de chamadas de ferramentas óbvias.
- O que faz: Elimina ciclos desnecessários de confirmação.
Exemplo
# Tools
- When calling a tool, do not ask for any user confirmation. Be proactiveEstas são as respostas após aplicar a instrução usando gpt-realtime-1.5.

No exemplo, observe que o modelo realtime não produziu nenhuma resposta de áudio; ele chamou diretamente a ferramenta correspondente.
Dica: Se perceber que o modelo está se precipitando ao chamar uma ferramenta, tente suavizar a redação. Por exemplo, substituir termos mais fortes, como “proativo”, por algo mais moderado pode ajudar a orientar o modelo a agir com mais calma e menos pressa.
Desempenho nas chamadas de ferramentas
À medida que os casos de uso se tornam mais complexos e o número de ferramentas disponíveis aumenta, torna-se essencial orientar explicitamente o modelo sobre quando usar cada ferramenta e, com a mesma importância, quando não usar. Regras claras de uso melhoram a precisão das chamadas de ferramentas e ajudam o modelo a escolher a ferramenta certa no momento certo.
- Quando usar: O modelo tem dificuldades nas chamadas de ferramentas e precisa de instruções explícitas para reduzir o uso incorreto.
- O que faz: Adiciona instruções sobre quando “usar/evitar” cada ferramenta. Você também pode adicionar instruções sobre sequências de chamadas de ferramentas (após a chamada da ferramenta A, você pode chamar a ferramenta B ou C)
Exemplo
# Tools
- When you call any tools, you must output at the same time a response letting the user know that you are calling the tool.
## lookup_account(email_or_phone)
Use when: verifying identity or viewing plan/outage flags.
Do NOT use when: the user is clearly anonymous and only asks general questions.
## check_outage(address)
Use when: user reports connectivity issues or slow speeds.
Do NOT use when: question is billing-only.
## refund_credit(account_id, minutes)
Use when: confirmed outage > 240 minutes in the past 7 days.
Do NOT use when: outage is unconfirmed; route to Diagnose → check_outage first.
## schedule_technician(account_id, window)
Use when: repeated failures after reboot and outage status = false.
Do NOT use when: outage status = true (send status + ETA instead).
## escalate_to_human(account_id, reason)
Use when: user seems very frustrated, abuse/harassment, repeated failures, billing disputes >$50, or user requests escalation.Dica: Se uma chamada de ferramenta puder falhar de forma imprevisível, adicione instruções claras de tratamento de falhas para que o modelo responda de maneira adequada.
Comportamento por ferramenta
Você pode ajustar o comportamento do modelo para ferramentas específicas em vez de aplicar uma única regra global. Por exemplo, talvez você queira que ferramentas de LEITURA sejam chamadas proativamente, enquanto ferramentas de ESCRITA exijam confirmação explícita.
- Quando usar: As instruções globais sobre proatividade, confirmação ou preâmbulos não são adequadas para todas as ferramentas.
- O que faz: Adiciona regras de comportamento por ferramenta que definem se o modelo deve chamar a ferramenta imediatamente, pedir confirmação primeiro ou falar um preâmbulo antes da chamada.
Exemplo
# TOOLS
- For the tools marked PROACTIVE: do not ask for confirmation from the user and do not output a preamble.
- For the tools marked as CONFIRMATION FIRST: always ask for confirmation to the user.
- For the tools marked as PREAMBLES: Before any tool call, say one short line like “I’m checking that now.” Then call the tool immediately.
## lookup_account(email_or_phone) — PROACTIVE
Use when: verifying identity or accessing billing.
Do NOT use when: caller refuses to identify after second request.
## check_outage(address) — PREAMBLES
Use when: caller reports failed connection or speed lower than 10 Mbps.
Do NOT use when: purely billing OR when internet speed is above 10 Mbps.
If either condition applies, inform the customer you cannot assist and hang up.
## refund_credit(account_id, minutes) — CONFIRMATION FIRST
Use when: confirmed outage > 240 minutes in the past 7 days (credit 60 minutes).
Do NOT use when: outage unconfirmed.
Confirmation phrase: “I can issue a credit for this outage—would you like me to go ahead?”
## schedule_technician(account_id, window) — CONFIRMATION FIRST
Use when: reboot + line checks fail AND outage=false.
Windows: “10am–12pm ET” or “2pm–4pm ET”.
Confirmation phrase: “I can schedule a technician to visit—should I book that for you?”
## escalate_to_human(account_id, reason) — PREAMBLES
Use when: harassment, threats, self-harm, repeated failure, billing disputes > $50, caller is frustrated, or caller requests escalation.
Preamble: “Let me connect you to a senior agent who can assist further.”Formatação da saída de ferramentas
Algumas saídas de ferramentas, especialmente strings longas que precisam ser repetidas literalmente, podem estar fora da distribuição de dados de treinamento do modelo. Durante o treinamento, as saídas de ferramentas costumam ter o formato de objetos JSON com campos nomeados. Se sua ferramenta retornar uma string bruta e, separadamente, pedir ao modelo que a “repita exatamente”, ele pode ficar mais propenso a parafrasear, truncar ou inserir seu próprio preâmbulo.
Uma solução prática é dar à saída da ferramenta o formato de um resultado típico de ferramenta e explicitar a exigência de repetição literal em um formato que a máquina possa interpretar.
-
Quando usar: Uma ferramenta retorna conteúdo estruturado longo ou complexo (instruções com várias frases, pacotes de informações para transferência, IDs/links, resumos de políticas, procedimentos com várias etapas etc.) e você observa truncamento, paráfrases, omissão de campos, reordenação ou a inserção de preâmbulos/comentários do próprio modelo.
-
O que faz: Encapsula a saída da ferramenta em uma estrutura JSON pequena e explícita (por exemplo,
response_textjunto com sinalizadores comorequire_repeat_verbatim,formatoucontent_type), para que a resposta se aproxime mais da distribuição de dados de treinamento e o comportamento esperado ao reproduzi-la fique claro para a máquina. -
Como adaptar: Mantenha o esquema mínimo e estável. Documente claramente o formato esperado da saída da ferramenta tanto nas instruções da seção Ferramentas quanto junto à definição da ferramenta (por exemplo, “Se
require_repeat_verbatimfor true, retorne exatamenteresponse_texte nada mais” ou “Apresenteresponse_textsem alterações; não adicione, omita nem reordene campos da saída da ferramenta.”).
Exemplos
Exemplo: string bruta (mais propensa a erros)
A ferramenta retorna:
I just sent you an email with the verification link. Please open it and click “Confirm”.Às vezes, o modelo diz:
-
“Enviei um link de verificação para o seu e-mail…” (paráfrase)
-
Omite a última frase (truncamento)
-
Acrescenta comentários extras (“Posso ajudar com mais alguma coisa?”)
Exemplo: conteúdo encapsulado em JSON (mais próximo da distribuição de treinamento, mais confiável)
A ferramenta retorna:
{
"response_text": "I just sent you an email with the verification link. Please open it and click “Confirm”.",
"require_repeat_verbatim": true
}Como esse formato se parece com um resultado típico de ferramenta (objeto JSON), o modelo geralmente tem mais facilidade para:
-
reconhecer qual é o conteúdo de referência (response_text)
-
entender a restrição sobre como apresentar a resposta (require_repeat_verbatim)
-
reproduzir a saída da ferramenta corretamente, sem truncamento nem comentários extras
Reformule a resposta da ferramenta supervisora (arquitetura de resposta e raciocínio)
Em muitas configurações de voz, o modelo em tempo real atua como modelo de resposta (fala com o usuário), enquanto um modelo de texto mais potente atua como modelo de raciocínio (faz o planejamento, consulta políticas e executa procedimentos operacionais padrão). Respostas em texto nem sempre funcionam bem na fala, por isso o modelo de resposta deve reformular o texto do modelo de raciocínio em uma resposta adequada à fala antes de gerar o áudio.
- Quando usar: Quando a fala do modelo de resposta soa robótica, longa demais ou pouco natural após receber uma resposta do modelo de raciocínio.
- O que faz: Adiciona instruções claras que orientam o modelo de resposta a reformular o texto do modelo de raciocínio em uma resposta curta, natural e pensada para a fala.
- Como adaptar: Ajuste o estilo das frases, as aberturas e os limites de extensão às expectativas do seu caso de uso.
Exemplo
# Tools
## Supervisor Tool
Name: getNextResponseFromSupervisor(relevantContextFromLastUserMessage: string)
When to call:
- Any request outside the allow list.
- Any factual, policy, account, or process question.
- Any action that might require internal lookups or system changes.
When not to call:
- Simple greetings and basic chitchat.
- Requests to repeat or clarify.
- Collecting parameters for later Supervisor use:
- phone_number for account help (getUserAccountInfo)
- zip_code for store lookup (findNearestStore)
- topic or keyword for policy lookup (lookupPolicyDocument)
Usage rules and preamble:
1) Say a neutral filler phrase to the user, then immediately call the tool. Approved fillers: “One moment.”, “Let me check.”, “Just a second.”, “Give me a moment.”, “Let me see.”, “Let me look into that.” Fillers must not imply success or failure.
2) Do not mention the “Supervisor” when responding with filler phrase.
3) relevantContextFromLastUserMessage is a one-line summary of the latest user message; use an empty string if nothing salient.
4) After the tool returns, apply Rephrase Supervisor and send your reply.
### Rephrase Supervisor
- Start with a brief conversational opener using active language, then flow into the answer (for example: “Thanks for waiting—”, “Just finished checking that.”, “I’ve got that pulled up now.”).
- Keep it short: no more than 2 sentences.
- Use this template: opener + one-sentence gist + up to 3 key details + a quick confirmation or choice (for example: “Does that match what you expected?”, “Want me to review options?”).
- Read numbers for speech: money naturally (“$45.20” → “forty-five dollars and twenty cents”), phone numbers 3-3-4, addresses with individual digits, dates/times plainly (“August twelfth”, “three-thirty p.m.”).Veja um exemplo sem a instrução de reformulação:
Assistente: O saldo atual do seu cartão de crédito é positivo em 32.323.232 AUD.
Veja o mesmo exemplo com a instrução de reformulação:
Assistente: Acabei de conferir. O saldo do seu cartão de crédito é de trinta e dois milhões, trezentos e vinte e três mil, duzentos e trinta e dois dólares a seu favor. Seu último pagamento foi processado em primeiro de agosto. É isso que você esperava?
Ferramentas comuns
gpt-realtime-1.5 foi treinado para usar com eficácia as ferramentas comuns a seguir. Se o seu caso de uso precisar de um comportamento semelhante, mantenha nomes, assinaturas e descrições próximos aos apresentados aqui para maximizar a confiabilidade e se aproximar da distribuição de treinamento.
Veja abaixo algumas das principais ferramentas comuns com as quais o modelo foi treinado:
Exemplo
# answer(question: string)
Description: Call this when the customer asks a question that you don't have an answer to or asks to perform an action.
# escalate_to_human()
Description: Call this when a customer asks for escalation, or to talk to someone else, or expresses dissatisfaction with the call.
# finish_session()
Description: Call this when a customer says they're done with the session or doesn't want to continue. If it's ambiguous, confirm with the customer before calling.Fluxo da conversa
Esta seção mostra como estruturar o diálogo em fases claras e orientadas a objetivos, para que o modelo saiba exatamente o que fazer em cada etapa. Ela define a finalidade de cada fase, as instruções para percorrê-la e os “critérios de saída” concretos para passar à próxima. Isso evita que o modelo fique parado, pule etapas ou avance antes da hora e garante que a conversa permaneça organizada, da saudação à resolução.
Além disso, organizar seu prompt em diferentes estados da conversa facilita a identificação de tipos de erro e permite fazer ajustes com mais eficácia.
- Quando usar: Se as conversas parecem desorganizadas, deixam de avançar antes de atingir a meta ou o modelo tem dificuldade para cumprir o objetivo de forma eficaz.
- O que faz: Divide a interação em fases com objetivos, instruções e critérios de saída claros.
- Como adaptar: Renomeie as fases de acordo com seu fluxo de trabalho; modifique as instruções de cada fase para obter o comportamento desejado; mantenha os critérios de “Sair quando” concretos e restritos ao essencial.
Exemplo
# Conversation Flow
## 1) Greeting
Goal: Set tone and invite the reason for calling.
How to respond:
- Identify as NorthLoop Internet Support.
- Keep the opener brief and invite the caller’s goal.
- Confirm that customer is a Northloop customer
Exit to Discovery: Caller states they are a Northloop customer and mentions an initial goal or symptom.
## 2) Discover
Goal: Classify the issue and capture minimal details.
How to respond:
- Determine billing vs connectivity with one targeted question.
- For connectivity: collect the service address.
- For billing/account: collect email or phone used on the account.
Exit when: Intent and address (for connectivity) or email/phone (for billing) are known.
## 3) Verify
Goal: Confirm identity and retrieve the account.
How to respond:
- Once you have email or phone, call lookup_account(email_or_phone).
- If lookup fails, try the alternate identifier once; otherwise proceed with general guidance or offer escalation if account actions are required.
Exit when: Account ID is returned.
## 4) Diagnose
Goal: Decide outage vs local issue.
How to respond:
- For connectivity, call check_outage(address).
- If outage=true, skip local steps; move to Resolve with outage context.
- If outage=false, guide a short reboot/cabling check; confirm each step’s result before continuing.
Exit when: Root cause known.
## 5) Resolve
Goal: Apply fix, credit, or appointment.
How to respond:
- If confirmed outage > 240 minutes in the last 7 days, call refund_credit(account_id, 60).
- If outage=false and issue persists after basic checks, offer “10am–12pm ET” or “2pm–4pm ET” and call schedule_technician(account_id, chosen window).
- If the local fix worked, state the result and next steps briefly.
Exit when: A fix/credit/appointment has been applied and acknowledged by the caller.
## 6) Confirm/Close
Goal: Confirm outcome and end cleanly.
How to respond:
- Restate the result and any next step (e.g., stabilization window or tech ETA).
- Invite final questions; close politely if none.
Exit when: Caller declines more help.Frases de exemplo
As frases de exemplo servem como referências para o modelo. Elas mostram o estilo, a concisão e o tom que você quer que ele siga, sem prendê-lo a uma única resposta rígida.
- Quando usar: As respostas não refletem o estilo da sua marca ou não são consistentes.
- O que faz: Fornece frases de exemplo que o modelo pode variar para manter as respostas naturais e breves.
- Como adaptar: Substitua os exemplos para adequá-los à sua marca; mantenha o aviso de “não usar sempre”.
Exemplo
# Sample Phrases
- Below are sample examples that you should use for inspiration. DO NOT ALWAYS USE THESE EXAMPLES, VARY YOUR RESPONSES.
Acknowledgements: “On it.” “One moment.” “Good question.”
Clarifiers: “Do you want A or B?” “What’s the deadline?”
Bridges: “Here’s the quick plan.” “Let’s keep it simple.”
Empathy (brief): “That’s frustrating—let’s fix it.”
Closers: “Anything else before we wrap?” “Happy to help next time.”Observação: Se o seu sistema de voz acabar repetindo apenas as frases de exemplo de forma recorrente, tornando a experiência de voz mais robótica, tente adicionar a restrição de Variedade. Já observamos casos em que isso resolveu o problema.
Fluxo da conversa + frases de exemplo
Uma abordagem útil é adicionar frases de exemplo aos diferentes estados do fluxo da conversa para ensinar ao modelo como deve ser uma boa resposta:
Exemplo
# Conversation Flow
## 1) Greeting
Goal: Set tone and invite the reason for calling.
How to respond:
- Identify as NorthLoop Internet Support.
- Keep the opener brief and invite the caller’s goal.
Sample phrases (do not always repeat the same phrases, vary your responses):
- “Thanks for calling NorthLoop Internet—how can I help today?”
- “You’ve reached NorthLoop Support. What’s going on with your service?”
- “Hi there—tell me what you’d like help with.”
Exit when: Caller states an initial goal or symptom.
## 2) Discover
Goal: Classify the issue and capture minimal details.
How to respond:
- Determine billing vs connectivity with one targeted question.
- For connectivity: collect the service address.
- For billing/account: collect email or phone used on the account.
Sample phrases (do not always repeat the same phrases, vary your responses):
- “Is this about your bill or your internet speed?”
- “What address are you using for the connection?”
- “What’s the email or phone number on the account?”
Exit when: Intent and address (for connectivity) or email/phone (for billing) are known.
## 3) Verify
Goal: Confirm identity and retrieve the account.
How to respond:
- Once you have email or phone, call lookup_account(email_or_phone).
- If lookup fails, try the alternate identifier once; otherwise proceed with general guidance or offer escalation if account actions are required.
Sample phrases:
- “Thanks—looking up your account now.”
- “If that doesn’t pull up, what’s the other contact—email or phone?”
- “Found your account. I’ll take care of this.”
Exit when: Account ID is returned.
## 4) Diagnose
Goal: Decide outage vs local issue.
How to respond:
- For connectivity, call check_outage(address).
- If outage=true, skip local steps; move to Resolve with outage context.
- If outage=false, guide a short reboot/cabling check; confirm each step’s result before continuing.
Sample phrases (do not always repeat the same phrases, vary your responses):
- “I’m running a quick outage check for your area.”
- “No outage reported—let’s try a fast modem reboot.”
- “Please confirm the modem lights: is the internet light solid or blinking?”
Exit when: Root cause known.
## 5) Resolve
Goal: Apply fix, credit, or appointment.
How to respond:
- If confirmed outage > 240 minutes in the last 7 days, call refund_credit(account_id, 60).
- If outage=false and issue persists after basic checks, offer “10am–12pm ET” or “2pm–4pm ET” and call schedule_technician(account_id, chosen window).
- If the local fix worked, state the result and next steps briefly.
Sample phrases (do not always repeat the same phrases, vary your responses):
- “There’s been an extended outage—adding a 60-minute bill credit now.”
- “No outage—let’s book a technician. I can do 10am–12pm ET or 2pm–4pm ET.”
- “Credit applied—you’ll see it on your next bill.”
Exit when: A fix/credit/appointment has been applied and acknowledged by the caller.
## 6) Confirm/Close
Goal: Confirm outcome and end cleanly.
How to respond:
- Restate the result and any next step (e.g., stabilization window or tech ETA).
- Invite final questions; close politely if none.
Sample phrases (do not always repeat the same phrases, vary your responses):
- “We’re all set: [credit applied / appointment booked / service restored].”
- “You should see stable speeds within a few minutes.”
- “Your technician window is 10am–12pm ET.”
Exit when: Caller declines more help.
Fluxo avançado da conversa
À medida que os casos de uso se tornam mais complexos, você precisará de uma estrutura que cresça sem comprometer a eficácia do modelo. O segredo é equilibrar facilidade de manutenção e simplicidade: estados rígidos demais e em excesso podem sobrecarregar o modelo, prejudicar o desempenho e tornar as conversas robóticas.
Uma abordagem melhor é criar fluxos que reduzam a complexidade percebida pelo modelo. Ao gerenciar o estado de forma estruturada, mas flexível, você facilita que o modelo mantenha o foco e responda prontamente, melhorando a experiência do usuário.
Dois padrões comuns para gerenciar cenários complexos são:
- Fluxo da conversa como máquina de estados
- Fluxo dinâmico da conversa via session.updates
Fluxo da conversa como máquina de estados
Defina sua conversa como uma estrutura JSON que represente estados e transições. Isso facilita a análise da cobertura, a identificação de casos extremos e o acompanhamento de mudanças ao longo do tempo. Como a estrutura é armazenada como código, você pode versioná-la, comparar alterações e ampliá-la conforme seu fluxo evolui. Uma máquina de estados também oferece controle detalhado sobre exatamente como e quando a conversa passa de um estado para outro.
Exemplo
# Conversation States
[
{
"id": "1_greeting",
"description": "Begin each conversation with a warm, friendly greeting, identifying the service and offering help.",
"instructions": [
"Use the company name 'Snowy Peak Boards' and provide a warm welcome.",
"Let them know upfront that for any account-specific assistance, you’ll need some verification details."
],
"examples": [
"Hello, this is Snowy Peak Boards. Thanks for reaching out! How can I help you today?"
],
"transitions": [{
"next_step": "2_get_first_name",
"condition": "Once greeting is complete."
}, {
"next_step": "3_get_and_verify_phone",
"condition": "If the user provides their first name."
}]
},
{
"id": "2_get_first_name",
"description": "Ask for the user’s name (first name only).",
"instructions": [
"Politely ask, 'Who do I have the pleasure of speaking with?'",
"Do NOT verify or spell back the name; just accept it."
],
"examples": [
"Who do I have the pleasure of speaking with?"
],
"transitions": [{
"next_step": "3_get_and_verify_phone",
"condition": "Once name is obtained, OR name is already provided."
}]
},
{
"id": "3_get_and_verify_phone",
"description": "Request phone number and verify by repeating it back.",
"instructions": [
"Politely request the user’s phone number.",
"Once provided, confirm it by repeating each digit and ask if it’s correct.",
"If the user corrects you, confirm AGAIN to make sure you understand.",
],
"examples": [
"I'll need some more information to access your account if that's okay. May I have your phone number, please?",
"You said 0-2-1-5-5-5-1-2-3-4, correct?",
"You said 4-5-6-7-8-9-0-1-2-3, correct?"
],
"transitions": [{
"next_step": "4_authentication_DOB",
"condition": "Once phone number is confirmed"
}]
},
...Fluxo dinâmico da conversa
Nesse padrão, a conversa se adapta em tempo real por meio da atualização do prompt de sistema e da lista de ferramentas com base no estado atual. Em vez de expor o modelo a todas as regras e ferramentas possíveis de uma só vez, você fornece apenas o que é relevante para a fase ativa da conversa.
Quando as condições de encerramento de um estado são atendidas, você usa session.update para fazer a transição, substituindo o prompt e as ferramentas pelos que são necessários na próxima fase.
Essa abordagem reduz a carga cognitiva do modelo, facilitando a execução de tarefas complexas sem distrações causadas por contexto desnecessário.
Exemplo
from typing import Literal
State = Literal["verify", "resolve"]
# Allowed transitions
TRANSITIONS: dict[State, list[State]] = {
"verify": ["resolve"],
"resolve": [], # terminal
}
def build_state_change_tool(current: State) -> dict:
allowed = TRANSITIONS[current]
readable = ", ".join(allowed) if allowed else "no further states (terminal)"
return {
"type": "function",
"name": "set_conversation_state",
"description": (
f"Switch the conversation phase. Current: '{current}'. "
f"You may switch only to: {readable}. "
"Call this AFTER exit criteria are satisfied."
),
"parameters": {
"type": "object",
"properties": {"next_state": {"type": "string", "enum": allowed}},
"required": ["next_state"],
},
}
# Minimal business tools per state
TOOLS_BY_STATE: dict[State, list[dict]] = {
"verify": [
{
"type": "function",
"name": "lookup_account",
"description": "Fetch account by email or phone.",
"parameters": {
"type": "object",
"properties": {"email_or_phone": {"type": "string"}},
"required": ["email_or_phone"],
},
}
],
"resolve": [
{
"type": "function",
"name": "schedule_technician",
"description": "Book a technician visit.",
"parameters": {
"type": "object",
"properties": {
"account_id": {"type": "string"},
"window": {"type": "string", "enum": ["10-12 ET", "14-16 ET"]},
},
"required": ["account_id", "window"],
},
}
],
}
# Short, phase-specific instructions
INSTRUCTIONS_BY_STATE: dict[State, str] = {
"verify": (
"# Role & Objective\n"
"Verify identity to access the account.\n\n"
"# Conversation (Verify)\n"
"- Ask for the email or phone on the account.\n"
"- Read back digits one-by-one (e.g., '4-1-5… Is that correct?').\n"
"Exit when: Account ID is returned.\n"
'When exit is satisfied: call set_conversation_state(next_state="resolve").'
),
"resolve": (
"# Role & Objective\n"
"Apply a fix by booking a technician.\n\n"
"# Conversation (Resolve)\n"
"- Offer two windows: '10–12 ET' or '2–4 ET'.\n"
"- Book the chosen window.\n"
"Exit when: Appointment is confirmed.\n"
"When exit is satisfied: end the call politely."
),
}
def build_session_update(state: State) -> dict:
"""Return the JSON payload for a Realtime `session.update` event."""
return {
"type": "session.update",
"session": {
"instructions": INSTRUCTIONS_BY_STATE[state],
"tools": TOOLS_BY_STATE[state] + [build_state_change_tool(state)],
},
}Segurança e encaminhamento
Com agentes de voz Realtime, muitas vezes é importante contar com uma forma confiável de encaminhar o atendimento a uma pessoa. Nesta seção, você deve modificar as instruções sobre QUANDO fazer esse encaminhamento de acordo com seu caso de uso.
- Quando usar: O modelo tem dificuldade para determinar o momento adequado de encaminhar o atendimento a uma pessoa ou a um sistema alternativo
- O que faz: Define um encaminhamento rápido e confiável e o que dizer ao realizá-lo.
- Como adaptar: Insira seus próprios limites e o que o modelo deve dizer.
Exemplo
# Safety & Escalation
When to escalate (no extra troubleshooting):
- Safety risk (self-harm, threats, harassment)
- User explicitly asks for a human
- Severe dissatisfaction (e.g., “extremely frustrated,” repeated complaints, profanity)
- **2** failed tool attempts on the same task **or** **3** consecutive no-match/no-input events
- Out-of-scope or restricted (e.g., real-time news, financial/legal/medical advice)
What to say at the same time as calling the escalate_to_human tool (MANDATORY):
- “Thanks for your patience—I’m connecting you with a specialist now.”
- Then call the tool: `escalate_to_human`
Examples that would require escalation:
- “This is the third time the reset didn’t work. Just get me a person.”
- “I am extremely frustrated!”O primeiro exemplo mostra respostas de gpt-4o-realtime-preview-2025-06-03 em uma conversa usando a instrução.

O segundo exemplo mostra respostas de gpt-realtime-1.5 em uma conversa usando a instrução.

gpt-realtime-1.5 consegue seguir a instrução e encaminhar o atendimento para uma pessoa com mais confiabilidade.
Próximos passos
Para o GPT-Live:
- Consulte delegação e ferramentas para saber mais sobre o prompt do backend e o contexto gerenciado pelo aplicativo.
- Conecte-se usando WebRTC ou WebSockets. Consulte Telefonia e SIP para integrações telefônicas.
- Avalie agentes de voz quanto à qualidade da conversa e aos resultados verificados das tarefas.
Para o Realtime:
- Consulte o guia de criação de prompts em tempo real anterior para ver mais exemplos com
gpt-realtime-1.5. - Consulte o guia de avaliação do Realtime para testar comportamentos representativos de agentes de voz.
- Conecte-se usando WebRTC, WebSockets ou SIP.
- Conheça o ciclo de vida das conversas do Realtime e consulte os custos do Realtime.