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 aufzuteilen 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 Kette von Prompts 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, ist das Extrahieren aussagekräftiger Daten aus rohem Kundenfeedback. Ein Prompt, der diese Aufgabe erfüllt, könnte 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 klassifizieren

Als Nächstes möchten Sie das Modell auffordern, die Daten anhand der Antwort aus der vorherigen Aufgabe in Kategorien zu klassifizieren, damit Sie die Arten von Problemen verstehen, mit denen Kunden konfrontiert sind. Ein Prompt der diese Aufgabe erfüllt, könnte in etwa so aussehen, wobei TASK_1_RESPONSE die Antwort aus 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

Jetzt möchten Sie das Modell auffordern, anhand der kategorisierten Probleme umsetzbare Empfehlungen zur Verbesserung der Kundenzufriedenheit zu generieren. Verwenden Sie dazu die Antwort aus der vorherigen Aufgabe. Ein Prompt, der dies erzielt, könnte in etwa so aussehen, wobei TASK_2_RESPONSE die Antwort aus 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

Bei komplexen Aufgaben, die nicht in einer bestimmten Reihenfolge ausgeführt werden 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 zu aggregieren, fügen Sie die Ausgabe aus beiden Aufgaben als Eingabe ein. 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 Platten Verkäufen und Streams basiert, wobei Einträgen mit bewährter Verkaufshistorie eine höhere Priorität haben als diejenigen mit höherer Streaming-Beliebtheit.