Pular para o conteúdo principal

Criar Quick Commands com Condicional

Você pode criar Quick Commands que utilizam condicionais para controlar o que acontece no fluxo do seu QC, com base em respostas ou critérios específicos. Esse recurso permite construir fluxos de trabalho mais dinâmicos e responsivos, tornando suas interações com a StackSpot AI mais eficientes e personalizadas para o que você precisa.

Você pode definir condicionais com base nas respostas do fluxo e escolher qual item será executado a seguir conforme essas ccondicionais.

Aprenda como criar seu Quick Command com condicionais:

Pré-Requisitos

Crie seu Quick Command. Você pode criar dos tipos IDE ou Remote. Confira os passos nas seguintes seções da documentação:

Condicionais

Adicione as condicionais aos Quick Commands que está criando; a execução do fluxo depende dessas condicionais. Para adicionar condicional, siga os passos a seguir:

Passo 1. Após iniciar a criação do seu Quick Command, clique na caixa ‘Condicional’;

Passo 2. Clique no botão ‘Rota’ para adicionar suas Rotas;

Passo 3. Adicione as regras para cada Rota, inserindo os seguintes valores:

  • 3.1. Adicione o input: input_data ou um passo anterior do Quick Command criado.

Exemplo: {{slug-step.answer}}, {{slug-step.status}} ou {{slug-step.data}}

  • 3.2. Escolha o operador: é igual a, não igual a, contém, não contém, começa com, termina com, é maior que, é menor que, é maior ou igual, é menor ou igual, está vazio, não está vazio, está definido, não está definido, contém qualquer um de, contém todos de.

  • 3.3. Adicione o outro valor desejado. Você pode inserir texto simples; porém, se for uma variável usando input.data ou uma resposta de outro passo, use {{ }}. Exemplo: {{input_data}}

Atenção!

O resultado pode ser falso ou ocorrer um erro caso os tipos dos valores comparados sejam incompatíveis.

Você pode adicionar múltiplas Rotas; use e/ou para incluir outras expressões. Cada Rota segue exatamente a ordem que você especificar.

  • 3.4. Vincule o passo para o qual deseja direcionar o fluxo após a execução da condicional.
Informação Adicional
  • Expressão

Você pode criar expressões de código com as rotas desejadas. Clique na aba Expressão para escrever suas regras. Você também pode solicitar que a IA gere expressões Jinja para você.

Passo 4. Clique no botão ‘Salvar’.

Cuidado!
  • Configurar outra Rota

Você precisa definir um caminho padrão. Normalmente, isso inclui uma mensagem de erro, que deve ser registrada. Se nenhuma das condições for atendida, o sistema seguirá o caminho padrão.

Você também pode conectar outra rota ao final do Quick Command. Se nenhuma rota definida for seguida, o fluxo será encerrado por essa.

Configuração de Condicional

Você pode especificar o número máximo de vezes que uma condição será avaliada antes que um erro seja retornado.

  • Se a condição for verdadeira: o processo avança para o próximo passo;
  • Se a condição for falsa: o fluxo retorna ao passo anterior.

Para evitar a possibilidade de criar um loop, você pode definir um limite para o número de avaliações. Determine o número máximo de execuções dessa condição. Isso indica quantas vezes a condição será avaliada antes de retornar um erro.

Para configurar, siga os passos:

1. Clique na caixa ‘Condicional’; 2. Escolha um número entre 1 e 15.

Para cada condicional, um caminho específico pode ser seguido. A StackSpot AI avalia as condicionais na ordem em que são definidas no Remote Quick Command.

Exemplos de Condicional

Etapa Final de um Quick Command com múltiplas rotas

Imagine um Quick Command com múltiplas rotas:

  • Rota 1: Chama um prompt LLM para criar um endpoint (newendpoint).
  • Rota 2: Chama um prompt LLM para criar uma feature (newfeature).
  • Rota 3: Realiza uma requisição web para validar algo externo (check_dod).

Na etapa final (Finish), queremos exibir o resultado correto, independentemente da rota seguida, sem gerar erro caso algum step não tenha sido executado.

Exemplo de Jinja no campo Final Result:

{# Exibe o resultado do endpoint, se existir e tiver resposta #}
{% if newendpoint is defined and newendpoint.answer is not none and newendpoint.answer | length > 0 %}
Endpoint criado: {{ newendpoint.answer }}

{# Caso contrário, exibe o resultado da feature, se existir e tiver resposta #}
{% elif newfeature is defined and newfeature.answer is not none and newfeature.answer | length > 0 %}
Feature criada: {{ newfeature.answer }}

{# Caso contrário, exibe o status e parte do body da requisição web, se existir #}
{% elif check_dod is defined and check_dod.status == 200 %}
Validação externa OK! Conteúdo: {{ check_dod.data | default('Sem conteúdo') }}

{# Se nada foi executado, mostra uma mensagem padrão e os dados do usuário #}
{% else %}
Nenhuma ação realizada.
Usuário: {{ stk_ai.user_name }} ({{ stk_ai.user_mail }})
{% endif %}
  • is defined: garante que a variável existe antes de acessar qualquer campo.
  • filtro default: evita erros se o campo não existir ou estiver vazio.
  • Acesso a variáveis globais: mostra como usar informações do usuário no fallback.
  • Acesso a campos do Web Request: mostra como acessar status, headers e body.
Dica!
  • Para acessar um campo JSON retornado por um Web Request:

    {{ check_dod.json.nome_do_campo | default('Não informado') }}

  • Para mostrar o tipo de conteúdo retornado:

    {{ check_dod.headers['Content-Type'] | default('Desconhecido') }}