> ## Documentation Index
> Fetch the complete documentation index at: https://aipro.placetel.de/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompting Guide

> Leitfaden für wirkungsvolle KI-Anweisungen: empfohlene Struktur, Tipps & Tricks, Beispiele, Tools und Variablen.

Die **KI-Anweisung (Prompt)** ist das zentrale Steuerungselement Ihres Voice Agents. Sie legt fest, wer der Agent ist, wie er spricht, was er erreichen soll und was er auf keinen Fall tun darf.

Anweisungen für Voice Agents unterscheiden sich deutlich von Prompts für Chat-Anwendungen, denn sie müssen zwei Anforderungen gleichzeitig erfüllen:

1. **Natürlich klingen.** Text, der geschrieben gut aussieht, klingt vorgelesen schnell steif und roboterhaft. Die Anweisung muss aktiv gegen die Neigung des Sprachmodells zu perfekter Schriftsprache arbeiten.
2. **Zuverlässig funktionieren.** Der Agent muss Tools korrekt aufrufen, Regeln einhalten, an Menschen übergeben und mit Fehlern umgehen - live am Telefon, ohne Benutzeroberfläche als Rückfallebene.

Eine Anweisung, die nur auf Natürlichkeit optimiert ist, erzeugt einen charmanten Agenten, der Dinge erfindet. Eine rein regelbasierte Anweisung erzeugt einen zuverlässigen Agenten, der wie eine Bandansage klingt. Gute Prompts schaffen beides - dieser Guide zeigt, wie.

## Empfohlene Struktur

Gliedern Sie Ihre Anweisung in benannte Abschnitte mit Markdown-Überschriften. Das verhindert, dass sich Regeln aus verschiedenen Kontexten vermischen, und Sprachmodelle beachten bestimmte Überschriften - insbesondere `# Guardrails` - besonders zuverlässig.

<Tip>
  Verwenden Sie **englische Abschnitts-Überschriften mit deutschem Inhalt**. Das ist die etablierte Konvention, und Modelle reagieren auf die englischen Überschriften am zuverlässigsten. Der gesamte Text unter den Überschriften bleibt Deutsch.
</Tip>

Die bewährte Reihenfolge:

```markdown theme={null}
# Personality      → Wer ist der Agent?
# Environment      → Wo ist er, mit wem spricht er?
# Tone             → Wie spricht er? Wie lang sind die Antworten?
# Goal             → Was soll er erreichen? (nummerierte Schritte)
# Guardrails       → Was darf er niemals tun?
# Tools            → Wann und wie nutzt er welches Tool?
# Error handling   → Was tut er, wenn etwas fehlschlägt?
```

Nicht jede Anweisung braucht alle Abschnitte - ein reiner FAQ-Agent ohne Tools kann `# Tools` und `# Error handling` weglassen. Die **Reihenfolge** sollte aber erhalten bleiben: Persona vor Verhalten, Verhalten vor Regeln, Regeln vor Tool-Nutzung.

### # Personality

Definiert, wer der Agent ist. Beschreiben Sie die Persönlichkeit als **hörbares Verhalten**, nicht als Adjektive - "freundlich und hilfsbereit" ist ohnehin der Standardmodus jedes Sprachmodells und ändert nichts.

```markdown theme={null}
# Personality

Du bist Lena, die telefonische Assistentin der Autowerkstatt Meier.
Du klingst ruhig und souverän, ohne übertrieben begeistert zu wirken.
Du fängst Sätze auch mal mit "Also", "Ja" oder "Okay" an.
Wenn du etwas nicht weißt, sagst du das offen - du erfindest nichts.
```

### # Environment

Sagt dem Agenten, wo er sich befindet und was er über die Anrufer annehmen kann. Ein kurzer, aber wirkungsvoller Abschnitt: Ein frustrierter Anrufer braucht einen anderen Einstieg als ein neugieriger Interessent.

```markdown theme={null}
# Environment

Du führst ein Telefongespräch. Die Anrufer sind Kunden der Werkstatt und
möchten meist einen Termin vereinbaren oder haben eine Frage zu einer
laufenden Reparatur. Manche Anrufer sind in Eile.
```

### # Tone

Legt Antwortlänge, Tempo und Sprechstil fest. Jede Voice-Anweisung sollte eine **konkrete Ziellänge** enthalten - das ist einer der wirksamsten einzelnen Sätze im ganzen Prompt.

```markdown theme={null}
# Tone

Antworte in 1–2 kurzen Sätzen, außer der Anrufer bittet um Details.
Nutze kurze Bestätigungen zwischendurch: "Alles klar", "Einen Moment", "Verstehe".
Passe dich dem Tempo des Anrufers an - knapp, wenn er knapp ist.
```

