Ich baue Automatisierungen und KI-Systeme, die produktiv laufen und im Betrieb bleiben — mit sauberer Fehlerbehandlung, harten Sicherheitsgrenzen und nachvollziehbaren Entscheidungen.
Drei Systeme, die ich gebaut habe und betreibe. Jedes löst ein Problem, das mit einfacher Automatisierung nicht lösbar ist.
Das System nimmt eingehende Anrufe entgegen und führt das Gespräch auf Deutsch in Echtzeit. Es erfasst das Anliegen, prüft freie Zeiten in einem echten Google-Kalender, bucht den Termin und bestätigt ihn am Ende zusammengefasst. Dieselbe Terminlogik beantwortet auch SMS. Wird die Verständigung unsicher oder äußert die anrufende Person einen Wunsch außerhalb des vorgesehenen Ablaufs, übergibt das System an einen Menschen — statt zu raten.
Ein Telefongespräch verzeiht keine Verzögerung. Sobald zwischen dem Ende einer Äußerung und der Antwort mehr als etwa zwei Sekunden vergehen, wirkt das Gegenüber abwesend, und Menschen beginnen zu sprechen oder legen auf. Gleichzeitig laufen drei rechenintensive Schritte hintereinander: Sprache in Text umwandeln, eine Antwort erzeugen, Text wieder in Sprache umwandeln.
Die zweite Schwierigkeit ist heikler und fällt beim Bauen erst spät auf: Ein Sprachmodell kann im Text sagen „Ich buche den Termin jetzt für Sie“, ohne die Buchung tatsächlich auszulösen. Die anrufende Person legt zufrieden auf, im Kalender steht nichts.
Ein Termin, der bestätigt wurde, aber nicht existiert, richtet mehr Schaden an als ein Anruf, der zwei Sekunden länger dauert.
Spracherkennung und Sprachausgabe laufen als Datenstrom statt als abgeschlossene Anfragen. Die Erkennung liefert bereits Zwischenergebnisse, während noch gesprochen wird. Die Sprachsynthese wird nicht abgewartet, sondern fortlaufend dekodiert — sobald die ersten verwertbaren Audiodaten vorliegen, gehen 20-Millisekunden-Blöcke an die Telefonleitung. Gemessen liegt der Anlauf der Sprachausgabe bei einem Median von 193 Millisekunden. Zusätzlich erkennt das System, wenn die anrufende Person ins Laufende hineinspricht, und bricht die eigene Ausgabe sofort ab. Ohne diese Unterbrechungserkennung wirkt ein Sprachassistent wie eine Bandansage.
Beim Sprachmodell selbst habe ich bewusst auf Antwortstreaming verzichtet. Der Zeitgewinn läge bei den typischen kurzen Sätzen bei null bis 150 Millisekunden — dafür könnte der Assistent eine Buchung ankündigen, bevor der Kalender überhaupt geprüft wurde. Diese Abwägung ist im Projekt dokumentiert und bewusst so entschieden.
Jede Buchung führt unmittelbar vor dem Kalendereintrag noch einmal eine eigene Verfügbarkeitsprüfung für exakt denselben Zeitraum aus — unabhängig davon, über welchen Weg sie ausgelöst wurde. Kündigt das Sprachmodell eine Buchung nur im Text an, ohne das Buchungswerkzeug aufzurufen, erzwingt der Server den Aufruf, kontrolliert die Daten und führt die Buchung erst danach aus. Die vom Telefonnetz übermittelte Rufnummer bleibt immer die verifizierte Hauptnummer; eine im Gespräch genannte abweichende Nummer wird zusätzlich gespeichert, ersetzt sie aber nie. Damit kann ein falsch verstandenes Wort keine echte Kontaktnummer überschreiben.
Erkennt die Spracherkennung eine Aussage mit weniger als 75 Prozent Sicherheit, rät das System nicht, sondern bittet freundlich um Wiederholung. Für kurze Bestätigungen wie „ja“ oder „passt“ gilt eine eigene, niedrigere Schwelle, weil kurze Wörter systematisch schlechter bewertet werden. Leere Erkennungsergebnisse während der eigenen Sprachausgabe werden verworfen, damit das System nicht auf sein eigenes Echo antwortet. Bei medizinischen Beratungsfragen, ausdrücklichem Wunsch nach einem Mitarbeiter oder nicht erreichbarem Kalender übergibt das System an einen Menschen. Ein Kostendeckel von fünf Euro pro Tag, eine Höchstdauer von acht Minuten pro Anruf und ein Limit pro Rufnummer verhindern, dass ein Fehler oder ein Missbrauch unbemerkt Kosten verursacht.
Viele Unternehmen arbeiten mit Software, die keine nutzbare Schnittstelle anbietet — gewachsene Branchenlösungen, ältere Verwaltungssysteme, Portale von Lieferanten. Daten zwischen solchen Systemen zu bewegen bedeutet in der Praxis: jemand tippt sie ab. Dieser Agent übernimmt genau das.
Der klassische Weg wäre eine Automatisierung, die feste Positionen auf dem Bildschirm anklickt oder sich an technische Kennungen im Quelltext hängt. Beides bricht, sobald jemand das Layout ändert, eine Spalte verschiebt oder die Software ein Update bekommt. In der Praxis heißt das: Die Automatisierung muss nach jeder Änderung nachgezogen werden — und fällt genau dann aus, wenn niemand damit rechnet.
Der Agent sucht nicht nach dem dritten Feld von oben, sondern nach dem Eingabefeld mit der Beschriftung Nachname.
Der Agent betrachtet die Seite bei jedem Schritt neu — als Bild und zusätzlich über die Bedienungshilfen-Struktur, die die Bedeutung der Elemente beschreibt. Nach jeder Aktion prüft er, ob das erwartete Ergebnis tatsächlich eingetreten ist: Steht der Wert wirklich im Feld? Hat die Navigation stattgefunden? Zeigt die Zusammenfassung die richtigen Daten? Erst danach folgt der nächste Schritt. Zum Nachweis enthält die Demo eine Schaltfläche, die das Layout der Zielseite verändert — Spalten vertauscht, Beschriftungen umformuliert, andere Gestaltung. Genau daran scheitert klassische Automatisierung.
Eine Webseite kann Text enthalten, der sich nicht an den Menschen richtet, sondern an den Agenten — versteckte Anweisungen, die die eigentliche Aufgabe überschreiben sollen. Eine der Demoseiten enthält genau das. Der Agent behandelt Seiteninhalte grundsätzlich nicht als Auftrag, markiert den Versuch im Protokoll und arbeitet mit den echten Daten weiter. Für Automatisierung, die auf fremden Portalen läuft, ist das kein Randthema.
Der Agent arbeitet innerhalb harter Grenzen. Ein Lauf darf höchstens 60 Schritte machen und bricht danach ab, statt endlos zu versuchen. Liegt die Sicherheit einer Aktion unter 60 Prozent, führt er sie nicht aus, sondern legt sie zur Freigabe vor — mit Bildschirmfoto und Begründung. Bestimmte Wörter auf Schaltflächen sind gesperrt: löschen, bezahlen, kaufen, endgültig bestätigen. Liefert das Modell eine unbrauchbare Antwort, wird bis zu zweimal neu angefragt und danach kontrolliert abgebrochen. Wiederholte Navigationen auf dieselbe Adresse erkennt der Agent, statt im Kreis zu laufen. Jeder Schritt wird mit Bildschirmfoto, Begründung, Sicherheitswert und Kosten gespeichert — abgebrochene Läufe lassen sich mit vollständiger Vorgeschichte fortsetzen.
Ein Onlineshop erzeugt jeden Tag dieselben Entscheidungen: Was muss nachbestellt werden, in welcher Menge, bei welchem Lieferanten? Welche Kundenanfrage kann standardisiert beantwortet werden, welche braucht einen Menschen? Der Agent trifft diese Entscheidungen selbstständig — und begründet jede einzelne nachvollziehbar.
Eine einfache Regel wie „Bestand unter zehn, dann nachbestellen“ funktioniert in der Praxis nicht. Ein Lieferant liefert nur in Paletten zu 24 Stück. Ein anderer berechnet einen Zuschlag unterhalb von 50 Stück — dann sind 50 günstiger als 30. Ein dritter braucht im Winter vierzehn statt fünf Tage. Dazu kommen Wochentagsmuster und Saison. Die richtige Bestellmenge ist deshalb keine Schwelle, sondern eine Abwägung.
Harte Geschäftsregeln liegen im Code. Das Sprachmodell kann sie nicht umgehen — es sieht sie schlicht als gegeben.
Die Entscheidung läuft in zwei getrennten Ebenen. Harte Geschäftsregeln liegen im Programmcode: Palettengrößen, Mindestmengen, Budgetgrenzen, Sperren. Nur die Abwägung darüber, die keine feste Regel abdeckt, übernimmt das Modell. Es begründet jeden Vorschlag im Klartext: warum diese Menge, warum dieser Zeitpunkt, warum dieser Lieferant. Wie eigenständig es handeln darf, ist in vier Stufen einstellbar — von reinem Vorschlagen bis zum selbstständigen Auslösen. Auf der aktuell eingestellten Stufe darf es Bestellungen bis 500 Euro selbst auslösen; darüber legt es vor, auch wenn es sich seiner Sache sicher ist.
Bei widersprüchlichen Daten rät das System nicht, sondern legt den Fall vor. Ein erneuter Lauf legt für einen Artikel, zu dem bereits eine offene Freigabe wartet, keine zweite an — Doppelbestellungen entstehen so gar nicht erst. Antwortet das Sprachmodell in einem Format, das nicht der erwarteten Struktur entspricht, wird einmal neu angefragt und danach eskaliert. Zusätzlich vergleicht das System wöchentlich seine eigenen Prognosen mit dem tatsächlichen Verlauf — es misst also seine eigene Trefferquote, statt sie zu behaupten.
Daneben laufen weitere eigene Systeme im täglichen Betrieb — unter anderem zur automatisierten Recherche und Datenaufbereitung sowie zur Content-Erstellung.
Drei Grundsätze, die bei mir zum Lieferumfang gehören und nicht extra verhandelt werden.
Fehlerbehandlung, Wiederholungslogik, Überwachung und Kostendeckel gehören zum Lieferumfang. Ein System, das nur im Idealfall funktioniert, ist nicht fertig.
Auf Wunsch läuft alles self-hosted auf eigenen Servern, ohne US-Cloud. Für Branchen, die ihre Daten nicht aus dem Haus geben dürfen.
Ich nehme Anforderungen selbst auf und setze sie selbst um — ohne Übersetzungsschleife. Auf Deutsch, Polnisch oder Serbisch.
Seit 2022 selbstständig im Bereich Automatisierung und digitale Systeme. Davor Kundenbetreuung und Verwaltung — dort habe ich gelernt, wie die Abläufe aussehen, die ich heute automatisiere.
In Wien geboren und aufgewachsen. Polnisch ist meine Muttersprache, Deutsch und Serbisch spreche ich auf muttersprachlichem Niveau, akzentfrei. In Projekten mit direktem Kundenkontakt ist das regelmäßig der Punkt, an dem es hakt — Anforderungen aufnehmen, verstehen und anschließend selbst umsetzen zu können, spart eine Übersetzungsschleife.
Klare Rahmenbedingungen, damit wir schnell zur Sache kommen.
Einmalige Umsetzung mit Setup-Pauschale oder laufende Betreuung als Monatspauschale. Zusammenarbeit auf Rechnung (B2B) oder Werkvertrag. Einsatzgebiet: Österreich, Deutschland und Schweiz.
Erzählen Sie mir, welcher Ablauf bei Ihnen Zeit kostet — ich sage Ihnen ehrlich, ob sich Automatisierung dafür lohnt.
Antwort meist innerhalb weniger Stunden.
Angaben gemäß § 5 ECG und § 25 MedienG
Adriana Cukaj
[Anschrift ergänzen]
Österreich
E-Mail: adrianacukaj@gmail.com
Telefon: +43 676 3584739
Dienstleistungen in der automatischen Datenverarbeitung und Informationstechnik
[nach Gewerbeanmeldung ergänzen]
[falls vorhanden ergänzen]
Vor Veröffentlichung vollständig ausfüllen und juristisch prüfen lassen.
Adriana Cukaj, [Anschrift], adrianacukaj@gmail.com
Wenn Sie mich per E-Mail oder Telefon kontaktieren, verarbeite ich die von Ihnen übermittelten Daten ausschließlich zur Bearbeitung Ihrer Anfrage. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b und f DSGVO.
Anfragen werden gelöscht, sobald sie erledigt sind und keine gesetzlichen Aufbewahrungspflichten entgegenstehen.
Beim Anruf der Demo-Telefonnummer wird das Gespräch zur Funktionsprüfung transkribiert und protokolliert. Der Assistent weist zu Gesprächsbeginn darauf hin. Aufzeichnungen werden nach 30 Tagen gelöscht.
Sie haben das Recht auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit und Widerspruch. Beschwerdestelle ist die österreichische Datenschutzbehörde.
Die verlinkten Demo-Anwendungen werden bei Replit betrieben. Beim Aufruf werden Verbindungsdaten an diesen Anbieter übermittelt.
Vor Veröffentlichung vollständig ausfüllen und juristisch prüfen lassen.