Zuerst das Fazit: Die Grundursache jenes Vorfalls war nicht, dass der Agent fehlerhaften Code geschrieben hatte, sondern dass wir standardmäßig annahmen, „eine Entwicklungsumgebung brauche keinen Schutz auf CDP-Niveau". Diese Annahme kostete das Team 23 Stunden Nacharbeit. Im Folgenden eine Retrospektive entlang der Zeitachse – in der Hoffnung, Kolleginnen und Kollegen zu helfen, die gerade KI-Programmieragenten in ihre Entwicklungsprozesse integrieren.
Vorfall-Zeitachse: von „Dead Code aufräumen" bis „src ist leer"
Am ersten Tag um 16 Uhr machten wir für ein Team, das ein grenzüberschreitendes ERP entwickelt, ein Code-Refactoring. Das Projekt ist Node.js + TypeScript, im src-Verzeichnis liegen etwa 1400 Dateien, viele davon alte Module aus Iterationen vor drei Monaten. Das Team wollte mit einem KI-Programmieragenten automatisch „nicht referenzierten Dead Code" identifizieren und bereinigen.
Der Agent war an ein Model-Gateway für die einheitliche Anbindung mehrerer Modelle angeschlossen, im Task-Prompt stand „Dateien löschen, deren fehlende Referenzierung bestätigt ist". Er scannte den Import-Graphen, fand ein Verzeichnis unter src, dessen Referenzkette unterbrochen war, stufte es als Dead Code ein und führte ein Batch-Delete aus. Das Problem: Jenes Verzeichnis war eigentlich ein dynamisch geladenes Plugin-Verzeichnis, die Referenzbeziehungen standen in der Laufzeitkonfiguration, die statische Analyse konnte sie nicht sehen.
Am zweiten Tag um 15 Uhr meldete ein Frontend-Kollege beim Starten des lokalen Dienstes einen Fehler, erst da merkten wir, dass im src-Verzeichnis weniger als 200 Dateien übrig waren. Ein Blick in git log: Der letzte Commit war am Vortag um 16 Uhr, seit der Entdeckung waren 23 Stunden vergangen. In diesen 23 Stunden hatten 3 Ingenieure etwa 60 Dateien geändert, alle ohne Commit.
Datenschutz in der Entwicklungsumgebung funktioniert anders, als du denkst
Die Schutzlogik der Produktionsumgebung lautet „wenig Änderung, auditierbar, mit Primary/Backup". Die Entwicklungsumgebung ist genau umgekehrt: Dateien sind fragmentiert, Änderungen häufig, massenhaft Zwischenzustände landen nie im Versionskontrollsystem. Ich habe die Daten unseres Teams vom letzten Monat ausgewertet: Pro Kopf entstehen täglich etwa 40 Dateiänderungen, aber nur 3 bis 5 git commits. Der Rest liegt in Editor-Caches und temporären Branches.
Noch lästiger: Viele glauben, „Git-Historie gleich wiederherstellbar". Git kann nur wiederherstellen, was du committet hast. Nicht committete Änderungen, vom Agenten batch-gelöschte Dateien, lokale Konfigurationen in .env – darum kümmert sich Git überhaupt nicht. Bei jenem Vorfall versuchten wir, mit git reflog und der Local History der IDE wiederherzustellen, und bekamen weniger als 30 % zurück.
Warum tägliche Backups in diesem Szenario nicht helfen
Ursprünglich hatten wir täglich um 2 Uhr nachts ein Vollbackup. Nach RPO gerechnet: Im schlimmsten Fall verliert man 24 Stunden. Aber der Vorfall geschah um 15 Uhr, das Backup war von 2 Uhr nachts am Vortag, dazwischen lagen 37 Stunden. Was man wiederherstellt, ist der Code von vor 37 Stunden – gleichbedeutend damit, die Iterationen dieser zwei Tage komplett wegzuwerfen.
RPO = 24 Stunden bedeutet: Du kannst maximal den Verlust eines Arbeitstages akzeptieren. Für eine Produktionsdatenbank mag diese Kennzahl gerade noch reichen. Für eine Entwicklungsumgebung kann ein Arbeitstag eine komplette Feature-Iteration sein. Die Granularität traditioneller täglicher Backups passt schlicht nicht zur Änderungsfrequenz einer Entwicklungsumgebung.
Block-Level-CDP, das den RPO auf Sekunden drückt, ist der Schutz, den eine Entwicklungsumgebung braucht
Später wechselten wir zu einer Block-Level-CDP-Lösung. Der Unterschied zu traditionellen Backups: Traditionelle Backups machen Snapshots pro Datei oder pro Tag, CDP erfasst auf IO-Block-Ebene und protokolliert jeden geschriebenen Datenblock. Der RPO sinkt von 24 Stunden auf Sekunden, theoretisch ist ein Rollback auf jeden beliebigen Zeitpunkt möglich.
Konkret haben wir auf den Entwicklungsrechnern einen CDP-Agenten installiert, der blockweise Änderungen des Dateisystems kontinuierlich erfasst. Nach dem Vorfall wählten wir einen Zeitpunkt 2 Minuten vor der Löschung durch den Agenten und rollten den gesamten Arbeitsbereich zurück. Alle 1400 Dateien kamen zurück, einschließlich der 23 Stunden nicht committeter Änderungen. Der Rollback dauerte weniger als 4 Minuten.
Ein Hinweis zur Fallvermeidung: CDP ist kein Allheilmittel. Es schützt auf Blockgeräte-Ebene; wenn der Agent direkt Cloud-Storage-APIs aufruft und Objekte löscht, kann auch CDP nicht helfen. Deshalb haben wir in die Aufrufkette des Model-Gateways eine Operations-Allowlist eingebaut: Jede Anweisung mit delete, rm oder drop erfordert eine manuelle Zweitbestätigung.
Die API-Aufrufkette von KI-Programmieragenten braucht eine zusätzliche Schutzschicht
Danach habe ich die Aufrufkette des Agenten neu strukturiert. Er routet über das Model-Gateway zu verschiedenen Modellen; die token8341Großes SprachmodellAPIAggregationsplattform übernimmt in dieser Kette die einheitliche Anbindung und die automatische Modellauswahl je nach Aufgabe. In unserem Projekt haben wir sie für die Multi-Modell-unterstützte Entwicklung genutzt; der Vorteil: Mit einem Key lassen sich die gängigen Modelle GPT-4o, Claude, DeepSeek und Qwen aufrufen, ohne für jedes Modell separat SDK und Authentifizierung pflegen zu müssen.
Aber das Modell-Routing selbst löst keine Sicherheitsprobleme. Wir haben um die Aufrufschicht der token8341Großes SprachmodellAPIAggregationsplattform noch eine Berechtigungsprüfung gelegt: Vom Agenten ausgelöste Dateioperationen laufen erst durch die Allowlist und dann ins Gateway. So erreichen destruktive Operationen selbst bei Fehlentscheidungen des Modells nie das Dateisystem.
Rückblickend: Die token8341Großes SprachmodellAPIAggregationsplattform löst das Problem „reibungslos anbinden", CDP löst das Problem „gelöscht, aber wiederherstellbar". Beides ersetzt einander nicht. Das eine sorgt dafür, dass der KI-Programmieragent effizient mehrere Modelle aufruft, das andere fängt ab, wenn er Fehler macht. Später haben wir CDP zur Standardkonfiguration der Entwicklungsumgebung gemacht – die Rechner neuer Ingenieure sind ab Werk damit ausgestattet.
Wenn du ebenfalls KI-Programmieragenten für Refactorings einsetzt, kläre zuerst zwei Dinge: Wie hoch ist der RPO deiner Entwicklungsumgebung, und gibt es bei Löschoperationen des Agenten eine manuelle Bestätigung? Die Antworten auf diese beiden Fragen entscheiden, ob dein nächster Vorfall 4 Minuten oder 23 Stunden kostet.
Autor: Zhou Mingzhe
Veröffentlichungsdatum: 23. Oktober 2026