### # Goal

Nummerierte Schritte, die der Agent abarbeiten soll. Für transaktionale Agenten (Terminbuchung, Bestellauskunft) ist dies der wichtigste Abschnitt: Er verwandelt vage Erwartungen in einen eindeutigen Ablauf.

```markdown theme={null}
# Goal

Führe die Terminvereinbarung in dieser Reihenfolge durch:

1. Kläre das Anliegen (Inspektion, Reifenwechsel, Reparatur).
2. Frage nach dem Wunschtermin. Ist er nicht frei, schlage direkt
   konkrete Alternativen vor.
3. Erfasse Vor- und Nachnamen. Bestätige bei seltenen Namen die Schreibweise.
4. Buche den Termin und wiederhole Datum und Uhrzeit zur Bestätigung.
```

### # Guardrails

Nicht verhandelbare Regeln. Formulieren Sie Guardrails als "Niemals"-Sätze und sammeln Sie sie zentral hier, statt sie über die Anweisung zu verstreuen.

```markdown theme={null}
# Guardrails

Nenne niemals Preise oder Zusagen, die nicht in deinen Informationen stehen.
Gib niemals Daten anderer Kunden weiter.
Wenn du eine Antwort nicht weißt, sage das offen und biete an
weiterzuverbinden. Erfinde nichts. Das ist wichtig.
```

### # Tools

