Was genau ist Green Coding und geht das mit GenAI einfacher? Interview mit Max Westing vom Projekt „Green Coding“

© RESET / Benjamin Lucks

Energieeffiziente Webseiten, Apps und Software reduzieren unseren digitalen CO2-Fußabdruck. Aber was genau macht Green-Coding anders? Und geht das auch beim sogenannten „Vibe-Coding“ über Sprachmodelle? Wir haben bei Max Westing vom Projekt "Green Coding" nachgefragt.

Autor*in Benjamin Lucks, 23.03.26

Übersetzung Kezia Rice:

Wusstest du, dass es ein Umweltsiegel für Software gibt? Der „Blaue Engel für Software“ zeichnet Lösungen aus, deren Programmcode besonders ressourcen- und energiesparend gestaltet ist. Wenn es also Möglichkeiten gibt, Programme und Webseiten nachhaltiger zu gestalten, warum macht man das nicht immer? Und wie geht das überhaupt?

Unser Interview mit dem Projekt ECO:DIGIT hat gezeigt, wie komplex es ist, die Umweltfolgen von Software zu messen. Das hat vor allem damit zu tun, dass Software und Webseiten nicht mehr nur auf dem Endgerät, sondern auch in Rechenzentren ausgeführt werden. Für Nutzer:innen hat das den Vorteil, dass wir etwa nicht mehr für einen Filmabend auf eine DVD in der Post warten oder Festplatten mit unserer Videosammlung anschließen müssen.

Wir wollten daher von Max Westing von der Hochschule Trier erfahren, ob Green-Coding ähnlich komplex ist. Und wie Programierer:innen nachhaltige Praktiken in ihre Arbeit integrieren können.

Max, wie schreibt man Software überhaupt?

Es ist recht kompliziert und schwierig, das zu beantworten, weil es immer unterschiedliche Abstraktionsebenen gibt. Am Ende des Tages programmiert man meist in einer Entwicklungsumgebung, in der man seinen Quellcode produziert.

Das passiert heutzutage schon recht häufig über generative KI. Man generiert aber immer für Maschinen für Menschen lesbaren Code, der in für Maschinen ausführbaren Code übersetzt wird. Und da gibt es unterschiedliche Abstraktionsebenen, also Sprachen, die näher oder weiter weg vom Machinencode sind als andere.

Ein gutes Beispiel dafür ist Python: Die Standardimplementierung von Python ist eine Implementierung der Computersprache „C“. Wenn wir also Python-Code ausführen, wird dieser in C-Code übersetzt. Und dieser C-Code wird dann über ein paar Umwege in Maschinencode übersetzt, also in die Sequenz von Nullen und Einsen, mit der Computer umgehen können.

Was genau sind dann die „Code-Bibliotheken“, über die man immer wieder liest?

Lädt man in eine Entwicklungsumgebung eine Code-Bibliothek, dann ist das letztendlich auch Quellcode. Hier sind es aber Objekte, die dem System zur Verfügung gestellt werden, die bestimmte Funktionen aufrufen. Damit spart man sich die Arbeit, bestimmte Funktionen immer wieder neu implementieren zu müssen.

Eine sogenannte „Library“ ist wie eine Standardkomponente, die man in sein Auto einbaut. Nur, dass es bei Software eben etwas nicht Greifbares ist, was nicht verbraucht wird, sondern immer und immer wieder eingebaut werden kann.

In Bezug auf die Nachhaltigkeit von Software ist genau das eine interessante Sache. Denn hier gibt es mitunter starke Skaleneffekte. Wenn man zum Beispiel eine wirklich effiziente Bibliothek hat und die sich weit verbreitet, dann reproduzieren sich die Effizienzgewinne aus dieser einen Bibliothek mitunter millionenfach auf Geräten, die diesen Quellcode ausführen.

Auch Videospiele sind Software: Skaleneffekte mit der Sustainable Games Alliance

In unserem Interview mit der Sustainable Games Alliance wird noch einmal deutlich, wie solche Skaleneffekte in der Praxis aussehen können.

Maria Wagner und Jiri Kupiainen von der Sustainable Games Alliance erklären dabei, wie schon das Reduzieren der Auflösung eines Menüs im Videospiel „Fortnite“ große Nachhaltigkeitspotenziale zeigte. Der Grund: Fornite wird zählt weltweit über 650 Millionen registrierte Spieler:innen!

Bei jedem und jeder Einzelnen führt die geringere Auflösung zwar nur zu kleinen Einsparungen beim Energieverbrauch. Millionenfach ausgeführt, führt das insgesamt aber zu erheblichen Einsparungen.

Auch die Frage, wo Code ausgeführt wird, ist hier spannend. Denn es gibt unheimlich viele Deployment-Strategien, wo dann Geräte auf einer großen Skala konfiguriert werden. Hierbei konfiguriert man reproduzierbare Systeme, die man immer wiederverwendet, damit man das nicht alles händisch machen muss. Und wenn man dort eben Einstellungen treffen kann, die leichte Effizienzgewinne rausholen, dann skaliert sich das stark.

Spannend! Gibt es dafür Leitlinien, wie man solche Systeme möglichst effizient gestaltet?

