Atualizar estado

Permita que seu agente atualize variáveis dinâmicas durante a conversa usando expressões.

Visão geral

A ferramenta Atualizar estado permite que seu agente defina uma ou mais variáveis dinâmicas enquanto uma conversa está em andamento. Assim como outras ferramentas do sistema, ela altera apenas o estado interno da conversa — nunca chama uma API externa nem uma função do lado do cliente.

Use-a para registrar informações à medida que uma chamada acontece, por exemplo, sinalizando que uma conversa deve ser escalada, armazenando um valor fornecido pelo usuário ou calculando um valor derivado de outras variáveis dinâmicas.

Funcionalidades

  • Várias atualizações por chamada: Uma única chamada da ferramenta pode atribuir até 10 variáveis dinâmicas de uma vez.
  • Valores baseados em expressões: Cada valor é o resultado de uma expressão, que pode combinar constantes, variáveis dinâmicas existentes, valores que o LLM extrai da conversa e operadores.
  • Extração pelo LLM apenas quando necessário: A ferramenta só pede ao LLM que extraia parâmetros para as atualizações que precisam disso. Atualizações criadas inteiramente com constantes e/ou variáveis dinâmicas existentes não adicionam parâmetros à chamada da função.
  • Disponibilidade imediata: Assim que a ferramenta é executada, as variáveis dinâmicas atualizadas ficam disponíveis para o restante da conversa — prompts posteriores, outras chamadas de ferramentas e substituições podem fazer referência a elas, da mesma forma que a qualquer outra variável dinâmica.

Como funciona

Cada atualização de estado atribui o resultado de uma expressão a uma variável dinâmica:

variable_name = expression

Uma expressão é um dos tipos a seguir, e elas podem ser aninhadas umas nas outras para criar uma lógica mais complexa:

TipoDescrição
ConstanteUm valor fixo de string, número, booleano ou nulo.
Variável dinâmicaO valor atual de outra variável dinâmica.
Valor extraído pelo LLMUm valor que o LLM infere da conversa, correspondente a um tipo que você define (string, número ou booleano).
Operador lógicoand, or ou uma expressão condicional (if / then / else) que combina outras expressões.
Operador de comparação=, ≠, >, <, ≥, ≤, comparando duas expressões.
Operador aritmético+, -, ×, ÷, combinando duas expressões numéricas (ou, no caso de +, de string).

Por exemplo, a atualização de estado a seguir define should_escalate como true se o LLM avaliar que o usuário está frustrado com a conversa ou se uma variável dinâmica retry_count já for maior que 3:

should_escalate = (llm: "User sounds frustrated with the conversation") OR (retry_count > 3)

Se uma atualização de estado não puder ser avaliada — por exemplo, devido a uma divisão por zero — a chamada da ferramenta retornará um erro e nenhuma das atualizações dessa chamada será aplicada.

Configuração

1

Etapa 1: adicione a ferramenta

Acesse a página de configuração do seu agente. Na seção Ferramentas, clique em Adicionar ferramenta e escolha Atualizar estado.

2

Etapa 2: defina as atualizações de estado

Para cada atualização de estado, informe:

  • Nome da variável: A variável dinâmica a ser atribuída.
  • Expressão: O valor a ser atribuído, criado com os tipos de valores e operadores descritos acima. Os valores podem ser aninhados para criar expressões mais complexas.

Você pode definir até 10 atualizações de estado para uma única ferramenta.

3

Etapa 3: configure a descrição (opcional)

Você pode fornecer uma descrição personalizada para orientar o LLM sobre quando chamar a ferramenta. Se deixar em branco, será usada uma descrição padrão otimizada para essa ferramenta.

Casos de uso

  • Sinalizadores de escalonamento: Defina uma variável dinâmica (por exemplo, should_escalate) que um sistema posterior ou uma regra de negócio verifica, conforme mostrado no guia de integração com o Genesys.
  • Registro de informações extraídas: Armazene como variável dinâmica um valor fornecido pelo usuário (um número de pedido, uma preferência, um departamento escolhido) para usá-lo mais tarde na conversa.
  • Valores derivados: Calcule um valor com base em outras variáveis dinâmicas, como incrementar um contador ou combinar duas variáveis em uma.

Objetivo: Permitir que o agente atualize uma ou mais variáveis dinâmicas com base na conversa, sem chamar uma API externa.

Condições de acionamento: o LLM deve chamar esta ferramenta quando:

  • A conversa fornecer informações que devem ser registradas (por exemplo, um indicador de escalonamento, uma opção escolhida ou um valor fornecido pelo usuário)
  • Uma atualização de estado configurada depender de um valor que o LLM precisa avaliar ou extrair da conversa

Parâmetros:

Os parâmetros da função dependem de como a ferramenta foi configurada. Cada atualização de estado configurada que usa um valor extraído pelo LLM adiciona uma propriedade ao esquema, nomeada de acordo com a variável dinâmica dessa atualização e tipada como string, number ou boolean. Atualizações de estado criadas apenas com constantes ou outras variáveis dinâmicas não adicionam parâmetros.

Formato de chamada da função:

{
"type": "function",
"function": {
"name": "update_state",
"arguments": "{\"should_escalate\": true}"
}
}

Implementação: o agente avalia cada expressão configurada usando os parâmetros extraídos e as variáveis dinâmicas atuais da conversa e, em seguida, atribui os resultados às variáveis dinâmicas correspondentes. Nenhuma solicitação externa é feita.

Perguntas frequentes

Não. Como todas as ferramentas do sistema, Atualizar estado modifica apenas o estado interno da conversa. Ela não chama uma API externa nem uma função do lado do cliente.

Não. A ferramenta só pede ao LLM que extraia um parâmetro para atualizações de estado cuja expressão inclua um valor extraído pelo LLM. Se todas as atualizações configuradas forem criadas com constantes e/ou variáveis dinâmicas existentes, a chamada da função não receberá parâmetros.

Em qualquer lugar onde você possa usar uma variável dinâmica: prompts do sistema, primeiras mensagens, parâmetros e cabeçalhos de ferramentas e substituições. Consulte Variáveis dinâmicas para ver os detalhes.

Atualmente, Atualizar estado pode ser configurada pelo painel do agente. O suporte à API e ao SDK ainda não está disponível.