Ir para a navegação

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 ou uma função do lado do cliente.

Use-a para registrar informações conforme 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.

Para aplicar atualizações de estado em um ponto fixo de um workflow, em vez de sempre que o LLM chama uma ferramenta, use um nó de atualização de estado. Ele aceita as mesmas atualizações de estado.

Funcionalidades

  • Várias atualizações por chamada: Uma única chamada de ferramenta pode atribuir até 50 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ária: A ferramenta só pede ao LLM para extrair 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 de 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, assim como 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 é de um dos tipos a seguir, e as expressões 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, correspondendo a um tipo definido por você (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 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, em uma divisão por zero — a chamada da ferramenta retorna um erro e nenhuma das atualizações dessa chamada é 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 atribuir.
  • Expressão: O valor a atribuir, criado com os tipos de valores e operadores descritos acima. Os valores podem ser aninhados para criar expressões mais complexas.
  • Obrigatório: Quando desativado, o LLM pode omitir os valores dos quais essa atualização depende. Nesse caso, a atualização é ignorada e a variável mantém o valor atual.

Você pode definir até 50 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 regra de negócio verifica, conforme mostrado no guia de integração com o Genesys.
  • Registro de informações extraídas: Armazene como uma variável dinâmica um valor fornecido pelo usuário (número do pedido, preferência, departamento escolhido) para uso posterior na conversa.
  • Valores derivados: Calcule um valor a partir de 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 para extrair um parâmetro para atualizações de estado cuja expressão inclui 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 de função não recebe parâmetros.

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

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