TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignment
Dit paper introduceert TransAgent, een nieuw multi-agent systeem dat de nauwkeurigheid van codevertaling door grote taalmodellen verbetert door fouten te lokaliseren en te corrigeren via fijnmazige uitvoeringsalignatie tussen bron- en doeltaalcode.
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
Stel je voor dat je een meesterkok bent die een recept uit het Frans wilt vertalen naar het Nederlands. Je gebruikt een slimme AI-assistent om dit te doen. De AI schrijft het recept op, maar er zitten een paar problemen in: misschien is de grammatica verkeerd (je schrijft "de boter" in plaats van "de boter"), of misschien is de logica raar (je zegt "bak de kip tot hij blauw is" in plaats van "goudbruin").
Tot nu toe waren de beste AI-tools voor dit soort taken als een kok die blindelings probeert het recept te verbeteren door alleen naar het eindresultaat te kijken. Als het gerecht niet smaakt, zegt de AI: "Oh, het is niet goed, ik ga het hele recept opnieuw proberen." Dit werkt vaak niet, omdat de AI niet precies weet waar de fout zit.
TransAgent is een nieuwe, slimme oplossing die dit probleem oplost. Het werkt niet als één enkele kok, maar als een team van vier gespecialiseerde experts die samenwerken. Hier is hoe het werkt, vertaald naar alledaagse taal:
1. De Vertaler (De Initieel Code Translator)
Deze expert doet de eerste poging. Hij neemt het Franse recept en schrijft het op in het Nederlands. Hij maakt ook een proefmenu (testcases) om te zien of het gerecht eruitziet zoals het moet. Maar vaak zit er nog een foutje in de grammatica of de logica.
2. De Grammatica-Check (De Syntax Error Fixer)
Deze expert kijkt of de zinnen kloppen. Als de AI "de boter" heeft geschreven in plaats van "de boter", of als er een punt mist, grijpt deze expert in. Hij pakt de foutmelding van de computer (die vaak vaag is, zoals "fout in regel 5") en vertaalt die naar een duidelijke instructie: "Ah, je vergeet een haakje!" Dan maakt hij het direct goed.
3. De Kaartmaker (De Code Aligner) – Het geheimzinnige wapen
Dit is het meest creatieve deel. Stel, in het Franse recept staat één lange zin over het snijden van groenten. In het Nederlandse recept is dat misschien opgesplitst in drie korte zinnen, of de volgorde is andersom. Als je alleen naar de zinnen kijkt, lijkt het alsof ze niet overeenkomen.
De Kaartmaker gebruikt een slimme truc: hij kijkt niet naar zinnen, maar naar blokken van actie. Hij zegt: "Oké, dit blokje 'groenten snijden en bakken' in het Franse recept, dat komt overeen met dat blokje 'groenten snijden, bakken en kruiden' in het Nederlandse recept."
Hij maakt een kaartje (een 'block-level alignment') dat precies laat zien welk stukje van het Franse recept overeenkomt met welk stukje van het Nederlandse recept. Dit is veel slimmer dan alleen lijntjes vergelijken, want het houdt rekening met de structuur van de logica.
4. De Smaakproever (De Semantic Error Fixer) – De echte held
Nu komen we bij het echte probleem: de logica. Stel, het Franse recept zegt: "Bak de kip tot hij 75 graden is." Het Nederlandse recept zegt per ongeluk: "Bak de kip tot hij 75 seconden is." De kip is dan nog rauw, maar de grammatica klopt wel.
De Smaakproever doet iets heel speciaals. Hij draait het Franse recept én het Nederlandse recept tegelijkertijd op. Hij kijkt niet alleen naar het eindresultaat, maar hij kijkt tijdens het koken naar de temperatuur van de kip in beide pannen.
- Hij ziet: "Wacht, in het Franse recept is de temperatuur nu 50 graden. In het Nederlandse recept is het ook 50 graden. Goed."
- Dan: "In het Franse recept is het nu 75 graden. In het Nederlandse recept is het nog steeds 50 graden, want de timer loopt te kort!"
Omdat hij precies weet waar de twee recepten uit elkaar beginnen te lopen (het blokje met de timer), kan hij de AI vertellen: "Kijk hier! Je hebt de timer verkeerd ingesteld. Pas alleen dit stukje aan."
Waarom is dit zo goed?
Vroeger probeerden AI's het hele recept opnieuw te schrijven als het niet smaakte. Dat was als een kok die, als de soep te zout is, de hele pot weggooit en opnieuw begint, in plaats van gewoon wat water toe te voegen.
TransAgent is als een team dat:
- De grammatica checkt.
- Een kaart maakt van welke stukken overeenkomen (zelfs als de zinnen anders zijn opgebouwd).
- Tijdens het koken precies kijkt waar de smaken uit elkaar lopen.
- Alleen dat ene kleine stukje repareert.
Het resultaat?
De onderzoekers hebben getest of dit werkt met een nieuwe set recepten (code) die de AI nog nooit eerder heeft gezien. Het team van TransAgent slaagde er veel beter in dan de beste eerdere methoden. Het maakte 33% minder fouten dan de vorige leider en repareerde fouten 56% beter dan andere slimme systemen.
Kortom: TransAgent maakt van code-vertalen geen giswerk meer, maar een precieze, stap-voor-stap reparatie waarbij de AI precies weet waar hij moet kijken en wat hij moet doen.
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.