Alle Beiträge
Illustration im Werkstatt-Stil: An einem langen Tisch wandert eine Kundenanfrage durch fünf Stationen. Eine Lesemaschine versteht den handschriftlichen Brief, aus einem Karteikasten wird genau eine Preiskarte gezogen, und eine Druckpresse stanzt mit einer festen Vorlage lauter gleich gestaltete Briefe in den Ablagekorb „Entwürfe".

Nicht alles der KI überlassen

6 Min. Lesezeit

  • Grundlagen
  • Zuverlässigkeit

In einem früheren Beitrag habe ich gezeigt, wie aus ChatGPT ein Agent wird: einer, der eine Kundenanfrage selbst liest und eine Antwort als Entwurf ablegt. Heute geht es um die Frage, die sich danach sofort stellt. Wie viel überlasse ich diesem Agenten eigentlich, und was lege ich lieber selbst fest?

Die Modelle sind besser, als man denkt

Vorweg, damit kein falscher Eindruck entsteht: Die heutigen Sprachmodelle sind erstaunlich verlässlich. In den allermeisten Fällen tut ein Agent genau das, was in seiner Anweisung steht, und nichts darüber hinaus. Ich sehe in der Branche regelmäßig, wie Kollegen einem Agenten eine große, komplexe Aufgabe allein über eine Anweisung übertragen, und es funktioniert öfter reibungslos, als man vermuten würde.

Trotzdem ist „fast immer" nicht „immer". Es gibt die Geschichten, in denen ein Agent aus einem Missverständnis heraus eine ganze Datenbank gelöscht hat. Solche Fälle sind selten, aber es gibt sie. Und je kleiner und günstiger das Modell, desto häufiger versteht es etwas falsch.

Deshalb ist meine Haltung einfach: Auf den Agenten verlasse ich mich dort, wo es sein muss. Alles, was ohnehin immer gleich ablaufen soll, lege ich lieber fest, statt es jedes Mal aufs Neue der KI zu überlassen. Und dafür gibt es überraschend viele Möglichkeiten.

Wo „fast immer" zu wenig ist

Bleiben wir bei unserem Beispiel. Eine Kundin, Frau Berger, schreibt Ihnen: „Haben Sie den Wanderrucksack noch auf Lager, und was kostet er?" Der Agent liest die Mail, versteht die Frage und formuliert eine freundliche Antwort. So weit kennen wir das.

Jetzt kommt eine neue Anforderung dazu. Die Antwort soll nicht als nüchterner Fließtext hinausgehen, sondern so aussehen, als käme sie aus Ihrem Betrieb: mit Ihrem Schriftzug oben, in Ihren Farben, mit einer sauberen Fußzeile. Und zwar bei jeder Mail exakt gleich. Ein Kunde, der zwei Anfragen stellt und zwei unterschiedlich gestaltete Antworten bekommt, wird stutzig.

Genau hier wird „fast immer richtig" zum Problem. Bei der Gestaltung reicht das nicht. Sie muss jedes Mal stimmen.

Version 1: Alles dem Agenten überlassen

Der naheliegende Weg lehnt sich daran an, wie ein Mensch es machen würde: Wie die Mail auszusehen hat, schreiben wir in die Anweisung, und die Preise schlägt der Agent in der Preisliste nach, die im Betrieb ohnehin als Excel-Datei herumliegt. Eine solche Arbeitsanweisung in einfachem Text nennt man im Fachjargon einen Skill. Die Werkzeuge, die er benutzen darf, stehen darin nur am Ende, aufrufen tut er sie von selbst:

# Kundenmail beantworten (mit Gestaltung)

1. Formuliere eine freundliche Antwort in der Sie-Form und nenne Preis und Verfügbarkeit.
2. Baue daraus eine HTML-Mail:
   - Oben eine Kopfleiste in unserem Grün mit dem Schriftzug „Bergfuchs Outdoor".
   - Darunter der Text auf hellem Papierton, dunkle Schrift, Zeilenabstand 1,6.
   - Unten eine Grußformel und eine Fußzeile, abgetrennt durch eine feine Linie.
3. Lege die fertige HTML-Mail als Entwurf ab.

Die aktuellen Preise stehen in [preisliste.xlsx](./preisliste.xlsx).

