Cada playbook precisa ter um ou mais exemplos. Esses exemplos são conversas de amostra entre um usuário final e o playbook, incluindo o diálogo e as ações realizadas pelo agente. Esses são efetivamente exemplos de comandos de poucos disparos para o LLM.
O console fornece uma interface para você inserir ações.
Agentes multilíngues
Se quiser que seu agente processe vários idiomas, os exemplos precisam usar cada um deles.
Exemplo de resumo 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 eles. Os parâmetros são a única maneira de trocar dados entre fluxos e playbooks.
Adicione resumos de entrada relevantes aos exemplos para condicionar o manual a ajustar as ações com base nos resumos de entrada durante a execução. Adicione resumos de saída com 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 estará em um dos seguintes estados:
OK
: o playbook atingiu a meta, e o controle será transferido para o playbook principal.CANCELLED
: o usuário decidiu não continuar com a meta atribuída ao playbook. O controle será transferido para o manual para responsáveis. Se o playbook principal for um fluxo do CX, a intenção da entrada do usuário será detectada antes da execução do fluxo.FAILED
: o playbook não pode continuar com a meta devido a algum erro (por exemplo, a ferramenta retorna um erro 500). A sessão será encerrada com o status de falha. Uma mensagem EndInteraction será adicionada à resposta.ESCALATED
: o manual decidiu que não pode alcançar a meta e precisa encaminhar a situação para um humano. A sessão será encerrada com o status "escalonado". Uma mensagem EndInteraction será adicionada à resposta.PENDING
: a conversa ainda está em andamento no playbook.
O exemplo de nível superior e as invocações do playbook precisam ser indicados 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 do playbook enviado ao LLM. As seguintes opções estão disponíveis:
Selecionar dinamicamente: o exemplo é incluído condicionalmente, com base na relevância para o contexto da conversa atual. O exemplo pode ser omitido se o comando estiver se aproximando do limite de token.
Sempre selecionar: o exemplo é sempre incluído, independente do contexto da conversa. O exemplo pode ser omitido se o comando estiver se aproximando do limite de token.
Nunca selecionar: o exemplo nunca é incluído no comando. O exemplo não vai afetar a performance do playbook. Essa configuração é útil para excluir temporariamente um exemplo para teste.
Adicionar ação
Um exemplo fornecido em um playbook consiste em uma série de ações. Essas ações podem variar nas combinações, mas principalmente descrevem a interação entre o usuário e o playbook, além das ações realizadas para atender à consulta ou aos requisitos do usuário.
Há duas maneiras de adicionar ações a um exemplo:
- Para adicionar uma ação manualmente, clique no botão + na parte de baixo do painel direito ou no botão Adicionar ação ao passar o ponteiro sobre as ações atuais. É possível usar essas opções ao criar um exemplo clicando em + Exemplo ou ao editar um exemplo.
- Para gerar ações automaticamente com base nas instruções do playbook, insira uma entrada do usuário no campo Inserir entrada do usuário na parte de baixo do painel à direita. Você pode usar essa opção ao criar ou editar um exemplo. Como alternativa, use essa opção ao testar o playbook em tempo de execução no painel Visualizar playbook à direita. Para salvar ações em um exemplo do painel Visualizar playbook, clique em Salvar exemplo depois de selecionar a invocação do playbook na lista à 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 os playbooks com poucos ou nenhum exemplo.
O playbook aceita os seguintes tipos de ações:
Resposta do playbook
A resposta do playbook à consulta do usuário.
Entrada do usuário
A consulta do usuário.
Uso da ferramenta
Essa é uma ferramenta de invocação para receber mais informações necessárias para atender à consulta do usuário. Essa ação precisa especificar os seguintes detalhes:
Ferramenta: nome da ferramenta que deve ser invocada.
Ação: nome da operação para a ferramenta OpenAPI que precisa ser invocada. Para as ferramentas de repositório de dados e a ferramenta de função, o nome da ação é o mesmo da ferramenta.
Entrada da ferramenta: entradas a serem incluídas na chamada da ferramenta. Essas informações geralmente são derivadas das conversas anteriores com o usuário.
Para ferramentas de API aberta, o JSON
requestBody
é necessário para os tipos de métodoPOST
,PUT
ePATCH
.Exemplo de entrada
requestBody
da ferramenta de API aberta para a ação createPet:{ "id": 1, "name": "Luna" }
Para a ferramenta de repositório de dados, o exemplo
requestBody
em que 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. Esta é uma resposta JSON válida da ferramenta para a entrada especificada. Para Ferramentas de API aberta, também pode ser um erro de string (por exemplo, "404 Não encontrado").
Exemplo de saída da ferramenta Open API 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:
{ "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 também exemplos de como ele deve responder quando a invocação da ferramenta falha.
A falha na invocação da ferramenta de API aberta pode ser representada como uma string de erro ("404 não encontrado") na saída da ferramenta.
Para
ferramentas de repositório de dados,
a entrada fallback
pode ser usada para especificar como responder
se não houver uma resposta resumida.
Se você quiser que sua ferramenta de repositório de dados inclua o URI na resposta do playbook, adicione exemplos que contenham o URI que você quer que o playbook responda.
Se esse URI vier da ferramenta de repositório de dados, a saída da ferramenta de repositório de dados vai conter um URI que corresponde ao URI na resposta do playbook.
A anotação fallback
não pode ser usada nesse cenário porque desativa a capacidade do playbook de LLM de reformular a resposta da ferramenta de repositório de dados para incluir URIs na resposta do playbook.
Exemplos que contêm ações de uso de ferramentas podem ficar muito detalhados e contribuir para o aumento do consumo do limite de tokens de entrada. Para garantir o uso eficiente de tokens, verifique se as saídas das ferramentas são concisas e contêm informações relevantes para as metas do playbook. Para ferramentas de repositório de dados, considere remover snippets dos exemplos, já que eles podem contribuir para o alto consumo de tokens de entrada.
Invocação do playbook
Essa ação é usada quando o playbook precisa invocar outro playbook de tarefas para atender à consulta do usuário. Essa ação precisa especificar os seguintes detalhes:
- 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 para o playbook.
- Resumo da saída da invocação do playbook: um resumo do que o playbook deve gerar após a conclusão da meta.
- Parâmetros de saída: Parâmetros de saída gerados pelo playbook após a conclusão da meta.
Transição de playbook
Uma ação de transição de playbook é uma ação terminal (não deve ser seguida por outras ações) que indica 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 será encerrado, adicione os parâmetros de saída dele à saída do playbook de exemplo.
Invocação de fluxo
Essa ação é usada quando o playbook de tarefas 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 para o fluxo.
- Parâmetros de retorno de 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 (não deve ser seguida por outras ações) que indica 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 será encerrado, adicione os parâmetros de saída dele à saída do playbook de exemplo.