Säule

Die Frage, die jedes Mal scheiterte, bis sie es nicht mehr tat

Wir testen dieses Produkt härter, als es sich die meisten Leute bei einem Tool leisten würden, das sie nicht verkaufen. Nicht, weil wir es genießen, unsere eigenen Bugs zu finden, sondern weil die Behauptung, “die KI kennt euer Geschäft wirklich”, wertlos ist, wenn niemand geprüft hat, ob das unter echtem Druck stimmt.

Eine Frage scheiterte immer wieder. Nicht knapp daneben, nicht vage, sondern ein knappes “Das habe ich nicht.”

Die Frage, und wie oft sie scheiterte

“Schlage ein Hybrid-Servicepaket vor, das auf dem basiert, was tatsächlich funktioniert hat.”

Wir haben eine Version davon in drei separaten AlphaForge-Simulationsläufen gestellt, einem vollständigen Kanzlei-Vertikaltest und einem Landschaftsbau-Vertikaltest. Jedes Mal, mit der alten Abrufmethode: eine Version von “Ich habe keine Vault-Einträge oder Aufzeichnungen, die zeigen, welche Kombinationen funktioniert haben.”

Das Frustrierende war nicht, dass es scheiterte. Sondern dass die Information wirklich nicht fehlte. Der Vault hatte den allgemeinen Preiseintrag. Er hatte den konkreten Ergebniseintrag. Er hat sie nur nie verknüpft, weil die zugrunde liegende Abrufmethode bei jeder einzelnen Nachricht live Keyword-Matching betrieb, bis zu vierzig separate Datenbankabfragen pro Frage, und Keyword-Matching weiß nicht, dass “Rasenpaletten” und “Palettenabdeckung” von derselben Sache sprechen.

Was wir wirklich geändert haben

Nicht, was der Vault speichert. Sondern wie er durchsucht wird.

Jeder Vault-Eintrag wird jetzt embedded, also in eine numerische Darstellung seiner tatsächlichen Bedeutung umgewandelt, und zwar in dem Moment, in dem er geschrieben wird, nicht in dem Moment, in dem jemand eine Frage dazu stellt. Der Abruf wurde zu einer einzigen Nearest-Neighbour-Suche gegen diese Darstellung, statt den gesamten Vault bei jeder Nachricht von Grund auf zu durchsuchen. Es ist dieselbe zugrunde liegende Datenbank, Postgres, auf derselben Instanz, die wir bereits hatten, mit einer Erweiterung, die genau dafür gebaut wurde. Keine neue Infrastrukturkategorie. Nur eine andere Art, das zu finden, was schon da war.

Der Weg dahin erforderte echte, wenig glamouröse Ingenieursarbeit, bei der die meisten solcher Beiträge nicht verweilen: die Prüfung, welche KI-Anbieter überhaupt einen Embeddings-Endpunkt anbieten (nicht alle tun das), ein mandantenfähiges Design, sodass der eigene konfigurierte Anbieter jeder Firma genutzt wird statt eines einzigen plattformweiten Schlüssels, und ein wirklich kniffliger Bug, bei dem die Embeddings eines Anbieters eine explizite Normalisierung brauchten, bevor Distanzvergleiche überhaupt mathematisch gültig waren. Wir haben außerdem fünf Modellkandidaten an einer echten Frage getestet, bevor wir uns entschieden haben, und dabei etwas gefunden, das für sich genommen wissenswert ist: Die schnellste Option war zehn- bis fünfzehnmal schneller als die langsamste, bei null Unterschied in der Antwortqualität bei genau der numerischen Frage, an der wir sie getestet haben.

Der Nachtest

Derselbe Mandant. Dieselbe Frage. Erst die alte Methode, dann die neue, direkt hintereinander.

Die alte Antwort: “Ich habe keine Vault-Einträge oder Aufzeichnungen, die zeigen, welche Kombinationen funktioniert haben.”

