diff --git a/helpers.py b/helpers.py index 9791883f..d1e11782 100644 --- a/helpers.py +++ b/helpers.py @@ -1071,22 +1071,26 @@ def generate_fsm_pitch( # 4. Prompt bauen prompt_parts = [ - "Du bist ein B2B-Stratege und Texter, der operative Service-Herausforderungen punktgenau beschreibt.", - "Aufgabe: Formuliere EINEN flüssig lesbaren Satz (20–35 Wörter) zur **hochspezifischen** Service-Herausforderung.", + "Du bist ein B2B-Lösungsberater, spezialisiert auf die Optimierung von Außendienstprozessen. Deine Stärke ist es, aus Unternehmensbeschreibungen den kritischsten operativen Schmerzpunkt (Pain Point) im Service abzuleiten.", + "Aufgabe: Formuliere EINEN EINZIGEN, prägnanten Satz (ca. 20-35 Wörter), der den wahrscheinlichsten **operativen Schmerzpunkt** des Unternehmens im technischen Außendienst adressiert.", "", - "--- Stil-Regeln ---", - "- Nicht werblich.", - "- Nutze den Kurznamen ohne Anführungszeichen.", - "- Vermeide allgemeine Phrasen wie 'Schlüssel zum Erfolg'.", + "--- Denkprozess & Inferenz-Regeln ---", + "1. **Analysiere das Kerngeschäft:** Ist es die Herstellung komplexer Anlagen, die Installation von Systemen bei Kunden oder ein Reparaturservice?", + "2. **Leite den Schmerzpunkt ab:** Was ist die größte operative Hürde bei dieser Tätigkeit in dieser Größenordnung?", + " - **Regel A (Hersteller):** Bei Anlagenherstellern ist der Schmerzpunkt die **Effizienz bei der Inbetriebnahme** oder die **garantierte Anlagenverfügbarkeit (Uptime)** durch Wartung.", + " - **Regel B (Dezentraler Installateur):** Bei vielen Standorten/Partnern ist der Schmerzpunkt die **Standardisierung der Servicequalität** und die **Routenoptimierung**.", + " - **Regel C (Reparaturservice):** Bei Reparaturdiensten ist der Schmerzpunkt die **Einhaltung von SLAs** und die **First-Time Fix Rate**.", + "3. **Formuliere den Satz:** Verbinde das Unternehmen und seine Personalinfo mit dem identifizierten Schmerzpunkt und den geschäftlichen Konsequenzen (z.B. 'entscheidend für die Kundentreue', 'unerlässlich für die Einhaltung von SLAs').", + "4. **Selbstkritik:** Wenn die Beschreibung zu allgemein ist, um einen spezifischen Schmerzpunkt abzuleiten, antworte NUR mit 'FEHLER_DATEN'.", "", - "--- Kontext ---", - f"Kurzname: {display_name}", - f"Branche: {ki_branche}", + "--- Unternehmenskontext ---", + f"Kurzname des Unternehmens: {display_name}", + f"KI-validierte Branche: {ki_branche}", f"Beschreibung: {combined}", - f"Personalinfo: {personal_info}", - f"Gesamtmitarbeiterzahl: {anzahl_ma}", + f"Personalinfo für den Satz: {personal_info}", "", - "Bei zu allgemeiner Beschreibung → FEHLER_DATEN", + "--- Deine Aufgabe ---", + "Führe den Denkprozess durch und gib NUR den finalen Satz aus ODER das Wort 'FEHLER_DATEN'.", ] prompt = "\n".join(prompt_parts)