Mistral hat am 9. September 2026 beschrieben, wie ein wissenschaftliches Fortran-77-System eines europäischen Energieversorgers nach C++ migriert wurde. Das gesamte Programm umfasst laut Mistral rund 300.000 Zeilen; im ersten Sprint wurden 40.000 Zeilen übertragen.
Der erste Versuch war weitgehend autonom. Er funktionierte, lieferte aber vor allem Fortran-Strukturen in C++-Syntax. COMMON-Blöcke wurden zu globalen Strukturen, GOTO-basierter Kontrollfluss blieb bestehen. Erst der spätere Workflow mit Parity-Tests, Dokumentation, kleineren Arbeitseinheiten und menschlichen Review-Grenzen brachte eine tatsächliche Modernisierung.
Vor der Migration musste erst eine Referenz entstehen
Das Ausgangssystem hatte laut Mistral keine zentrale Dokumentation und keine Testsuite. Bei einem physikbasierten Reservoir-Simulator reicht es nicht, wenn der neue Code kompiliert und plausible Zahlen ausgibt. Das Verhalten muss mit dem alten System vergleichbar sein.
Mistral baute dafür einen Parity Harness. Zusätzliche Fortran-Subroutinen exportierten Zustände des laufenden Programms. Das C++-Testframework lud diese Checkpoints und verglich Endergebnisse sowie ausgewählte Zwischenwerte. Welche Werte fachlich relevant waren, legten Reservoir-Ingenieure des Kunden fest. Mistral nennt unter anderem RHOG mit dem Referenzwert 42,71834.
Damit gab es vor der eigentlichen Portierung eine maschinenprüfbare Bedingung für fachliche Gleichheit. Der Agent musste diese Gleichheit nicht selbst beurteilen.
Mehr als hundert Agenten dokumentierten den Bestand
Fortran 77 erschwert eine solche Migration unter anderem durch COMMON-Blöcke, implizite Typisierung und wenig Struktur, die sich direkt auf moderne C++-Konzepte abbilden lässt.
Mistral erzeugte zunächst mit einem eigenen Parser einen Caller-Callee-Baum. Danach arbeiteten über Vibe CLI mehr als hundert Agenten von den Blättern dieses Baums nach oben. Sie nutzten vorhandene PDFs, Kommentare und Mistral OCR. Die Ergebnisse landeten als Pull Requests im Repository; ein weiterer Agent prüfte neue PRs und erzeugte bei Bedarf Korrekturaufgaben.
Diese Phase ließ sich gut parallelisieren, weil die Agenten nicht gleichzeitig dieselbe Architektur umbauten. Sie sammelten und strukturierten Wissen über den Bestand.
Der autonome Ansatz modernisierte kaum
Im ersten Migrationsversuch bearbeitete jeweils ein Agent eine Fortran-Subroutine. Nach einer Woche war der Code laut Mistral funktional, aber strukturell kaum verändert.
Beim zweiten Versuch bekam jedes Modul mehrere Rollen für Planung, Implementierung, Tests und Code-Qualität. Die Ergebnisse wurden besser, bei komplexeren Fehlern liefen die Agenten jedoch weiter in Sackgassen. Es fehlte jemand, der nach mehreren erfolglosen Korrekturen die Richtung änderte.
Im finalen Verfahren blieb deshalb ein Mensch als Operator im Loop. Er konnte festgefahrene Läufe abbrechen, Architekturfragen klären und Pull Requests ablehnen. Mistral nennt unabhängige Module mit empirisch weniger als ungefähr 10.000 Fortran-Zeilen als sinnvolle Arbeitseinheiten. Für jedes Modul wurde zuerst eine Zielarchitektur erstellt und mit einem Reservoir-Ingenieur geprüft. Erst danach entstand die Task-Queue für Implementierung und Tests.
Die Zahl erzeugter Zeilen sagt wenig über den Erfolg
Bei einer Migration dieser Art ist Codeproduktion nicht der Engpass. Schwerer ist der Nachweis, dass sich Verhalten und Fachlogik nicht unbemerkt verändert haben.
Je mehr Code parallel entsteht, desto mehr braucht das Team einen Prüfmechanismus, der ohne erneute Modellbewertung auskommt. Dasselbe gilt außerhalb von Fortran: Ein Agent kann eine API umbauen oder Datenbankcode ersetzen. Ohne reproduzierbare Tests und klare Akzeptanzbedingungen wächst zunächst nur die Menge an Code, die jemand kontrollieren muss.
Mistral nennt keine belastbare Zeit- oder Kostenersparnis gegenüber einer manuellen Migration. Der untersuchte Code war außerdem selbstständig lauffähig; Systeme mit externen Abhängigkeiten, fehlender Referenzausführung oder undokumentierter Fachlogik wären schwieriger.
Die brauchbarste Aussage aus dem Bericht ist deshalb nicht „40.000 Zeilen mit AI migriert“. Der konkrete Workflow ist interessanter: erst Verhalten messbar machen, dann Bestand dokumentieren, danach in kleinen Modulen migrieren und den Menschen dort einsetzen, wo Agenten festfahren oder Architekturentscheidungen nötig werden.
Quellen: Mistral, „Modernizing complex legacy code with AI agents“, 9. September 2026: https://mistral.ai/news/legacy-code-modernization/ RuntimeWire, „Mistral's 40,000-line Fortran migration kept humans firmly in the loop“, 9. September 2026: https://runtimewire.com/article/mistral-fortran-migration-human-review-ai-agents