blog.

AI-ondersteunde ontwikkeling op de Xebia AI Winter Jam

Lars Rijnen en Christian Sanders, full-stack software developers van Whyellow, hebben de Xebia AI Winter Jam bezocht, een bijeenkomst gewijd aan de fascinerende en snel groeiende wereld van kunstmatige intelligentie.

Bij de Xebia AI Winter Jam werden drie parallelle presentaties, ook wel ’tracks’ genoemd, gehouden, elk gericht op een specifiek aspect van AI. Lars en Christian kozen ervoor om de presentaties van Track 2 bij te wonen. Ze delen hun hoogtepunten, inzichten en de waardevolle leermomenten.

Track 2: AI-assisted development

Hoogte punten en inzichten:

Developer Productivity with GitHub Copilot

De eerste presentatie, gegeven door softwareontwikkelaar Rob Bos en Yuliya Khadasevich, belichtte de vele manieren waarop GitHub Copilot het leven van een ontwikkelaar kon verbeteren. De presentatie begon met een korte uitleg over Language Model (LLM), een type kunstmatige intelligentie dat menselijke taal kan begrijpen en genereren door deze in kleinere stukjes, genaamd tokens, te breken. Door verschillende opeenvolgende tokens op te slaan als vectoren kunnen relaties tussen tokens worden aangegeven.

GitHub Copilot fungeert als een copiloot voor ontwikkelaars, die hen bijstaat bij het schrijven van code door suggesties te bieden en zelfs te helpen bij het verbeteren en optimaliseren van code. De voordelen van deze AI-tool zijn enorm, waaronder verhoogde productiviteit, focus op probleemoplossing en continu leren. Het resultaat? Verhoogde productiviteit, baantevredenheid en een efficiënter leerproces.

Tijdens de presentatie werden verschillende voorbeelden gegeven van hoe GitHub Copilot ontwikkelaars kon ondersteunen bij het schrijven van code, waardoor ze efficiënter konden werken en minder tijd hoefden te besteden aan repetitieve taken. Het begrijpen van GitHub Copilot is essentieel om er het maximale uit te halen. Voorbeelden van het gebruik ervan zijn onder meer:

  • Het genereren van code en het verbeteren ervan, bijvoorbeeld op het gebied van leesbaarheid of snelheid.
  • Het stellen van contextspecifieke vragen of het automatisch genereren van tests met behulp van Copilot Chat. Een voorbeeld hiervan is het aanmaken van unit tests voor een bepaald bestand.

Becoming a 10x Developer with AI

De tweede presentatie, gegeven door Thijs Limmen, ging verder in op het gebruik van AI-toepassingen om softwareprojecten sneller te laten verlopen. Een interessant aspect was het gebruik van generatieve AI voor het creëren van content, zoals een schilderij à la Van Gogh en het ontwerpen van een escape room voor een techbeurs. Tijdens de presentatie werd benadrukt dat GitHub Copilot de ontwikkelingsnelheid aanzienlijk kan verhogen, soms zelfs tot wel zes keer sneller.
Volgens GitHub zelf kan het gebruik van GitHub Copilot resulteren in een snelheidstoename van 60% ten opzichte van ontwikkelaars die er geen gebruik van maken. De spreker verwees naar een onderzoek waarin deze bevinding werd ondersteund (Referentie: GitHub Copilot Productivity Study ). Hij benadrukte echter dat dit onderzoek voornamelijk was gebaseerd op niet-ervaren GitHub Copilot-gebruikers, waardoor de potentiële productiviteitswinst nog groter kan zijn. Hierdoor concludeerde Thijs dat de productiviteitsverbetering tot wel zes keer hoger kan uitvallen dan de aanvankelijk gerapporteerde 1,6 keer.
Een interessant aspect dat tijdens de presentatie naar voren kwam, was de mogelijkheid van GitHub Copilot om afbeeldingen te genereren, met behulp van Midjourney, een functie die vooral handig is voor ontwikkelaars die geen ervaring hebben in design. Deze functionaliteit bleek een van de grootste bronnen van tijdwinst te zijn voor de spreker.
Echter, het gebruik van AI-tools komt niet zonder uitdagingen, zoals het integreren ervan in bestaande workflows en het bepalen van de juiste meetpunten voor productiviteit.

