Cada playbook deve ter um ou mais exemplos. Esses exemplos são conversas entre um usuário final e o playbook, incluindo o diálogo e as ações realizadas pelo agente. Eles são, de fato, exemplos de comando de poucos disparos (few-shot) para o LLM.
O console oferece uma interface para você inserir ações.
Agentes multilíngues
Se o agente processar vários idiomas, use cada um deles nos exemplos.
Exemplos de resumos de entrada e saída
Além dos parâmetros de entrada e saída, os playbooks podem receber um resumo de entrada e emitir um resumo de saída para trocar informações com outros playbooks. Os resumos são úteis para transmitir informações contextuais abstratas entre playbooks, enquanto os parâmetros são mais úteis para transmitir campos estruturados e bem definidos entre playbooks. Os parâmetros são a única maneira de trocar dados entre fluxos e playbooks.
Adicione resumos de entrada relevantes aos exemplos para ajudar o playbook a ajustar as ações com base nesses resumos de entrada no momento da execução. Adicione resumos de saída que incluam detalhes relevantes e precisos sobre a conversa de exemplo para mostrar ao playbook quais detalhes são importantes para resumir.
Exemplo de estado
Em um determinado momento da conversa, um playbook está em um dos seguintes estados:
OK: o playbook atingiu o objetivo, e o controle é transferido para o playbook pai.CANCELLED: o usuário decide não prosseguir com a meta atribuída ao playbook, e o controle é transferido para o playbook pai. Se o playbook pai for um fluxo do CX, o Dialogflow CX vai detectar a intent de entrada do usuário antes da execução do fluxo.FAILED: o playbook não pode prosseguir com o objetivo devido a um erro (por exemplo, uma ferramenta retorna um erro 500). A sessão termina com o status de falha. Uma mensagem EndInteraction é adicionada à resposta.ESCALATED: o playbook decide que não pode atingir o objetivo e precisa encaminhar a situação para um humano. A sessão termina com o status "Encaminhado". Uma mensagem EndInteraction é adicionada à resposta.PENDING: a conversa continua no playbook.
Indique o exemplo de nível superior e as invocações do playbook com um estado que corresponda ao playbook referenciado.
Estratégia de seleção
A configuração da estratégia de seleção controla se um exemplo é incluído no comando enviado ao LLM para o playbook.
As seguintes opções estão disponíveis:
- Seleção dinâmica: o exemplo é incluído condicionalmente com base na relevância para o contexto da conversa atual. É possível omitir o exemplo se o comando se aproximar do limite de tokens.
- Sempre selecionar: o exemplo é sempre incluído, independente do contexto da conversa. É possível omitir o exemplo se o comando se aproximar do limite de tokens.
- Nunca selecionar: o exemplo não é incluído no comando. O exemplo não afeta o desempenho do playbook. Essa configuração é útil para excluir temporariamente um exemplo para testes.
Adicionar ação
Um exemplo fornecido em um playbook contém uma série de ações. Essas ações podem variar em combinação, mas elas representam principalmente a interação entre você e o playbook, além das ações realizadas para atender à sua consulta ou aos seus requisitos.
É possível adicionar ações a um exemplo de duas maneiras:
- Para adicionar uma ação manualmente, clique no botão + na parte de baixo do painel direito ou no botão Add action ao manter o ponteiro sobre as ações existentes. Use essas opções ao criar um novo exemplo clicando na opção + Exemplo ou ao editar um exemplo atual.
- Para gerar ações automaticamente com base nas instruções do playbook, insira a entrada do usuário no campo Inserir entrada do usuário na parte de baixo do painel direito. Use essa opção ao criar ou editar um exemplo. Como alternativa, use essa opção ao testar o playbook no ambiente de execução no painel Visualizar playbook à direita. Para salvar ações em um exemplo no painel Visualizar playbook, clique em Salvar exemplo depois de selecionar a invocação do playbook na lista de invocações à esquerda do painel Visualizar playbook.
Verifique se as ações geradas automaticamente estão corretas e edite-as, se necessário. Isso é especialmente importante para playbooks com poucos ou nenhum exemplo.
O playbook é compatível com os seguintes tipos de ações.
Resposta do playbook
Fornece a resposta do playbook à consulta do usuário.
Entrada do usuário
Insira a consulta do usuário.
Uso de ferramentas
Receba as informações adicionais necessárias para atender à consulta do usuário usando uma invocação de ferramenta.
Essa ação especifica os seguintes detalhes:
- Ferramenta: nome da ferramenta que você precisa invocar.
- Ação: nome da operação da ferramenta OpenAPI que você precisa invocar. Para ferramentas de repositório de dados e ferramentas de função, o nome da ação é o mesmo que o nome da ferramenta.
Entrada da ferramenta: entradas a serem incluídas na chamada de ferramenta. Essas entradas geralmente são derivadas de turnos de conversa anteriores com o usuário.
Para ferramentas OpenAPI, o JSON
requestBodyé obrigatório para os tipos de métodoPOST,PUTePATCH.Exemplo de entrada da ferramenta OpenAPI
requestBodypara a ação createPet:{ "id": 1, "name": "Luna" }Para a ferramenta de repositório de dados, o exemplo
requestBodymostra onde a consulta é obrigatória e outros campos são opcionais:{ "query": "Where is my nearest store?", "filter": "country: ANY(\"United States\")", "userMetadata": { "userCity": "San Francisco", }, "fallback": "We don't have any stores in your area." }Saída da ferramenta: a resposta da invocação da ferramenta. Essa é uma resposta JSON válida da ferramenta para a entrada fornecida. Para ferramentas OpenAPI, também pode ser um erro de string (por exemplo, "404 Não encontrado").
Exemplo de saída da ferramenta OpenAPI para a ação listPets:
{ "pets": [ { "id": 1, "name": "Luna" }, { "id": 2, "name": "Charlie" }] }Exemplo de saída da ferramenta de repositório de dados para a consulta "Onde fica a loja mais próxima?":
{ "answer": "Here's the address to your nearest store ...", "snippets": [ { "title": "San Francisco Downtown", "uri": "https://www.example.com/San_Francisco_Downtown", "text": "Address for San Francisco Downtown .." } ] }
Para garantir que o playbook seja à prova de falhas, inclua exemplos de como ele
responde quando a invocação da ferramenta falha. É possível representar a falha de invocação da ferramenta OpenAPI como uma string de erro ("404 não encontrado") na saída da ferramenta. Para
ferramentas de repositório de dados, use
a entrada fallback para especificar como responder se não houver uma resposta
resumida.
Se você quiser que sua ferramenta de repositório de dados inclua um URI na resposta do playbook, adicione exemplos que contenham o URI que você quer que o playbook use na resposta. Se esse URI vier da ferramenta de repositório de dados, a saída da ferramenta de repositório de dados precisará conter um URI que corresponda ao URI na resposta do playbook.
Exemplos que contêm ações de uso de ferramentas podem ficar bastante detalhados e aumentar o consumo do limite de tokens de entrada. Para usar tokens com eficiência, verifique se as saídas da ferramenta são concisas e contêm informações relevantes para as metas do playbook. Para ferramentas de repositório de dados, considere remover snippets de exemplos, porque eles causam alto consumo de tokens de entrada.
Invocação de playbook
Use essa ação quando o playbook precisar invocar outro playbook de tarefa para atender à consulta do usuário.
Especifique os seguintes detalhes para essa ação:
- Playbook: nome do playbook a ser invocado.
- Resumo da entrada de invocação do playbook: um resumo das partes relevantes da conversa anterior que são úteis para o playbook invocado.
- Parâmetros de entrada: parâmetros de entrada a serem transmitidos ao playbook.
- Resumo da saída da invocação do playbook: um resumo do que o playbook deve gerar ao atingir o objetivo.
- Parâmetros de saída: parâmetros de saída gerados pelo playbook após a conclusão do objetivo.
Transição de playbook
Uma ação de transição de playbook é uma ação terminal que não deve ser seguida por outras ações, indicando que o playbook de rotina decidiu sair e fazer a transição para um playbook de rotina de destino. Como essa ação indica que o playbook é encerrado, adicione os parâmetros de saída do playbook à saída do playbook do exemplo.
Invocação de fluxo
Essa ação é usada quando o playbook da tarefa precisa invocar um fluxo.
Essa ação precisa especificar os seguintes detalhes:
- Fluxo: nome do fluxo a ser invocado.
- Parâmetros de entrada do fluxo: parâmetros de entrada a serem transmitidos ao fluxo.
- Parâmetros de retorno do fluxo: parâmetros de saída retornados do fluxo.
Transição de fluxo
Uma ação de transição de fluxo é uma ação terminal que não deve ser seguida por outras ações, indicando que o playbook de rotina decidiu sair e fazer a transição para um fluxo de destino. Como essa ação indica que o playbook é encerrado, adicione os parâmetros de saída do playbook à saída do playbook de exemplo.