Mistral Pakai Agen AI untuk Migrasikan 40 Ribu Baris Fortran 77 ke C++

Pada 9 September, Mistral merilis studi kasus pelanggan yang menjelaskan bagaimana perusahaan ini memakai agen AI buatannya sendiri untuk memigrasikan simulator reservoir milik sebuah operator energi Eropa dari Fortran 77 ke C++. Basis kode secara keseluruhan berjumlah 300.000 baris, dan proyek ini menyentuh 40.000 baris di antaranya. Saat proyek dimulai, tidak ada apa pun yang tersedia: tidak ada test suite, dan dokumentasi pun tidak terkumpul di satu tempat.

Laporan itu merinci dengan jelas apa yang membuat Fortran 77 sulit ditangani: tidak ada modul, tidak ada namespace, tidak ada tipe terstruktur. Status program disimpan dalam COMMON block, yang pada dasarnya adalah memori global yang dipakai bersama oleh seluruh program. Tipe variabel ditentukan secara implisit dari huruf pertamanya, dan nama variabel dibatasi maksimal enam karakter, sehingga membaca kodenya nyaris seperti menebak.

Percobaan pertama menyerahkan seluruh tugas ke satu agen yang bekerja sendiri. Setelah satu minggu, cara ini tidak berhasil. Tim lalu beralih ke pendekatan yang melibatkan manusia dan membagi pekerjaan per modul, di mana setiap modul dipecah ke empat peran: perencanaan, penulisan kode, pengujian, dan tinjauan kualitas kode, dengan alur “rencanakan → implementasikan → uji → ulangi”. Peran utama manusia dalam proses ini adalah melepaskan agen ketika mereka mentok.

Dokumentasi dulu, baru kodenya

Tahap dokumentasi dikerjakan lewat Vibe CLI dengan menjalankan lebih dari seratus agen secara paralel. Setiap agen bisa menarik PDF terkait melalui pustaka dokumen dan Mistral OCR untuk dibaca — asumsi fisik di balik perangkat lunak industri seringkali hanya tertulis di laporan cetak atau berkas hasil pindai, dan inilah bagian paling menyita waktu dalam proyek tanpa dokumentasi terpusat.

Pembagian modul mengikuti aturan praktis: kode Fortran per modul dijaga sekitar 10.000 baris atau kurang.

Kecocokan numerik sebagai standar kelulusan

Yang menopang proyek ini adalah mekanisme verifikasi kesetaraan yang terdiri dari tiga bagian: sekumpulan subrutin yang mengekspor status runtime dari basis kode Fortran, kerangka pengujian yang memuat checkpoint tersebut ke C++, dan beberapa berkas Skill.md yang memandu agen agar memakai kedua alat itu dengan benar.

Laporan itu memberi contoh konkret: seorang agen menyisipkan satu baris ke kode Fortran untuk mencetak nilai variabel RHOG, dan hasil dari eksekusi itu adalah 42,71834. Angka yang sama kemudian dipakai sebagai checkpoint rujukan untuk menguji modul C++ hasil migrasi.

"Numerical agreement is the cheapest, most convincing proof that a module is done."

Kecocokan angka adalah bukti paling murah sekaligus paling meyakinkan bahwa sebuah modul sudah selesai dimigrasikan.

Pelajaran yang lebih penting di sini mungkin bukan soal model mana yang dipakai Mistral. Kode komputasi inti di sektor kelistrikan, migas, cuaca, dan penerbangan banyak yang masih berupa Fortran peninggalan era 1970-80an — dengan kondisi serupa: tanpa pengujian, tanpa dokumentasi, dan penulis aslinya sudah lama pensiun. Selama belasan tahun terakhir, wacana “menulis ulang” kode semacam ini biasanya mentok di tahap persetujuan: tanpa baseline, tidak ada yang berani menandatangani hasil tulisan ulang tersebut. Pendekatan Mistral memindahkan otoritas persetujuan itu ke checkpoint numerik, sebuah langkah yang sebenarnya tidak ada hubungannya dengan agen AI siapa yang dipakai — yang dibutuhkan hanyalah kode lama yang masih bisa dijalankan.

Prasyaratnya juga dijelaskan dalam laporan tersebut. Mistral mengakui bahwa kondisi awal proyek ini cukup menguntungkan: basis kode Fortran-nya mandiri dan bisa dijalankan. Laporan itu menyebutkan tiga kategori kasus yang jelas akan jauh lebih sulit — yang bergantung pada sistem eksternal, yang tidak punya baseline yang bisa dijalankan, dan yang asumsi fisiknya sama sekali tidak terdokumentasi. Soal seberapa jauh cara ini lebih cepat dibanding menulis ulang secara manual, laporan tidak memberikan angka.

Sumber: blog resmi Mistral, CocoLoop; jumlah baris kode, ambang batas pembagian modul, pembagian peran agen, dan nilai checkpoint RHOG diverifikasi berdasarkan studi kasus resmi.