Wie KI die Arbeit bei Algolas verändert
Glaubt man NVIDIAs CEO, gibt es in wenigen Jahren keine Software‑Entwickler mehr; wir glauben diese These nicht, erklären, warum aktuelle KI nur Kurzzeitgedächtnis hat, und erläutern unseren Ansatz, mit KI zu arbeiten.

Marc Solèr

Bild: Hiroo Isono (磯野宏夫)
In einem viel beachteten Interview empfahl NVIDIA Gründer und CEO Jensen Huang, nicht mehr das Programmieren zu lernen, da die künstliche Intelligenz diese Aufgabe übernehmen werde. Als Hardware-Zulieferer für aktuelle KI pflegt Huang ein natürliches Interesse an einer verbreiteten Nutzung von KI – hat aber auch nicht ganz unrecht. Wie kam es aber bis dahin?
Was bisher geschah
Seit der Dotcom Blase in den späten 1990ern waren Softwareentwickler und Informatiker gesuchte Personen. Über eine Zeitspanne von 20 Jahren haben Technologieunternehmen wie Google, Facebook, Apple und Co. alte Wirtschaftsriesen überholt. Das neue Zeitalter von Computer und Internet hat Nerds cool gemacht und ist für einzelne Unternehmen bis heute äusserst lukrativ.
Das Programmieren lag im Zentrum dieses neuen Bewusstseins, wurde quasi zum Ritus in dieser Branche. Deshalb der Gedanke “wer in die Zukunft kommen möchte, muss programmieren lernen”. Wie jedes Dogma ist auch dieses zu einfach gegriffen. Während zweier Dekaden war der Mangel an Menschen in der Softwareentwicklung und Informatik aber doch so stark, dass es sich diese leisten konnten, sich auf ihr Fach zu konzentrieren und andere Kompetenzen zu vernachlässigen. Der stereotypische, asoziale, manchmal überhebliche Nerd ist keine komplette Fantasieerscheinung.
Grosse Sprachmodelle
Der Begriff KI wird fast als Synonym zu grossen Sprachmodellen (LLMs) verwendet. Tatsächlich waren es LLMs, welche um 2021 die neueste KI Welle gestartet haben, gefolgt von Modellen, die (mehr oder weniger) realistische Bilder- und Videos generieren können. In der Diskussion um KI hilft es häufig, diese Modelle zu unterscheiden, denn sie variieren stark in ihren Fähigkeiten und Anwendungsgebieten 1. Gleich unterscheiden wir heute auch zwischen Computern, Smartphones und dem Internet, auch wenn diese alle der Informatik zugeordnet werden können.
Für die Softwareentwicklung sind insbesondere LLMs relevant. Sie sind heute fähig, mittels einer Instruktion in natürlicher Sprache Code zu generieren. Zum Beispiel:
Schreibe Python-Code, um ein Verzeichnis lauter PDFs nach einem gegebenen Begriff zu durchsuchen und Treffer auszugeben
Da Programmiersprachen auch formale Sprachen sind 2, können LLMs leichter mit ihnen umgehen. Zudem existieren viele Online-Sammlungen von Programmcode, z.B. Quelloffene Software wie Linux. Sprachmodelle können also erstaunlich oft guten und korrekten Programmcode schreiben. Die Industrie hat dazu einen eigenen Begriff entwickelt: Vibe-Coding, entfernt übersetzbar mit Fühl-Programmierung.
Statt in einem reinen Chat-Kontext wie z.B. bei ChatGPT werden bei der Softwareentwicklung den Sprachmodellen Werkzeuge zur Verfügung gestellt, mit welchen sie selbstständig bestehenden Code lesen, durchsuchen und ergänzen können. Zudem zerteilen sie komplexe Aufgabenstellungen in kleinere auf, statt zu versuchen, sie auf einmal zu lösen. Bekannte Werkzeuge dafür heissen Claude Code, Codex, oder Vibe.
Wir sind überzeugt, dass wir als Software-Entwickler und Informatiker solche Werkzeuge benutzen und verstehen müssen. Nur in der Praxis können wir lernen, wo ihre Grenzen sind, wo sie stark sind, und wo nicht. Es erlaubt uns die Modelle zu verbessern und so nicht zu Konsumenten oder Mittelleuten zu werden, sondern an der Spitze der Entwicklung zu bleiben.
Im restlichen Beitrag diskutieren wir Thesen und Ideen, die sich aus unserem Alltag geformt haben, oder noch mehrheitlich in der Forschung thematisiert werden.
Die Programmierung stirbt nicht, sie wechselt nur die Tastatur
Programmieren zu können lehrt einen abstrakte Konzepte, doch nach wie vor spielt sich ein Grossteil der Welt nicht hinter einem Bildschirm ab. In unseren Projekte verbringen wir die meiste Zeit nicht damit Programmcode zu schreiben, sondern Lösungen für Probleme auszudenken, die implementierbar, effizient, zuverlässig, skalierbar und zukunftssicher sind. “Problem” kann auf verschiedenen Ebenen verstanden werden: ein UI-Element, ein Software-Modul, und eine gesamte Plattform. Zu diesen Lösungen gehören oft auch Entscheidungen und Abwägungen (Trade-offs). Ein manuelles Copy-Paste kann akzeptabel sein, wenn die Alternative es ist, einen unsicheren Datentransfer zwischen getrennten Netzwerkzonen zu machen.
Sprachmodelle beherrschen diese Architekturüberlegungen noch zu wenig. Teils liegt es an ihrer Architektur, die sie daran hindert lange Zusammenhänge zu erkennen, teils an den Trainingszielen, die sie dazu ermutigen Lösungen für alle Probleme zu finden, auch wenn die Lösung ganz neue Probleme mit sich bringt.
Die Geschwindigkeit, mit dieser LLMs Code erzeugen ist manchmal schwer zu widerstehen. Sie gibt den Eindruck, dass auch eine grosse Plattform wie z.B. YouTube inerhalb kurzer Zeit umgesetzt werden können. Oberflächlich betrachtet ist dies schwer zu widerlegen, die Praxis zeigt jedoch ein anderes Bild. Von A bis Z vibe-gecodeten Applikationen fehlt oft eine kohärente Struktur, sie weisen hohe Code-Duplikation auf, setzen leichte Aufgaben komplex, oder komplexe Aufgaben zu einfach um. Die Inkohärenz hat häufig gähnende Sicherheitslücken zur Folge. Viel Zeit muss damit verbracht werden, die Struktur zu richten, Duplikationen zu vereinen, Komplexität zu reduzieren oder zu erhöhen.
Die Ursache dieses Problems kann auf die folgende Tatsache zurück geführt werden: wenn dem Modell viel Spielraum zur Interpretation gegeben wird, wird es diese auch in teils unvorhersebarer Weise ausnutzen. Während eine kurze Instruktion wie
Schreibe Python-Code, um ein Verzeichnis lauter PDFs nach einem gegebenen Begriff zu durchsuchen und Treffer auszugeben
relativ klare Vorgaben gibt, ist wenig Spielraum offen. Die Instruktion
Entwickle eine Video-Plattform wie YouTube
lässt hingegen viele Freiheitsgrade. Ein Modell, welches darauf trainiert wurde (mit guten Gründen und Einschränkungen) Sequenzen bis zu mehreren tausend Wörtern zu generieren, hat nicht Fähigkeiten die Architektur einer grossen Plattform gesamthaft “auszudenken”. Letzten Endes ergänzen Sprachmodelle nur Sequenzen, ihr “Denken” ist eine Simulation, die aus den Trainingsdaten entsteht und diese approximieren 3.
Werden Vibe-Tools jedoch diszipliniert eingesetzt, die Architektur vorab entworfen (auch im Dialog mit LLMs). Entwickler, die wir als “sehr gut” bezeichnen würden, berichten von ausgezeichneten Resultaten beim Entwickeln mit Sprachmodellen 4. Wir finden sie jedoch gut, nicht weil sie gut Programmcode schreiben können, sondern da sie gute Lösungen ausdenken und elegante Architekturen ausdenken. Ob sie diese nun von Hand programmieren, oder einem Modell übergeben spielt eine untergeordnete Rolle - die Tastatur hat gewechselt. Konkret fällt auch auf, dass solche Entwickler ihre Ideen gekonnt in Instruktionen formulieren können – sie lassen dem LLM somit geringen Spielraum.
Wenn LLMs besser im Ausführen als im Entwerfen sind, wann lernen sie beides?
Die Zukunft der KI
Es zeichnet sich ab, dass sich die Verbesserung von Sprachmodellen verlangsamt. Viele der ursprünglichen OpenAI Mitgründer haben mittlerweile ihre eigenen Unternehmen gegründet, darunter auch einer der Architekten hinter GPT, Ilya Sutskever. In einem aktuellen Gespräch sieht er die Ära der immer grösser werdenden Modelle als beendet und sieht Bedarf in der Forschung nach neuen Modellen 5.
Skalierungsgesetze
Hintergrund ist ein Forschungsresultat, nach welchem Modelle von maschinellem Lernen besser werden, je grösser sie werden, Scaling Laws (Skalierungsgesetze) genannt. Knapp über eine halbe Dekade konnten Modellentwickler ihre Modelle verbessern, indem sie sie vor allem mit mehr Parametern versahen. Die Skalierungsgesetze sind auch wirtschaftliche Gesetze, denn grössere Modelle benötigen leistungsfähigere Hardware, die kapitalintensiv ist. Die Ära der grossen KI-Unternehmen war somit angebrochen, und bedeutenster Hersteller von Hardware für solche Modelle ist nach wie vor NVIDIA.
Das Ende dieser Ära lässt sich dadurch feststellen, dass Modelle auch mit mehr Parametern Modelle nicht mehr besser werden, wie es Skalierungsgesetze vorhersagen würden. Die Gesetze haben keine uneingeschränkte Gültigkeit.
Transformer-Architektur
Die Transformer-Architektur, die LLMs zugrunde liegt hat zudem seit Beginn bekannte Schwächen. Die wohl bedeutendste ist die beschränkte Kontextlänge, d.h. die Länge von Eingaben, die das Modell verarbeiten kann. Wenn z.B. eine Konversation zu lang wird, vergisst ein LLM den Beginn davon - sie wird quasi abgeschnitten, das Kontextfenster ist überladen. Das Kontextfenster kann auch als Art Aufmerksamkeitsspanne, gemessen an der Anzahl Wörter und Buchstaben, gesehen werden.
Umfangreiche Versuche wurden bereits unternommen, den Kontext zu verlängern, und nicht ohne Erfolg. Auch wenn aktuelle Modelle Kontextfenster auf Länge von Millionen Wörter (oder der Länge der Bibel) kommen, sind diese teuer und haben doch Mühe, das Wissen innerhalb des Kontextfensters sinnvoll nutzen zu können.
Besonders fällt die begrenzte Aufmerksamkeitsspanne der Modelle dann auf, wenn die Modelle mit länger dauernden Aufgaben konfrontiert sind. Dazu gehört z.B. die Entwicklung einer gesamten Plattform wie in der letzten Instruktion demonstriert. Ein illustratives Beispiel ist auch, wenn LLMs benutzt werden, um Computerspiele zu spielen in welchen sie durch eine Welt navigieren müssen. Sie sind zwar intelligent, aber vergessen Informationen über die Spielwelt zu schnell und verirren sich häufig in irrelevanten Details 6. Ihre Aktionen und ihr “Denken” finden alle in einem text-basierten Monolog statt. Auch wenn man sie zwingt, Notizen über die Welt zu verfassen, müssen sie weniger “denken”, sehen aber gleichwohl nicht das grosse Bild. Es fehlt Ihnen die Fähigkeit, ein mentales Modell über ihre Welt zu bilden – weshalb Sutskever’s (und dessen Kollegen) Ziel es ist, Weltmodelle zu bauen. Zur Wortähnlichkeit: seinen letzten Jahren war auch Albert Einstein damit beschäftigt, eine Weltformel zu finden, starb jedoch zuvor.
Hier schlagen alte KI Systeme aus den 1990er Jahren die grössten und teuersten Modelle von OpenAI, Anthropic, Google und Co.: sie können sich mühelos durch Spielwelten bewegen und Rätsel lösen, mit bedeutend weniger Rechenaufwand.
Fortschritt ist nicht linear (und auch nicht exponentiell)
In der KI-Branche werden auch solche Einschränkungen als überwindbare Probleme gesehen. Als Beispiel werden andere, bedeutende Probleme aus der KI-Forschung genannt, die in den letzten zehn Jahren von skalierten Sprachmodellen mühelos überwunden wurden.
Hier lohnt sich ein Blick auf die Flugindustrie. Nachdem die ersten Flugzeuge in den 1910er Jahren gebaut wurden, wurden diese schneller und schneller. Im zweiten Weltkrieg erwiesen sich Propeller als Schranke zu höheren Geschwindigkeiten. Die Einführung der Turbine überwand diese Schranken spielend, Überschallgeschwindigkeit wurde nicht viel später durch die Concorde bis in die zivile Luftfahrt gebracht. Als Boeing die 747 entwarf, wurde diese so konzipiert, dass sich das Flugzeug in ein Transportflugzeug verwandeln lassen würde, wenn Überschallflugzeuge zur Normalität und die 747 keine Passagiere mehr transportieren würde.
Bis heute wird die 747 für Passagiere benutzt, mit Überschallgeschwindigkeit wird fast nur militärisch geflogen, und Zivilflugzeuge sind sogar langsamer als in den 1960ern. Die Schallmauer hat sich als starke Grenze erwiesen, eine die technisch zwar überwindbar ist, aber (noch) nicht wirtschaftlich. Die Kurve des Fortschritts ist am oberen Ende oft wieder flach, was häufig als “exponentiell” bezeichnet wird, ist am oberen Ende logarithmisch.
Mit grossen Sprachmodellen, die als Zugpferde der KI gesehen werden, könnte es ähnlich sein. Einzelne Schranken konnten sie zwar überwinden, und möglicherweise werden sie noch am einen oder anderen Durchbruch beteiligt sein.
Wir sehen diese Sprachmodelle jedoch als ausgezeichnete Werkzeuge, aber weder als Inkarnation der künstlichen Intelligenz, noch als einzige Lösung für viele Probleme auf der Welt. Ein Blick auf andere Architekturen lohnt sich. Es gibt noch eine Reihe interessanter Ansätze, die in den letzten Jahren vernachlässigt wurden, die aber effizienter und effektiver sein könnten.
In unserer Arbeit verfolgen wir auch diese, und setzen uns gegen ein KI-Dogma ein. Wir sind überzeugt, dass unsere Arbeit spannend bleibt.
(dieser Artikel wurde gänzlich ohne KI, insbesondere LLMs geschrieben)
-
Formale Sprachen sind, anders als natürliche Sprachen, einer strikten Struktur unterlegt. Damit können diese eindeutig von Computern interpretiert und ausgeführt werden. Natürliche Sprache ist nicht immer eindeutig. Zudem haben formale Sprachen typischerweise weniger Wörter. ↩
-
https://borretti.me/article/letting-claude-play-text-adventures ↩