## Verfügbare Werkzeuge

- email_lesen: liest die Kundenmail aus dem Postfach.
- entwurf_ablegen: erwartet die fertige HTML-Mail und legt sie als Entwurf ab.

Das kann gut gehen. Aber schauen Sie, wie viel hier jedes Mal von selbst richtig zusammen kommen muss.

Da ist die Preisliste. Um den Preis zu nennen, lädt der Agent die ganze Datei und sucht die passende Zeile heraus. Bei hunderten Einträgen erwischt er dabei hin und wieder die falsche. Und gepflegt wird die Tabelle von Hand, sie hinkt dem echten Bestand also immer ein Stück hinterher.

Und da ist die Gestaltung. Der Agent baut die komplette HTML-Mail jedes Mal selbst zusammen. Mal fehlt die Fußzeile, mal ist das Grün eine Spur zu hell, mal sitzt der Zeilenabstand anders. Bei einem großen, teuren Modell passiert das selten, bei einem kleinen, günstigen deutlich öfter.

Beides müssen Sie im Entwurf selbst erwischen, bevor Sie ihn abschicken. Ein falscher Preis oder eine schiefe Fußzeile rutscht dabei schnell durch.

Der feine Unterschied: denken oder abrufen

Wenn man genau hinsieht, stecken in dieser einen Aufgabe zwei ganz verschiedene Sorten von Arbeit.

Die eine braucht wirklich ein Sprachmodell. Aus dem Freitext der Kundin herauszulesen, um welches Produkt es geht, und eine freundliche, passende Antwort zu formulieren: Das ist jedes Mal anders und lässt sich nicht in feste Regeln gießen. Hier ist der Agent am richtigen Platz.

Die andere ist das Gegenteil. Der Preis steht fest, sobald das Produkt klar ist. Die Gestaltung steht ohnehin fest. Beides soll nicht jedes Mal neu entstehen, sondern immer gleich sein: gleiche Eingabe, gleiches Ergebnis, jedes Mal. Für diese Eigenschaft gibt es einen eigenen Begriff, Determinismus, und ein Sprachmodell bringt sie von Natur aus nicht mit. Warum sollte der Agent den Preis aus einer Liste heraussuchen oder die Mail jedes Mal neu bauen, wenn beides längst feststeht?

Also nehmen wir ihm beides ab.

Version 2: Festes gehört in Werkzeuge

Alles, was feststeht, wandert aus der Anweisung in feste Werkzeuge. Der Preis kommt jetzt aus dem System, das ihn ohnehin führt, und das Aussehen aus einer festen Vorlage, im Fachjargon einem Template. Der Agent bekommt beides nie zu Gesicht, er liefert nur noch die Worte (hier vereinfacht):

// Der Preis kommt direkt aus dem System, statt aus einer Datei zum Durchsuchen:
function produkt_info(produkt: string) {
    return warenwirtschaft.suche(produkt) // { verfügbar, preis }
}

// Das Aussehen steckt in einer festen Vorlage, die der Agent nie zu sehen bekommt:
const VORLAGE = `
  <div class="kopf">Bergfuchs Outdoor</div>
  <div class="inhalt"><p>{{anrede}}</p>{{text}}</div>
  <div class="fuss">Mit freundlichen Grüßen · Ihr Team von Bergfuchs Outdoor</div>
`

// Das Ablege-Werkzeug nimmt nur noch anrede und text, kein fertiges html mehr:
function antwort_ablegen(an: string, betreff: string, anrede: string, text: string) {
    const html = VORLAGE
        .replace("{{anrede}}", anrede)
        .replace("{{text}}", als_absaetze(text))
    gmail.lege_entwurf_an({ an, betreff, html })
}

Der entscheidende Unterschied steckt in der letzten Funktion. Vorher lieferte der Agent das fertige html, das ganze Aussehen. Jetzt gibt er nur noch anrede und text ab und kann über die Gestaltung gar nicht mehr stolpern, weil er sie nie in der Hand hat. Den Preis erfindet er ebenso wenig, er fragt ihn ab.

Damit schrumpft auch die Anweisung auf das Wesentliche zusammen:

# Kundenmail beantworten

