Blog
Gedanken, Ideen und Einblicke aus meiner Arbeit.
Zeichen sind keine Token: wie ein Embedding-Stapel an 300.000 Token scheiterte
Ein Embedding-Rückfall riss die Grenze von 300.000 Token pro Anfrage, und der erste Fix teilte nach Zeichen. Bei chinesischem Text und vielen kurzen Abschnitten reichte das nicht. Warum Bytes die bessere Einheit sind und wie Tests das beweisen.
RAG, KI-Agenten, Engineering · 5 Min. Lesezeit
Woran RAG-Projekte scheitern: vier Fehler jenseits der Technik
Veraltete Quelldaten, kaputtes Parsing, vergessene Berechtigungen, keine Messung: Die vier Fehler, an denen RAG-Projekte im Betrieb scheitern, und ein Selbstcheck mit Ampel und nächsten Schritten.
RAG, Security, Engineering · 5 Min. Lesezeit
Reranking erklärt: Wie die besten Treffer in den Prompt kommen
Die richtige Quelle steht im Kandidatenfeld, aber auf Platz 2. Wie ein Cross-Encoder-Reranker Frage und Chunk gemeinsam liest, warum er nur auf wenigen Kandidaten läuft und was top-k mit dem Prompt zu tun hat.
RAG, Engineering · 4 Min. Lesezeit
Hybrid Search erklärt: Warum zwei Suchen mehr finden als eine
„E-217“ findet nur die Stichwortsuche, „Maschine wird zu heiß“ nur die Vektorsuche. Wie BM25 und Vektorsuche sich ergänzen und wie Reciprocal Rank Fusion die Ergebnislisten zusammenführt.
RAG, Engineering · 4 Min. Lesezeit
Embeddings erklärt: Wie eine Suche versteht, was gemeint ist
„Maschine wird zu heiß“ findet „Lagertemperatur zu hoch“, obwohl kein Wort übereinstimmt. Wie Embeddings Text in Vektoren übersetzen, was Kosinus-Ähnlichkeit misst und wo die Vektorsuche an Grenzen stößt.
RAG, Generative KI · 5 Min. Lesezeit
Chunking erklärt: Wie du Dokumente für die KI-Suche zerlegst
Die Regel 45 Nm steht in einem Chunk, die Ausnahme 32 Nm in einem anderen. So entstehen unvollständige Antworten. Wie Größe, Überlappung und Struktur beim Zerlegen von Dokumenten wirken.
RAG, Engineering · 4 Min. Lesezeit
Der Rückweg zerstört die Messung: wie git checkout meine Mutationsbatterie entwertete
Eine Mutationsbatterie prüft, ob Tests wirklich anschlagen. Bei mir lief sie nach dem ersten Mutanten still gegen den alten Code weiter, weil der Rückweg die nicht committeten Korrekturen gleich mitnahm. Woran ich es gemerkt habe und was ich seitdem anders mache.
Engineering, Testing, KI-Agenten · 4 Min. Lesezeit
Der Wächter, der den ganzen Agenten anhält: was ein Fehlalarm wirklich kostet
Ein Geheimnis-Filter hielt einen KI-Agenten 21 Stunden an, obwohl nichts geleakt war. Zwei Testwerte im eigenen Repo reichten. Was dabei schiefging und warum die Strafe kleiner sein muss als der Fund.
KI-Agenten, Security, Engineering · 5 Min. Lesezeit
RAG erklärt: Warum ein KI-Assistent erst suchen muss
Ein Assistent nennt für die P-200-E 45 Nm statt 32 Nm. Warum Sprachmodelle ohne Quelle raten und wie RAG mit Suchen, Auswählen und Antworten daraus eine belegte Antwort macht.
RAG, Generative KI · 4 Min. Lesezeit
Nur kurz die Ausgabe ansehen: wie ein Schreibskript zweimal lief
Ein Stapelskript lief sauber durch. Danach wollte ich nur noch die Ausgabe ansehen, startete es dabei ein zweites Mal und hatte neun doppelte Kommentare. Was ein Trockenlauf nicht abdeckt und wie Schreibskripte einen zweiten Lauf aushalten.
Engineering, Automatisierung, KI-Agenten · 5 Min. Lesezeit
Nach dem Restore fehlt die Tabelle: wie Row Level Security eine Rücksicherung übersteht
Die Policy übersteht die Rücksicherung, die Rechte der Anwendungsrolle nicht. Am Minimalbeispiel gemessen: warum PostgreSQL dann eine fehlende Tabelle meldet, warum der Restore-Test grün bleibt und welche Reparatur den Schutz abschaltet.
Datenplattformen, Security, Engineering · 6 Min. Lesezeit
Sechs MCP-Server tot, vier gesund: wenn die Projektdatei die Anmeldung überstimmt
Nach einem Umbau meldeten sechs von zehn MCP-Servern nur noch „Connection closed“. Kaputt war keiner davon. Die Ursache: derselbe Name in zwei Konfigurationen und eine Umgebungsvariable, die mitvererbt wurde.
KI-Agenten, MCP, Engineering · 5 Min. Lesezeit
Die Frist, die den Schlüssel wegwirft: Timeouts um einen OAuth-Token-Tausch
Ein asyncio.timeout um einen OAuth-Token-Tausch klingt nach Vorsicht. Bei rotierenden Refresh-Tokens kann der Abbruch den einzigen gültigen Schlüssel verwerfen. Wie das passiert und wo die Frist hingehört.
KI-Agenten, Engineering, Integration · 5 Min. Lesezeit
Proxy gesetzt, trotzdem direkt: warum WebSockets an HTTPS_PROXY vorbeilaufen
Ein Container mit Pflicht-Proxy, eine Bibliothek mit trust_env=True – und trotzdem ging die Verbindung direkt ins Leere. Der Grund steckt in einem einzigen Wörterbuchzugriff: wss ist nicht https.
Engineering, KI-Agenten, DevOps · 4 Min. Lesezeit
429 bei halbvollem Kontingent: wie max_tokens das Azure-OpenAI-Limit frisst
Azure OpenAI drosselt mit 429, obwohl kaum Tokens verbraucht werden? Die Ratenbegrenzung schätzt mit max_tokens statt mit der echten Antwortlänge. Wie ich den Bedarf messe, Grenzen setze und Wartezeiten des Dienstes respektiere.
Azure und Datenplattformen, Generative KI, Engineering · 5 Min. Lesezeit
Barge-in im Telefon-Voicebot: wenn der Bot sich selbst ins Wort fällt
Ein Voicebot soll unterbrechbar sein. Am Telefon hört er aber auch sein eigenes Echo. Wie wir echte Unterbrechungen von Selbstgesprächen trennen: Sperrzeit, lokale Sprachdetektion, Abklingzeit und das Wegwerfen alter Antworten.
Voice- und Chatbots, Engineering, KI-Agenten · 5 Min. Lesezeit
Nullbefund ist kein Befund: wann eine leere Suche etwas beweist
Eine leere Trefferliste sieht aus wie eine Auskunft, ist aber oft nur das Geständnis des Werkzeugs, nicht hingeschaut zu haben. Fünf Wege, auf denen mir das passiert ist, und die Gegenprobe, die 30 Sekunden kostet.
Engineering, Automatisierung, KI-Agenten · 4 Min. Lesezeit
Gepusht ist nicht ausgeliefert: wie ich belege, welcher Stand wirklich im Container läuft
Eine Fehlerbehebung war committet und gepusht, lief aber zehn Tage nicht, während drei Änderungsprüfungen „nichts zu tun“ meldeten. Wie ich ohne Versions-Endpunkt beweise, dass ein Container veraltet ist: älteste Protokollzeile gegen den letzten Commit.
Engineering, DevOps, Automatisierung · 4 Min. Lesezeit
Gemergt ist nicht ausgeliefert: wie man beweist, dass ein Commit wirklich läuft
Ein Fix lag bei mir rund zehn Tage im Hauptzweig, ohne je bei einem Nutzer anzukommen — und drei automatische Prüfläufe meldeten brav „nichts zu tun“. Warum die naheliegenden Proben das nicht merken, und welche Messung den Nachweis wirklich trägt.
Engineering, Deployment, KI-Agenten · 5 Min. Lesezeit
Fehler zählen, ohne sich selbst zu täuschen: nach Auftrag gruppieren, nicht nach Tag
Fünf gleiche Fehler an einem Tag, und ich nannte es eine Eskalation. Die Nachmessung nach Auftrag statt nach Tag zeigte das echte Signal. Dazu: warum eine Konstante keine Streuung erklärt und warum „zuletzt“ max() heißt und nicht das letzte Listenelement.
Engineering, KI-Agenten, Monitoring · 4 Min. Lesezeit
Ein Test-Double, das nicht falsch antworten kann, prüft nichts
Ein Test für Mandantentrennung blieb grün, obwohl ich die schützende Zeile gelöscht hatte: Sein Fake konnte die falsche Antwort nie liefern. Zwei Fragen an jedes Double, eine Mutation je Mechanismus, und warum ein gemocktes sleep Tests hängen statt rot werden lässt.
Engineering, Testing, KI-Agenten · 4 Min. Lesezeit
Abhängigkeits-Updates bewerten: beide Stände installieren statt Changelogs lesen
Bei einem Sprung über achtzehn Minor-Releases einer 0.x-Bibliothek hilft kein Changelog. Wie ich solche Updates in zehn Minuten entscheide: zwei Umgebungen, eine Sonde über die echten Routen, ein Diff — plus die Gegenprobe, die ein altes Lockfile vom Major-Dilemma trennt.
Engineering, Development, Automatisierung · 4 Min. Lesezeit
PHP2Shell: Was hinter den zwei kritischen PHP-Lücken steckt und was du jetzt tun musst
CVE-2026-109618 und CVE-2026-109619 erlauben Codeausführung ohne Anmeldung auf fast jedem PHP-Webserver. Was passiert ist, wer betroffen war, welche Versionen helfen und warum Workarounds nicht reichen.
Security, Engineering, PHP · 5 Min. Lesezeit
Die Überwachung, die beim schwersten Ausfall schweigt
Zwei Tage Stillstand, und der eingebaute Wächter meldete nichts. Drei Denkfehler in der Überwachung: eine Frist auf einem selbst aufgefrischten Zeitstempel, eine Entprellung aus dem Zustand des Patienten, und ein Nullbefund, der nur eine verweigerte Messung war.
Engineering, KI-Agenten, Monitoring · 5 Min. Lesezeit
Zwei grüne Pull Requests, zusammen rot: was Zweig-CI nicht messen kann
Zwei Pull Requests, jeder einzeln grün, beide gemergt — und die Anlage startet nicht mehr. Die CI hat nicht gelogen, sie hat eine andere Frage beantwortet. Über Migrationsköpfe, Versionsnummern ohne Konflikt und drei Messungen, die billiger sind als ein kaputter Start.
Engineering, KI-Agenten, Automatisierung · 5 Min. Lesezeit
Weiße Seite hinter dem Reverse-Proxy: der Präfix, den niemand mitnimmt
Lokal läuft die App, hinter dem Reverse-Proxy bleibt die Seite weiß — ohne Fehlermeldung. Warum ein führender Schrägstrich den Präfix verliert, in welchen drei Formen der Fehler auftritt und wie man ihn mit einem eigenen Prüfstand messbar macht.
Engineering, Deployment, Web-Apps · 4 Min. Lesezeit
Leitplanken für Agenten: eine Regel, die man lesen muss, ist keine Leitplanke
Dieselbe Vorgabe dreimal verletzt, trotz Hinweis im Auftrag und in der Anleitung. Was geholfen hat, war nicht die bessere Formulierung, sondern dieselbe Prüfung an einer anderen Stelle: als assert vor der Datei, die der nächste Schritt braucht.
KI-Agenten, Automatisierung, Engineering · 5 Min. Lesezeit
Wenn der Agent nie loslegt: Zeitpläne, die sich gegenseitig blockieren
Ein geplanter Agentenlauf lieferte nichts — ohne Fehler, ohne Abbruch. Er hatte nie begonnen. Warum verworfene Termine unsichtbar ausfallen, wieso Intervalle driften und Cron nicht, und wie eine Belegungskarte über beide Ebenen aussieht.
AI, Agenten, Development · 5 Min. Lesezeit
Warum die Wissenssuche nichts findet: vier Fehler unter dem Prompt
Wenn ein Agent mit eigener Wissensbasis daneben antwortet, liegt der Fehler meist nicht im Prompt, sondern im Abruf. Vier Stellen, an denen RAG-Pipelines still versagen — und wie man sie messbar macht, statt zu raten.
AI, RAG, Agenten · 4 Min. Lesezeit
Agenten-Status ist kein Ergebnis: Artefakte prüfen statt Statusfelder glauben
Ein Auftrag steht auf completed, der Fehlertext ist leer, geliefert wurde nichts. Warum Statusfelder über die Arbeit eines Agenten nichts aussagen, an welchen drei Stellen der Erfolgspfad den Fehlerpfad verschluckt und wie ein Torwächter am Artefakt das löst.
AI, Agenten, Development · 4 Min. Lesezeit
VoiceAI Pro: Vollständiges Voicebot-Chatbot-Dashboard mit Azure OpenAI Realtime API und Twilio
Von der frustrierten Kundenanfrage zur funktionierenden Voice-AI-Plattform: Wie ich während meiner Master Thesis ein Production-Ready Voice-Bot-System mit WebRTC, Twilio und Azure OpenAI Realtime API entwickelte – und dabei lernte, dass Latenz alles ist.
AI, Voice Technology, Cloud · 7 Min. Lesezeit
DeepL Clone: Eine Open-Source-Alternative – Neuronale Übersetzungs-Engine mit Transformer-Modellen
Ein Kunde brauchte eine Übersetzungs-Lösung losgelöst von seiner teuren DeepL Enterprise-Lizenz. Zwei Wochen später hatte ich ein Azure OpenAI-basiertes Tool gebaut – und er kaufte es sofort. Die Geschichte eines Instant-Sales.
AI, Translation, Azure · 6 Min. Lesezeit
BoardGameHelper: Intelligente Brettspiel-Datenbank mit KI-Crawler
Von der frustrierenden Suche in 40-seitigen Regelwerken zu einem Telegram Bot mit GPT-4 Vision: Wie ich 3000+ Brettspiel-Regelwerke per RAG durchsuchbar machte – und nebenbei lernte, dass Bilder oft mehr sagen als tausend Worte.
AI, RAG, Telegram · 6 Min. Lesezeit
AI CLI Hub: Einheitliche Web-Oberfläche für KI-Code-Assistenten
Replit AI war super – aber $20/Monat für sporadische Nutzung? Zu teuer. Also baute ich AI CLI Hub: Eine Self-Hosted Web-Oberfläche für Claude, GPT-4, DeepSeek & Co. mit Teams-Integration. Resultat: $200/Jahr gespart.
AI, Development, Self-Hosting · 7 Min. Lesezeit
Wie Code-Agenten mein Programmierleben revolutioniert haben. a
Von frustrierend langsam zu 10x schneller: Wie Code-Agenten meine Art zu programmieren revolutioniert haben. Von Wochen zu Stunden. Von 3 Projekten zu 20+. Die Geschichte meiner KI-Programmier-Sucht.
AI, Development, Productivity · 7 Min. Lesezeit