𝗜𝗰𝗵 𝗵𝗮𝗯𝗲 𝗱𝗲𝗻 𝗞𝗜-𝗖𝗼𝗱𝗲 𝗺𝗲𝗶𝗻𝗲𝘀 𝗧𝗲𝗮𝗺𝘀 𝗮𝘂𝗱𝗶𝘁𝗶𝗲𝗿𝘁. 𝗗𝗮𝘀 𝗵𝗮𝗯𝗲𝗻 𝘄𝗶𝗿 𝗵𝗲𝗿𝗮𝘂𝘀𝗴𝗲𝗳𝗶𝗻𝗱𝗲𝗻.

Mein Team nutzte KI, um Code in Rekordgeschwindigkeit zu erstellen. Wir lieferten Features in einem Drittel der Zeit aus. Unsere Velocity sah großartig aus. Unsere Testabdeckung erreichte 91 %.

Dann stießen wir an eine Wand.

Wir sahen uns mit Produktionsfehlern konfrontiert, die schwer zu beheben waren. Ein einfaches Refactoring dauerte vier Wochen statt vier Tage. Ein neuer Mitarbeiter sagte mir, der Code sei zwar sauber, aber unmöglich zu verstehen.

Wir haben drei Wochen damit verbracht, die Codebasis zu auditieren. Wir fanden technische Schulden, die kein Scanner erfassen konnte. Die Schulden waren architektonischer Natur. Sie waren verhaltensbedingt.

KI-Tools lösen das unmittelbare Problem in Ihrem Prompt. Sie optimieren für die lokale Aufgabe. Sie verstehen nicht das gesamte System. Sie wissen nicht, welche Services Sie bald löschen wollen. Sie kennen Ihre langfristigen Datenmodelle nicht.

Das Ergebnis ist Code, der lokal korrekt, aber global fragil ist.

Wir haben vier spezifische Muster gefunden:

  1. Versteckte Edge Cases KI schreibt Code, der die Tests besteht, die man ihr vorgibt. Sie ist nicht gut darin, Tests für ihre eigenen Fehler zu schreiben.
  • Die Lösung: Ein Ingenieur muss den Code einem Kollegen erklären, ohne ihn anzusehen. Wenn er ihn nicht erklären kann, darf er ihn nicht mergen.
  1. Test Coverage Theater KI generiert Tests, die den vorhandenen Code abdecken. Sie schreibt keine Tests dafür, wie sich das System tatsächlich verhalten sollte.
  • Die Lösung: Jede KI-Testsuite muss eine Adversarial Review bestehen. Ein zweiter Ingenieur muss versuchen, den Code zu brechen.
  1. Unsichtbare Kopplung KI fügt Abhängigkeiten hinzu, um einen Prompt schnell zu lösen. Sie könnte Benachrichtigungslogik in Ihre Abrechnungs- oder Benutzermodule einweben. Dies macht es unmöglich, Services später zu trennen.
  • Die Lösung: Ein Senior Engineer muss jede neue, durch KI eingeführte Abhängigkeit genehmigen.
  1. Oberflächliche Fehlerbehandlung KI schreibt oft Fehlerblöcke, die vollständig aussehen, aber echte Systemausfälle nicht abfangen können.
  • Die Lösung: Wir nutzen einen Change Test. Wir messen, wie viele Dateien kaputtgehen, wenn wir eine kleine Änderung vornehmen. Eine hohe Auswirkung bedeutet eine hohe Kopplung.

KI ist nicht der Feind. Sie müssen KI wie einen Junior-Entwickler behandeln. Sie müssen Anleitung geben, Erwartungen setzen und Ihr Urteilsvermögen nutzen, um das Ergebnis zu korrigieren.

Die Tools sind exzellent bei Aufgaben. Sie sind nicht exzellent im Job.

Source: https://dev.to/emilywoodsnyc/i-spent-3-weeks-auditing-my-teams-ai-generated-code-here-is-what-we-found-1kj5

Optional learning community: https://t.me/GyaanSetuAi