Specification Portability Across LLM Development Agents: Cross-Agent Compatibility in Specification-Driven Software Migration
Dit artikel toont aan dat specificaties gegenereerd door de ene AI-agent voor Oracle-naar-PostgreSQL-migratie vaak niet effectief overdraagbaar zijn naar andere agenten, wat een significante agent-afhankelijke degradatie in de kwaliteit van de implementatie onthult en de noodzaak benadrukt van expliciete strategieën zoals retrieval-augmented ingestie om cross-agent compatibiliteit in software engineering-workflows te waarborgen.
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
In de moderne wereld van softwarecreatie is een nieuw soort werknemer toegetreden aan het team: het grote taalmodel. Dit zijn krachtige computerprogramma's die getraind zijn op enorme hoeveelheden tekst en code, in staat om een beschrijving van een taak te lezen en de instructies te schrijven die een computer nodig heeft om deze uit te voeren. Naarmate deze tools gebruikelijker worden, verschuift de focus van ontwikkelaars van simpelweg vragen om code te schrijven naar het geven van gedetailleerde blauwdrukken, ook wel specificaties genoemd. Deze specificaties fungeren als operationele gidsen, die het model precies vertellen wat het moet bouwen, hoe het zich moet gedragen en welke regels het moet volgen. Deze benadering, genaamd specificatiegestuurde ontwikkeling, belooft de creatie van software betrouwbaarder en gestructureerder te maken. Er is echter een kritische vraag ontstaan nu teams beginnen met het gebruik van meerdere verschillende modellen om een enkel systeem te bouwen: als het ene model een perfect blauwdruk schrijft, zal een ander model dan in staat zijn om het te lezen en hetzelfde te bouwen? De aanname was dat een goed plan een goed plan is, ongeacht wie het leest, maar de realiteit van hoe deze machines informatie interpreteren is veel complexer.
Onderzoekers bij EPAM Systems besloten deze aanname te testen door softwaremigratie te behandelen als een gecontroleerd experiment. Ze kozen voor een specifieke, moeilijke taak: het migreren van databasecode van het ene systeem, Oracle, naar het andere, PostgreSQL. Deze twee systemen spreken vergelijkbare talen maar hebben verschillende dialecten, wat een precieze vertaling van logica, datatypen en functies vereist. Het team stelde eerst een nulmeting vast door één enkel model een specificatie te laten genereren en vervolgens diezelfde specificatie direct te gebruiken om de nieuwe code te schrijven. Dit werkte redelijk goed; van meer dan duizend bronbestanden genereerde het systeem succesvol meer dan 600, en bijna 400 van die nieuwe scripts draaiden correct in de doelomgeving. Dit bewees dat de methode van het gebruiken van een tussenstap in de vorm van een specificatie levensvatbaar was. Maar de echte test kwam toen ze een tweede, ander model in de mix introduceerden.
De onderzoekers creëerden een scenario waarin één model, zoals Amazon Kiro, een specificatie zou schrijven, en vervolgens een totaal ander model, zoals Google Gemini of GitHub Copilot, dat document zou ontvangen om de code te genereren. Ze wilden zien of het tweede model het plan van het eerste model kon begrijpen zonder kwaliteitsverlies. De resultaten waren opmerkelijk en verrassend. De omvang van de specificatie bleek irrelevant voor de uitkomst. Het ene model produceerde een massief, gedetailleerd document met bijna 1.600 regels tekst, terwijl een ander een beknopte versie produceerde van slechts ongeveer 200 regels. Toch voorspelde de lengte van het document niet hoe goed de code zou werken. Sterker nog, de belangrijkste bevinding was dat de oorsprong van de specificatie enorm veel uitmaakte. Wanneer Google Gemini een specificatie kreeg die door Amazon Kiro was geschreven, stortte de kwaliteit van de resulterende code in. De nieuwe scripts werkten niet, bevatten syntactische fouten en leken totaal niet op het beoogde doel. Dit falen was geen eenmalige glitch; de onderzoekers herhaalden het experiment en zagen dezelfde dramatische daling in prestaties, wat bevestigde dat de twee modellen er simpelweg niet in slaagden om het eens te worden over de interpretatie van dezelfde set instructies.
Deze incompatibiliteit was echter niet universeel, wat een laag van nuance aan de ontdekking toevoegde. Terwijl Gemini diep worstelde met de specificaties van Kiro, ging GitHub Copilot veel beter om met dezelfde vreemde documenten en presteerde soms zelfs even goed met hen als met de eigen documenten. Dit suggereerde dat het probleem niet was dat vreemde plannen inherent slecht waren, maar dat verschillende modellen verschillende manieren hebben om tekst te lezen en te begrijpen. Om dit aan te pakken, testte het team verschillende manieren om de kloof te overbruggen. Ze probeerden de vreemde specificaties te herschrijven naar een nieuw formaat dat het ontvangende model wellicht de voorkeur zou geven, en ze probeerden de tekst te comprimeren om deze korter te maken. Het herschrijven hielp Gemini aanzienlijk en bracht de prestaties terug naar een bruikbaar niveau, maar het comprimeren van de tekst bood geen echt voordeel. De meest veelbelovende strategie betrof een techniek genaamd retrieval-augmented generation. In plaats van de volledige specificatie in één keer aan het model te voeren, gaven de onderzoekers het model een hulpmiddel om door het document te zoeken en alleen de specifieke delen eruit te halen die het nodig had voor de huidige taak. Deze aanpak won niet op elk enkel aspect, maar het was de enige methode die een consistent sterke balans bood tussen prestaties voor zowel de worstelende als de succesvolle modellen.
De studie concludeert dat in een wereld waar software wordt gebouwd door een team van verschillende kunstmatige intelligentie-agenten, een specificatie niet kan worden beschouwd als een neutraal, universeel document. Een plan geschreven door de ene agent is niet automatisch een geldige instructieset voor een andere. De effectiviteit van de code hangt sterk af van de specifieke relatie tussen het model dat het plan schreef en het model dat de software bouwt. Als een team één agent vervangt voor een andere, kunnen zij niet simpelweg aannemen dat de bestaande blauwdrukken zullen werken; zij moeten mogelijk de taal van het plan aanpassen of veranderen hoe de nieuwe agent toegang krijgt tot de informatie. Het onderzoek suggereert dat de toekomst van multi-agent software engineering een nieuwe focus zal vereisen op hoe specificaties worden gestructureerd en geleverd, om ervoor te zorgen dat de kennis die in een plan besloten ligt, daadwerkelijk begrepen kan worden door de machine die de taak heeft om het te bouwen.
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.