
Er is de afgelopen maanden veel gesproken over kunstmatige intelligentie (AI) en haar potentieel. Een technologie die zich in verschillende domeinen zeer veelbelovend toont, aangezien ze het mogelijk maakt niet alleen repetitieve taken te automatiseren, maar deze ook schijnbaar even goed of beter uit te voeren dan wij mensen. Ze brengt echter enkele ethische kwesties met zich mee die opnieuw moeten worden overwogen, zoals de vervanging van bestaande banen en vertekening in antwoorden.
Softwareontwikkeling ontsnapt niet aan deze veranderingen, en het gebruik van tools die AI toepassen zal ongetwijfeld de manier waarop we nieuwe producten creëren en zelfs gebruiken, veranderen. In de vakmedia en op sociale netwerken, zelfs ver buiten de gebruikelijke bubbel van kunstmatige-intelligentie-enthousiastelingen, is er veel geschreven over de vooruitgang in taalverwerkingsmodellen, met name in het inmiddels beroemde ChatGPT. Het is ongetwijfeld een disruptieve technologie. Wie 10 minuten van zijn dag investeert, begrijpt waarom: deze tool lijkt in staat elke vraag te beantwoorden, een coherente dialoog te voeren zonder ooit de context te verliezen, en zelfs broncode te genereren.
Deze laatste eigenschap interesseert mij bijzonder, want van de verschillende tests die ik heb uitgevoerd, lijkt de code mij behoorlijk coherent en gestructureerd, ook al compileert deze niet altijd meteen of voert ze het verzoek niet altijd exact zonder fouten uit.
Deze eigenschap belooft ongetwijfeld de manier waarop programmeurs ontwikkelen, documenteren en testen te veranderen. Als we denken aan de belangrijkste activiteiten van softwareontwikkeling, stelt deze tool een programmeur in staat een functionaliteit aan haar uit te leggen en ook de bijbehorende code te beheren. Natuurlijk is het misschien niet 100% correct, maar het kan een uitstekend startpunt zijn om te beginnen met het ontwikkelen en creëren van functionaliteiten.
Vanuit documentatieoogpunt is het ook mogelijk het model de broncode te geven, waarna het antwoordt met de documentatie van de code, al opgemaakt en klaar voor gebruik, wat een optimalisatie van de inspanning voor deze taak kan betekenen.
Ten slotte, en voor een fundamentele taak in de ontwikkeling, kunnen ChatGPT en zijn opvolgers een zeer goede tool zijn om code te testen en te debuggen. Zoals we eerder hebben gezien, zijn deze tools in staat code te interpreteren, en kunnen ze dus bijvoorbeeld helpen bij het oplossen van bugs, het aanmaken van batterijen unit tests voor specifieke codeblokken, of zelfs het opstellen van scripts voor verkennende tests en acceptatietests van meer complexe oplossingen.
Op het gebied van veiligheid tonen dit soort modellen zich eveneens veelbelovend, aangezien het mogelijk is, naarmate ze worden geïntegreerd in ontwikkelomgevingen, onveilige code te detecteren of wijzigingen aan te bevelen die gemakkelijker aan een bepaalde beveiligingsnorm voldoen, wat de creatie van veiligere code op een efficiëntere manier mogelijk maakt.
Het is ook gekoppeld aan het thema privacy dat ik een van de grootste huidige uitdagingen van de tool zie: privacy bij het gebruik van ChatGPT. Momenteel, in de openbaar beschikbare versie en volgens de gebruiksvoorwaarden ervan, kan ChatGPT al uw gesprekken gebruiken als trainingsgegevens om het model te verbeteren. Dit betekent dat alles wat met het model wordt gedeeld, inclusief privégegevens en intellectueel eigendom, zal worden gebruikt bij het trainen van nieuwe versies van de tool, waardoor deze bijvoorbeeld code kan genereren op basis van particulier intellectueel eigendom.
Deze kwestie wordt steeds vaker aan de orde gesteld bij tools die gebruikmaken van AI, zoals bijvoorbeeld de rechtszaak die Getty Images heeft aangespannen tegen Stability AI, een tool die afbeeldingen genereert op basis van een reeks gegevens verzameld van het internet. In deze zaak beweert het bedrijf dat het model werd getraind met gebruik van zijn intellectueel eigendom zonder toestemming.
Naast deze kwestie van privacy en auteursrechten rijzen er ook ethische vragen, die verder reiken dan software-engineering: zal het gebruik van dit soort tools banen automatiseren en leiden tot het verdwijnen van bepaalde functies?
Gezien het verleden zou mijn antwoord ja zijn, vooral voor repetitieve taken die weinig menselijk oordeel vereisen. Maar het is in dit begrip van “oordeel” dat ik geloof dat de grootste ethische uitdagingen kunnen liggen.
Dit model, zelfs erkend door de eigen maker, kan valse antwoorden geven, ook omdat het, aangezien het is getraind op basis van een dataset, slechts zo betrouwbaar kan zijn als het vertrouwen dat aan deze trainingsgegevens wordt toegekend, wat ook vragen oproept over vertekening en discriminatie, aangezien het onaanvaardbare concepten zou kunnen afleiden. Gezien deze mogelijkheid tot vertekening, zal elke tool die dit soort modellen integreert voor besluitvorming, dit doen volgens dezelfde concepten.
AI biedt een enorm potentieel in verschillende toepassingsgebieden, maar ook ethische uitdagingen die moeten worden afgewogen. Software-engineering zal ongetwijfeld door deze nieuwe modellen worden beïnvloed, en verschillende AI-tools zullen de manier waarop we nieuwe producten creëren en gebruiken veranderen. Momenteel is het grootste voorbeeld ChatGPT, in staat coherente dialogen te voeren en broncode te genereren. Andere tools zullen niet achterblijven, aangezien Google de wereld Bard heeft gepresenteerd, een concurrent van ChatGPT, en ik geloof dat er meer alternatieven zullen verschijnen. Deze tools zullen ook het debuggen van code en de real-time detectie en correctie van onveilige code mogelijk maken.
Toch zijn privacy en vertekening de belangrijkste huidige uitdagingen, aangezien alle inhoud van de gesprekken kan worden gebruikt voor de training van het model zelf. AI belooft ongetwijfeld de manier waarop we werken te revolutioneren, en in het bijzonder hoe software wordt ontwikkeld, maar we moeten rekening houden met de ethische en privacyaspecten die het gebruik van deze tools met zich meebrengt.