1. Formuliere eine freundliche Antwort in der Sie-Form und beantworte die Frage.
2. Lege die Antwort als Entwurf ab, Anrede und Text getrennt.

## Verfügbare Werkzeuge

- email_lesen: liest die Kundenmail aus dem Postfach.
- produkt_info: liefert Verfügbarkeit und Preis zu einem Produkt.
- antwort_ablegen: nimmt Anrede und Text und legt den gestalteten Entwurf ab.

Keine Preisliste mehr, kein Wort über Farben, Schriftzug oder Zeilenabstand. Das steht jetzt an den Stellen, an die es gehört.

So sieht das Ergebnis aus

Der Agent liefert nur noch die Anrede und den mittleren Text. Den Rahmen setzt die Vorlage. Heraus kommt bei jeder Anfrage exakt dieselbe Gestaltung:

Bergfuchs Outdoor

Guten Tag Frau Berger,

vielen Dank für Ihre Nachricht. Der Wanderrucksack ist auf Lager und kostet 149 Euro inklusive Versand.

Wenn Sie möchten, lege ich Ihnen die Bestellung gleich an. Ein kurzer Rückruf genügt.

Mit freundlichen Grüßen
Ihr Team von Bergfuchs Outdoor
Der grüne Kopf und die Fußzeile stehen fest in der Vorlage. Der Agent liefert nur die Anrede und den mittleren Text.

Egal, wie oft dieser Ablauf läuft: Der Rahmen ist immer derselbe. Nur die Worte in der Mitte passen sich der jeweiligen Anfrage an.

Warum das gleich dreifach hilft

Der Umbau wirkt klein, bringt aber drei Dinge auf einmal.

Erstens stimmt jede Mail und sieht gleich aus. Der Preis kommt aktuell aus dem System, die Gestaltung immer unverändert aus der Vorlage. Ihr Auftritt bleibt einheitlich, ohne dass Sie sich darauf verlassen müssen, dass der Agent diesmal alles wieder richtig zusammensetzt.

Zweitens sinkt die Fehlerquote spürbar. Was der Agent nicht selbst heraussuchen und nicht selbst gestalten muss, kann er auch nicht falsch machen. Die Aufgabe ist jetzt so eng gefasst, dass kaum noch etwas schiefgehen kann.

Drittens wird die Aufgabe schlichtweg einfacher. Und eine einfachere Aufgabe kann auch ein kleineres, günstigeres Modell zuverlässig erledigen. Sie sparen, ohne an Verlässlichkeit zu verlieren, weil die schwierige Arbeit gar nicht mehr beim Modell liegt.

Kein Entweder-oder, sondern ein Regler

Jetzt könnte man meinen, man solle alles festlegen. So einfach ist es nicht. Hätten wir auch die Antwort selbst in eine Vorlage gezwängt, bekäme jede Kundin denselben Baustein, und der Vorteil eines Agenten wäre dahin. Das Verstehen und Formulieren gehört bewusst dem Modell.

Jede Aufgabe hat einen Regler zwischen zwei Enden:

  • Am einen Ende steht „alles über die Anweisung": volle Freiheit für den Agenten.
  • Am anderen „alles über feste Werkzeuge": nichts bleibt dem Zufall überlassen.

Die Kunst liegt darin, den Regler pro Aufgabe an die richtige Stelle zu schieben: dem Modell dort Raum geben, wo es wirklich denken muss, und alles festzurren, was ohnehin immer gleich sein soll.

Ihr Betrieb entscheidet mit

Am Ende bleibt die Kontrolle, wo sie hingehört. Der fertige Entwurf landet im Ordner „Entwürfe", nicht im Postausgang. Sie lesen drüber und drücken auf „Senden". Der Agent bereitet vor, der Mensch gibt frei.

Wo dieser Regler bei einem Ihrer Abläufe stehen sollte, lässt sich nicht am Reißbrett entscheiden, sondern nur an der konkreten Aufgabe. Genau das schauen wir uns gemeinsam an: Was braucht wirklich ein Sprachmodell, und was legen wir besser fest? Wenn Sie das für einen Ablauf in Ihrem Betrieb durchspielen möchten, tun wir das in einem unverbindlichen Erstgespräch.