Para tarefas complexas que exigem várias instruções ou etapas, é possível melhorar as respostas do modelo dividindo os comandos em subtarefas. Comandos menores podem ajudar a melhorar a controlabilidade, a depuração e a acurácia.
Há duas maneiras de dividir comandos complexos e inseri-los em um modelo:
- Encadear comandos: divida uma tarefa em subtarefas e execute as subtarefas sequencialmente.
- Respostas agregadas: divida uma tarefa em subtarefas e execute as subtarefas em paralelo.
Comandos em cadeia
Para tarefas complexas que envolvem várias etapas sequenciais, torne cada etapa uma solicitação e encadeie os comandos em uma sequência. Nessa cadeia sequencial, a saída de um comando na sequência se torna a entrada do próximo comando. A saída do último comando na sequência é a saída final.
Exemplo
Por exemplo, suponha que você administre uma empresa de telecomunicações e queira usar um modelo para ajudá-lo analisar o feedback do cliente para identificar problemas comuns, classificar os problemas em categorias e gerar soluções para categorias de problemas.
Tarefa 1: identificar os problemas dos clientes
A primeira tarefa que você quer que o modelo conclua é extrair dados significativos com o feedback bruto do cliente. Um comando que realiza essa tarefa pode ser semelhante a este, em que CUSTOMER_FEEDBACK
é um arquivo que contém o feedback do cliente:
Extrair dados |
---|
Extract the main issues and sentiments from the customer feedback on our telecom services. Focus on comments related to service disruptions, billing issues, and customer support interactions. Please format the output into a list with each issue/sentiment in a sentence, separated by semicolon. Input: CUSTOMER_FEEDBACK |
A resposta do modelo deve conter uma lista de problemas e sentimentos extraídos do feedback do cliente.
Tarefa 2: classificar os problemas em categorias
Em seguida, solicite ao modelo que classifique os dados em categorias para que seja possível entender os tipos de problemas que os clientes enfrentam usando a resposta da tarefa anterior. Um comando que realiza essa tarefa pode ser semelhante a este, em que TASK_1_RESPONSE
é a resposta da tarefa anterior:
Classificar dados |
---|
Classify the extracted issues into categories such as service reliability, pricing concerns, customer support quality, and others. Please organize the output into JSON format with each issue as the key, and category as the value. Input: TASK_1_RESPONSE |
A resposta do modelo deve conter problemas categorizados.
Tarefa 3: gerar soluções
Agora, solicite que o modelo gere recomendações acionáveis com base nos problemas categorizados para melhorar a satisfação do cliente, usando a resposta da tarefa anterior. Um comando que cumpre isso pode ser semelhante a este, em que TASK_2_RESPONSE
é a resposta da tarefa anterior:
Gerar sugestões |
---|
Generate detailed recommendations for each category of issues identified from the feedback. Suggest specific actions to address service reliability, improving customer support, and adjusting pricing models, if necessary. Please organize the output into a JSON format with each category as the key, and recommendation as the value. Input: TASK_2_RESPONSE |
A resposta do modelo deve conter recomendações para cada categoria, voltadas para melhorar a experiência do cliente e a qualidade do serviço, o que satisfaz nosso objetivo geral.
Respostas agregadas
Nos casos em que você tem tarefas complexas, mas não precisa realizar as tarefas de uma forma específica é possível executar comandos paralelos e agregar as respostas do modelo.
Exemplo
Por exemplo, imagine que você tem uma loja de discos e quer usar um modelo para decidir os discos a estocar com base nas tendências dos streamings de músicas e nos dados de vendas da sua loja.
Tarefa 1: analisar dados
A primeira coisa que você precisa fazer é analisar os dois conjuntos de dados, dados de streaming e dados de vendas. É possível executar os comandos para concluir essas tarefas em paralelo. Os comandos que realizam essas tarefas podem ser semelhantes a esta, em que STORE_SALES_DATA
é um arquivo que contém os dados de vendas e STREAMING_DATA
é um arquivo que contém os dados de streaming:
Tarefa 1a: analisar os dados de vendas |
---|
Analyze the sales data to identify the number of sales of each record. Please organize the output into a JSON format with each record as the key, and sales as the value. Input: STORE_SALES_DATA |
A saída deve conter o número de vendas de cada disco, formatado em JSON.
Tarefa 1b: analisar dados de streaming |
---|
Analyze the streaming data to provide a the number of streams for each album. Please organize the output into a JSON format with each album as the key, and streams as the value. Input: STREAMING_DATA |
A saída deve conter o número de streams de cada álbum, formatado em JSON.
Tarefa 2: agregar dados
Agora é possível agregar os dados dos dois conjuntos de dados para ajudar você a planejar suas decisões de compra. Para agregar os dados, inclua a saída das duas tarefas como entrada. Um comando que cumpre isso pode ser semelhante a este, em que TASK_1A_RESPONSE
e TASK_1B_RESPONSE
são as respostas das tarefas anteriores:
Agregar dados de vendas e streaming |
---|
Recommend a stocklist of about 20 records based on the most sold and most streamed records. Roughly three quarters of the stock list should be based on record sales, and the rest on streaming. Input: TASK_1A_RESPONSE and TASK_1B_RESPONSE |
A saída deve conter uma lista de estoque sugerida de cerca de 20 discos, com base nas vendas e nos streams, com mais preferência aos discos com histórico de vendas comprovado do que àqueles com mais popularidade no streaming.
A seguir
- Confira exemplos de comandos na galeria de comandos.