COBOL-Coder: Domain-Adapted Large Language Models for COBOL Code Generation and Translation
Dit artikel introduceert COBOL-Coder, een gespecialiseerd groot taalmodel dat middels een geautomatiseerd data-curatieproces is getraind om aanzienlijk betere resultaten te boeken bij het genereren en vertalen van COBOL-code dan bestaande algemene modellen, zoals bevestigd door zowel benchmarks als feedback van ervaren ontwikkelaars.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
COBOL-Coder: De Digitale Restauratie-expert
Stel je voor dat de wereld van computers net als een oude stad is. De meeste nieuwe gebouwen zijn modern, glanzend en gebouwd van glas en staal (dat zijn talen zoals Python en Java). Maar in de kelder van deze stad, waar de echte zware lasten worden gedragen, staan nog steeds enorme, oude stenen gebouwen. Dit zijn de mainframes die de banken, verzekeraars en overheden runnen. De taal waarin deze gebouwen zijn gebouwd, heet COBOL.
Het probleem? De oude bouwmeesters die deze gebouwen hebben ontworpen, gaan met pensioen. De nieuwe bouwmeesters (de moderne kunstmatige intelligentie of AI) zijn fantastisch in het ontwerpen van glazen wolkenkrabbers, maar ze weten niet hoe ze met die oude stenen moeten werken. Als je hen vraagt om een muur in een oud COBOL-gebouw te repareren, bouwen ze vaak een glazen toren die niet past, of ze laten gewoon een gat in de muur.
Deze paper introduceert COBOL-Coder, een nieuwe soort AI die speciaal is getraind om deze oude gebouwen te begrijpen, te repareren en zelfs om te bouwen.
Hier is hoe ze dat hebben gedaan, vertaald in alledaagse termen:
1. Het verzamelen van de juiste blauwdrukken (De Data)
Om een expert te worden, moet je eerst veel boeken lezen en oude tekeningen bestuderen. Maar COBOL-boeken zijn zeldzaam en vaak verspreid over oude archieven.
- Het probleem: De meeste AI's hebben gelezen op internet, maar daar vind je weinig COBOL. Wat ze wel vinden, is vaak onvolledig of foutief (zoals een bouwtekening met ontbrekende lijnen).
- De oplossing: De onderzoekers hebben een slimme "robot-detective" gebouwd.
- Ze hebben duizenden COBOL-bestanden van internet gehaald.
- Ze hebben ze door een strenge bouwkundige controle (de compiler) gestuurd. Als een bestand niet paste, gaf de computer een foutmelding.
- Een slimme AI (zoals een ervaren meester-bouwmeester) keek naar die foutmelding en repereerde het bestand totdat het perfect paste.
- Ze maakten ook "synthetische" voorbeelden: ze namen moderne Java-code en vertaalden die terug naar COBOL, om te zien of de oude structuur behouden bleef.
Het resultaat is een enorme bibliotheek van perfecte COBOL-voorbeelden, waar de AI van kan leren.
2. De Speciale Leerling (COBOL-Coder)
Vervolgens namen ze een zeer slimme, algemene AI (een "universele bouwmeester") en gaven ze hem een speciale opleiding.
- In plaats van alles te leren over alle talen, leerden ze deze AI alleen COBOL.
- Ze noemden hem COBOL-Coder.
- Het is alsof je een briljante architect die alleen moderne huizen bouwt, een jaar lang laat studeren bij de laatste overlevende meester-bouwmeester van de middeleeuwen. Hij leert de specifieke regels, de oude dialecten en de manier waarop de stenen precies moeten liggen.
3. De Proef (De Test)
Hoe goed werkt deze nieuwe AI? De onderzoekers hebben hem op de proef gesteld op twee manieren:
- Nieuwe gebouwen bouwen (Code Generatie): Ze gaven de AI een opdracht (bijvoorbeeld: "Bereken de rente voor een klant") en keken of hij een werkend COBOL-programma kon maken.
- Resultaat: De oude, algemene AI's (zoals GPT-4) faalden bijna volledig of maakten programma's die niet werkten. COBOL-Coder slaagde bijna 74% van de tijd en maakte programma's die daadwerkelijk werkten.
- Ombouwen (Vertaling): Ze vroegen de AI om moderne Java-code om te zetten naar oude COBOL-code (en andersom). Dit is heel lastig, omdat het twee totaal verschillende stijlen zijn.
- Resultaat: De algemene AI's maakten hier bijna niets van terecht. COBOL-Coder slaagde erin om de moderne code om te zetten naar correcte, oude COBOL-code.
4. Wat zeggen de echte vakmensen?
De onderzoekers hebben niet alleen gekeken naar cijfers, maar ook gepraat met echte COBOL-experts (de "oudste bouwmeesters" van de stad).
- De experts vonden dat COBOL-Coder voelde als een van hen. De code zag eruit zoals ze het gewend waren: netjes, gestructureerd en veilig.
- De algemene AI's maakten code die "te modern" of "te rommelig" aanvoelde voor een mainframe.
- De experts zagen COBOL-Coder niet als een robot die alles voor ze doet, maar als een junior medewerker. Een junior die een eerste opzet maakt, waarna de senior (de mens) het controleert en verbetert. Dit bespaart enorm veel tijd en hoofdpijn.
Conclusie: Waarom is dit belangrijk?
Deze paper laat zien dat voor oude, speciale systemen geen "grootste en slimste" AI nodig is, maar een speciale expert.
Het is alsof je een auto wilt repareren. Je kunt een wereldkampioen Formule 1-coureur vragen om een oude, stalen Ford uit 1960 te repareren. Hij is misschien de beste coureur ter wereld, maar hij weet niet hoe je aan die specifieke motor moet sleutelen. Je hebt liever een specialist die precies weet hoe die oude Ford werkt.
COBOL-Coder is die specialist. Hij zorgt ervoor dat de oude, cruciale systemen van onze wereld (onze geld, onze verzekeringen) veilig blijven staan, terwijl we ze langzaam kunnen ombouwen naar de toekomst.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.