Wir gewöhnen uns an unerklärliche Fehler
The Normalization of Inexplicable Failures
Der Autor kritisiert, dass Softwarefehler zunehmend als unvermeidlich hingenommen werden – befeuert durch KI-Modelle wie Jev von TypeSafe AI, die schnelle, aber undurchsichtige Antworten liefern. Statt Fehlerquellen zu untersuchen, akzeptieren Entwickler und Nutzer „manchmal ist es eben so“. Confidence Scores werden oft falsch interpretiert, und die Verantwortlichkeit für Fehler verschwindet. Dabei könnten LLM-gestützte QA-Workflows helfen, die Ursachen zu finden.
Die Tragödie der heutigen Softwareentwicklung ist, dass wir aktiv Systeme entwickeln, bei denen weder der Nutzer noch der Entwickler Interesse daran zu haben scheint, zu prüfen, ob sich hinter der Tür eine Leiche befindet. Wir zucken nur mit den Schultern und schlussfolgern: Das blöde Ding ist Mist.
- pmarreck
Ich lege großen Wert auf Reproduzierbarkeit (Nix-Fan) und Determinismus (fehlschlagende Tests sind für mich ein Alarmzustand, alle Mann an Deck) und Korrektheit.
Ich lege auch großen Wert auf Tests (der richtigen Dinge). Und auf Nine-Nines (großer Elixir-Fan).
Und... ich lege auch großen Wert auf agentenunterstützte Entwicklung. Was so ziemlich jeden Check erfordert, den es gibt, um dabei produktiv zu bleiben. Und das ist für mich in Ordnung. Ich habe Bugs gesehen, die ich selbst nicht gemacht hätte. Und ich habe auch gesehen, wie meine eigenen Bugs behoben wurden. Sie wurden alle in kurzer Zeit behoben. Ich sehe nicht, warum das ein Problem sein sollte.
Erhöhe deine persönlichen Standards.
Tatsache ist, dass die Situation mit unzuverlässiger Software schon vor Agenten (in schlechten Händen) unhaltbar war, die sie noch verschlimmert haben.
- adamddev1
Ausgezeichneter Beitrag. Leute verteidigen agentenbasierte/LLM-getriebene Entwicklung immer damit, dass sie sagen: "Nun, es ist gut genug" oder "Es funktioniert die meiste Zeit."
Das mag für irgendeine benutzerorientierte App tolerierbar sein. Aber was, wenn wir anfangen, Fehler in den Bibliotheken, der Infrastruktur und den Compilern zu normalisieren? Alles versinkt in einem Chaos der Unzuverlässigkeit, und das bremst ALLES und JEDEN aus.
- theamk
> Wenn ein Button auf einer Website kaputtgeht, habe ich ein Modell davon, was hätte passieren sollen. Irgendwo wurde ein Vertrag gebrochen. [...] Ich habe vielleicht keinen Zugriff, um nur einen HTTP-Status 500 zu debuggen, aber ich erwarte, dass es jemanden gibt, dessen Job es ist, zu verstehen, warum der Endpunkt 500 zurückgibt. Die Zuständigkeit ist klar definiert, wenn auch undurchsichtig³.
> Für viele Nutzer ist die tatsächliche Erfahrung jedoch ungefähr nur "blödes Ding nervt." Software fühlt sich ohnehin schon launisch an; mehr Fehler ändern nur die Häufigkeit der Frustration.
Ich wette, der Autor nutzt nicht viel Cloud-Dienste. Es sind nicht nur "Nutzer", sondern auch Entwickler. GitHub gibt 5xx zurück? Ein AWS-Dienst funktioniert nicht? Deine E-Mail wurde nicht zugestellt? Wir (Entwickler) können nichts tun, "blödes Ding nervt".
- layer8
> Das führt zu einer Normalisierung der Unerklärbarkeit.
Es ist auch eng mit einer Normalisierung des Mangels an Verantwortlichkeit verbunden.
> Das ist nicht "einen FTP-Account bekommen, ihn lokal mit curlftpfs mounten und dann SVN oder CVS auf dem gemounteten Dateisystem verwenden" -- den schwierigen Teil muss man trotzdem machen.
Das verliert wahrscheinlich gerade den jüngeren Teil des Publikums. ;)
- WorldMaker
"Konfidenzwerte" haben schon immer eine anthropozentrische Bedeutung impliziert, die nicht existiert. Ein Algorithmus hat kein "Vertrauen" in der Art, wie ein Mensch Vertrauen hat, aber sobald man etwas mit diesem Namen einem Geschäftsmenschen vorlegt, nimmt er an, dass die Zahl immer eine aussagekräftige "Notenkurve" oder "universelle Prozentangabe" ist. Ich glaube immer noch so sehr, dass das alte Zitat "es gibt Lügen, verdammte Lügen und dann Statistiken" ein Schlüssel zum Verständnis dafür bleibt, warum ML im Vergleich zum Hype zu dummen Ergebnissen führt. Menschen verstehen Statistik nicht, also verwirren Maschinen, die nichts als Statistik produzieren, die Leute besonders. (Ich finde, das gilt auch für LLMs.)
- teraflop
Die "Normalisierung der Unerklärbarkeit" ist in der Tat empörend. Sie war schon immer schlimm, wenn es um Computersoftware geht, und sie schleicht sich zunehmend in andere Verbraucherprodukte ein, die auf eingebetteter Software basieren.
Ich habe kürzlich ein neues Elektroauto gekauft. Größtenteils war ich ziemlich zufrieden damit. Kurz nachdem ich es gekauft hatte, begann es, bei jedem Start eine Warnmeldung anzuzeigen: "EV-System prüfen". Als ich es zum Händler brachte, war die Warnung verschwunden, und der Techniker sagte mir nur so etwas wie: "Äh, ich schätze, das macht es manchmal einfach, sagen Sie uns Bescheid, wenn es wieder auftritt." Hardwarefehler? Software-Bug? Wer kann das sagen?
Wie die meisten modernen Autos hat es Konnektivität und Google Maps im Infotainment-System integriert. Die allermeiste Zeit funktioniert es einwandfrei. Manchmal sagt es, dass es keine Konnektivität hat (was keine Verkehrsdaten und suboptimale Routen bedeutet) für die Dauer einer Fahrt, selbst in Gebieten mit starkem Mobilfunksignal, wo es normalerweise einwandfrei funktioniert. Manchmal sagt das Auto, dass es Konnektivität hat, aber Google Maps denkt trotzdem, dass es offline ist. Manchmal lädt Maps tatsächlich und zeigt eine Route an, aber der Button "Navigation starten" dreht sich einfach endlos, als ob er noch auf etwas wartet. Hängen diese Probleme zusammen? Gibt es eine gemeinsame Ursache, die möglicherweise behebbar ist? Wer kann das sagen?
(Praktischerweise deckt die Garantie ausdrücklich keine Fehler von Software oder Firmware beim korrekten Funktionieren ab.)
- benjaminsky2
Ich habe Jevs Konfidenzwert validiert. Die Genauigkeit skaliert linear mit der Konfidenz für die 3 Anwendungsfälle, die ich getestet habe. >.9 stimmte es mit einem menschlichen Labeler überein. Ich habe sofort ein unerwartetes Nutzerverhalten für ~3 $ entdeckt. Ich kann jetzt in Echtzeit gegensteuern, dank niedriger Kosten und Latenz. Das könnte einen großen positiven finanziellen Einfluss für alle unsere Kunden haben.
Ich bin mir nicht sicher, warum jemand das Bedürfnis verspüren sollte, auf dieses Ding einzudreschen, ohne ein echtes Fehlerbeispiel zu zeigen.
- hyperhello
Wenn man mehr Zeit mit einem Produkt verbringt, ist man wahrscheinlicher geneigt, es wieder zu tun, selbst wenn es wegen eines Fehlers oder Ärgers ist. Man würde es irgendwie rechtfertigen (ich habe jetzt einen Vorsprung oder so). Das gilt tatsächlich auch für das Betrachten von Dingen; eine knallbunte Schachtel im Supermarktregal wird einfach wahrscheinlicher gewählt, weil man sie zuerst und länger ansieht.
Seine Zeit und Ressourcen zu verschwenden, ist ein Machtsymbol, aber dich dazu zu bringen, deine eigene Zeit und deine eigenen Ressourcen zu verschwenden, ist Hegemonie.