Whitepaper – A programmer’s guide to AI (Deel 1)
“Developers have arrived in the Age of AI. The question now is: How fast will you get on board? Or will you be stuck on the wrong side of the productivity polarity?” – Thomas Dohmke, CEO van GitHub
Softwareontwikkeling is voortdurend in evolutie en in de afgelopen decennia hebben er grote verschuivingen plaatsgevonden in de manier waarop we digitale producten bouwen. Door deze evolutie zijn we in staat om sneller en beter software te ontwikkelen.
De meeste bekende evoluties in softwareontwikkeling zijn het vervangen van waterval (waterfall) naar een agile manier om ons werk te organiseren en de introductie van continuous integration en delivery (CI/CD). De essentie van deze evoluties is het verkorten van de feedback cyclus, zowel in de ontwikkeling met Agile methodologieën als in de oplevering met CI/CD technieken.
GitHub’s onderzoek toont aan dat AI Co-Piloting de productiviteit van ontwikkelaars aanzienlijk kan verhogen, waardoor ze taken tot 55% sneller kunnen voltooien. Deze opmerkelijke snelheidsverhoging wordt toegeschreven aan de constante beschikbaarheid van een AI pair programmer, die verschillende belangrijke voordelen biedt:
- Code generator: De AI co-piloot kan boilerplate en test code genereren, waardoor ontwikkelaars tijd besparen bij het opzetten van hun codeprojecten.
- Realtime code reviews: Met AI Co-Piloting ontvangen ontwikkelaars direct feedback tijdens de ontwikkelfase, waardoor ze potentiële problemen in een vroeg stadium kunnen identificeren en aanpakken.
- Legacy code refactoring: De AI-assistent kan ontwikkelaars helpen legacy code te refactoren, waardoor deze efficiënter en beter onderhoudbaar wordt en beter aansluit op moderne best practices. Hierdoor verbetert uiteindelijk de algehele kwaliteit van de codebase.
Een van de belangrijkste verbeteringen die is waargenomen met AI Co-Piloting is de mogelijkheid om deze waardevolle feedback te ontvangen zonder de IDE van de ontwikkelaar te verlaten, waardoor het risico op wisselen van context wordt geminimaliseerd. Het wisselen van context treedt op wanneer een ontwikkelaar zijn aandacht verlegt van de ene taak naar de andere, zoals zoeken naar documentatie op het web buiten zijn IDE.
Uit een onderzoek van de Universiteit van Californië bleek dat het gemiddeld 23 minuten duurt voordat ontwikkelaars weer even geconcentreerd en productief zijn na het wisselen van context. Door realtime ondersteuning direct binnen de IDE te bieden, helpt AI Co-Piloting ontwikkelaars om hun focus en workflow te behouden, waardoor hun algehele productiviteit verder toeneemt.
AI Co-Piloting, AI-Driven Development, of wat voor naam dan ook, zal een revolutie teweegbrengen in softwareontwikkeling als hulpmiddel voor professionals.
Wij bij Delta Source geloven dat we aan de vooravond staan van een nieuwe evolutie in het software ontwikkelingsproces. AI Co-Piloting, AI-Driven Development, of wat voor naam dan ook, zal een revolutie teweegbrengen in softwareontwikkeling als hulpmiddel voor professionals. Het gebruik van AI via een lokale LLM (Large Language Model) of GitHub copilot zal jou niet vervangen, maar een software engineer die deze tools gebruikt kan jou wel vervangen op termijn.
Net als bij het gebruik van StackOverflow kun je de voorgestelde code niet zomaar knippen en plakken, omdat je dan onbewust een bug kan introduceren.
Kwalitatief hoogstaande software is niet iets wat je kan maken als je het menselijke aspect probeert weg te laten. Je moet als programmeur veel expertise hebben om de beste resultaten te halen met AI door de juiste vragen te formuleren en om de antwoorden correct te interpreteren. Net als bij het gebruik van StackOverflow kan je de voorgestelde code niet zomaar knippen en plakken, omdat je zo onbewust een bug kan introduceren. Je moet altijd de controle behouden om elke suggestie van de LLM te beoordelen en aan te passen.
Je kan een betere softwarekwaliteit bereiken met minder middelen als je een uitstekende software engineer hebt die een AI Copilot tool gebruikt en ook de tekortkomingen begrijpt. Een van die tekortkomingen is het mogelijk vrijgeven van gevoelige broncode bij het gebruik van publiek beschikbare Large Language Model dienstverleners. Er is ook de ethische kwestie van het niet kennen van de herkomst van de data die gebruikt om deze modellen te trainen.
De oplossing is ontwikkelaars te hebben die niet bang zijn om hun eigen omgeving op te zetten met een volledig lokaal draaiende LLM op je laptop. Op deze manier houden we controle over het gekozen model en vermijden we privacyproblemen, omdat onze eigen code onze machines niet verlaat.
In het tweede deel van onze whitepaper ‘A programmer’s guide to AI’ testen we hoe goed GitHub CoPilot en een lokaal opgezette LLM scoren op het gebied van code refactoring, code reviews en genereren van unit tests.
Weet met wie je in zee gaat via onze gratis deep dive
Zoek je een ervaren softwarepartner? Delta Source biedt jou kosteloos een verkennende workshop software-architectuur aan. We komen, bij wijze van kennismaking, langs en verdiepen ons 2 uur aan een stuk in je software, doelen en noden. Zo ervaar je als CEO, CTO of CIO meteen hoe wij de dingen beetgrijpen, alvorens je ons je IT-project toevertrouwt.