Ihre Nachricht wurde gesendet.
Wir werden Ihre Anfrage bearbeiten und uns so schnell wie möglich mit Ihnen in Verbindung setzen.
Das Formular wurde erfolgreich abgeschickt.
Weitere Informationen finden Sie in Ihrem Briefkasten.
Sprache auswählen
Wie aus Berichten aus der Branche hervorgeht, gibt es jetzt einen wachsenden spezialisierten Sektor für Ingenieure, die sich auf die Korrektur von AI-generierten Code-Fehlern konzentrieren.
Das Muster ist bemerkenswert einheitlich geworden. Unternehmen wenden sich an ChatGPT, um Migrationsskripte, Integrationen oder ganze Funktionen zu erstellen, in der Hoffnung, Zeit zu sparen und Kosten zu senken. Immerhin scheint die Technologie schnell und zugänglich zu sein.
Dann versagen die Systeme.
Und sie rufen uns an.
In letzter Zeit erhalten wir immer mehr dieser Anfragen. Dabei geht es nicht um die Auslieferung eines neuen Produkts, sondern darum, das Chaos zu beseitigen, das entstanden ist, nachdem jemand einem Sprachmodell mit seinem Produktionscode vertraut hat.
Inzwischen sieht es so aus, als ob es sich um eine eigene Nischenindustrie handelt. Die Behebung von durch AI verursachten Fehlern ist jetzt eine kostenpflichtige Dienstleistung. Und in manchen Fällen ist sie sehr teuer.
Der GitClear-Bericht 2024 bestätigt, was wir bei unseren Kunden festgestellt haben: AI-Codierungstools beschleunigen die Bereitstellung, führen aber auch zu Doppelarbeit, verringern die Wiederverwendung und erhöhen die langfristigen Wartungskosten.
Wir wollen jedoch klarstellen, dass wir nicht "gegen AI" sind. Wir verwenden sie auch. Und sie ist im richtigen Kontext und mit den richtigen Leitplanken hilfreich. Was mich jedoch an der übermäßigen Verwendung von AI und ihren weit verbreiteten Auswirkungen frustriert - und wahrscheinlich auch Sie - ist das magische Denken. Die Vorstellung, dass ein Sprachmodell echte technische Arbeit ersetzen kann.
Das kann es nicht. Und wie das Sprichwort sagt: "Der Beweis liegt in der Suppe". Wenn Unternehmen so tun, als ob es nicht so wäre, bezahlen sie am Ende jemanden wie uns, um es zu bereinigen.
Wie sieht also eine dieser Säuberungsaktionen aus? Hier ist, was die AI-afficionados Ihnen nicht sagen, wenn es um verlorene Zeit und verschwendetes Geld geht.
Die Nachricht lautet in der Regel wie folgt:
"Hey, kannst du dir einen Microservice ansehen, den wir gebaut haben? Wir haben ChatGPT verwendet, um die erste Version zu erstellen. Wir haben sie ins Staging gepusht, und jetzt ist unsere RabbitMQ-Warteschlange komplett überflutet."
Aber die Sache ist die: Die Symptome treten viel später auf. Manchmal erst nach Tagen. Und wenn sie es tun, ist es selten offensichtlich, dass die Ursache ein von AI generierter Code war. Es sieht einfach so aus, als ob... etwas nicht stimmt.
"Man kann das architektonische Denken nicht an ein Sprachmodell auslagern. AI kann die Dinge beschleunigen, aber es braucht immer noch Ingenieure, um Systeme zu bauen, die unter Druck nicht zusammenbrechen."
Technischer Leiter
Nach einem Dutzend dieser Fälle zeichnen sich erste Muster ab:
Und wenn alles zusammenbricht, hinterlässt das AI natürlich keinen Kommentar, in dem es heißt: "Übrigens, ich habe hier geraten."
Das ist deine Sache.
Dieser kam von einem schnell wachsenden Fintech-Unternehmen.
Sie waren dabei, eine neue Version ihres Kundendatenmodells einzuführen, wobei ein großes JSONB-Feld in Postgres in mehrere normalisierte Tabellen aufgeteilt wurde. Ziemlich normales Zeug. Aber angesichts der knappen Fristen und des Mangels an Mitarbeitern beschloss einer der Entwickler, die Dinge zu "beschleunigen", indem er ChatGPT bat, ein Migrationsskript zu erstellen.
Oberflächlich betrachtet sah es gut aus. Das Skript analysierte das JSON, extrahierte die Kontaktinformationen und fügte sie in eine neue user_contacts
Tisch.
Also haben sie es durchgeführt.
Kein Probelauf. Kein Backup. Direkt ins Staging, das, wie sich herausstellte, die Daten über eine Replik mit der Produktion teilte.
Ein paar Stunden später erhielt der Kundendienst E-Mails. Die Nutzer erhielten keine Zahlungsbenachrichtigungen. Bei anderen fehlten Telefonnummern in ihren Profilen. Daraufhin riefen sie uns an.
Wir haben das Problem auf das Skript zurückgeführt. Es führte die grundlegende Extraktion durch, machte aber drei fatale Annahmen:
NULL
Werte oder fehlende Schlüssel innerhalb der JSON-Struktur.ON CONFLICT DO NOTHING
, so dass alle fehlgeschlagenen Einfügungen stillschweigend ignoriert wurden.Ergebnis: über 18% der Kontaktdaten entweder verloren gegangen oder beschädigt worden ist. Keine Protokolle. Keine Fehlermeldungen. Nur stiller Datenverlust.
Wir haben ein kleines Team damit beauftragt, das Durcheinander zu entwirren. Das haben wir getan:
Zwei Ingenieure, drei Tage. Kosten für den Kunden: etwa $4,500 an Dienstleistungsgebühren.
Der größere Schaden entstand jedoch durch die Kundenabwanderung. Fehlgeschlagene Benachrichtigungen führten zu verpassten Zahlungen und Abwanderung. Der Kunde sagte uns, er habe mindestens $10,000 für Support-Tickets, SLA-Entschädigungen und Goodwill-Gutschriften wegen dieses einen verpfuschten Skripts.
Das Ironische daran ist, dass ein erfahrener Entwickler die korrekte Migration in vielleicht vier Stunden hätte schreiben können. Aber das Versprechen von AI-Geschwindigkeit kostete sie am Ende zwei Wochen Aufräumarbeiten und Rufschädigung.
Dieser Fall stammt von einem Startup-Unternehmen, das eine Dokumentenmanagement-Plattform für Anwaltskanzleien entwickelt. Eine ihrer Hauptfunktionen war die Integration mit einem elektronischen Benachrichtigungsdienst der Regierung - eine REST-API eines Drittanbieters mit OAuth 2.0 und strenger Ratenbegrenzung: 50 Anfragen pro Minute, keine Ausnahmen.
Anstatt einen erfahrenen Backend-Entwickler mit der Integration zu beauftragen, beschloss jemand aus dem Team, einen "Prototyp" mit ChatGPT zu erstellen. Sie gaben die OpenAPI-Spezifikation ein, baten um einen Python-Client und erhielten ein sauber aussehendes Skript mit requests
, wiederholungslogik mit tenacity
, und Token-Aktualisierung.
Auf dem Papier sah es solide aus. Also haben sie es verschickt.
Folgendes ist tatsächlich passiert:
X-RateLimit-Remaining
oder Retry-After
Kopfzeilen. Es hat einfach weiter blind Anfragen gesendet.httpx.AsyncClient
, eine Semaphor-basierte Drosselung implementiert, ein exponentielles Backoff mit Jitter hinzugefügt und die Retry-After
und Ratenbegrenzungs-Header.Zwei Ingenieure, verteilt auf zweieinhalb Tage. Kosten für den Kunden: etwa $3,900.
Das größere Problem ist, dass ihr größter Kunde - eine Anwaltskanzlei mit zeitkritischen Anträgen - aufgrund des Ausfalls zwei Zeitfenster für die Einreichung von Gerichtsanträgen verpasst hat. Der Kunde musste Schadensbegrenzung betreiben und einen Rabatt anbieten, um den Kunden zu halten.
Alles nur, weil ein Sprachmodell den Unterschied zwischen "funktionierendem Code" und "produktionsreifem Code" nicht verstanden hat. Und einfach so wurde eine weitere Schicht von AI technischer Schuld still und leise zum Stapel hinzugefügt.
Das Beängstigende daran ist nicht, dass diese Dinge schief gehen. Es geht darum, wie vorhersehbar das alles wird.
Jeder dieser Vorfälle folgt dem gleichen Muster. Ein Entwickler fragt ChatGPT nach einem Codeschnipsel. Er bekommt etwas zurück, das gerade gut genug funktioniert, um keine Fehler zu verursachen. Sie binden es in das System ein, bereinigen es vielleicht ein wenig und versenden es in der Annahme, dass es sicher sein muss, wenn es kompiliert wird und läuft.
Aber hier ist der Haken an der Sache: Große Sprachmodelle kennen Ihr System nicht.
Sie wissen nicht, wie Ihre Dienste zusammenwirken.
Sie kennen weder Ihr Latenzbudget, noch Ihre Bereitstellungspipeline, Ihre Beobachtungseinstellungen oder Ihre Verkehrsmuster in der Produktion.
Sie erzeugen den am wahrscheinlichsten aussehenden Code auf der Grundlage von Mustern in ihren Trainingsdaten. Das ist alles. Es gibt kein Bewusstsein. Keine Garantien. Keine Intuition für den Systementwurf.
Und das spiegelt sich oft im Ergebnis wider:
Noch schlimmer ist, dass der Code korrekt aussieht. Er ist syntaktisch sauber. Er besteht Linters. Er könnte sogar von einem einfachen Test abgedeckt werden. Aber es fehlt das Einzige, was wirklich wichtig ist: der Kontext.
Deshalb tauchen diese Fehler auch nicht sofort auf. Sie warten auf den Einsatz am Freitagabend, auf hochfrequentierte Zeitfenster, auf seltene Sonderfälle. Das ist die Natur der technischen Schulden von AI - sie sind unsichtbar, bis sie etwas Kritisches kaputt machen.
Wie wir bereits erwähnt haben, verwenden wir auch AI. So gut wie jeder Ingenieur in unserem Team hat eine Copilot-ähnliche Einrichtung lokal laufen. Es ist schnell, hilfreich und ehrlich gesagt eine tolle Möglichkeit, die langweiligen Teile zu überspringen.
Der Unterschied ist jedoch, dass nichts in die Hauptniederlassung gelangt, ohne einen leitenden Ingenieur und in den meisten Fällen eine CI-Pipeline zu durchlaufen, die weiß, wonach sie suchen muss.
LLMs sind großartig darin:
Was sie sind nicht gut im Design ist. Oder Kontext. Oder sichere Standardeinstellungen.
Deshalb haben wir unsere Arbeitsabläufe so gestaltet, dass wir LLM-Ausgaben als Vorschläge und nicht als Quelle der Wahrheit behandeln. So sieht das in der Praxis aus:
Richtig eingesetzt, ist es eine Zeitersparnis. Blindlings eingesetzt, ist es eine Zeitbombe.
Wir sind nicht hier, um Ihnen zu raten, AI-Werkzeuge zu verbieten. Der Zug ist abgefahren.
Aber einem Sprachmodell Commit-Zugriff geben? Das kann nur Ärger geben.
Wir empfehlen stattdessen Folgendes:
Lassen Sie sie bei sich wiederholendem Code helfen. Lassen Sie sie Lösungen vorschlagen. Aber ihnen keine kritischen Entscheidungen anvertrauen. Jeder von AI erzeugte Code sollte ausnahmslos von einem erfahrenen Ingenieur überprüft werden.
Ob es sich um Commit-Tags, Metadaten oder Kommentare im Code handelt, deutlich zu machen, welche Teile von AI stammen. Das erleichtert später die Prüfung, die Fehlersuche und das Verständnis des Risikoprofils.
Entscheiden Sie im Team, wo die Verwendung von LLMs akzeptabel ist und wo nicht. Boilerplate? Sicher. Autorenströme? Vielleicht. Transaktionssysteme? Auf jeden Fall nicht ohne Überprüfung. Machen Sie die Politik explizit und Teil Ihrer technischen Standards.
Wenn Sie AI-generierten Code in die Produktion einfließen lassen, müssen Sie davon ausgehen, dass irgendwann etwas kaputtgehen wird. Fügen Sie synthetische Prüfungen hinzu. Ratenbegrenzungsüberwachungen. Verfolgung von Abhängigkeiten. Das Unsichtbare sichtbar machen, besonders wenn der ursprüngliche Autor kein Mensch ist.
Die größten AI-bedingten Ausfälle, die wir erlebt haben, waren nicht auf "schlechten" Code zurückzuführen. Sie kamen von stillen Fehlern - fehlende Daten, unterbrochene Warteschlangen, Wiederholungsstürme - die stundenlang unentdeckt blieben. Investieren Sie in Beobachtbarkeit, Fallback-Logik und Rollbacks. Vor allem, wenn Sie ChatGPT die Migrationen schreiben lassen.
Kurz gesagt: AI kann Ihrem Team Zeit sparen, aber es kann keine Verantwortung übernehmen.
Das ist immer noch eine menschliche Aufgabe.
AI kann Ihnen helfen, schneller voranzukommen. Aber er kann nicht für Sie denken.
Es versteht Ihre Architektur nicht. Er weiß nicht, was "erledigt" in Ihrem Kontext bedeutet. Und es ist ihm definitiv egal, wenn Ihre Datenpipeline an einem Freitagabend stillschweigend zusammenbricht.
Deshalb müssen wir uns als CTOs auf die Ausfallsicherheit des Systems konzentrieren, nicht nur auf die Geschwindigkeit.
Es ist verlockend, AI die langweiligen Teile zu überlassen. Und manchmal ist das auch gut so. Aber jede Abkürzung ist mit einem Kompromiss verbunden. Wenn AI-generierter Code unkontrolliert durchrutscht, wird er oft zu AI technical debt. Die Art von Schulden, die Sie erst sehen, wenn Ihr Ops-Team in der Produktion nachbessert.
Wenn Sie bereits gegen diese Wand gelaufen sind, sind Sie nicht allein. Wir haben Teams bei der Wiederherstellung von Migrationen bis hin zu API-Katastrophen geholfen. Wir refaktorisieren nicht nur den Code. Wir helfen bei der Refaktorierung des dahinter stehenden Denkens.
Denn das ist es, was die Systeme letztlich zuverlässig macht.
Ihre Nachricht wurde gesendet.
Wir werden Ihre Anfrage bearbeiten und uns so schnell wie möglich mit Ihnen in Verbindung setzen.
Mit der Anmeldung erklären Sie sich mit unseren Datenschutzrichtlinie