De echte vraag voor programmeurs is niet of AI programmeurs zal vervangen, maar waarom dat niet zal gebeuren. AI coding assistants kunnen gemakkelijk code genereren, checken en voltooien, waardoor de werklast van een programmeur wordt verminderd. Volgens Gartner, zal 75% van de software ingenieurs tegen 2028 zelfs AI coding assistants gebruiken.
Maar, AI creëert niet alleen kansen voor bedrijven; het introduceert ook risico's. Hoe kunnen programmeurs AI coding assistants veilig gebruiken en risico's mitigeren.
De impact van coding assistants in STEM-sectors
Wat is een AI coding assistant? Volgens het Franse Agentschap voor Cyberbeveiliging en het Duitse Federale Bureau voor Informatiebeveiliging worden deze AI coding assistants getraind op uitgebreide tekstgegevens en vervolgens verfijnd met behulp van source code of direct getraind op grote datasets van source code. Deze training stelt hen in staat om meerdere code-alternatieven voor te stellen op basis van patronen uit de gegevens die ze hebben geleerd.
Het is echter belangrijk te onthouden dat deze tools geen innovatieve of unieke code creëren; in plaats daarvan vertrouwen ze op bestaande patronen en voorbeelden uit hun trainingsgegevens.
Impact op werkgevers
In de STEM-sectoren revolutioneert AI de manier waarop bedrijven opereren. Werkgevers kunnen AI gebruiken om complexe data-analyse te automatiseren, waardoor onderzoeks- en ontwikkelingsprocessen worden versneld. Een analyse van McKinsey geeft aan dat de vraag naar bepaalde beroepen tegen 2030 aanzienlijk zou kunnen stijgen, vooral in STEM en de gezondheidszorg. De behoefte aan STEM- en gezondheidsprofessionals zal naar verwachting met 17 tot 30 procent groeien tussen 2022 en 2030, wat resulteert in zeven miljoen nieuwe banen in Europa en nog eens zeven miljoen in de Verenigde Staten.
Generatieve AI zou tegen 2030 tot 30 procent van de werkuren kunnen automatiseren, zowel in Europa als in de Verenigde Staten. Voor STEM-professionals in Europa zou de integratie van generatieve AI het percentage geautomatiseerde werkuren meer dan kunnen verdubbelen, van 13 procent naar 27 procent.
De impact op werknemers
Naarmate AI-tools geavanceerder worden, groeit de bezorgdheid dat ze de rol van programmeurs zouden kunnen overnemen. Veel software developers binnen de industrie zien echter meer potentieel in AI als hulptool in hun werk, in plaats van als vervanger. Volgens BJIT gebruikt 66% van de ontwikkelaars ChatGPT al voor taken zoals het oplossen van bugs of het verbeteren van bestaande code. En 77,8% gelooft dat het gebruik van AI de codekwaliteit daadwerkelijk verbetert. Het grootste potentieel van AI zou kunnen liggen in het overnemen van bepaalde repetitieve of routinetaken zoals het oplossen van bugs en eenvoudige automatiseringsscripts, wat de reden is dat 64,9% van de ontwikkelaars denkt dat AI zelfs de kwaliteit van het werk van een programmeur zal verbeteren.
Hoe geavanceerd AI ook wordt, slechts 13,4% gelooft dat het de programmeurs daadwerkelijk zal vervangen in de komende vijf jaar.
De risico's van AI coding assistants
AI transformeert snel veel industrieën, en coderen is daarop geen uitzondering. Voor programmeurs biedt AI zowel kansen als risico's. Hoewel AI-tools kunnen helpen bij het automatiseren van repetitieve taken, het optimaliseren van coderingsworkflows en zelfs bij het debuggen, zijn er verschillende potentiële risico's om rekening mee te houden:
Afhankelijkheid van AI
Overmatige afhankelijkheid van AI-tools, zoals code auto-completion, AI code generation of low-code/no-code platforms, kan het vermogen van een programmeur beperken om hun begrip van kernconcepten, algoritmen en probleemoplossende vaardigheden te verdiepen. Als er een probleem in de code ontstaat, kunnen programmeurs die te veel op AI vertrouwen moeite hebben om de bug op te lossen of de door AI gegenereerde code te verbeteren vanwege hun gebrek aan diepere technische kennis.
Een ander gevolg is dat sommige programmeurs mogelijk geen bugs kunnen detecteren of slechte code kunnen identificeren omdat ze hun programmeervaardigheden niet op dezelfde manier hebben ontwikkeld als degenen die niet op AI vertrouwen. Dit kan leiden tot een skills gap tussen programmeurs die afhankelijk zijn van AI en degenen die dat niet zijn. Bovendien kan het uitsluitend vertrouwen op AI code de creativiteit negatief beïnvloeden, wat innovatie en nieuwe codes kan verminderen. Dat leidt dan weer tot slechtere codekwaliteit.
Kwaliteit en betrouwbaarheid
Omdat programmeurs de door AI gegenereerde code niet volledig begrijpen, zijn er zorgen over de kwaliteit en betrouwbaarheid. AI-tools zijn niet perfect en kunnen niet-optimale code genereren. Er is ook het risico dat er subtiele bugs worden geïntroduceerd die AI mogelijk niet opmerkt, vooral bij complexe code. Programmeurs kunnen uiteindelijk meer tijd besteden aan het debuggen van door AI gegenereerde code dan aan het zelf schrijven ervan, wat de productiviteit en het vertrouwen in AI-tools ondermijnt.
Een studie van Purdue University over de kwaliteit van de antwoorden van ChatGPT op programmeervragen onthulde enkele interessante bevindingen. De studie ontdekte dat ChatGPT 50% van de tijd onjuiste antwoorden gaf en dat 77% van de antwoorden te langdradig waren. Desondanks gaven deelnemers nog steeds de voorkeur aan door AI gegenereerde code 35% van de tijd. Een opvallende conclusie uit de studie is echter dat deelnemers 39% van de tijd de verkeerde informatie van de chatbot over het hoofd zagen.
Deze door AI gegenereerde codes zijn niet alleen vaak onjuist, maar ook onveilig, grotendeels vanwege verouderde gegevens. Daarom is door AI gegenereerde code onbetrouwbaar tenzij deze grondig wordt beoordeeld door een menselijke programmeur. Programmeurs die door AI gegenereerde code beoordelen, moeten een diep begrip van codering hebben, beveiligingscontroles uitvoeren en problematische door AI gegenereerde codeblokken markeren.
Automation Bias
Volgens Forbes verwijst automation bias naar “onze neiging om suggesties van geautomatiseerde besluitvormingssystemen te bevoordelen en tegenstrijdige informatie die zonder automatisering is gemaakt, te negeren, zelfs als deze correct is.”
AI-systemen worden getraind op grote datasets, die vooroordelen of ethische zorgen kunnen bevatten die onbedoeld in de gegenereerde code kunnen worden geïntroduceerd. Automation bias kan ernstige gevolgen hebben, vooral in kritieke sectoren zoals de gezondheidszorg en het openbaar vervoer. Er zijn verschillende tragische incidenten geweest, zoals de crash van Air France-vlucht 447 in 2009, waarbij automatiseringsbias een belangrijke rol speelde.
Intellectual Property (IP)
Een van de belangrijkste risico's met betrekking tot intellectueel eigendom (IP) bij door AI gegenereerde code is het potentieel voor auteursrechtschending. AI-tools worden meestal getraind op grote datasets, die openbare broncode kunnen bevatten, waarvan sommige beschermd zijn door auteursrecht. Als gevolg hiervan kan door AI gegenereerde code onbedoeld delen van auteursrechtelijk beschermde code repliceren, wat kan leiden tot onbedoelde IP-schendingen. Dit is vooral zorgwekkend wanneer de gegenereerde code wordt gebruikt in commerciële producten, omdat dit bedrijven kan blootstellen aan juridische uitdagingen of rechtszaken van de oorspronkelijke eigenaren van de code. Bovendien kan het bepalen van het eigendom van door AI gegenereerde code complex zijn, omdat het onduidelijk kan zijn of de ontwikkelaar, het bedrijf achter de AI-tool of het AI-model zelf de rechten op de output bezit.
Een ander IP-risico is "besmetting" door open-source licenties. AI-tools gebruiken openbare codebronnen en databases zoals GitHub, die code kunnen bevatten die is gelicentieerd onder copyleft-licenties (bijv. GPL). Als door AI gegenereerde code open-source code bevat onder een copyleft-licentie, kan dit elke eigendoms- of andere open-source licentie die de code beschermt, overschrijven. Dit kan leiden tot conflicten en juridische risico's, zoals problemen met octrooirechten en naleving van licentievoorwaarden.