In der heutigen schnelllebigen Softwareentwicklung ist es unerlässlich, veralteten oder nicht mehr benötigten Code systematisch zu entfernen. Dies spart nicht nur Ressourcen, sondern verbessert auch die Wartbarkeit und Performance von Projekten enorm. Besonders wenn große Codebasen mehrere hundert Dateien umfassen, gestaltet sich eine manuelle Entfernung oft langwierig und fehleranfällig. Ein besonders praxisnahes Beispiel liefert der Einsatz von Gemini 2.0 Flash in Kombination mit einem kleinen, aber wirkungsvollen Python-Skript, um die Entfernung alter Build-Konfigurationen auf effiziente Weise zu automatisieren.
Der Hintergrund einer solchen Automatisierung ist häufig eine Migration von Technologien, wie in einem konkreten Fall im Jahr 2025, als das Projekt Pigweed.dev vom GN-Buildsystem auf Bazel umgestellt wurde. Während der Übergangsphase wurde das alte GN-Build weiterhin parallel betrieben, um eventuelle Rückfalloptionen zu behalten. Nach erfolgreichen Monaten im produktiven Betrieb zeigte sich jedoch, dass die parallele Pflege beider Buildsysteme die Entwickler unnötig belastete und die Geschwindigkeit der Entwicklung hemmte. Die Entscheidung, das alte GN-Dokumentationsbuild vollständig abzuschalten, erforderte eine systematische Entfernung der damit verbundenen Features in hunderten von BUILD.
gn-Dateien. Diese Herausforderung verlangte eine Lösung, die über einfache Suchen und Ersetzen hinausgeht. Zwar wäre eine Reguläre-Ausdruck-basierte Automatisierung denkbar gewesen, jedoch zeigte sich schnell, dass derartige Herangehensweisen bei komplexeren Fallstricken versagen können. Stattdessen wurde Gemini, ein KI-gestütztes Modell von Google, eingesetzt, um gezielt die inhaltlichen Zusammenhänge der Dateien zu verstehen und nur die gewünschten Abschnitte zu entfernen. Dabei unterstützte ein Python-Skript die reinen Such- und Filterfunktionen, um eine Hybridlösung zu schaffen, die klassische Programmierung mit KI-gestützter Textmanipulation verbindet.
Die technische Umsetzung begann mit der Einrichtung einer sauberen Python-Umgebung, in der der Gemini Python-Client installiert wurde. Danach wurde ein Skript entwickelt, das zunächst alle Dateien im Projekt durchsucht, dabei gezielt nur diejenigen auswählt, die benannt wurden als BUILD.gn und die bestimmte Dokumentationsfeatures enthalten. Diese Features sind durch bestimmte Schlüsselwörter wie pw_docgen, pw_doc_group oder pw_size_diff erkennbar. So konnte sichergestellt werden, dass nur relevante Dateien bearbeitet werden, ohne andere Bereiche zu gefährden.
Das Herzstück war die Integration von Gemini 2.0 Flash, das mit einem speziell entwickelten Prompt gefüttert wurde. Dieser erklärte dem Modell die Aufgabenstellung genau: Nur bestimmte docgen-bezogene Features aus dem jeweiligen GN-Buildfile sollten entfernt werden, ohne ansonsten die restliche Datei zu verändern. Um den Prozess zu optimieren, wurden zusätzlich unerwünschte Formatierungszeichen, die Gemini automatisch erzeugte, mit kleinen Python-Hilfsfunktionen entfernt – beispielsweise die üblichen dreifachen Backticks am Anfang und Ende der Ausgabe. Der Erfolg der Methode war beeindruckend.
Über 235 Dateien konnten automatisiert angepasst werden, ohne dass der Build anschließend instabil wurde. Kleinere manuelle Nachbesserungen waren kaum notwendig. Zudem gestaltete sich die Implementierung so, dass der gesamte Prozess in weniger als 20 Minuten durchlaufen wurde, was bei der sonst typischen Bearbeitungsdauer in Tagen eine immense Zeitersparnis darstellt. Die einzige Herausforderung bestand in der Einhaltung der API-Quoten, sodass eine parallele Verarbeitung der Dateien begrenzt war. Dennoch konnten durch die schrittweise Bearbeitung umfangreiche Fehlerquellen vermieden werden.
Die Kosten für die Nutzung von Gemini lagen im moderaten Bereich. Zwischen 30 und 40 US-Dollar sind angesichts der enormen Einsparungen bei der Entwicklerzeit eine wirtschaftlich sinnvolle Investition. Wichtig war jedoch, das Skript gründlich vor der Massenverarbeitung zu testen, um unnötige API-Kosten durch Fehlfunktionen zu vermeiden. Hier zahlt sich eine iterativ geprüfte Entwicklung aus, bei der zunächst einzelne Dateien bearbeitet werden, bevor große Mengen automatisiert modifiziert werden. Herausfordernd war zudem, dass Gemini in einigen Fällen zu genau arbeitete und damit sogar Code entfernte, der nicht explizit in den Instruktionen genannt wurde.
Beispielsweise wurden pw_size_diff Features entfernt, die zwar technisch zum Bereich der Dokumentationsgenerierung gehören, aber ursprünglich nicht als zu entfernende Elemente definiert waren. Im Team wurde daraufhin entschieden, diese Funktionalität ebenfalls zu entfernen, sodass das Modell letztlich auf eine erweiterte Liste von Schlüsselwörtern zugreifen konnte. Dies zeigt, wie KI-gestützte Tools selbst unerwartete Optimierungspotenziale aufzeigen können, die ein rein manuelles Vorgehen womöglich übersehen hätte. Trotz der hohen Präzision blieb es nicht völlig aus, dass Gemini vereinzelt kleinere Fehler machte, wie etwa fehlende Anführungszeichen oder minimale Veränderungen an abhängigen Modulen. Diese Einzelfälle konnten durch eine manuelle Nachkontrolle und die Anwendung anderer Tools zur Codeformattierung, wie pw format, schnell behoben werden.
Letzteres sorgte auch dafür, dass mögliche Inkonsistenzen bei Zeilenumbrüchen am Datei-Ende einheitlich korrigiert wurden, was für ein konsistentes Erscheinungsbild in der gesamten Codebasis sorgte. Insgesamt verdeutlicht dieser Fall sehr gut, wie eine Kombination aus klassischer Automatisierung und KI-gestützter Anpassung in komplexen Softwareprojekten großen Mehrwert bieten kann. Die Automatisierung der Entfernung veralteter Codebestandteile lässt sich so auf eine effiziente, skalierbare und vor allem sichere Weise realisieren, ohne den menschlichen Reviewprozess übermäßig zu belasten. Durch die Auslagerung der forderungsvolleren Parsing- und Ersetzungsaufgaben an das KI-Modell wird zugleich die Flexibilität erhöht und die Fehlerquote signifikant gesenkt. Vor allem der hybride Ansatz, bei dem einfache Abläufe wie das Filtern von Dateien klassisch mit Python erledigt werden, während die semantisch anspruchsvollen Optimierungen an Generative AI delegiert werden, zeigt sich als besonders zielführend.
Damit lassen sich nicht nur veraltete Features in Build-Systemen bereinigen, sondern theoretisch auch eine ganze Reihe weiterer Anwendungen denkbar umsetzen. Beispielsweise das Refactoring komplexer Konfigurationsdateien oder die präzise Entfernung bestimmter Code-Snippets aus vielen Projektdateien – Aufgaben, die mit herkömmlichen regulären Ausdrücken nur schwer realisierbar sind. Es sei jedoch darauf hingewiesen, dass der Einsatz von KI beim automatisierten Codeeditieren noch nicht frei von Risiken ist. Da KI-Modelle manchmal zu streng interpretieren oder Kontext falsch deuten, bleibt eine manuelle Prüfung essenziell. Ein professionelles Team sollte nach wie vor eine letzte Überprüfung der automatisierten Änderungen vornehmen, um kritische Fehler im Build- oder Laufzeitverhalten zu vermeiden.
Die Automatisierung dient daher idealerweise als leistungsfähiges Werkzeug zur deutlichen Reduzierung des manuellen Aufwands, nicht als vollständiger Ersatz für Entwickler und Review-Prozesse. Zusammenfassend bietet der beschriebene Einsatz von Gemini 2.0 Flash ein überzeugendes Beispiel, wie moderne KI-Technologie in Softwareentwicklungsprozessen effizient integriert werden kann. Die Zeitersparnis, die Qualität der Ergebnisse und die Möglichkeiten zur Skalierung von Routineaufgaben sprechen für eine weiterführende Erforschung und Nutzung von Generative-AI-Tools. Entwicklerteams, die mit großen, komplexen Codebasen arbeiten, können davon profitieren, wiederkehrende Aufgaben zu automatisieren und sich auf kreative und komplexe Problemstellungen zu konzentrieren.
Während der Fall beim Pigweed-Projekt zeigt, wie ein einmalig entwickelter Workflow mehrfach adaptiert werden kann, sollte der Fokus stets auf einem ausgewogenen Verhältnis von Automatisierung und Kontrolle liegen. So können Kosten begrenzt, Qualität sichergestellt und Effizienz nachhaltig gesteigert werden. Die Automatisierung der Codebereinigung mithilfe von Gemini und Python setzt dabei einen wichtigen Meilenstein auf dem Weg zu intelligenten, flexiblen Entwicklerwerkzeugen der Zukunft.