Per le attività complesse che richiedono più istruzioni o passaggi, puoi migliorare le risposte del modello suddividendo i prompt in sottoattività. I prompt più piccoli possono aiutarti a migliorare controllabilità, il debug e l'accuratezza.
Esistono due modi per suddividere i prompt complessi e inserirli in un modello:
- Prompt a catena: suddividi un'attività in sottoattività ed esegui le sottoattività in sequenza.
- Risposte aggregate: suddividi un'attività in sottoattività ed esegui le sottoattività in parallelo.
Prompt a catena
Per le attività complesse che prevedono più passaggi sequenziali, rendi ogni passaggio un prompt e concatenali in una sequenza. In questa catena sequenziale di prompt, l'output di un prompt nella sequenza diventa l'input del prompt successivo. L'output dell'ultimo prompt della sequenza è l'output finale.
Esempio
Supponiamo, ad esempio, che tu gestisca un'attività di telecomunicazioni e che tu voglia utilizzare un modello per analizzare il feedback dei clienti per identificare i problemi comuni dei clienti, classificare i problemi in categorie e generare soluzioni per le categorie di problemi.
Attività 1: identifica i problemi dei clienti
La prima attività che vuoi che il modello completi è l'estrazione di dati significativi dal feedback dei clienti non elaborato. Un prompt che esegue questa attività potrebbe essere simile al seguente, dove
CUSTOMER_FEEDBACK è un file che contiene il feedback dei clienti:
| Estrai dati |
|---|
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
|
Ci aspettiamo che la risposta del modello contenga un elenco di problemi estratti e il sentiment del feedback dei clienti.
Attività 2: classifica i problemi in categorie
Successivamente, vuoi chiedere al modello di classificare i dati in categorie in modo da poter
comprendere i tipi di problemi che i clienti devono affrontare, utilizzando la risposta dell'attività precedente. Un prompt
che esegue questa attività potrebbe essere simile al seguente, dove
TASK_1_RESPONSE è la risposta dell'attività precedente:
| Classifica i dati |
|---|
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
|
Ci aspettiamo che la risposta del modello contenga problemi classificati.
Attività 3: genera soluzioni
Ora, vuoi chiedere al modello di generare consigli pratici basati sui
problemi classificati per migliorare la soddisfazione dei clienti, utilizzando la risposta dell'attività precedente. Un
prompt che esegue questa attività potrebbe essere simile al seguente, dove
TASK_2_RESPONSE è la risposta dell'attività precedente:
| Genera suggerimenti |
|---|
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
|
Ci aspettiamo che la risposta del modello contenga consigli per ogni categoria, volti a migliorare l'esperienza dei clienti e la qualità del servizio, che soddisfino il nostro obiettivo generale.
Risposte aggregate
Nei casi in cui hai attività complesse, ma non devi eseguirle in un ordine specifico, puoi eseguire prompt paralleli e aggregare le risposte del modello.
Esempio
Supponiamo, ad esempio, che tu possieda un negozio di dischi e che tu voglia utilizzare un modello per decidere quali dischi mettere in magazzino in base alle tendenze dello streaming musicale e ai dati di vendita del tuo negozio.
Attività 1: analizza i dati
La prima cosa che devi fare è analizzare i due set di dati, i dati di streaming e i dati di vendita. Puoi
eseguire i prompt per completare queste attività in parallelo. I prompt che eseguono queste attività potrebbero essere
simili ai seguenti, dove STORE_SALES_DATA è un file che contiene
i dati di vendita e STREAMING_DATA è un file che contiene i dati di streaming
data:
| Attività 1a: analizza i dati di vendita |
|---|
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
|
Ci aspettiamo che l'output contenga il numero di vendite per ogni disco, formattato in JSON.
| Attività 1b: analizza i dati di 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
|
Ci aspettiamo che l'output contenga il numero di stream per ogni album, formattato in JSON.
Attività 2: aggrega i dati
Ora puoi aggregare i dati di entrambi i set di dati per pianificare le tue decisioni di acquisto. Per
aggregare i dati, includi l'output di entrambe le attività come input. Un prompt che esegue questa attività
potrebbe essere simile al seguente, dove TASK_1A_RESPONSE e
TASK_1B_RESPONSE sono le risposte delle attività precedenti:
| Aggrega i dati di vendita e di 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
|
Ci aspettiamo che l'output contenga un elenco di scorte suggerito di circa 20 dischi, basato sulle vendite e sugli stream di dischi, con una maggiore preferenza per i dischi con una cronologia di vendita comprovata rispetto a quelli con una maggiore popolarità di streaming.