Komplexe Aufgaben auf einfachere Prompts aufteilen

Bei komplexen Aufgaben, die mehrere Anweisungen oder Schritte erfordern, können Sie die Antworten des Modells verbessern, indem Sie Ihre Prompts in Unteraufgaben aufteilen. Kleinere Prompts können die Kontrollierbarkeit, das Debugging und die Genauigkeit verbessern.

Es gibt zwei Möglichkeiten, komplexe Prompts aufzuschlüsseln und in ein Modell aufzunehmen:

  • Prompts verketten: Teilen Sie eine Aufgabe in Unteraufgaben auf und führen Sie die Unteraufgaben sequenziell aus.
  • Antworten aggregieren: Teilen Sie eine Aufgabe in Unteraufgaben auf und führen Sie die Unteraufgaben parallel aus.

Prompts verketten

Bei komplexen Aufgaben, die mehrere sequenziellen Schritte umfassen, sollten Sie jeden Schritt zu einem Prompt machen und die Prompts in einer Sequenz verketten. In dieser sequenziellen Prompt-Kette wird die Ausgabe eines Prompts in der Sequenz zur Eingabe des nächsten Prompts. Die Ausgabe des letzten Prompts in der Sequenz ist die endgültige Ausgabe.

Beispiel

Angenommen, Sie führen ein Telekommunikationsunternehmen und möchten ein Modell verwenden, mit dem Sie Kundenfeedback analysieren können, um häufige Kundenprobleme zu identifizieren, Probleme in Kategorien zu klassifizieren und Lösungen für Problemkategorien zu generieren.

Aufgabe 1: Kundenprobleme identifizieren

Die erste Aufgabe, die das Modell ausführen soll, besteht darin, aussagekräftige Daten aus Rohdaten des Kundenfeedbacks zu extrahieren. Ein Prompt, mit dem diese Aufgabe ausgeführt wird, kann in etwa so aussehen, wobei CUSTOMER_FEEDBACK eine Datei ist, die das Kundenfeedback enthält:

Daten extrahieren
      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
    

Wir würden erwarten, dass die Antwort des Modells eine Liste der aus dem Kundenfeedback extrahierten Probleme und Stimmungen enthält.

Aufgabe 2: Probleme in Kategorien einteilen

Als Nächstes möchten Sie das Modell auffordern, die Daten in Kategorien zu klassifizieren, damit Sie anhand der Antwort aus der vorherigen Aufgabe die Arten von Problemen verstehen können, mit denen Kunden konfrontiert werden. Ein Prompt, der diese Aufgabe erfüllt, kann in etwa so aussehen, wobei TASK_1_RESPONSE die Antwort der vorherigen Aufgabe ist:

Daten klassifizieren
        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
      

Wir würden erwarten, dass die Antwort des Modells kategorisierte Probleme enthält.

Aufgabe 3: Lösungen generieren

Nun möchten Sie das Modell auffordern, anhand der kategorisierten Probleme umsetzbare Empfehlungen zu generieren, um die Kundenzufriedenheit zu verbessern. Hierzu wird die Antwort aus der vorherigen Aufgabe verwendet. Ein Prompt, der dies erreicht, könnte in etwa so aussehen, wobei TASK_2_RESPONSE die Antwort der vorherigen Aufgabe ist:

Vorschläge generieren
        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
      

Wir würden erwarten, dass die Antwort des Modells Empfehlungen für jede Kategorie enthält, mit der die Kundenerfahrung und die Dienstqualität verbessert werden soll, was unser Gesamtziel erfüllt.

Antworten aggregieren

Wenn Sie komplexe Aufgaben haben, die Aufgaben jedoch nicht in einer bestimmten Reihenfolge ausführen müssen, können Sie parallele Prompts ausführen und die Antworten des Modells aggregieren.

Beispiel

Angenommen, Sie haben einen Plattenladen und möchten ein Modell verwenden, um basierend auf Musikstreamingtrends und den Verkaufsdaten Ihres Geschäfts zu entscheiden, welche Platten Sie auf Lager haben möchten.

Aufgabe 1: Daten analysieren

Zuerst müssen Sie die beiden Datasets analysieren, Streamingdaten und Verkaufsdaten. Sie können die Prompts ausführen, um diese Aufgaben parallel auszuführen. Die Prompts, die diese Aufgaben lösen, können in etwa so aussehen, wobei STORE_SALES_DATA eine Datei ist, die die Verkaufsdaten enthält, und STREAMING_DATA eine Datei, die die Streamingdaten enthält:

Aufgabe 1a: Verkaufsdaten analysieren
      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
    

Wir würden davon ausgehen, dass die Ausgabe die Anzahl der Verkäufe für jede Platte im JSON-Format enthält.

Aufgabe 1b: Streamingdaten analysieren
        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
      

Wir würden davon ausgehen, dass die Ausgabe die Anzahl der Streams für jedes Album im JSON-Format enthält.

Aufgabe 2: Daten aggregieren

Jetzt können Sie die Daten aus beiden Datasets aggregieren, um Ihre Kaufentscheidungen zu planen. Um die Daten zusammenzufassen, fügen Sie die Ausgabe beider Aufgaben als Eingabe hinzu. Ein Prompt, der dies erzielt, könnte in etwa so aussehen, wobei TASK_1A_RESPONSE und TASK_1B_RESPONSE die Antworten der vorherigen Aufgaben sind:

Verkaufs- und Streamingdaten aggregieren
        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
      

Wir würden davon ausgehen, dass die Ausgabe eine vorgeschlagene Bestandsliste mit etwa 20 Platten enthalten würde, die auf Plattenverkäufen und Streams basiert, wobei Einträgen mit bewährter Verkaufshistorie eine höhere Priorität haben als diejenigen mit höherer Streaming-Beliebtheit.

Nächste Schritte