Divida tarefas complexas em comandos mais simples

Para tarefas complexas que requerem várias instruções ou passos, pode melhorar as respostas do modelo dividindo os seus comandos em subtarefas. Os comandos mais pequenos podem ajudar a melhorar a capacidade de controlo, a depuração e a precisão.

Existem duas formas de dividir comandos complexos e carregá-los num modelo:

  • Comandos encadeados: divida uma tarefa em subtarefas e execute-as sequencialmente.
  • Agregação de respostas: divida uma tarefa em subtarefas e execute-as em paralelo.

Encadeie comandos

Para tarefas complexas que envolvem vários passos sequenciais, transforme cada passo num comando e encadeie os comandos numa sequência. Nesta cadeia sequencial de comandos, o resultado de um comando na sequência torna-se a entrada do comando seguinte. O resultado do último comando na sequência é o resultado final.

Exemplo

Por exemplo, suponhamos que gere uma empresa de telecomunicações e quer usar um modelo para ajudar a analisar o feedback dos clientes para identificar problemas comuns, classificar problemas em categorias e gerar soluções para categorias de problemas.

Tarefa 1: identifique problemas dos clientes

A primeira tarefa que quer que o modelo conclua é a extração de dados significativos do feedback não processado dos clientes. Um comando que alcance esta tarefa pode ser semelhante ao seguinte, em que CUSTOMER_FEEDBACK é um ficheiro que contém o feedback dos clientes:

Extraia 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
    

Esperamos que a resposta do modelo contenha uma lista de problemas extraídos e sentimentos do feedback dos clientes.

Tarefa 2: classifique os problemas em categorias

Em seguida, quer pedir ao modelo para classificar os dados em categorias para poder compreender os tipos de problemas que os clientes enfrentam, usando a resposta da tarefa anterior. Um comando que alcance esta tarefa pode ser semelhante ao seguinte, em que TASK_1_RESPONSE é a resposta da tarefa anterior:

Classifique os 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
      

Esperamos que a resposta do modelo contenha problemas categorizados.

Tarefa 3: gere soluções

Agora, quer pedir ao modelo para gerar 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 alcance este objetivo pode ser semelhante ao seguinte, 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
      

Esperamos que a resposta do modelo contenha recomendações para cada categoria, destinadas a melhorar a experiência do cliente e a qualidade do serviço, o que satisfaz o nosso objetivo geral.

Agregue respostas

Nos casos em que tem tarefas complexas, mas não precisa de as realizar numa ordem específica, pode executar comandos paralelos e agregar as respostas do modelo.

Exemplo

Por exemplo, suponhamos que tem uma loja de discos e quer usar um modelo para ajudar a decidir que discos ter em stock com base nas tendências de streaming de música e nos dados de vendas da sua loja.

Tarefa 1: analisar dados

A primeira coisa que tem de fazer é analisar os dois conjuntos de dados, os dados de streaming e os dados de vendas. Pode executar os comandos para concluir estas tarefas em paralelo. Os comandos que realizam estas tarefas podem ser semelhantes aos seguintes, em que STORE_SALES_DATA é um ficheiro que contém os dados de vendas e STREAMING_DATA é um ficheiro que contém os dados de streaming:

Tarefa 1a: analise 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
    

Esperamos que o resultado contenha o número de vendas de cada registo, 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
      

Esperamos que a saída contenha o número de streams de cada álbum, formatado em JSON.

Tarefa 2: agregue dados

Agora, pode agregar os dados de ambos os conjuntos de dados para ajudar a planear as suas decisões de compra. Para agregar os dados, inclua o resultado de ambas as tarefas como entrada. Um comando que alcance este objetivo pode ser semelhante ao seguinte, em que TASK_1A_RESPONSE e TASK_1B_RESPONSE são as respostas das tarefas anteriores:

Agregue 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
      

Esperamos que o resultado contenha uma lista de sugestões de cerca de 20 registos, com base nas vendas e streams de registos, dando mais importância aos registos com um histórico de vendas comprovado do que àqueles com maior popularidade em streaming.

O que se segue?