Fallstudie · KI bei uns selbst
Von der Firma auf der Karte bis zum Brief im Briefkasten
Wir haben eine Software gebaut, die Kaltakquise per Post übernimmt: Sie sucht passende Firmen einer Branche, liest deren Webseiten und schreibt jedem Empfänger einen Brief, dessen erster Satz von genau dieser Firma handelt. Gedruckt und frankiert wird über einen Dienstleister, der Rücklauf landet in einem Portal. Hier steht auch, was uns das an Fehlern gekostet hat.
- Projekt
- Akquise-Software für Briefkampagnen
- Werkzeug
Claude Code
- Gebaut an
- 32 Tagen, verteilt über gut zehn Wochen
- Gebaut von
- im Wesentlichen einer Person, ohne Entwicklerhintergrund
- Stand
- August 2026, im Aufbau
32
Tage daran gearbeitet
aus der Git-Historie gezählt, 429 Commits
70 bis 100
Entwicklertage klassisch, statt unserer 32
geschätzt, Rechnung offen
5
Stellen je neuer Kampagne von Hand, heute keine
am Vorgängersystem gezählt
Kaltakquise per Post funktioniert oder scheitert an einem einzigen Satz: dem ersten. Steht dort etwas, das auf jede zweite Firma der Branche passt, ist der Brief Werbung. Steht dort etwas, das nur auf diesen einen Empfänger passt, ist er ein Brief.
Ein Serienbrief wird nicht dadurch persönlich, dass die KI netter schreibt, sondern dadurch, dass sie schweigt, wenn sie nichts Echtes gefunden hat.
1 Die Herausforderung
Angefangen hat das Ganze nicht mit Briefen, sondern mit E-Mail, und es ist gescheitert. Werbung per E-Mail braucht in Deutschland die vorherige Einwilligung des Empfängers, auch von Unternehmen zu Unternehmen (§ 7 UWG). Ohne sie kamen Abmahnungen, und mit ihnen ein Imageschaden, der mehr gekostet hat als jeder Termin, der daraus entstanden ist. Seitdem läuft die Akquise über den Brief: Werbepost an Unternehmen ist zulässig, sie landet in keinem Spam-Ordner, und sie liegt am nächsten Morgen auf dem Schreibtisch.
Der Unterschied zwischen Werbung und Brief ist Recherche, und Recherche ist der Teil, den bei fünfhundert Empfängern niemand von Hand macht. Einen ersten Versuch gab es schon: eine Kette aus fertigen Bausteinen, zusammengeklickt. Sie hat funktioniert, aber sie stand sich mit jeder neuen Kampagne selbst im Weg.
- Dieselbe Liste von Feldern lebte vier- bis fünffach nebeneinander. Eine neue Kampagne hieß: fünf Stellen von Hand anpassen und eine neue Tabelle anlegen.
- Genau daraus entstanden die Fehler, die man nicht sieht. In einer Kampagne zog der Baustein für die Anrede ein Feld aus einer ganz anderen Kampagne.
- Und die größte Lücke war kein Fehler, sondern etwas, das fehlte: Der Versand war nie angebunden. Der fertige Brief landete als PDF in einem Ordner. Drucken, kuvertieren, frankieren, einwerfen blieb Handarbeit.
Die Frage war also nicht, ob eine Maschine personalisierte Briefe schreiben kann. Sie kann. Die Frage war, wie man verhindert, dass sie mit wachsender Zahl an Kampagnen immer unzuverlässiger wird, und an welcher Stelle ein Mensch stehen bleiben muss, damit niemand fünfhundert Briefe mit einem peinlichen ersten Satz verschickt.
2 Die Lösung, Schritt für Schritt
Acht Schritte. Sechs laufen von selbst, zwei sind mit Absicht Handarbeit.
- Eine Kampagne ist ein Datensatz, kein neuer Code. Angelegt wird sie mit drei Angaben: Kunde, Branche, Gebiet. Alles, was sich zwischen zwei Kampagnen unterscheidet, wird in einem Formular gepflegt. Aus derselben Feldliste erzeugt das System danach das Ausgabeschema, die Anweisung an das Modell und die Prüfregeln. Die eiserne Regel des Projekts: Kampagnenspezifik gehört in Daten, nicht in kopierten Code.
- Firmen finden, und die falschen sofort wieder loswerden. Aus dem Gebiet werden Postleitzahlen aufgelöst, dann läuft je Postleitzahl eine Suche. Direkt danach greifen vier Filter: unpassende Ortstypen raus, Adressen prüfen, Dubletten zusammenführen, und alles gegen die Sperrliste der Bestandskunden des Auftraggebers. Das Leitprinzip steht in der Entscheidungsakte: lieber einen zu viel ausschließen als jemanden anschreiben, der auf der Sperrliste steht.
- Webseiten auslesen, statt Adressen zu sammeln. Ein Crawler holt den Text der Firmenwebsite, ein Sprachmodell zieht daraus genau die Felder aus Schritt 1, und ein Prüfer kontrolliert das Ergebnis, bevor es gespeichert wird. Im selben Aufruf beantwortet das Modell eine zweite Frage: Gehört diese Firma überhaupt zur Zielgruppe?
- Der Aufhänger wird gewählt, nicht erfunden. Die Aufhänger stehen in einer Rangfolge. Genommen wird der erste, für den echtes Material vorliegt. Was echt heißt, steht als feste Formel in jeder Feldbeschreibung: Fülle dieses Feld nur, wenn konkrete, zitierfähige Belege vorliegen, im Zweifel gar nicht. Greift kein Aufhänger, geht der Brief mit einem ehrlich allgemeinen Einstieg raus.
- Der Brief besteht aus einem beweglichen und vier festen Teilen. Beweglich ist nur der Einstieg. Gesetzt wird der Brief nach DIN 5008, denn die Empfängeradresse muss an der genormten Stelle stehen, sonst findet sie das Fenster im Umschlag nicht.
- Bevor die erste Serie läuft, urteilt ein Mensch über zehn Einstiegssätze. Einzeln, mit Daumen hoch oder runter, und bei Daumen runter ist eine Begründung Pflicht. Danach passiert das Entscheidende: Die freigegebenen Sätze werden Vorbilder, die abgelehnten wandern mit ihrer Begründung als Gegenbeispiele in die Anweisung. Aus der Kontrolle wird ein Lernkanal.
- Versand über einen Dienstleister, mit Statusrückfluss. Druck, Frankatur und Einwurf übernimmt ein Dienstleister. Status und Portokosten laufen zurück in die Datenbank. Ein Auftrag, der wegen einer fehlerhaften Adresse hängt, wird nicht automatisch aufgelöst, sondern von einem Menschen.
- Was nach dem Brief passiert, landet an einer Stelle. QR-Code und Kurzlink führen auf eine Seite, auf der der Empfänger ein Muster bestellen oder ein Gespräch buchen kann. Jedes Signal wird angehängt, nie überschrieben.
Warum ein Mensch die Einstiegssätze sieht
„Da hat jemand recherchiert“ ist ein Bauchgefühl, und kein Prüfprogramm der Welt misst es. Deshalb steht vor der ersten Serie eines Kunden ein Mensch, der zehn Einstiege gelesen und beurteilt hat. Der Reiter dafür ist ein Arbeitsplatz, kein Siegel.
Was dieser Schritt nicht leistet
Die Abnahme prüft den Ton, nicht die Wahrheit. Ob ein zitiertes Detail wirklich auf der Website steht, sieht man dem Satz nicht an. Deshalb hängt alles an der Regel, dass ein Feld leer bleibt, wenn das Material dünn ist. Genau diese Regel ist im Projekt als größtes Restrisiko notiert: Sprachmodelle füllen lieber, als dass sie schweigen.
3 Was es gekostet hat, und was es gekostet hätte
Der ehrliche Teil zuerst: Nur die rechte Spalte ist erlebt und gezählt. Die linke ist gerechnet und knapp geschätzt, also für jemanden, der so etwas schon gebaut hat.
Ein Entwicklerteam
→ Rund 70 bis 100 Entwicklertage, also drei bis fünf Personenmonate. Konzept, Abstimmung und Abnahme kommen obendrauf.
Eine Person, nebenbei
→ Kein Lastenheft, keine Schnittstellenabstimmung, keine Abnahmerunde. Gebaut hat es der, der die Arbeit sonst von Hand gemacht hätte.
Was in keiner der beiden Spalten steht
Der Vorgänger existierte bereits. Die Logik der Firmensuche, die Idee, einen abgebrochenen Lauf fortzusetzen, die Kostenerfassung und der Aufbau des Briefes aus festem Text und beweglichem Einstieg: All das wurde übernommen, nicht neu erfunden. Diese Vorarbeit taucht links nicht auf, weil sie dort im Neubau steckt, und rechts nicht, weil sie vor dem ersten Commit lag. Wer die 32 Tage liest, muss sie mitdenken.
4 Was es pro Brief spart
Die Bauzeit ist einmalig. Interessanter ist der einzelne Brief. Auch das ist geschätzt, aber Schritt für Schritt aufgeschrieben, und es hat einen Haken, den wir gleich darunter benennen.
Pro Brief
→ Rund 22 bis 36 Minuten je Brief. Bei 500 Briefen sind das mehrere Arbeitswochen für eine Person.
Pro Brief
→ Unter einer Minute je Brief. Bei 500 Briefen ist das ein Arbeitstag statt mehrerer Wochen.
Der Engpass verschiebt sich: nicht mehr, wie viele Briefe wir schaffen, sondern ob wir den ersten Satz verantworten können.
Der Haken an dieser Rechnung
Die linke Spalte ist nie passiert. Niemand hat fünfhundert Briefe von Hand recherchiert, und genau das ist der Punkt: Ohne das System wäre die Kampagne nicht langsamer gewesen, sondern anders. Man hätte den Einstieg allgemein gehalten. Die ehrliche Aussage lautet deshalb nicht „wir sparen Stunden“, sondern: Wir können uns etwas leisten, das vorher nicht bezahlbar war. Und Antwortquoten haben wir nicht, weil der scharfe Serienversand noch nicht in der Breite läuft. Die Messung ist vorbereitet, jeder Brief speichert seinen Aufhänger mit.
5 Was wir dabei gelernt haben
- Ein stiller Fehler ist teurer als ein lauter. Der Dienst, der Städte in Postleitzahlen auflöst, lieferte unter Last eine leere Antwort mit der Meldung „alles in Ordnung“. Die Suche hielt null Postleitzahlen für das vollständige Ergebnis und meldete den Lauf als abgeschlossen. Die Kampagne sah aus, als gäbe es in dieser Stadt keine Firmen. Aufgefallen ist es erst über die Kostenaufzeichnung. Die Regel danach: Eine Automatik darf abbrechen, aber sie darf nichts als erledigt melden, was sie nicht erledigt hat.
- Was zwei Läufe gleichzeitig tun dürfen, muss die Datenbank entscheiden. In einer echten Kampagne standen am Ende 197 doppelte Briefe in der Datenbank. Der Grund war die harmloseste Konstruktion der Welt: erst nachsehen, ob es schon einen gibt, dann anlegen. Bei zwei parallelen Läufen sehen beide nach, beide finden nichts, beide legen an.
- Falsch spezifisch ist schlimmer als ehrlich allgemein. Ein Aufhänger wurde gestoppt, bevor er in Serie ging, weil ihm die Brücke fehlte: Er lobte etwas, das mit dem beworbenen Produkt nichts zu tun hatte. Der Satz las sich als Schmeichelei, und Schmeichelei ist das Gegenteil von Recherche.
- Eine fertig gebaute Funktion wieder zu löschen kann richtig sein. Es gab einen Umschalter zwischen Test- und Echtbetrieb. Er war fertig, er funktionierte, und er wurde ersatzlos entfernt, weil er das Gefährlichste tat, was ein Schalter tun kann: Er ließ zweifeln, was gerade gilt.
- Die Doku veraltet schneller als der Code, sogar mit der Regel „Doku zuerst“. Die Einstiegsdateien behaupten bis heute, der Anwendungscode sei noch nicht begonnen, während 429 Commits im Repository liegen. Wer neu dazukommt, glaubt der Datei, die er zuerst öffnet.
6 Was davon bei euch gilt
Die Software ist unsere, sie passt auf keinen anderen Betrieb. Übertragbar sind vier Entscheidungen, und die stehen bei euch genauso an, egal ob es um Briefe geht, um Angebote oder um Bestellungen.
- Trennt das, was sich ändert, von dem, was bleibt. Wenn mit jedem neuen Kunden dieselbe Liste an fünf Stellen nachgezogen werden muss, ist nicht die Arbeit das Problem, sondern der Aufbau.
- Sucht die Stellen, an denen euer Ablauf lautlos scheitern kann. Fragt bei jedem automatischen Schritt: Woran würde ich merken, dass er nichts gefunden hat, statt dass es nichts gab?
- Entscheidet bewusst, wo ein Mensch stehen bleibt, und begründet es. Nicht überall, sonst ist nichts gewonnen. Aber überall dort, wo ein Fehler nach draußen geht und nicht zurückkommt.
- Baut die Kontrolle so, dass sie dem System etwas beibringt. Ein Daumen hoch, der nur eine Freigabe ist, ist verschenkte Arbeit. Derselbe Daumen hoch als Vorbild und ein Daumen runter mit Begründung als Gegenbeispiel machen aus der Kontrolle einen Lernkanal.
Bewusst nicht Teil davon
- Ein Serienversand, bevor ein Mensch die Einstiegssätze eines Kunden beurteilt hat
- Eine Bewertung, welcher Lead sich lohnt. Aussortiert wird nur, wer nicht zur Zielgruppe gehört, und wer dazugehört, entscheidet der Auftraggeber
- Ein eigener Ablauf oder eine eigene Tabelle je Kampagne, auch wenn es kurzfristig schneller wäre
- Ein Testmodus auf der ausgelieferten Seite. Es gab ihn, er wurde entfernt, weil er täuschte
- Lernen über Kunden und Branchen hinweg. Was in einer Branche ankam, wandert nicht automatisch in die nächste
- Die rechtliche Abnahme der Texte durch uns. Absender ist der Kunde
Genau so gehen wir es auch bei euch an.
Weiterlesen
- Termin, Gespräch, Angebot und Rechnung in einer KetteVom Klick auf der Website bis zur fertigen Rechnung
- Vom Homepage-Baukasten auf eine eigene Seite wechselnDiese Website: von der Baukastenseite zum eigenen System
- Firmenwissen so ablegen, dass es ohne den Einzelnen weiterlebtDas Firmengedächtnis: Wissen, das nicht mit einem Kopf verschwindet
- Vom Drehtag zum fertigen Video, ohne SchnittplatzDie Videoproduktion des eigenen Kanals
- Ein eigenes Sprachwerkzeug bauen, und woran es gescheitert istZwei Tasten, drei Gesten, zwei Betriebssysteme