Worauf man auf jeden Fall achten sollte ist, was für eine Software man entwickelt und in welchem Teil der Software man unterwegs ist. Es gibt ja einerseits das Backend, in dem das läuft, was von den Nutzer:innen wegabstrahiert werden soll. [Anm. d. Red.: Administrativer Bereich, in dem Entwickler:innen Änderungen an Webseiten oder Software vornehmen] Hier geht es ein wenig darum, effizientere Berechnungen anzustellen.

Effiziente Software hat aber immer auch die Ebene, dass sie von Menschen bedient wird. Wenn man in einer Software nicht lange rumklicken muss, um Dinge zu finden, nutzt man sie weniger lange – und dadurch ist sie prinzipiell schonmal effizienter. Entwickler:innen können Software also auch so designen, dass Nutzer:innen gesteuert werden, um effizienter zu sein. Effizienz bedeutet ja auch, vorhandene Ressourcen möglichst gut zu nutzen, dass man sie möglichst wenig beansprucht.

Eine andere interessante Ebene ist, zu überlegen, wann bestimmte Aufgaben ausgeführt werden müssen. Wenn ich etwa einen Workload habe, der rechenintensiv ist – wenn ich zum Bespiel eine Klimavorhersage machen möchte – dann braucht das relativ viel Rechenzeit. Und dann könnte ich überlegen, ob ich diese Berechnungen unbedingt direkt oder innerhalb der nächsten fünf Stunden benötige.

Wenn ich sie innerhalb der nächsten fünf Stunden brauche, kann ich die Rechenleistung zum Beispiel ein wenig verschieben, wenn es gerade regnet. Scheint dann die Sonne in den nächsten zwei Stunden, kann ich rechenintensive Aufgaben dahin verschieben, wenn möglichst viele erneuerbare Energien im Stromnetz sind und demtensprechend Emissionen einsparen.

Diese Praktik nennt sich Carbon-Aware-Load-Shifting und ist technisch gesehen möglich. Ich kann dir aber leider nicht sagen, wie präsent das aktuell ist.

Ähnliches Konzept, nur im Web: Grid-Aware-Webseiten

Die Green Web Foundation setzt aktuell ein ähnliches Prinzip im Internet um:

Grid-Aware-Webseiten orientieren sich bei der Darstellung von Webinhalten am aktuellen Strommix.

Enthält dieser aktuell besonders hohe Anteile an fossilen Brennstoffen, wird eine schlankere Version der Seite ausgespielt.

Das erinnert mich an die Grid-Aware-Webseiten von der Green Web Foundation. Gibt es aber auch Gefahren beim nachhaltigen Coding?

Stellen wir uns vor, irgendein Genie würde es schaffen, dass die verfügbare Hardware doppelt so effizient genutzt werden kann, wie bisher. Dann würde das natürlich enorme Einsparungen im Bereich der Energiekosten bringen. Dieses Geld wird in der Regel aber in neue Hardware investiert. Und damit hat man natürlich keinen Zugewinn mehr im Sinne der Nachhaltigkeit.

Solche Rebound-Effekte sind häufig das Problem. Allein schon die Miniaturisierung von Geräten, dass etwa jeder ein Smartphone hat, führt dazu, dass Technologie weiter verbreitet wird und Dinge wie Sprachmodelle mehr genutzt werden. Die Hürde zu konsumieren ist allein dadurch in den letzten Jahrzehnten stark gesunken.

Max Westing arbeitet im Fachbereich Umweltplanung und Umwelttechnik an der Hochschule Trier. Er hat auch am Projekt Green-Coding der Gesellschaft für Informatik mitgewirkt.

Wollten wir früher einen Film schauen, mussten wir noch ins Kino gehen. Hier gab es eine Konsumentscheidung, für die man Geld bezahlen musste, und man hatte zwei Stunden Entertainment. Heute haben die meisten Menschen zum Beispiel ein Netflix-Abo und das läuft dann als Konsumentscheidung irgendwie mit. Gleichzeitig hat man aber auch Disney+ oder andere Streamingdienste. Die Hemmschwelle, mehr zu konsumieren sinkt dadurch, da der Konsum weniger stark auffällt und Inhalte leichter zugängig sind. Dementsprechend wird viel mehr konsumiert, was unseren digitalen CO2-Fußabdruck erhöht.

Du hattest eben kurz Sprachmodelle angesprochen und auch schon gesagt, dass inzwischen viel mit generativer KI gecoded wird. Wie schätzt du die Auswirkungen von sogenanntem Vibe-Coding für die Umwelt ein?

Ich habe letztes Jahr an einem Paper mitgeschrieben, wo wir einen KI-Agenten relativ einfache Probleme haben lösen lassen. Dann haben wir ihm ein paar Versuche gegeben, um den Code in Richtung Energieeffizienz nochmal zu optimieren. Und das hat auf gewisse Art und Weise auch funktioniert.