Ein Unterabschnitt pro Tool mit drei Blöcken: **wann** es genutzt wird, **wie** es genutzt wird und **was bei Fehlern** passiert. Details dazu im Abschnitt [Tools in der Anweisung](#tools-in-der-anweisung).

### # Error handling

Übergreifende Regeln für den Fall, dass ein Tool fehlschlägt oder unerwartete Daten liefert.

```markdown theme={null}
# Error handling

Wenn ein Tool-Aufruf fehlschlägt:

1. Sag es ehrlich: "Da klemmt gerade etwas bei mir im System."
2. Erfinde keine Informationen. Das ist wichtig.
3. Versuche es einmal erneut. Klappt es wieder nicht, biete einen
   Rückruf oder die Weiterleitung an einen Mitarbeiter an.
```

## Tipps & Tricks

### Zeigen statt beschreiben

Vage Stil-Anweisungen ("sei locker", "klinge natürlich") bewirken fast nichts. Das Wirksamste, was Sie tun können: **konkrete Beispiel-Äußerungen** in die Anweisung schreiben - jeweils als Paar aus der roboterhaften Standardversion und der gewünschten natürlichen Version.

```markdown theme={null}
SO KLINGEN GUTE ANTWORTEN:

Statt: "Selbstverständlich kann ich Ihnen dabei behilflich sein."
Besser: "Ja, klar - das mach ich gerne für Sie."

Statt: "Einen Moment bitte, ich rufe Ihre Daten auf."
Besser: "Okay, einen Moment - ich schau da eben für Sie nach."

Statt: "Leider kann ich Ihre Bestellung nicht finden."
Besser: "Hmm, ich finde die gerade nicht - können Sie mir die Nummer
nochmal durchgeben?"

Statt: "Ist sonst noch etwas, womit ich Ihnen helfen kann?"
Besser: "Gibt's sonst noch was, wo ich helfen kann?"
```

Vier bis acht solcher Paare reichen. Decken Sie die häufigsten Situationen ab: bestätigen, nachschlagen, etwas nicht wissen, verabschieden. Das Modell lernt aus Beispielen deutlich besser als aus Adjektiven.

### Wichtige Regeln doppelt verankern

Sprachmodelle gewichten den jüngsten Gesprächsverlauf stärker als weit zurückliegende Anweisungen. Ihre 1–2 wichtigsten Regeln gehören deshalb **an zwei Stellen**: einmal in `# Guardrails`, einmal in dem Abschnitt, in dem sie konkret greifen (z. B. beim jeweiligen Tool). Hängen Sie an wirklich kritische Sätze den Zusatz **"Das ist wichtig."** an - sparsam eingesetzt, wirkt das zuverlässig.

Die eine Regel, die in **jede** Anweisung mit Tools gehört, gleich doppelt:

> Wenn du etwas nicht weißt oder ein Tool fehlschlägt, sage das offen. Erfinde niemals Informationen. Das ist wichtig.

Der Instinkt des Modells, "hilfreich" zu sein, erzeugt sonst erfundene Terminbestätigungen, Preise oder Bestellstatus - die teuersten Fehler im Live-Betrieb.

### Sie oder Du - festlegen und durchziehen

<Warning>
  Legen Sie fest, ob der Agent Anrufer mit **Sie** oder **Du** anspricht, und halten Sie das in **jedem** Beispiel, jeder Formulierung und jedem Fehlertext konsequent durch. Eine Mischung wirkt am Telefon sofort irritierend. Orientieren Sie sich daran, wie Ihre Marke Kunden auch sonst anspricht.
</Warning>

### Schlank halten

Jede Zeile muss ihren Platz verdienen. Lange Anweisungen verlangsamen die Antwortzeit - und am Telefon ist jede Verzögerung direkt spürbar.

### Nicht motivieren, sondern anweisen

"Gib dir Mühe, besonders freundlich zu sein!" verschwendet Tokens. Schreiben Sie, **was** der Agent tun soll. Und setzen Sie GROSSBUCHSTABEN und "NIEMALS" sparsam ein - wenn alles betont ist, ist nichts mehr betont.

## Nuancen: Sprache am Telefon

Anrufer sprechen ihre Angaben - das Modell muss sie in Schriftform umwandeln, bevor es sie an ein Tool übergibt. Hier passieren im Live-Betrieb die meisten Fehler. Schreiben Sie die Umwandlungsregeln direkt in die Anweisung bzw. in die Tool-Beschreibung.

### Uhrzeiten: die "halb drei"-Falle

Der häufigste Zuverlässigkeitsfehler bei deutschen Voice Agents: **"halb drei" bedeutet 14:30, nicht 15:30.** Verlassen Sie sich nicht darauf, dass das Modell das richtig macht - schreiben Sie die Regel mit Beispielen in die Anweisung:

| Gesprochen                                             | Bedeutet |
| ------------------------------------------------------ | -------- |
| "halb drei"                                            | 14:30    |
| "Viertel vor drei"                                     | 14:45    |
| "Viertel nach drei"                                    | 15:15    |
| "drei Uhr"                                             | 15:00    |
| "Viertel drei" *(regional, Süddeutschland/Österreich)* | 14:15    |
| "drei viertel drei" *(regional)*                       | 14:45    |

### Datum, Telefonnummern, Zahlen

* **Datum:** Format ist TT.MM.JJJJ - "der dritte Mai" wird zu `03.05.`, nicht `05/03`. Relative Angaben wie "übermorgen" kann der Agent nur auflösen, wenn er das aktuelle Datum kennt - nutzen Sie dafür die [Datum-Variablen](#variablen-in-der-anweisung).
* **Telefonnummern:** Deutsche Anrufer diktieren oft in Zweiergruppen ("dreißig vierundsiebzig" = 30 74). Regel in die Anweisung: Ziffernpaare auflösen, Trennzeichen entfernen, führende 0 bei Bedarf durch +49 ersetzen.
* **Zahlen:** Dezimaltrennzeichen ist das Komma (`1,50 €`), Tausendertrennzeichen der Punkt (`1.500`). "Einundzwanzig" ist 21 - das Modell muss die Reihenfolge drehen.

### E-Mail-Adressen am Telefon vermeiden

<Tip>
  Verzichten Sie im Voice-Kanal nach Möglichkeit auf die Abfrage von E-Mail-Adressen. Die fehlerfreie Erfassung über das Telefon ist erfahrungsgemäß schwierig (Sonderzeichen, Schreibweisen, Domains) und führt häufig zu falsch zugestellten Bestätigungen. Eine **SMS an die anrufende Nummer** ist in der Regel der zuverlässigere Weg.
</Tip>

Falls es doch sein muss: Anrufer sagen "ät" oder "Klammeraffe" für `@`, "Punkt" für `.`, "Bindestrich" für `-` und buchstabieren nach dem Muster "M wie Martha". Schreiben Sie diese Umwandlung in die Tool-Beschreibung - und lassen Sie den Agenten die Adresse zur Bestätigung zurücklesen.

### Im Zweifel: zurücklesen

Die wirksamste einzelne Zeile für jeden Agenten, der Buchungen oder Daten verarbeitet:

```markdown theme={null}
Wenn du dir bei einer Angabe nicht sicher bist - Datum, Uhrzeit, Name,
Telefonnummer - lies sie einmal zurück und lass sie dir bestätigen,
bevor du sie weiterverwendest. Das ist wichtig.
```

## ElevenLabs v3 Prompting

Nutzt Ihr Agent eine **ElevenLabs-v3-Stimme**, gelten für die Sprachausgabe ein paar zusätzliche Regeln. v3 versteht **Audio-Tags** in eckigen Klammern als Regieanweisungen für die Sprechweise und reagiert deutlich stärker auf Satzzeichen als ältere Stimmen. Beides lässt sich in der Anweisung gezielt nutzen - und beides kann einen Agenten schnell übertrieben klingen lassen. Dieser Abschnitt beschreibt, was in die Anweisung gehört, damit die Sprachausgabe natürlich bleibt und die Zuverlässigkeit nicht leidet.

<Info>
  Audio-Tags wirken nur im Konversationstyp **Standard Conversation** (STT → LLM → TTS), in dem die Antworten des Sprachmodells als Text an die Sprachausgabe übergeben werden. Stimme und Stimm-Einstellungen wählen Sie in den [Sprach- und Audioeinstellungen](/docs/de/conversation-audio) des Agenten.
</Info>

### Audio-Tags

Audio-Tags sind Wörter in eckigen Klammern, die v3 nicht vorliest, sondern als Anweisung für die Sprechweise interpretiert - etwa `[whispering]`, `[sighs]`, `[laughs]`, `[pauses]` oder `[rushed]`. Sie steuern, **wie** etwas gesagt wird, nicht **was** gesagt wird.

Im Voice Agent schreibt das Sprachmodell die Tags selbst in seine Antworten. Die Anweisung legt deshalb fest, welche Tags der Agent verwenden darf, wie oft und wann. Ohne diese Vorgabe nutzt das Modell entweder gar keine Tags oder setzt sie unkontrolliert ein.

Zwei Grundregeln:

* **Nur hörbare Sprechweise.** Ein Tag beschreibt etwas, das man am Telefon hören kann: Tempo, Lautstärke, Tonfall, eine Pause, ein Seufzen. Tags für Sichtbares wie `[standing]` oder `[grinning]` haben kein hörbares Gegenstück, und Soundeffekte wie `[music]` oder `[applause]` gehören nicht in ein Kundengespräch.
* **Tags verändern niemals die Aussage.** Ein Tag darf keinen Inhalt hinzufügen, nichts erfinden und keine Regel aus `# Guardrails` aufweichen. Und er darf niemals in einem Tool-Parameter landen - ein `[pauses]` im Namensfeld einer Terminbuchung ist ein Datenfehler.

### Pausen

Pausen entstehen in v3 über den Text selbst:

| Mittel                       | Wirkung                                                    |
| ---------------------------- | ---------------------------------------------------------- |
| Auslassungspunkte `...`      | Pause mit Gewicht - "Einen Moment... ich schau eben nach." |
| Punkt, Komma, Gedankenstrich | Normaler Sprechrhythmus, kurze Atempause                   |
| `[pauses]`                   | Bewusste, spürbare Pause an genau dieser Stelle            |

Für die meisten Kundengespräche reichen Satzzeichen völlig aus. `[pauses]` ist die Ausnahme für Momente, in denen die Pause selbst eine Aussage ist - etwa bevor der Agent eine schlechte Nachricht überbringt.

### Sparsam einsetzen

Ein Tag pro Antwort ist viel, die meisten Antworten brauchen gar keins. Und ein Tag muss zur gewählten Stimme und zur Situation passen: Eine ruhige Support-Stimme soll nicht `[shouting]` rufen oder `[laughs harder]` lachen, und eine seriöse, professionelle Stimme reagiert auf spielerische Tags oft unnatürlich. Die Stimme muss der gewünschten Sprechweise ohnehin ähnlich sein - ein Tag verstärkt, was in der Stimme angelegt ist, es erschafft es nicht.

Für Kundenservice-Agenten hat sich eine kurze **Erlaubt-Liste** bewährt: drei bis vier zurückhaltende Tags, die explizit genannt werden - alles andere ist tabu. Verwenden Sie die englischen Tag-Namen aus der ElevenLabs-Dokumentation, auch in deutschen Anweisungen; das passt zur Konvention "englische Überschriften, deutscher Inhalt".

### Satzzeichen und Großschreibung

v3 liest Satzzeichen als Sprechanweisung: Auslassungspunkte verlangsamen und verleihen Gewicht, GROSSBUCHSTABEN werden betont, normale Satzzeichen geben den Rhythmus vor. Die Folge für die Anweisung: Das Modell übernimmt die Beispiel-Äußerungen aus dem Prompt (die "Statt/Besser"-Paare) - inklusive ihrer Satzzeichen. Schreiben Sie sie so, wie sie klingen sollen.

Verlassen Sie sich bei keinem dieser Effekte auf Annahmen. Wie stark eine Stimme auf ein Tag oder ein Satzzeichen reagiert, unterscheidet sich von Stimme zu Stimme - testen Sie jede Formulierung mit der tatsächlich gewählten Stimme.

### Beispiele

Ein `# Tone`-Abschnitt, der Audio-Tags kontrolliert freigibt:

```markdown theme={null}
# Tone

Antworte in 1–2 kurzen Sätzen, außer der Anrufer bittet um Details.

Du sprichst über eine ElevenLabs-v3-Stimme. Du darfst Audio-Tags in
eckigen Klammern verwenden, um deine Sprechweise zu steuern - höchstens
ein Tag pro Antwort und nur, wenn es hörbar zur Situation passt.

Erlaubt: [pauses], [quietly], [curious]
Nicht erlaubt: [shouting], [laughs], [excited], [sighs], Soundeffekte

Pausen machst du mit Satzzeichen: "Einen Moment... ich schau eben nach."
```

Passende und übertriebene Verwendung im Vergleich - die Paare eignen sich direkt als Beispiel-Äußerungen im Prompt:

```markdown theme={null}
SO KLINGEN GUTE v3-ANTWORTEN:

Passend: "Okay, einen Moment... ich schau eben in den Kalender."
Übertrieben: "[excited] Okay! [pauses] Einen Moment, [whispering] ich
schau in den Kalender!"

Passend: "Hmm... da ist leider schon was drin - Donnerstag um zehn
hätte ich aber noch frei."
Übertrieben: "[frustrated] [sighs] Da ist leider schon was drin."

Passend: "[curious] Und um welches Fahrzeug geht es?"
Übertrieben: "[curious] [excited] Und [pauses] um welches Fahrzeug
[laughs] geht es?"
```

Die Regel, die bei v3-Stimmen zusätzlich in `# Guardrails` gehört:

```markdown theme={null}
Audio-Tags verändern nur, wie du sprichst - niemals, was du sagst.
Schreibe niemals ein Audio-Tag in einen Tool-Parameter (Name, Datum,
Uhrzeit, Rufnummer). Das ist wichtig.
```

<Warning>
  **Testen Sie v3 mit der tatsächlich gewählten Stimme.** Wie eine Stimme auf Tags und Satzzeichen reagiert, hängt von der Stimme selbst ab - geklonte und selbst designte Stimmen verhalten sich oft anders als Stimmen aus der Bibliothek, und eine hohe Stabilitäts-Einstellung dämpft die Wirkung von Tags. Prüfen Sie jedes erlaubte Tag im Browser-Test mit genau dieser Stimme. Reagiert die Stimme unnatürlich, streichen Sie das Tag aus der Erlaubt-Liste, statt die Formulierung zu retten.
</Warning>

Weiterführend bei ElevenLabs: [Audio-Tags und situative Sprechweise in Eleven v3](https://elevenlabs.io/blog/eleven-v3-situational-awareness) und [Prompting Eleven v3](https://elevenlabs.io/docs/overview/capabilities/text-to-speech/best-practices#prompting-eleven-v3) in den Best Practices zur Sprachausgabe.

## Tools in der Anweisung

[Tools](/docs/de/tools) (Terminbuchung, SMS, E-Mail, API-Anfragen, n8n) werden in der Sidebar angelegt und im Voice Wizard pro Agent aktiviert. Die **Bedingung** am Tool steuert, wann es grundsätzlich verfügbar ist - die **Anweisung** beschreibt, wie es sich in den Gesprächsablauf einfügt.

Beschreiben Sie jedes Tool in der Anweisung mit drei Blöcken:

```markdown theme={null}
# Tools

## Terminbuchung

Wann: Erst wenn Anliegen, Wunschtermin und Name vollständig vorliegen.

Wie:
1. Lies dem Anrufer Datum und Uhrzeit zur Bestätigung vor.
2. Buche erst nach ausdrücklicher Bestätigung.
3. Uhrzeit-Angaben wie "halb drei" bedeuten 14:30, nicht 15:30.

Bei Fehlern: Sag ehrlich, dass die Buchung gerade nicht klappt, und biete
an, eine SMS mit einem Buchungslink zu senden. Erfinde keine Bestätigung.
```

Für heikle Tools (Buchungen, Zahlungen, Weiterleitungen) hat sich eine explizite **Voraussetzungsliste** bewährt: alle Bedingungen aufzählen, die erfüllt sein müssen, bevor das Tool aufgerufen werden darf. Das ersetzt ein Knäuel aus Wenn-dann-Logik durch eine einfache Checkliste, die das Modell vor jedem Aufruf durchgeht.

### Empfohlener Ablauf für die Terminbuchung

Soll Ihr Agent Termine entgegennehmen, empfehlen wir diesen Gesprächsverlauf als Leitfaden im `# Goal`-Abschnitt:

<Steps>
  <Step title="Wunschtermin klären">
    Fragen Sie zuerst nach dem gewünschten Termin. Ist dieser nicht verfügbar, schlägt der Agent direkt passende Ausweichtermine vor, statt den Anrufer mehrfach nachhaken zu lassen.
  </Step>

  <Step title="Name erfassen">
    Vor- und Nachname des Anrufers erfassen. Bei seltenen Namen die Schreibweise kurz zurückbestätigen.
  </Step>

  <Step title="Termin buchen">
    Der Agent legt den Termin an und wiederholt die wichtigsten Eckdaten zur Bestätigung.
  </Step>

  <Step title="Optional: Bestätigung per SMS">
    Kombinieren Sie den Ablauf mit dem SMS-Tool und senden Sie dem Anrufer eine Bestätigung. Klären Sie vorab, ob die anrufende Rufnummer verwendet werden darf, oder erfassen Sie alternativ eine Mobilnummer. Schlägt die Buchung im Backend fehl, kann ersatzweise eine SMS mit einem Buchungslink versendet werden.
  </Step>
</Steps>

## Variablen in der Anweisung

Variablen sind Platzhalter, die zur Laufzeit durch dynamische Werte ersetzt werden. Sie werden in **doppelte Prozentzeichen** eingeschlossen: `%%...%%`. Der Prompt-Editor bietet eine Autovervollständigung an - tippen Sie einfach `%%`.

### Anrufdaten

Diese Variablen werden aus dem laufenden Anruf befüllt und stehen **nur in der KI-Anweisung** zur Verfügung (nicht im System-Prompt):

| Variable                    | Bedeutung                                                    |
| --------------------------- | ------------------------------------------------------------ |
| `%%caller_number%%`         | Rufnummer des Anrufers                                       |
| `%%called_number%%`         | Angerufene Nummer bzw. SIP-Endpunkt                          |
| `%%forwarded_from_number%%` | Ursprüngliche Nummer, von der der Anruf weitergeleitet wurde |

### Datum & Zeit

Die Datum- und Zeit-Variablen stehen in der KI-Anweisung **und** im System-Prompt zur Verfügung. Sie erfordern die JSON-Schreibweise - ein bloßes `%%datetime%%` führt zu einem Fehler:

```
%%{"variable": "VARIABLENTYP", "timezone": "ZEITZONE", "language": "SPRACHE"}%%
```

| Variable                                                                         | Beschreibung                               | Beispiel-Ausgabe                     |
| -------------------------------------------------------------------------------- | ------------------------------------------ | ------------------------------------ |
| `%%{"variable": "datetime", "timezone": "Europe/Berlin", "language": "de"}%%`    | Datum und Uhrzeit zum Zeitpunkt des Anrufs | Montag, 15. Januar 2024 um 14:30 Uhr |
| `%%{"variable": "date", "timezone": "Europe/Berlin", "language": "de"}%%`        | Nur das Datum                              | Montag, 15. Januar 2024              |
| `%%{"variable": "time", "timezone": "Europe/Berlin", "language": "de"}%%`        | Nur die Uhrzeit                            | 14:30 Uhr                            |
| `%%{"variable": "day_of_week", "timezone": "Europe/Berlin", "language": "de"}%%` | Nur der Wochentag                          | Montag                               |

**Parameter:**

* `variable`: `datetime`, `date`, `time` oder `day_of_week`
* `timezone`: IANA-Zeitzone (z. B. `Europe/Berlin`, `UTC`) - Standard: `Europe/Berlin`
* `language`: `de` oder `en` - Standard: `de`

<Accordion title="Anwendungsfall: Weiterleitung nur während der Geschäftszeiten">
  ```
  Es ist %%{"variable": "time"}%% am %%{"variable": "day_of_week"}%%.

  Wenn es nach 18:00 Uhr oder vor 8:00 Uhr ist, oder wenn heute Samstag
  oder Sonntag ist, leite den Anruf NICHT weiter. Informiere den Anrufer
  über die Geschäftszeiten (Montag–Freitag, 8:00–18:00 Uhr) und biete an,
  eine Nachricht zu hinterlassen.

  Während der Geschäftszeiten verbinde direkt mit dem Support-Team.
  ```
</Accordion>

<Accordion title="Aufgelöste Variablen beim Testen überprüfen">
  Beim Testen Ihrer Anweisung können Sie die tatsächlich eingesetzten Werte an zwei Stellen einsehen:

  * **Browser-Test:** Die aufgelöste Anweisung wird beim Wechsel zum Prompt bzw. zu Beginn der Unterhaltung angezeigt.
  * **Conversations-Ansicht:** Klicken Sie auf "Details" und prüfen Sie die `tec_outputs` in der Debug-Ansicht.
</Accordion>

<Info>
  Zusätzlich können Sie in der [Nachbearbeitung](/docs/de/post-processing) eigene Variablen definieren, die nach dem Anruf aus dem Gespräch extrahiert und in E-Mail-, SMS- und API-Aufgaben verwendet werden (z. B. `%%kunden_email%%`). Diese stehen nicht in der KI-Anweisung zur Verfügung.
</Info>

## Beispiel-Prompts

Zwei vollständige Anweisungen, die die Struktur und die Tipps aus diesem Guide anwenden. Beide sprechen Anrufer mit **Sie** an - passen Sie das an Ihre Marke an.

<Accordion title="Beispiel 1: Terminbuchung Autowerkstatt (mit Tools)">
  ```markdown theme={null}
  # Personality

  Du bist Lena, die telefonische Assistentin der Autowerkstatt Meier.
  Du klingst ruhig und souverän, ohne übertrieben begeistert zu wirken.
  Du fängst Sätze auch mal mit "Also", "Ja" oder "Okay" an.
  Wenn du etwas nicht weißt, sagst du das offen - du erfindest nichts.

  # Environment

  Du führst ein Telefongespräch. Heute ist %%{"variable": "datetime"}%%.
  Die Anrufer sind Kunden der Werkstatt und möchten meist einen Termin
  vereinbaren. Manche sind in Eile.

  # Tone

  Antworte in 1–2 kurzen Sätzen, außer der Anrufer bittet um Details.
  Nutze kurze Bestätigungen: "Alles klar", "Einen Moment", "Verstehe".

  SO KLINGEN GUTE ANTWORTEN:

  Statt: "Selbstverständlich kann ich einen Termin für Sie vereinbaren."
  Besser: "Ja, klar - machen wir. Wann würde es Ihnen denn passen?"

  Statt: "Einen Moment bitte, ich prüfe die Verfügbarkeit."
  Besser: "Okay, einen Moment - ich schau eben in den Kalender."

  Statt: "Leider ist dieser Termin nicht verfügbar."
  Besser: "Hmm, da ist leider schon was drin - ich hätte aber Donnerstag
  um zehn oder Freitag um halb neun."

  # Goal

  Führe die Terminvereinbarung in dieser Reihenfolge durch:

  1. Kläre das Anliegen (Inspektion, Reifenwechsel, Reparatur, Sonstiges).
  2. Frage nach dem Wunschtermin. Ist er nicht frei, schlage direkt
     konkrete Alternativen vor.
  3. Erfasse Vor- und Nachnamen. Bestätige bei seltenen Namen die
     Schreibweise.
  4. Buche den Termin über das Terminbuchungs-Tool und wiederhole Datum
     und Uhrzeit zur Bestätigung.
  5. Biete eine SMS-Bestätigung an die Rufnummer %%caller_number%% an.

  # Guardrails

  Nenne niemals Preise - verweise dafür auf das Gespräch vor Ort.
  Gib keine Informationen zu Fahrzeugen anderer Kunden weiter.
  Wenn du eine Frage nicht beantworten kannst, sage das offen und biete
  an, dass ein Mitarbeiter zurückruft. Erfinde nichts. Das ist wichtig.

  # Tools

  ## Terminbuchung

  Wann: Erst wenn Anliegen, Wunschtermin und Name vollständig vorliegen.

  Wie:
  1. Lies Datum und Uhrzeit zur Bestätigung vor: "Also Donnerstag, der
     16. Januar um 14:30 Uhr - passt das so?"
  2. Buche erst nach ausdrücklicher Bestätigung.
  3. Uhrzeiten korrekt umwandeln: "halb drei" bedeutet 14:30, nicht 15:30.
     "Viertel vor drei" bedeutet 14:45.

  ## SMS

  Wann: Nach erfolgreicher Buchung, wenn der Anrufer eine Bestätigung
  möchte. Frage vorher, ob die anrufende Nummer verwendet werden darf.

  # Error handling

  Wenn ein Tool-Aufruf fehlschlägt:

  1. Sag es ehrlich: "Da klemmt gerade etwas bei mir im System."
  2. Erfinde keine Buchungsbestätigung. Das ist wichtig.
  3. Versuche es einmal erneut. Klappt es wieder nicht, biete eine SMS
     mit einem Buchungslink oder einen Rückruf an.
  ```
</Accordion>

<Accordion title="Beispiel 2: FAQ und Weiterleitung Elektronikgeschäft (ohne Buchung)">
  ```markdown theme={null}
  # Personality

  Du bist der telefonische Assistent von Elektro Schuster.
  Du bist geduldig und antwortest ohne Fachjargon.
  Wenn du etwas nicht weißt, sagst du das offen - du erfindest nichts.

  # Environment

  Du führst ein Telefongespräch. Es ist %%{"variable": "time"}%% am
  %%{"variable": "day_of_week"}%%. Die Anrufer haben Fragen zu
  Öffnungszeiten, Produkten, Reparaturen oder möchten einen Mitarbeiter
  sprechen.

  # Tone

  Antworte in 1–2 kurzen Sätzen. Sprich Öffnungszeiten natürlich aus:
  "Wir haben bis 20 Uhr auf", nicht "Die Öffnungszeiten sind
  Montag bis Freitag von 9:00 bis 20:00 Uhr".

  # Goal

  1. Beantworte Fragen zu Öffnungszeiten, Anfahrt und Services direkt:
     - Öffnungszeiten: Montag bis Freitag 9–20 Uhr, Samstag 10–18 Uhr.
     - Rückgabe: 14 Tage mit Kaufbeleg.
     - Reparaturannahme: jederzeit während der Öffnungszeiten, ohne Termin.
  2. Bei Fragen, die du nicht beantworten kannst, biete die Weiterleitung
     an einen Mitarbeiter an.
  3. Weiterleitung nur während der Geschäftszeiten (Montag–Freitag,
     9:00–18:00 Uhr). Außerhalb: Geschäftszeiten nennen und anbieten,
     eine Nachricht zu hinterlassen.

  # Guardrails

  Mache keine Zusagen zu Lagerbeständen oder Reparaturdauern - das kann
  nur ein Mitarbeiter vor Ort.
  Nenne keine Preise, die nicht in deinen Informationen stehen.
  Wenn du etwas nicht weißt, sage das offen. Erfinde nichts.
  Das ist wichtig.
  ```
</Accordion>

## Checkliste

Gehen Sie diese Punkte durch, bevor Sie eine Anweisung live schalten:

* Gibt es einen `# Personality`-Abschnitt mit hörbarem Verhalten statt Adjektiven?
* Legt `# Tone` eine konkrete Antwortlänge fest (z. B. "1–2 Sätze")?
* Enthält `# Goal` nummerierte, eindeutige Schritte?
* Gibt es 4–8 Beispiel-Paare ("Statt … / Besser …") für natürliche Formulierungen?
* Ist Sie/Du festgelegt und in jedem Beispiel konsistent?
* Hat jedes Tool eine Wann/Wie/Bei-Fehlern-Beschreibung?
* Ist die Umwandlung gesprochener Angaben geregelt (Uhrzeiten inkl. "halb drei", Datum, Telefonnummern)?
* Steht die "Erfinde nichts"-Regel an mindestens zwei Stellen?
* Ist die Anweisung schlank?
* Im Browser-Test geprüft, inklusive der [aufgelösten Variablen](#variablen-in-der-anweisung)?
* Bei einer ElevenLabs-v3-Stimme: Erlaubt-Liste für Audio-Tags festgelegt und mit der gewählten Stimme getestet?

## Häufige Fehler

* **Adjektive statt Verhalten.** "Sei freundlich und professionell" ändert nichts - beschreiben Sie, was man hören soll.
* **Alles betonen.** Wenn jede zweite Zeile "NIEMALS" enthält, verliert die Betonung ihre Wirkung. Reservieren Sie sie für die 1–2 wirklich kritischen Regeln.
* **Regeln nur einmal nennen.** Kritische Regeln gehören an zwei Stellen - sonst gehen sie in langen Gesprächen verloren.
* **Tools ohne Anleitung.** Ein Tool ohne Wann/Wie/Bei-Fehlern-Beschreibung führt zu improvisierten, unzuverlässigen Aufrufen.
* **Ein Mega-Prompt für alles.** Drei und mehr verschiedene Abläufe in einer Anweisung machen den Agenten langsam und fehleranfällig.
* **Nur lesen, nie anrufen.** Eine Anweisung, die gut aussieht, kann schlecht klingen. Testen Sie am Telefon und passen Sie iterativ an - eine Änderung pro Durchlauf.