Die neue Antwort, durch Logs bestätigt als wirklich über den neuen Abrufpfad gelaufen, kein Zufall: ein echter, konkreter Vorschlag, benannte Leistungen, ein echter Kunde, namentlich genannt, ein berechneter Gesamtwert, eine Begründung, die daran anknüpft, wie die Arbeit dieser Firma tatsächlich abläuft. Nicht eine leicht bessere Version der alten Nicht-Antwort. Ein völlig anderes Ergebnis, bei einer Frage, die bis zu diesem Zeitpunkt im gesamten Testprogramm jedes Mal identisch gescheitert war.

Was wir nicht schönreden

Die ehrlichen Kosten zeigten sich sofort, deshalb berichten wir sie, statt sie zu glätten. Der Backfill der Embeddings für einen bereits großen Vault, über tausend Einträge, dauerte fast fünf Minuten, unangenehm nah an einem harten Request-Timeout. Bei einem wirklich ausgereiften Vault, mehrere tausend Einträge tief, würde derselbe einmalige Backfill wahrscheinlich auf halber Strecke scheitern. Das wissen wir jetzt, weil wir es gemessen haben, nicht weil wir raten. Es ist ein echtes, markiertes Folgethema, nicht etwas, das wir ausgeliefert und still gehofft haben, dass niemand darauf stößt.

Die Zahl dahinter

Dieser eine Vorher-Nachher-Vergleich ist ein Test innerhalb eines viel größeren Programms: rund fünfundzwanzig simulierte Geschäftsjahre über mehrere Branchen hinweg, über neuntausend echte Vault-Einträge, die dabei entstanden sind, elf echte Bugs gefunden und behoben, darunter diese Abruflücke. Gesamte echte API-Kosten für das gesamte mehrmonatige Programm: 9,57 $.

Wir zeigen euch lieber die Frage, die fünfmal hintereinander scheiterte, und genau, was es brauchte, um sie zu beheben, als mit einer Schlagzeilenzahl zu starten und zu hoffen, dass niemand fragt, was wirklich dahintersteckt.

Fragen, die Leute tatsächlich stellen

Hat der KI wirklich die Information gefehlt, oder war es ein Suchproblem?

Ein Suchproblem, direkt bestätigt. Jede Tatsache, die zur Beantwortung der Frage nötig war, lag bereits im Vault. Die alte Abrufmethode nutzte live Keyword-Matching, sodass eine Frage mit ‘Paletten’ nicht zuverlässig einen Eintrag fand, der mit ‘Palette’ geschrieben war, und eine umfassendere Synthesefrage zwei verwandte, aber unterschiedlich formulierte Einträge nicht zuverlässig zusammenführte. Das Wissen war da. Die Suche hat es nur nicht gefunden.

Was hat sich wirklich geändert?

Vault-Einträge werden jetzt im Moment ihres Schreibens embedded, also in eine numerische Darstellung ihrer Bedeutung umgewandelt. Der Abruf wurde zu einer einzigen Nearest-Neighbour-Suche gegen diese Darstellung, statt live Keyword-Scans über den gesamten Vault bei jeder Nachricht. Dasselbe zugrunde liegende Wissen. Eine grundlegend andere Art, es zu finden.

Woher wisst ihr, dass die Verbesserung echt ist und kein Einzelfall?

Wir haben dieselbe Frage beim selben Mandanten erneut gestellt, zuerst mit Keyword-Suche, dann mit Vektorsuche, und die Ergebnisse verglichen. Wir haben auch die ehrlichen Kosten geprüft: Latenz, Backfill-Zeit bei großem Umfang und ein reales Risiko, das wir gefunden haben (der einmalige Backfill eines großen Vaults kommt gefährlich nah an ein Request-Timeout), statt nur den Erfolg zu berichten.

Der Early Crew beitreten →← Zurück zu allen Beiträgen

Recorded on a live database and a live screen, but run by automated scripts standing in for a human's clicks and typing, not performed live. When Stark answers faster than the script expects, the screen can hold still for a beat before the next step starts. That's left in on purpose. The goal was never a polished demo reel, it was proof the feature actually works. Dejan's own verdict, after watching the raw footage: rough, but the best demo video we've made.