Es ist aber dennoch schwierig festzustellen, was die Qualität oder was ist die „Güte“ von effizientem Code ist. Also: Was ist guter Code und wie häufig enddeckt man diesen überhaupt in „freier Wildbahn“. Denn es gibt auch reichlich Entwickler:innen, die keinen effizienten Code produzieren, weil sie nicht die Zeit haben oder weil sie es einfach nicht mussten und deswegen nicht gelernt haben. Dementsprechend kann man kaum Aussagen darüber treffen, ob menschlicher oder maschineller Code effizienter ist.

Noch mehr Lust auf „Green-Coding? Hier sind weiterführende Links!

Wir haben Max Westing auch nach weiterführenden Links zum Thema Green-Coding gefragt. Wenn du also noch mehr über das Thema wissen willst, schau hier vorbei:

Was sich aktuell sagen lässt ist, dass KI-Systeme, die Code generieren, sehr viel Energie verbrauchen. Einerseits durch ihr Training und durch die Hardware, auf der sie laufen, die sehr ressourcenintensiv ist. Aber ich wüsste nicht, dass es eine mehr oder minder vollständige Lebenszyklus-Analyse davon gibt, ob ein:e Entwickler:in oder ein KI-Agent, der auf Nachhaltigkeit hin arbeitet, effizienteren Code produziert.

nachhaltige Digitalisierung

Wie sieht eine grüne digitale Zukunft aus?

Elektroschrott, CO2-Emissionen durch KI, Wasserverbrauch von Rechenzentren – aktuell scheint  die ungezügelte Digitalisierung nicht mit einem gesunden Planeten vereinbar. Doch es gibt viele Lösungen für eine ökologische und faire Digitalisierung – wir haben sie recherchiert:

Wenn man nun unterstellt, dass es einen Effizienzgewinn bei den Entwickler:innen gibt, wenn sie KI-Tools nutzen, da sie mehr Zeit für die Optimierung ihres Codes haben, dann stellt sich noch immer die Frage, ob das das Training und den Betrieb der KI ausgleicht.

Deswegen gibt es Projekte wie ECO:DIGIT, die uns, wenn sie gut funktionieren, dafür eine Datengrundlage liefern können.

Wir bedanken uns für das Interview, Max!

dbu-logo

Du willst keinen Artikel zum Thema verpassen? Dann abonniere unseren Newsletter oder RSS-Feed und folge uns auf Mastodon, Bluesky oder LinkedIn!

Sparsame Software und netzsensible Webseiten: So funktioniert Green Coding

Wäre das Internet ein eigenes Land, würde es den sechsten Platz im CO2-Ranking aller Länder belegen. Unter dem Motto „Green Coding“ fassen wir Möglichkeiten zusammen, wie du und dein Unternehmen Dienste und Webseiten ressourcenschonender im Internet anbieten kannst.

Interview: Wie man sich von Googles Browser-Monopol befreit

Liest du diesen Artikel in Google Chrome? Dieses Interview mit Andy Davies von Wholegrain Digital könnte dich dazu bewegen, den Browser zu wechseln. Erfahre mehr über nachhaltige Alternativen zu Googles Monopol.

Browser-Diät: JustTheBrowser entfernt KI- und Shopping-Features aus Chrome, Firefox & Edge

Mit dem Tool "JustTheBrowser" lassen sich Google Chrome, Mozilla Firefox und Microsoft Edge von unnötigem Ballast befreien. RESET verrät dir, wie du KI-Funktionen, Shopping-Integrationen und mehr loswerden kannst.

© RESET.org
ECO:DIGIT zeigt, wie sich die Umweltauswirkungen von Software messen lassen

Das Projekt ECO:DIGIT der Gesellschaft für Informatik und weiteren Partnern zeigt, wie komplex eine Lebenszyklusanalyse von Software ist. Denn: Programme und Apps werden längst nicht mehr nur lokal auf dem Gerät ausgeführt.

Miniaturisiertes photonisches Modul
© Fraunhofer HHI
Rechenzentren, Telekommunikationsnetze, KI-Infrastruktur: Photonik bietet klare Vorteile bei der Energieeffizienz

Photonik könnte zu einem zentralen Treiber der grünen Transformation der digitalen Welt werden, sagt David de Felipe Mesquida vom Fraunhofer HHI. Im Interview erklärt er, worin die Vorteile der Technologie bestehen.

Big-Tech-Alternativen aus der EU: Warum die Zukunft in lokalen Lösungen liegt

Bei so vielen brillanten EU-Alternativen zu den etablierten Plattformen – warum nicht eine sicherere, fairere und lokale Version wählen?

CO2-Emissionen schon beim Coden tracken: Carbonara setzt beim Green Coding besonders früh an

Code ist nicht gleich Code – je nachdem, wie man Programmzeilen schreibt und welche Bibliotheken man dabei nutzt, verbrauchen Programme und Rechenzentren mehr oder weniger Energie. Das Tool "Carbonara" schätzt daher schon beim Programmieren ein, wie viel CO2 ein Programm später verursachen wird.

Mit einem offenen Suchindex gegen das Monopol: Interview mit Michael Granitzer von OpenWebSearch

Ein freier, objektiver Zugang zur Suche im Internet: Das ist die Vision des OpenWebSearch-Projekts. Ein offener Suchindex soll das Realität werden lassen.