Developer AI Lightning Talks

Developer AI Lightning Talks” zijn sessies waarin verschillende sprekers snel en gericht informatie delen over het gebruik van kunstmatige intelligentie in ontwikkelingscontexten. In de context van vergaderproductiviteit kan AI een waardevolle rol spelen door taken te automatiseren en de efficiëntie te verbeteren. Een concreet voorbeeld hiervan is het automatisch bijhouden van actiepunten tijdens vergaderingen met behulp van AI. Dit wordt mogelijk gemaakt door een combinatie van geluidsanalyse en samenvattingstechnieken met behulp van Language Models (LLM).
Tijdens de presentatie werden praktische voorbeelden gegeven van hoe deze technologieën kunnen worden toegepast. Door geluidssignalen te analyseren en te interpreteren, kan AI automatisch belangrijke actiepunten identificeren en samenvatten. Dit stelt de deelnemers in staat om zich meer te concentreren op de discussie zelf, in plaats van handmatig notities te maken.
Deze toepassing van AI illustreert slechts een van de vele manieren waarop kunstmatige intelligentie kan worden ingezet om werkprocessen te optimaliseren en de productiviteit te verbeteren. Van het automatiseren van repetitieve taken tot het genereren van code suggesties, AI biedt een scala aan mogelijkheden om de efficiëntie van verschillende aspecten van het werk te verbeteren.

Developer AI Lightning Talks

In de lightning talk van Thijs over AI-commits benadrukte het belang van de correcte formulering van prompts bij het gebruik van ChatGPT. Deze aspecten werden aangestipt om een beter begrip te geven van hoe AI-commits worden gegenereerd en hoe we de output van AI-modellen kunnen beïnvloeden.

Bij Whyellow maken we al gebruik van een private ChatGPT-client via Azure. Momenteel zijn we bezig met het onderzoeken van mogelijkheden om een tool te integreren die vergelijkbaar is met Copilot, met als doel onze ontwikkelproductiviteit verder te verbeteren. Deze initiatieven laten zien dat we continu streven naar het omarmen van de nieuwste AI-technologieën en deze effectief in te zetten in onze werkprocessen.

Een belangrijke veiligheidsvraag die we hebben gesteld, was gericht op het beschermen van applicaties die gebruik maken van Language Models (LLM). Door onveilige prompts kunnen kwetsbaarheden zoals XSS ontstaan. Momenteel wordt er een effectieve oplossing toegepast waarbij een reverse proxy wordt gebruikt, waarbij machine learning wordt ingezet om onveilige input te identificeren en te labelen als goed of vals. Dit proces moet zowel bij de input als bij de output van een LLM worden toegepast om een solide beveiligingslaag te waarborgen.

Het is duidelijk dat het gebruik van AI de productiviteit binnen een organisatie aanzienlijk kan verbeteren, maar het vereist zorgvuldige planning en training voor een succesvolle integratie in bestaande processen. Het meten van productiviteit in een AI-omgeving vereist een holistische benadering en kan verschillen tussen afdelingen, wat aantoont dat een flexibele aanpak essentieel is voor het maximaliseren van de voordelen van AI.

In essentie bood de Xebia AI Winter Jam een diepgaand inzicht in de mogelijkheden en uitdagingen van AI in de softwareontwikkeling. Het heeft Lars en Christian geïnspireerd om de potentie van AI verder te verkennen en toe te passen in hun eigen projecten. Met deze waardevolle inzichten kijken ze vol verwachting uit naar de toekomst van AI-ondersteunde ontwikkeling.

Deze blog is geschreven door Lars Rijnen en Christian Sanders, full-stack software developers bij Whyellow.

Whyellow_lars Rijnen
Christian Sanders team Alpha Whyellow

Deel deze blog

Altijd op de hoogte zijn van de nieuwste stageopdrachten en interessante vacatures?
Schrijf je in voor onze vacature-update!