SciCode
SciCode ist ein Test, mit dem Forscher prüfen, ob ein KI-Programm echte wissenschaftliche Rechenaufgaben in Programmcode umsetzen kann. Die Aufgaben stammen aus Physik, Biologie, Chemie und Mathematik und stellen selbst starke Systeme vor große Probleme.
SciCode ist eine Sammlung von Prüfungsaufgaben für Computerprogramme, die Text schreiben und Fragen beantworten können. Solche Aufgabensammlungen nennt man in der Fachwelt Benchmarks. Sie funktionieren wie eine Klassenarbeit: alle Prüflinge bekommen dieselben Aufgaben, und am Ende gibt es eine Punktzahl zum Vergleichen. Bei SciCode sind die Aufgaben allerdings sehr speziell. Das geprüfte Programm soll Rechenprobleme aus der Wissenschaft lösen, indem es dafür eigenständig Programmcode schreibt. Die Aufgaben stammen von echten Forscherinnen und Forschern und wurden aus Fachartikeln abgeleitet, unter anderem aus der Physik, der Chemie, der Biologie und der Mathematik.
Was SciCode über echte Forschungsarbeit verrät
Viele bekannte Programmiertests bestehen aus kleinen Aufgaben, wie man sie aus einem Anfängerkurs kennt. Ein Beispiel wäre: sortiere eine Liste von Zahlen. Solche Aufgaben lösen heutige Systeme fast fehlerfrei. Die Punktzahlen liegen dort so hoch, dass man kaum noch Unterschiede zwischen den Modellen erkennt. Ein Test, bei dem alle eine Eins schreiben, sagt wenig aus.
SciCode setzt bewusst tiefer an. Hier reicht es nicht, eine Programmiersprache zu beherrschen. Man muss zusätzlich verstehen, welche Formel physikalisch überhaupt gilt, und diese dann korrekt in Rechenschritte übersetzen. Genau das machen Forschende täglich, wenn sie Simulationen oder Auswertungen programmieren. Der Test misst also nicht Schulwissen, sondern etwas, das echter Laborarbeit nahekommt.
Die Ergebnisse sind deshalb ernüchternd und aufschlussreich zugleich. Selbst die stärksten Systeme lösten anfangs nur einen einstelligen Prozentanteil der vollständigen Hauptaufgaben. Das ist ein wichtiger Gegenpunkt zu Schlagzeilen, die KI als fertigen Forschungsassistenten darstellen. SciCode zeigt nüchtern, wie groß der Abstand zu diesem Ziel noch ist.
Aufgeteilte Aufgaben und der Test am Rechenergebnis
Jede Hauptaufgabe in SciCode beschreibt ein größeres wissenschaftliches Problem. Sie wird in mehrere kleinere Teilschritte zerlegt, meist eine Handvoll pro Aufgabe. Insgesamt enthält die Sammlung etwa 80 Hauptaufgaben und um die 300 Teilschritte. Das geprüfte System bearbeitet die Teilschritte nacheinander und baut dabei auf seinen eigenen früheren Lösungen auf. Ein Fehler am Anfang zieht sich also durch den Rest.
Bewertet wird nicht, ob der Code hübsch aussieht. Stattdessen lässt man ihn laufen und vergleicht die berechneten Zahlen mit Referenzwerten, die Fachleute vorher festgelegt haben. Weicht das Ergebnis ab, gilt der Schritt als falsch. Diese Prüfung ist streng, aber sie lässt sich nicht durch schön formulierte Erklärungen austricksen.
Zu jeder Aufgabe gehört außerdem ein wissenschaftlicher Hintergrundtext. Man kann den Test mit oder ohne diese Hilfe durchführen. Ohne Hintergrund muss das Modell das nötige Fachwissen selbst mitbringen. Der Vergleich beider Varianten zeigt, woran es hakt: am fehlenden Wissen oder am Programmieren.
SciCode in Modellankündigungen und Ranglisten
Wenn ein Unternehmen ein neues Sprachmodell vorstellt, veröffentlicht es fast immer eine Tabelle mit Benchmark-Ergebnissen. Neben bekannten Namen taucht dort inzwischen häufig SciCode auf. Ein Prozentwert daneben bedeutet den Anteil korrekt gelöster Teilschritte oder Hauptaufgaben. Beim Lesen lohnt es sich, genau darauf zu achten, denn die beiden Zahlen unterscheiden sich stark.
Für Anlegerinnen und Anleger ist der Test interessant, weil er auf einen möglichen Markt zielt. Firmen, Universitäten und Pharmaunternehmen hoffen auf Software, die Forschungsarbeit beschleunigt. Fortschritte bei SciCode gelten als Hinweis darauf, dass diese Hoffnung realistischer wird.
Ein verbreiteter Irrtum sollte dabei nicht untergehen. Eine hohe Punktzahl in SciCode bedeutet nicht, dass ein System selbst forschen kann. Es löst Aufgaben, deren Lösungsweg Menschen bereits kannten und aufgeschrieben haben. Neue Fragen zu stellen ist etwas anderes als bekannte Rechnungen korrekt nachzubauen.