Van Legacy naar Toekomst: ALTEN’s AI-aanpak voor Codemodernisatie

Vandaag staan veel van onze klanten voor dezelfde uitdaging: het effectief toepassen van AI, vooral bij het werken met legacy-code. Het moderniseren van code is altijd al complex geweest. Het begrijpen van verouderde en slecht gedocumenteerde systemen kost tijd en nieuwe code toevoegen voelt vaak als tasten in het duister. In veel legacy-codebases besteden ontwikkelaars ongeveer 80% van hun tijd aan het begrijpen van bestaande code. Dit leidt tot vertragingen in de time-to-market en tot kwaliteitsproblemen. Precies hier kan AI het verschil maken.

Daarom heeft ons ALTEN Benelux-team een intern project gelanceerd om een AI-tool te ontwikkelen die veilig, gebruiksvriendelijk en eenvoudig te onderhouden is. Met onze ALTEN AI Accelerators, aangedreven door Large Language Models (LLMs), bieden we tools die het begrijpen van code makkelijker maakt, documentatie verbetert en betere besluitvorming ondersteunt gedurende het hele modernisatieproces.

Maak kennis met ons engineeringteam achter het project: Valentin (Software Developer), Clément (Software Engineer), Arthur (UI/UX Engineer) en Roel (Practice Manager). Samen beantwoorden zij onze vragen. 

Wat was de oorspronkelijke uitdaging die je hebt gezien en die dit platform heeft geïnspireerd?

Roel: We merkten dat veel van onze klanten moeite hebben met het toepassen van AI en het beheren van legacy-code. Code-modernisatie is al langere tijd onderdeel van onze expertise, en nu hebben we tools ontwikkeld om deze uitdagingen effectiever aan te pakken.

We beginnen met het helpen van klanten om hun code te begrijpen: met een LLM (Large Language Model) kunnen ze rechtstreeks vragen stellen over de codebase, en met automatische documentatiegeneratie leveren we duidelijke, gestructureerde documentatie in het gewenste formaat. We maken gebruik van slimme programmeertools die ons helpen sneller te werken, bijvoorbeeld door automatisch code aan te vullen en makkelijker door de code te navigeren.

Hoe gebruikt het ALTEN-platform AI om complexe codebases te begrijpen?   

Roel: Ons platform bevat momenteel drie hoofdtools: LLMs voor ontwikkelaars (een Copilot-achtige assistent), een Codebase Q&A-systeem en een documentatiegenerator om teams te helpen hun codebase beter te begrijpen.

Arthur: De kunstmatige intelligentie wordt niet alleen gebruikt om complexe databases te vereenvoudigen, maar heeft als hoofddoel documentatie te stroomlijnen voor legacy-code. Met legacy-code bedoelen we projecten binnen bedrijven waar door verloop van tijd of personeelswisselingen expertise en kennis verloren zijn gegaan.

Valentin: Ons platform ondersteunt dit door AI in te zetten om vragen van gebruikers te beantwoorden. In de praktijk stelt dit gebruikers in staat om gerichte informatie uit lange en complexe documenten te halen zonder alles te hoeven lezen.

Clément: De LLM gebruikt tools om toegang te krijgen tot de codebase. Het kan trefwoorden uit meerdere bestanden ophalen en contextueel nauwkeurige antwoorden geven. Daarnaast is de LLM effectief in het creëren van zinnen en het voeren van gesprekken met de gebruiker om samen documentatie op te stellen.

Wat maakt deze ALTEN-tool anders dan standaard AI-producten?

Valentin: Het doel van dit platform is natuurlijk om te functioneren als een virtuele assistent.

Clément: Onze belangrijkste focus bij ALTEN is het lokaal opslaan van data om mogelijke online datalekken te voorkomen, waarbij de LLM de enige externe verbinding is.

Arthur: Onze AI-tool is direct verbonden met het project zelf, waardoor het de codebase kan analyseren en autonoom kan opereren. We hebben de tool ontworpen om een gestructureerd proces te volgen, waarbij op elk kritisch moment om bevestiging van de gebruiker wordt gevraagd om nauwkeurigheid en afstemming te garanderen. Deze aanpak maakt onze oplossing echt maatwerk voor elke klant.

Roel: Wat ons platform onderscheidt, is de directe focus op de codebase van de klant, gecombineerd met best practices in softwarearchitectuur. Er zijn bekende methodes die softwarearchitecten helpen om een architectuur te begrijpen. Met onze AI Accelerators, aangedreven door LLMs, helpen we bij het moderniseren van code. Ze maken complexe code beter begrijpelijk, genereren heldere documentatie en bieden ondersteuning bij het nemen van technische beslissingen.

Kun je een functie delen waar je bijzonder trots op bent? 

Valentin: Een belangrijke functie van het platform is het genereren van meerdere diagrammen die complexe informatie vereenvoudigen.

Clément: Dit wordt gerealiseerd met behulp van de PlantUML-library, waarmee de LLM diagrammen kan genereren op basis van de wensen van de gebruiker. Het maken van diagrammen is volledig flexibel: elk deel van het diagram is aanpasbaar. De LLM en de gebruiker werken samen via een interactieve conversatie om het diagram te verfijnen en te optimaliseren. Zodra de gebruiker de definitieve versie goedkeurt, wordt deze opgeslagen en opgenomen in de documentatie.

Hoe pakken jullie personalisatie voor elke klant aan?  

Arthur: Hiervoor werken we nauw samen met de klant om een werkwijze op te stellen die herhaalbaar is voor toekomstige projecten. In deze fase komt personalisatie vooral tot uiting in het documenttemplate dat door de klant wordt aangeleverd.

Valentin: Door gebruik te maken van documenttemplates die door de klant zijn gevalideerd en lijken op de documenten die zij al gebruiken, zorgen we ervoor dat klanten hun bestaande werkwijzen kunnen behouden.

Clément: Voor generatie in Microsoft Word beginnen we met het Word-template van de klant, waarbij we de belangrijkste elementen zoals titels, subtitels, lettergroottes en kleuren behouden. Vervolgens voegen we markdown-placeholders toe aan het bestand: deze placeholders fungeren als variabelen die worden vervangen door de informatie die tijdens het gesprek tussen de LLM en de gebruiker is verzameld.

Hoe zorgen jullie ervoor dat de tool eenvoudig te implementeren is voor gebruikers?      

Valentin: Door het te ontwerpen als een moderne chatbot, willen we een ervaring creëren die aanvoelt als een gesprek tussen twee collega’s via tekst.

Clément: Het verschil zit vooral in het aanmaken van een project, wat meerdere stappen en gesprekken omvat in plaats van losse interacties. We hebben ook een ‘Help-pagina’ ontwikkeld die een introductie tot de tool biedt, samen met een korte tutorial

Arthur: De beste manier om een tool gebruiksvriendelijk te maken is via de gebruikersinterface en -ervaring. Dit is cruciaal voor alle bedrijven. Elke gebruiker die vindt dat er te veel interacties zijn, dat iets onduidelijk is, of dat muisinteracties niet intuïtief zijn, is een gebruiker die de tool waarschijnlijk zal verlaten voor een andere. Het is ook mijn verantwoordelijkheid om in deze gevallen te anticiperen en deze met het team te delen.

We zetten ons in om onze klanten te ondersteunen bij het benutten van AI binnen engineering en IT services. Wil je meer weten over onze oplossing of bespreken hoe we jouw AI-projecten kunnen ondersteunen? Neem dan contact op met ons team of vul ons contactformulier in. We helpen je graag verder.

Schrijf samen met ons het verhaal!