OpenAI untersucht die Leistungsfähigkeit von Large Language Models (LLMs) bei Programmiersprachen mit geringen Trainingsdaten („Low-Resource Languages“) und der Migration von Altsystemen. Die Diskussion beleuchtet interne KI-Tests wie die Neuentwicklung von SQLite, den Umgang mit Nischen- und Assemblersprachen sowie die Risiken des KI-gestützten Schreibens („Vibe Coding“) für sicherheitskritische Infrastrukturen wie COBOL und Fortran.
Wichtigste Punkte
OpenAI-Interne Benchmarks: OpenAI testet Modelle anhand anspruchsvoller Programmieraufgaben, darunter die vollständige Neuentwicklung des relationalen Datenbanksystems SQLite unter Wahrung der Binärkompatibilität sowie die automatisierte Migration von COBOL-Altsystemen in moderne Sprachen wie C++, Java, Kotlin, Python und Rust.
Bedeutung von Altsprachen: Sprachen wie COBOL (tragen weltweit über 40 % der Online-Bankensysteme, 80 % der Kreditkartentransaktionen und 95 % der Geldautomaten) und Fortran (Einsatz in Wettervorhersage und Reaktorsicherheit) bilden nach wie vor das Fundament kritischer Infrastrukturen, was den Bedarf an automatisierter Code-Analyse und Migration erhöht.
Leistungsgrenzen bei Low-Resource-Sprachen: Während moderne LLMs dank flexibler Kontextfenster Syntaxmuster seltener Programmiersprachen adaptieren können, zeigen sie bei stark restriktiven Low-Level-Domänen wie traditionellem Assembler deutliche Leistungsschwächen.
Diskussions-Highlights
Assembler und Modernisierungsansätze: Entwickler diskutieren alternative Ansätze wie symbolasm, eine Assembler-Syntax mit C-ähnlichen Typen, die darauf abzielt, die Programmierabsicht klarer zu strukturieren und LLMs verlässlichere Compiler-Verifizierungen zu ermöglichen.
Erfolge im Retro-Reverse-Engineering: Die gemeinschaftliche Aufarbeitung von Nischentechnologien wie Lingo/Shockwave (am Beispiel von Habbo Origins und dem Client-Refactoring über PixiJS/Keystone) zeigt, dass LLMs historische, kaum dokumentierte Software-Stacks erfolgreich analysieren und modernisieren können.
Sicherheitsbedenken beim Vibe Coding: Kommentatoren äußern erhebliche Bedenken hinsichtlich des Einsatzes von „Vibe Coding“ (vollständig KI-generiertem Code ohne tiefes menschliches Verständnis) für sicherheitskritische Systeme wie Banken-Backends oder Atomkraftwerke, während Befürworter die Reduzierung langfristiger technischer Schulden betonen.
Verfügbarkeit von Testsuiten: Es wird kritisiert, dass ein wesentlicher Teil der offiziellen SQLite-Testsuite (TH3) proprietär und kostenpflichtig ist, was eine unabhängige Validierung der KI-generierten Nachbauten durch Dritte erschwert.
Glossar
Large Language Model (LLM): Ein auf maschinellem Lernen basierendes Sprachmodell, das darauf trainiert ist, menschliche Sprache und Quellcode zu verstehen, zu analysieren und zu generieren.
Binärkompatibilität: Die Eigenschaft einer neu geschriebenen Software, exakt dieselben Dateiformate, Speicherstrukturen und Aufrufe wie ein Originalsystem zu verwenden, sodass bestehende Daten und abhängige Programme unverändert weiter funktionieren.
COBOL: Eine ältere, prozedurale Programmiersprache, die seit Jahrzehnten massiv im kommerziellen Bereich, insbesondere im Banken- und Finanzsektor, eingesetzt wird.
Fortran: Eine traditionsreiche Programmiersprache für hochleistungsfähige numerische und wissenschaftliche Berechnungen, unter anderem in der Meteorologie und Kerntechnik.
Assembler: Eine maschinennahe Programmiersprache, bei der Maschinenbefehle direkt in eine lesbare Textform (Mnemonics) übersetzt werden.
Reverse Engineering: Die systematische Analyse eines bestehenden Softwaresystems oder Produkts, um dessen Architektur, Schnittstellen oder Quellcode ohne vorherige Dokumentation nachzuvollziehen.
Vibe Coding: Eine umgangssprachliche Bezeichnung für einen Softwareentwicklungsprozess, bei dem Entwickler primär Anweisungen an KI-Agenten übergeben, ohne den erzeugten Quellcode zeilenweise manuell zu schreiben oder im Detail zu prüfen.
TH3: Die proprietäre Haupt-Testsuite für das Datenbanksystem SQLite, die für die Verifizierung der vollständigen SQL-Standardkonformität und Robustheit verwendet wird.