Wat leer je in deze aflevering?
In deze aflevering is Willem Meints, Chief AI Architect bij Info Support, te gast. Hij bespreekt de impact van kunstmatige intelligentie op softwareontwikkeling, met een focus op tools zoals GitHub Copilot.
Willem legt uit hoe deze technologie de rol van ontwikkelaars verandert en de efficiëntie in het ontwikkelproces kan verhogen. Ook komen de uitdagingen en risico's van AI in softwareontwikkeling aan bod, evenals de noodzaak van transparantie in het gebruik van deze technologie.
Kernbegrippen
- GitHub Copilot Workspace
- AI-tool die volledige softwarefunctionaliteiten genereert op basis van tekstuele beschrijvingen en omschrijvingen.
- Code review en validatie
- Proces waarbij gegenereerde code door menselijke ontwikkelaars wordt gecontroleerd op kwaliteit en correctheid.
- AI-assistentie in development
- Automatisering van coderingstaken door AI om ontwikkelproces te versnellen en efficiënter in te richten.
- Technische schuld
- Cumulatieve gevolgen van snelle, minder zorgvuldige code die later onderhouds- en complexiteitsproblemen veroorzaakt.
Interview: Willem Meints
Wat is GitHub Copilot Workspaces en hoe verschilt het van bijvoorbeeld ChatGPT?
GitHub Copilot Workspaces is een gespecialiseerde versie van een AI-assistent, specifiek gericht op softwareontwikkeling. In tegenstelling tot ChatGPT, dat een breed scala aan taken kan uitvoeren, is Copilot Workspaces geoptimaliseerd voor programmeren. Het heeft geen chatbox zoals ChatGPT, maar integreert direct in de ontwikkelomgeving van GitHub. Copilot Workspaces kan van een textuele omschrijving van een taak werkende code genereren, waarbij het de rollen van analist, architect en ontwikkelaar combineert.
Hoe werkt het proces van het gebruik van Copilot Workspaces in de praktijk?
Het proces begint op GitHub met het aanmaken van een 'issue', wat een nieuwe functionaliteit of een probleem kan zijn. We schrijven een gedetailleerde beschrijving van wat we willen bereiken. Vervolgens geven we deze informatie aan Copilot, die een specificatie maakt en verder uitdiept wat we bedoelen. Copilot presenteert een lijst met taken die het gaat uitvoeren, een soort plan. We kunnen dit plan aanpassen en verfijnen. Daarna vertelt Copilot precies welke bestanden aangepast moeten worden en welke code geschreven moet worden. Het is een interactief proces waarbij we als ontwikkelaars de controle behouden en kunnen bijsturen waar nodig.
Welke voordelen biedt Copilot Workspaces ten opzichte van traditionele softwareontwikkeling?
Het grootste voordeel is de enorme snelheidswinst. Wat normaal gesproken uren of dagen zou kosten, kan nu in minuten worden gerealiseerd. In ons geval hadden we in 20 minuten een compleet uitgewerkte functionaliteit van start tot finish, inclusief deployment. Dit stelt ons in staat om sneller te experimenteren en complexere problemen aan te pakken. Daarnaast helpt het bij het automatiseren van repetitieve taken en kan het ontwikkelaars ondersteunen bij het schrijven van tests en documentatie.
Zijn er ook uitdagingen of risico's verbonden aan het gebruik van Copilot Workspaces?
Zeker, er zijn enkele belangrijke aandachtspunten. Ten eerste is er het risico van 'lui' worden. Het is cruciaal om de AI voortdurend in de gaten te houden en te controleren, want het kan fouten maken of de verkeerde richting opgaan. Daarnaast vereist het effectief gebruik van Copilot Workspaces nog steeds een diepgaand begrip van softwareontwikkeling. Je moet goed kunnen specificeren wat je wilt en de gegenereerde code kritisch kunnen beoordelen. Er is ook een risico dat mensen die minder ervaren zijn in softwareontwikkeling, complexe taken gaan aanpakken zonder de nodige achtergrondkennis, wat kan leiden tot problematische code.
Hoe zie je de rol van softwareontwikkelaars veranderen met de komst van dit soort AI-tools?
Ik verwacht dat we meer, niet minder, engineers nodig zullen hebben. De focus zal verschuiven van het schrijven van code naar het specificeren van problemen en het reviewen van AI-gegenereerde oplossingen. Ontwikkelaars zullen een breder en dieper begrip moeten hebben van softwarearchitectuur, design patterns en domeinkennis om effectief met deze tools te kunnen werken. Het wordt belangrijker om de context en implicaties van de code te begrijpen, in plaats van alleen maar te kunnen programmeren. Daarnaast zullen vaardigheden in het formuleren van duidelijke, gedetailleerde specificaties en het kritisch beoordelen van gegenereerde code essentieel worden.
Wat zijn jouw verwachtingen voor de toekomst van AI in softwareontwikkeling?
Ik verwacht dat we deze technologie steeds verfijnder zullen zien worden. Het patroon dat we hier zien in softwareontwikkeling, zal waarschijnlijk gekopieerd worden naar andere vakgebieden zoals copywriting en het maken van presentaties. De volgende stap zal waarschijnlijk de introductie van meerdere gespecialiseerde AI-agents zijn die samenwerken om nog complexere taken op te lossen. Denk bijvoorbeeld aan een agent die gespecialiseerd is in beveiliging en je webapplicatie kan analyseren op beveiligingslekken. Of agents die delen van je bedrijfsproces kunnen automatiseren en met elkaar communiceren. Het is een spannende tijd waarin de grenzen van wat mogelijk is met AI constant worden verlegd. AIToday Live is een podcast die zich richt op de nieuwste ontwikkelingen in AI en de impact ervan op verschillende sectoren. In elke aflevering spreken hosts Niels Naglé en Joop Snijder met experts uit het veld om inzicht te krijgen in de mogelijkheden en uitdagingen van AI-technologie. Luister via je favoriete podcast app: Spotify, Apple podcasts, YouTube Music, en meer.
Over de gast
Willem Meints is Chief AI Architect bij InfoSupport en heeft uitgebreide ervaring in het ontwikkelen van AI-gestuurde systemen, met een focus op LLM-applicaties en het gebruik van Semantic Kernel. Hij heeft meerdere MVP Awards ontvangen voor zijn bijdragen aan de community en heeft een boek geschreven over het bouwen van effectieve LLM-toepassingen. In zijn werk legt hij de nadruk op het delen van kennis en het helpen van anderen bij het navigeren door de complexe wereld van AI.
Bekijk gastprofielTranscript
Hoi, welkom bij een nieuwe aflevering van AIToday Live, de Nederlandse podcast over kunstmatige intelligentie. En in de maandag uitzending praten we altijd met experts op het gebied van AI. En of je nu een zakelijke professional, IT specialist of AI enthousiasteling bent, wij bieden waardevolle inzichten een duidelijke uitleg over de nieuwste ontwikkelingen en toepassing in de wereld van AI. Zo, dat is een mond vol Niels. Wat anders. Ja, we doen het allemaal. Ja toch? Zeker, maar dan weten de mensen in ieder geval, want we hebben een hele stroom nieuwe luisteraars erbij, weten zij ook waar ze naar luisteren. Het enige wat we nog niet hebben gedaan is onszelf even voorgesteld. Mijn naam is Joop Snijder, CTO bij Aigency. Mijn naam Niels de Naglé, Area Lead Data & AI AI bij Info Support. En vandaag hebben we te gast Willem Meints. Willem, zou je jezelf even willen voorstellen? Ja, ik ben Willem Meints, ik werk als Chief AI Architect voor Info Support. Mijn dagelijks werk bestaat uit allerlei gevaarlijke dingen doen met AI. Nou, gevaarlijk niet, ik ben eerder van de veiligheid eigenlijk. Maar allerlei nieuwe dingen met AI bezig, klanten aan het helpen, collega's aan het helpen. Ja, en we hebben deze eigenlijk als een soort van, nou ja laten we zeggen, spoedopname ingepland, want de afgelopen dagen hebben Willem en ik lopen stuiteren werkelijk maar. Blije eitjes. Blije eitjes hebben we samengewerkt en hebben gezien zeg maar wat het betekent als je een AI developer inzet. En deze aflevering gaat echt best wel, nou gaat over programmeren, softwareontwikkeling. Dus als je in de IT zit, moet je zeker blijven luisteren, maar ook, let op, ook als je marketeer bent, copywriter. Iedereen eigenlijk waar het gaat over schrijven en je krijgt straks een AI assistent, dan gelden dit soort dingen ook. Dus de aflevering gaat over IT, maar alle concepten die wij vandaag gaan bespreken, die kan je straks zelf ook gaan toepassen. Dus blijf luisteren. Ja Willem, misschien dat jij eventjes wat context kan schetsen van wat wij gedaan hebben. Ja, we hebben dus met een AI developer voor het eerst mogen samenwerken. Ik weet niet of het helemaal, ik moet nog een beetje wennen aan de terminologie. We hebben concreet met een product, Copilot Workspace, gewerkt. Dat is een AI developer die in staat is om van een textuele omschrijving van een stukje werk, om dat helemaal voor jou uit te voeren tot een werkende code. Dus wat je normaal gesproken een iemand nodig hebt die de analyse doet van wat wil de klant, een architect om te bedenken hoe de structuur moet worden en een ontwikkelaar om die code te schrijven, hebben we nu dus een stuk gereedschap gebruikt om dat voor elkaar te krijgen, in veel minder tijd ook. Ja, en dat gaan we zo direct even helemaal uitkleden. Maar laten we eerst beginnen Willem, die AI developer. Dat is GitHub Copilot. Hoe verhoudt zich dat? Dus we dat even moeten uitleggen aan de luisteraars tot bijvoorbeeld ChatGPT. Ja, dus de meeste mensen zullen ChatGPT kennen als dat is het ding waarmee ik tekst kan genereren en afbeeldingen tegenwoordig en geluid ook nog. Maar eigenlijk wat ChatGPT is, is een agent, een digitale assistent die je kan inzetten voor het uitvoeren van taken. Zo moet je Copilot ook wel een beetje zien als een assistent die jou gaat helpen met het uitvoeren van jouw taken. Alleen een hele specifieke, dus deze kan programmeren. Ja, hij kan buiten het programmeren kan hij ook niet heel veel anders. Ik zag dat hij ook nog een beetje kan documenteren, maar daar stopt het. Dus hij is gespecialiseerd? Een gespecialiseerde versie zou je moeten zien van een ChatGPT. Ja, een ChatGPT heeft de welbekende interface met chat, een tekstvak onderin waar je jouw bericht in typt, jouw prompt en daarboven een gespreksgeschiedenis met alles wat hij genereert. Bij deze Copilot ziet er ook heel anders uit. Die heeft geen chatbox, dat kent hij niet. Hoe gebruik je het dan? Ja, nou dat is wel leuk om daar naar te kijken. Ik denk dat niet heel veel luisteraars bekend zijn met wat voor software wij gebruiken als IT'ers om software te bouwen. In dit geval begint dat met GitHub. Dat is een website waar heel veel open source projecten in de wereld worden gehost. En die website is bedoeld voor softwareontwikkelaars. Dat bestaat hoofdzakelijk uit het opslaan van broncode en daar verschillende versies bij houden. Maar daar hoort ook bij issue management. Een issue management is het stuk waar je werk eigenlijk gaat bedenken van wat moet ik maken en gaat plannen. Dus dat je het ook over de sprints heen, over de tijd heen gaat inplannen in je team. Dus de functionaliteit die ik als gebruiker zie, dat is natuurlijk een keer ontworpen, ontwikkeld, getest en dat proces dat zit dus allemaal in de GitHub omgeving voor de developer om mee aan de slag te gaan. Ja en daar zit ook deze Copilot aan verbonden. Het begint dus ook op GitHub. Je begint met het maken van zo'n issue. Dus stel je voor, je zit met, in dit geval zat ik met Joop via Teams. En een issue klinkt als een probleem, maar het kan een nieuwe functionaliteit zijn, dat kan ook een bug zijn, maar het heet een issue. Ja het is een beetje typische terminologie voor IT'ers. Is dit een probleem? Namelijk, dan moeten ze iets gaan doen. Daarom bestaat die Copilot ook, denk ik. Dus wij zaten met z'n tweeën van de week te praten over een stuk software wat wij gemaakt hebben om deze taalmodellen te testen, om de prompt te testen. Prompt Architect heet dat pakket. En wij wilden een nieuwe functionaliteit toevoegen om naast ChatGPT, dus GPT4 in dit geval, het taalmodel achter ChatGPT, wilden we ook graag een andere taalmodel gaan testen. In dit geval van Facebook het nieuwe model. Lama 3.1 die is net uit. Nou dat wilden we testen. Wij zitten met z'n tweeën via Teams en wat we doen is, we gaan dan in zo'n issue, in zo'n taak eigenlijk, gaan we opschrijven, oké we willen graag open source model willen we gaan ondersteunen. En dan moet er zo uitzien. Dus dan gaan we stapje voor stapje, werken wij met z'n tweeën dat uit, wat we dan bedoelen, eigenlijk wat de software moet gaan doen. Dus de specificatie, de beschrijving, wat is het eindresultaat, waar moet het voor doen, dat zijn zaken waar jij moet denken. Ja als je in de marketing zit, dan heb je dat ook als je met een webbouwer gaat zitten, dan moet je heel specifiek toch wel uitleggen aan die webbouwer, dit is wat ik wil hebben, dit is hoe het eruit moet zien. Ja of het opstellen van een briefing, van een van een cliënt. Daar kan je het allemaal mee vergelijken. Dus daar begint het eigenlijk. En daar zit nog geen AI achter, dat is allemaal nog wat wij met z'n tweeën daar zitten te bedenken. En dan komt Copilot. Dan zit er een knop in het scherm, daar kan ik op klikken, dan kan ik zeggen geef het aan Copilot. En dan komt Copilot, die gaat naar mijn issue, gaat hij kijken, naar de tekst, en die gaat daar een specificatie van maken. Die gaat dus verder uitdiepen wat ik eigenlijk bedoelde. Oké, zit er ook interactie dan tussen? Krijg je dan vragen terug? Nou in eerste instantie vrij weinig, dus hij gaat dat uitdenken voor jou, en dan zegt hij tegen jou, ik heb een specificatie gemaakt, wil je hem nakijken of aanpassen? Dat is dus geen chat, dat is een lijst met taken die hij gaat uitvoeren voor jou, een heel plan. En daar kun jij die taken, kun je de tekst van aanpassen, kun je zeggen, oh ja maar ik wil ook graag testen toevoegen, en ik wil ook graag dat je het publiceert op internet, dat pakket. En meer stappen kun je daar dan gaan toevoegen. Dus jij verandert in één keer van rol, in plaats van dat je als softwareontwikkelaar lekker code gaat zitten schrijven, heb je dus eerst een discussie met je klant van wat moet het worden? En dan ga je het geven aan de AI developer, en dan vraag je aan hem, nou werk dit eens uit en vertel me eens wat er moet gebeuren. Dat kun je reviewen, dan druk je op oké, en dan gaat hij jou precies vertellen welke bestanden die moet aanpassen, welke code. - Nog heel even terug Willem, want jij hebt het over die rollen, en ik denk dat het heel goed is om dat even uit te leggen, want je zou het zo kunnen zien dat ik daar als een product owner zat, of als een systeemanalyst, een businessanalyst. Willem zat er als senior developer, zo zou je het kunnen zijn, lead developer. En de AI is dan jouw junior developer. Dus je zit in drie rollen, zit je als het ware achter dit systeem, gelijktijdig. Dus de specificaties komen van mij aangevuld met de technische zaken die Willem inbrengt. - Ja, van hoe zouden we dat willen aanvliegen binnen het huidige landschap waarin we rekening mee moeten houden. Dus die context wordt ingebracht naast de functionele wensen, technische context, en dan inderdaad wordt het proces van het komen tot daadwerkelijk de implementatie wordt je ondersteund door - door je junior developer. - door je junior developer. En het is heel belangrijk dat het van functioneel naar technisch, want Willem moet dan ook aangeven van, oh ja, maar dat deze stukken willen we dan wel aangepast hebben, daar ongeveer in de code. - Ja, je moet hem wel vrij specifiek vertellen wat hij moet doen hoor. Vandaar dat wij ook zeggen, van het is de junior ontwikkelaar, iemand die komt net nieuw op jouw project, heeft geen idee waar die moet kijken. Dus je moet vrij specifiek wel vertellen, het staat daar en het heet zo en dit is het patroon. Maar als je dat goed doet, dan komt hij best wel met een heel aardige specificatie terug van, oké, moet ik dit gaan doen? En als je dat dan op oké klikt, dan krijg je daarna een implementatieplan ook nog van hem. En dan gaat hij precies vertellen in welk bestand hij welke wijziging moet gaan doorvoeren. - Ja, als ik het even van mezelf vertaal, voor de mensen die bekend zijn in de agile wereld, daar hebben we natuurlijk een sprint en daar moeten we werk in specificeren en dan gaat het technisch team het refinen. Eigenlijk wat ik je nu hoor zeggen, klinkt een beetje als het stukje refiner, dat het technisch team gaat kijken wat moet er aangepast worden, waar moet aangepast worden, zodat we dadelijk kunnen inschatten, oké, maar hoeveel tijd kost het om dit te bouwen? Vinden we dat als product owner waard om dat te gaan bouwen, want we weten nu hoeveel het ongeveer kost. Eigenlijk word je geholpen in dat proces ook nog eens in de refinement, waar moeten die wijzigingen plaatsvinden en welke wijzigingen moeten er plaatsvinden. - Zo zou je het precies moeten zien, specificatie, refinement, implementatie. - En dan heeft hij geholpen met de refinement, hoor ik net, dus dan word je weer misschien getriggerd en we kennen al het ZGPT waar je ook extra functionaliteit kan inbouwen voor voldoende kan de security eisen, dat zal hier ongetwijfeld ook mogelijk zijn dat hij daar rekening mee moet houden. Dus daarmee word je ook al verrijkt in de werkzaamheden waar je misschien niet aan gedacht hebt om dat toch mee te nemen in het proces. - Ja op dit moment is het vrij beperkt nog wat hij doet, dus bepaalde details kun je gewoon weglaten en dan zegt hij tegen je, oh maar wacht even ik zie dat je dat toch wel nodig hebt dus ik voeg dat zelf toe. Dus bijvoorbeeld, wij testen alles automatisch, dat zal hij ook zelf bedenken, dat is even, oh ja ik moet het natuurlijk ook controleren of datgene wat ik bedacht heb ook echt klopt. Dus dat voegt hij wel toe. Security is tot op heden nog een beetje lastig, maar daar heb ik denk ik even een randje geraakt, dat het net even buiten het domein viel wat hij snapte. Op zich niet erg, maar ik verwacht ook dat hij dat ook steeds beter kan in de toekomst. - Ja als het dan toch even vertaald naar als we dan het agile proces verder ingaan, we hebben de refinement gedaan, we hebben het gepokerd, we hebben een waarde aangegeven, we gaan het bouwen. Eigenlijk wat je dan hoort zeggen is dat de AI ook nog de development tests automatisch al wel specificeert, zodat zoals wij zelf ook als we iets bouwen moeten wij testen wat we zelf gebouwd hebben en dan bieden we het aan als review aan een collega, een lead van het team. Die rol die pak jij dan weer op, maar eigenlijk het dev-testen, het development testen van wat er gebouwd moet worden, werkt dat ook daadwerkelijk zoals ik het dacht? Dat zit ook al vanuit de AI engineer. - Ja, helemaal zelf. En wat wel mooi is als je dus dat implementatieplan hebt en je drukt op oké, dan maakt hij de code, maar jij krijgt daarna weer de kans om het zelf na te kijken en ook aan te passen te plekken. En dat kan door commentaar te geven, dus we zijn ook op GitHub, heb je ook faciliteiten om, dat noemen ze dan reviews, dus om code na te kijken en te beoordelen of dat klopt. En omdat GitHub is gemaakt voor teams die verspreid zijn over de hele wereld en die misschien niet op hetzelfde moment werken. Dus wat je ziet is dat je dan commentaar kan geven en het zet die erbij in de code, zo van "hé deze developer vond dit ervan, die heeft hier commentaar geplaatst". Dat heb je hier ook, alleen ik lever dan commentaar op de AI en wat de AI zal doen, als een fanatieke collega die die is, gaat die te plekken de code aanpassen. Dus als ik dan zeg "ja maar je had hier iets gedaan, dat kan niet, dat klopt niet", dan past hij het te plekken aan. - Oké en dat zit ook weer, ja, dat gaat toch even de engineering mij af inderdaad. Dan gaat hij toch wel die versie bijhouden, zodat hij wel weet wat ervoor was gedaan en dat je dus weer kunt terugdraaien, want dat zien we soms ook wel, dan gaan we het kapot repareren, willen we ook niet. - Het kapot repareren, dat is een mooie term. - Ja, dan denken we dat we het gefixt hebben, maar dan maken we het toch weer kapot. - Ja, dus dat kan. We hebben dat ook gister wel gemerkt, richting het einde van onze sessie gisteren van 20 minuten, hadden we hem toch kapot gerepareerd, zoals jij het net verwoordde. En ik was blij verrast om vanmorgen te zien dat er een soort ongedaan maken, ctrl z-knop op zit. Dus je kan alle stappen die de AI neemt in zijn werk, die neemt hij op, een soort zwarte doos loopt ermee en ik kan dan stap voor stap doorheen lopen, ook weer terug om te zien wat heeft hij nou gedaan en wat was mijn invoer daarbij. Want uiteindelijk, we hebben het hier over de toepassing van AI en ik durf wel te zeggen dat het inmiddels zo complex is, dat er niet altijd mee helemaal te beoordelen is of dat goed gaat. Dan is het fijn dat GitHub ervoor gekozen heeft om het helemaal traceerbaar te maken, dat ik ook stappen terug kan zetten en kan zeggen, oh ja, maar dit gaat echt niet goed, ik ga even terug aanpassen en dan ga ik weer verder. Ja, zoals je zelf ook aan het werk bent en je komt erachter dat je ergens wat terug wil zetten, dan doe je dat ook inderdaad. En dat kan dus hier ook. En dan ook met de stappen die met behulp van AI gedaan zijn, waar je zelf misschien niet de invloed op had, maar nu wel invloed op wil hebben. Juist. Om zelf eigenlijk wel de controle te kunnen hebben. Later weet je ook nog welke delen zeg maar dus door AI gegenereerd zijn. Dat is allemaal traceerbaar. Dat is echt prachtig gemaakt. Fantastisch om mee te werken. Wij schrokken eerst even. We dachten, wow, wat is dit? In die zin, Willem en ik zitten al meer dan twaalf jaar of zo in dit vakgebied, dus laten we zeggen dat we niet heel vaak opnieuw worden verbaasd. De afgelopen dagen hebben we echt, ik begon al, we hebben lopen stuiteren. Wij zaten echt in het begin echt van, wow, wat gebeurt hier? Want we hebben natuurlijk alles eerder behandeld van de AI developer komt eraan, de AI assistenten komen eraan. Hoe gaat dat eruitzien? Geen idee. We hebben hele slechte versies gezien op internet en die voorbij kwamen met allemaal agents en weet ik wat allemaal. Dit is een versie die werkt, maar ook op een dusdanige manier met een gebruikservaring, dat je alles snapt wat daar terugkomt, dat je het kan aanpassen, dat je kan zeggen, oh nee, maar ik bedoelde eigenlijk, het is zo natuurlijk. Het is precies de manier waarop we nu dat ook doen, wat jij al aanhaalde, met collega's, met allerlei sessies om dingen te verbeteren, specificaties op te schrijven, alleen gecomprimeerd. Dus je hebt veel sneller, heb je resultaat, waardoor je ook heel snel bijvoorbeeld experimenten kan uitvoeren. Je zegt van, ja maar wat nou als, want jij zei van met de product owner, je gaat risico's inschatten, hoe lang gaat dit duren, weet ik. Maar misschien kan je dit nu even overslaan, dat je zegt van, weet je, we zetten er een tijdslimiet op, je krijgt een uur. Je krijgt een uur voor deze feature en dan gaan we maar eens kijken of dat lukt. En na dat uur weet je heel goed, is het of gelukt, denk je van, dit gaat het niet worden, of dat je een veel betere inschatting kan maken van, wat gaat het kosten om het uiteindelijk productie rijp te maken. Dat noemen we gewoon in Agile ook wel een spike. En dat is inderdaad een timebox, x periode. Misschien dat die 4 uur inderdaad gewoon lekker naar een uurtje kan om te gaan kijken, is het haalbaar, misschien heb je het zelfs al af. Dan nog afhechten en testen en als dat er ook automatisch uitkomt, gaat veel sneller. Ik zie heel veel spikes extra gaan aangekomen, dat zit heel veel waarde inderdaad. Vooral hetgene waar je nog niet de waarde moeilijk kan inschatten, waar dan inderdaad meer tijd in moet zitten. Dat is wel heel mooi. Ja, cool. Voordat we overgaan, want er zijn ook wel wat uitdagingen. Maar we hebben ook, Willem, we hebben een nieuw onderdeel in de podcast en dat is onze AI Game Changer kaartspel. En die willen we ook met jou spelen, want het idee is dat namelijk als je stellingen met elkaar bespreekt, dat je daar uiteindelijk heel veel van elkaar leert en ja, als het goed is, daar ook weer veel beter van wordt. Zeker. Dan heb ik de muziekjes niet goed klaar staan, maar zo gaat dat. Die pakken we er even bij en daar komt die aan. Ja Willem, daar komt hij. In de categorie ethiek en maatschappij. Ik breek nog heel even in. Want normaal gesproken, kijk, we staan voor transparantie. Normaal gesproken kaarten schudden we, pakken we er echt willekeurig eentje uit. Maar omdat Willem collega is, weet je, ja, er zijn best wel heel veel kaartjes. Daar weten we gewoon het antwoord op. Weet ik ook dat Willem dat weet. Dus we hebben er gezamenlijk, hebben we er eentje uitgekozen wat echt interessant is ook voor deze aflevering. In het kader van transparantie. Nou ja, transparantie, daar gaat het ook over. Dus toeval bestaat niet. Organisaties moeten transparant zijn over het gebruik van AI in hun besluitsvormingsprocessen. Dat is een pittige, eigenlijk wel. We zien nu dat AI overal doorheen aan het seipelen is. Ook bij ons bij Info Support zie ik het steeds meer. Ik ben natuurlijk best betrokken bij heel veel trajecten waarbij dan mensen bij komen en dan zeggen ik zou eigenlijk AI hiervoor willen gebruiken. Kan dat? Dan zeg ik, dat kan een hoop. Technisch kan het. Maar de vraag is, moet je het willen? Dat is natuurlijk de ene vraagstuk wat je hebt. En het andere is, hoe ga je er daarna mee om? En ik denk dat het voor heel veel processen wel verstandig is om er transparant over te zijn. Hoe transparant? Dat vind ik een hele lastige. En, waar denk je dan aan met transparantie? Hoe ver? Nou, we hadden bijvoorbeeld kort een discussie over het gebruik van AI bij het opzoeken van informatie uit ons functiehuis. Wij hebben bij Info Support een functiehuis waarin staat, hé wij verwachten dit en dit van onze collega's op een bepaald salarisniveau en verwachten ook in binnen bepaalde rollen een bepaald gedrag. En nou moet je een soort van kruising maken tussen die twee dingen om tot een beoordeling te komen aan het einde van het jaar. Dat is best heel heftig als je 70 medewerkers moet beoordelen in een jaar. Dus wij kregen op een gegeven moment de vraag, kreeg ik de vraag, kunnen we niet de AI inzetten om een mooie samenvatting ervan te maken die van toepassing is op één persoon die je moet beoordelen? En toen zei ik, oeh, dat is wel heel spannend. Maar volgens mij moet je daar best wel transparant over zijn dat je dat met AI gedaan hebt. En daarna is natuurlijk de vraag van, dit is stap één, dat je informatie opzoekt met behulp van een RAC system of een search om een persoon goed en eerlijk te kunnen beoordelen. Want dat is de uitgangspunt. Ze willen wel echt heel erg graag eerlijk iemand beoordelen op hoe die functioneert. Maar dit is stap één. Stap twee zou ook kunnen zijn, ik kan de beoordelingstext genereren. Ga je dat dan ook doen? En hoe transparant ben je daarover dat je dat doet? Ja en vooral denk ik dat hier het belang van transparantie is. Dus transparantie is op verschillende vlakken als ik hem zo even voor mezelf even vertaal wat ik hoor. Is transparantie zit hem in, ga ik hem voor dit proces gebruiken? Op wie heeft het invloed? Welke data gaat er gebruikt worden? Dat zijn dan zaken waar je rekening moet houden met de keuze om AI in te zetten en hoe transparant ben ik daarin. Ja en hoe herleidbaar wil ik dat eigenlijk hebben? Dat ik daar, waar heb ik AI dan ingezet? Ja we hebben natuurlijk gezien van wat we met Copilot Workspaces allemaal kunnen. We zijn super blij daarmee, maar we hebben ook wel wat uitdagingen en ik denk dat we ook wel een risico of twee zien misschien toch? Ja er zit wel de eerste vraag die ik kreeg van een andere jonge collega was, word je hier niet ontzettend lui van? Want dat is het eigenlijk. Dus programmeren was altijd wel een klus waar je flink mee bezig bent. Mensen die wel een software hebben laten bouwen of een website of iets dergelijks, die weten dit ook wel dat het best wel duur is om alles uit te laten werken door een ontwikkelaar. En nu is dat, in ons geval was dat 40 seconden ofzo was die klaar met programmeren. Dus zo snel gaat dat. In 20 minuten hadden wij een compleet uitgewerkte functionaliteit van start to finish. Gedeployed zelfs. Dus ik snap die vraag wel die ik kreeg van hey nou maar word je daar niet heel lui van? En daar vind ik wel dat een risico in zit. Je moet die AI vanaf het begin tot het einde op de vingers kijken. Je moet hem in de gaten houden, want hij gaat een keer de bocht uit en dat is ook wel gebeurd. Gisteravond gebeurde dat dan even. Ja dus dat is wel iets waar je waar je echt scherper moet zijn. Je moet zeker niet lui gaan worden, want dat gaat niet goed komen. Nee dus eigenlijk is het een collega die vol aan de bak gaat, maar die nog wel gewoon hulp nodig heeft. Met waar moet ik kijken? Gaat het nog wel goed? Heb je aan alles gedacht? En zo moet je hem zeggen als hulpmiddel voor jezelf, als ondersteuning onder je arm kan je hem inzetten. Maar niet alleen los gaan laten, want dan zie je daar dus de risico's. Code reviews doen we natuurlijk sowieso normaal. En straks weet je als jij anders teksten schrijft, dan laat je dat ook aan iemand lezen. Dus als jij nieuwsbrieven schrijft, neem ik ook aan dat je niet gewoon schrijft en gewoon zo het web opgooit. Zo moet je dit ook zien. Alleen moet je dus scherper worden in waar je naar kijkt. En het lastige is, volgens mij hebben we dat eerder ook al eens gezegd, hoe beter het wordt, hoe groter het risico is dat je erop gaat vertrouwen, hoe makkelijker je bent in 'het zal wel goed zijn'. Dus je moet jezelf vooral heel scherp houden. En dit gaat over discipline. En mens en discipline, dat wil nog wel eens een combinatie zijn die kan schuren. Ja, dus dat betekent wees ervan bewust. Zorg dat mensen hierin gesupport worden, getraind worden, opgeleid worden. En op andere stukken kan je wat meer loslaten, maar op andere stukken moet je juist gaan aantrekken. Alleen daar besef van hebben. Ja. En bewustwording, daar zit dan de uitdaging in. Want in principe is iedere programmeur dus lui, want in principe willen we al ons werk automatiseren en doen. Dus wat dat betreft, moeten we daar gewoon waarin, moeten we waar scherp op zijn. En dat zal over tijd veranderen. Dat zien we nu ook altijd al, als we een andere taal gaan doen, efficiëntie van platformen die beter worden, de techniek die je meer ondersteunt. Dus ook hier geldt, wees bewust van het proces dat er omheen plaatsvindt. Ja. En waar ik ook nog wel antwoord op zou willen hebben, Willem, naar jouw visie, is van, hebben we zo direct minder, meer engineers nodig? Je zou hopen minder, maar volgens mij is dat heel erg moeilijk. Dat is wat je denkt. Dus de AI die gaat zo direct een deel van de software developers vervangen. Ik denk, en dit is, ik weet het niet is het eerlijke antwoord, want we kunnen dit niet helemaal overzien wat er nu gebeurt. Maar als ik nu vandaag een inschatting moet maken, denk ik dat we meer engineers nodig gaan hebben, want het wordt uiteindelijk complexer wat we gaan maken. Dus nu versnellen we, maar daardoor denken we, oh, dan kunnen we meer gaan doen en complexere problemen gaan oplossen. Dus wordt het weer moeilijker en heb je weer meer mensen nodig met kennis. En ik denk ook dat, we hadden het net over dat nakijken van die code. Je moet echt wel heel erg goed weten hoe het werkt om te kunnen beoordelen of het goed is of niet. Dus het is niet zo dat je minder moet weten. Je moet eerder meer weten van softwareontwikkeling, omdat je anders niet kunt overzien wat de AI nou doet. Want hij spuugt met een indrukwekkende hoeveelheid code komt eruit rollen. -Kennis van de context. Ja, niet alleen dat. Dus je hebt misschien meer kennis nodig, zelfs van het domein. Want je moet heel duidelijk zijn in je specificaties. Dus die moet je zo goed mogelijk opschrijven. Nou weten we dat een natuurlijke taal natuurlijk voor meerdere uitleg vatbaar is. Zo ambiguur zoals het maar zijn kan. Dus je moet specifieker kunnen worden in je domein. Maar die AI is getraind op patronen. En die patronen zijn vaak weer design patterns. En design patterns moet je zien als, als je teksten gaat schrijven, heb je bijvoorbeeld copyright frameworks. En zo heb je in iedere sector wel een soort van leidraad. Dat je zegt van zo pak je dingen aan. Die moet je dus heel goed kennen. Dus wij specificeren ook van gebruik dit design pattern. Dus daar moet je dus een goede ontwikkelaar voor zijn om te weten welk design pattern, welke copyright framework hoort nou bij welk type vraag. Welk design pattern hoort bij welke oplossing. -Dus dat betekent ook wat voor opleiding. Want nu zie je dat vaak als je doorgroeit tussen junior en senior. Dat je dan meer kennis gaat opnemen van design patterns. Maar die zou je dus al eerder eigen moeten gaan maken. Want dat beïnvloedt eerder het werk. Omdat je je niet als collega onder de arm hebt. -Ja absoluut. Dus je zou haast kunnen zeggen van ja minder of meer is eigenlijk helemaal niet de discussie. De vraag is hoeveel beter moeten engineers worden om op een hele goede manier gebruik te kunnen maken van de versnelling van zo'n middel. Dus er gaat meer van je gevraagd worden. Want ik ben helemaal eens met met Willem. Want dat gebeurde bij ons ook. Dus de eerste feature was een kleine feature. Daar hadden we echt zo wow. En wat nou als we, maar dan kunnen we misschien dit ook. En ik had eigenlijk een feature opgeschreven. Een issue had ik opgeschreven voor veel later. Dat we open source zouden gaan ondersteunen. Zo van ja als het zo gaat dan wil ik die nu. -Dus dat heeft invloed op heel veel verschillende aspecten. -Ja en daar moet je echt wel rekening mee houden. Dus daar zie je wel een verschuiving. En je ziet een verschuiving van coderen naar specificeren. Dus het zwaartepunt gaat zo direct liggen in hoe goed kan jij specificeren. En misschien wat minder goed in hoe goed kun je coderen. -Ja en hoe kan je beoordelen/reviewen. Dat is ook wel key. Daar heb je ook juist die technische kennis, die inhoudkennis wel voor nodig. Maar om daar te komen, die struggles die worden wat meer geautomatiseerd. Waardoor je daar, als je goed begrijpt en goed specifieert, je efficiëntie slecht en kwaliteit kan laten groeien. Maar als je dat niet doet, dan gaat de kwaliteit efficiëntie juist naar beneden. -Ja slechtere kwaliteit software die vrij snel kapot is. -Ja en ik denk dat het risico ook is dat nu heel veel mensen dit kunnen gaan doen. Jij moet er dus uit. -Ja ik wil nog wel even zo weten, en dat hoor ik later dan voor jullie wel inderdaad. De kosten. Daar ben ik ook wel nieuwsgierig naar. -Ja licentiekosten, nemen we even mee. Wat ik nog wilde aangeven, ik moet er helaas uit. -Hij is echt met spoed naar ons toegekomen. -Ja precies. Is dat ik het nu even kwijt ben wat ik wilde vragen. Je kan natuurlijk dingen veel makkelijker, sneller. Dus wat je gaat krijgen is dat mensen die juist niet een betere engineer worden, niet dit allemaal doen. Want ze zeggen dit moet. Dan krijg je er gewoon code uit toch? Dat is op zich wel een risico. -Ja het werkt ook voor de junior engineer toch nog wel heel erg goed eigenlijk. Ik zie het meer dat de co-pilot nu een hefboom is, waarbij het momentum wat je kan creëren met die hefboom in één keer veel groter is dan wat je het kunnen doen zonder die AI. Dus de impact van de junior ontwikkelaar in de negatieve zin was beperkt tot nog toe, want je kon daar best wel goed bij bijsturen. Je geeft ze eenvoudige taken. En nu in één keer stel je ze in staat om een taak op te pakken die gewoon ver boven skill level ligt. En dat lukt ze ook nog om het voor elkaar te krijgen. Super mooi, staat goed op je, als je alleen maar daarnaar kijkt en dan is dat super goed voor de beoordeling. Alleen ja die hefboom is wel echt heel gevaarlijk. Je moet elkaar blijven helpen. Wat wel goed is om toch even bij te vermelden is dat als je dus zo'n wijziging hebt gedaan met co-pilot workspace, dan is het nog niet klaar. Dan is het niet zo van dan staat het op productie. Wat daar achteraan komt is de rest van het ontwikkelproces. Dus dan op GitHub werken ze met pull request. Dus dan ga je eigenlijk de vraag stellen aan iemand anders. Wil jij mijn code toevoegen aan het programma? En daar zit een mens tussen, een menselijke controle. En daar zit dus nog een moment dat de senior ontwikkelaar mee kan kijken en kan beoordelen. Is het echt goed gegaan of is hier toch iets heel raars uitgekomen? En ik denk dat je heel goed moet beseffen dat als je dingen zeg maar heel snel aan elkaar geknoopt wil hebben, soort van duct tape. Daar is die AR heel goed in. Gewoon van allerlei dingetjes aan elkaar knopen. Dat je dan ook dus software hebt waar alles aan elkaar hangt. En dan hoeft er maar dit te gebeuren en dan breekt het. Dan is het wat wij noemen houtje touwtje. Dan gaat je touwtje, die wordt doorgeknipt en dan valt je houtje op de grond. Zo simpel is het. Ja het effect is volgens mij hetzelfde als wat je nu ziet. Als je naar een hele goedkope webbouwer toe gaat en je vraagt iemand van 16 om een website in elkaar te bouwen. Je krijgt wat je krijgt. Ja precies. Je krijgt wat je spendeert. We hebben ingezonden vragen. We hebben een hele mooie vraag van de week en die past denk ik hier heel goed bij. Dus die wilde ik je laten horen. Dus kijken of we daar een beetje antwoord op zouden kunnen formuleren. De vraag van de week is deze week Hallo Niels, Joop. Mijn naam is Frits. Ik werk als IT manager bij PostNL en ik heb een vraag voor jullie. Hoe kan ik ChatGPT gebruiken om goede testplannen te schrijven om mijn aannames te testen? Nou ik hoor heel graag van jullie. Oh dit is wel inderdaad, dat past hier heel goed bij. Ja ik denk we gaan toch even afbreken in wat Copilot dan eigenlijk doet. Hoe kan het nou dat hij in staat is om zo'n hele complexe taak, want dat is van Frits denk ik ook wel het geval, een testplan schrijven waarin je aannames doet. Dat klinkt nog niet heel eenvoudig. Dat doet Copilot ook met je codewijziging. En hier zit een truc in wat je kan doen. Je kan namelijk met ChatGPT bedenken hier een stap voor stap plan voor, voor mijn testplan schrijven. Wat hij dan gaat doen is hij komt dan terug met een takenlijstje eigenlijk van de stappen die je zou moeten ondernemen om zelf een testplan op te schrijven. Waarbij je die specificaties weer heel belangrijk is, want die zijn heel contextgevoelig. Dus je schrijft zelf welke risico's wil je afdekken? Wat is de context waarin je dat testplan wil schrijven? Misschien zelfs meegeven wat voor type testplannen. Daar zijn natuurlijk allerlei verschillende in. Net zo goed als wat we net hadden bij die specificatie in Copilot. Ja je kan het dus echt wel benaderen als van hoe zou ik dat doen? Dus ik zou inderdaad net als jij zou zeggen van oké wat voor risico wil ik afdekken? Wat wil ik bereiken? Wat is het doel? En waarbinnen gebeurt het? Als je dat aan ChatGPT uitgeschreven opgeeft en je zegt dan maak een stap voor stap plan hiervoor. Dan komt hij met een takenlijst terug en dan vervolgens kun je tegen hem zeggen. Ja maar dat is niet het testplan, maar het is het stappenplan die komt tot dat testplan. Ja en daarna zeg je tegen hem werk stap 1 uit, werk stap 2 uit, werk stap 3 uit enzovoort enzovoort. En dan zul je zien dat hij dan wel met een testplan komt. Als je tegen hem zegt van ik heb dit product, dit zijn mijn risico's, dit is het doel, maak een testplan. Dan gaat hij een soort van. Moa, generiek. Ja, je vraagt de stagiair en je krijgt hetzelfde. Maar als je nou stap voor stap dat aan hem vertelt van ik wil gewoon dat je eerst een stappenplan maakt en dan stap voor stap gaat laten uitwerken. Dan zul je zien dat hij dat wel doet. Precies en het mooie is dat je dus net als wat we net hadden bij Copilot, dat bij dat stappenplan als je zegt van werk stap 1 uit, dat je daar weer dus nieuwe context, hele specifieke context van jezelf, dat je die opgeeft. Dat je zegt neem dit mee in deze stap. En zo bouw je eigenlijk stap voor stap, bouw je dit plan op. Ja en ik zou dus in dit geval ook, dit lukt bijna niet in één conversatie. Dat vindt hij echt moeilijk. De truc die ik zelf dus nog wel eens uithaal is een Word document open aan de zijkant. Daar plak ik het antwoord in op dat plan en dan ga ik stukje bij beetje kopiëren plakken weer in ChatGPT met de juiste context erbij. En dan komt er in Word eigenlijk mijn hele plan helemaal te staan. Ja, dat is een soort kladblaadje voor ChatGPT alleen ziet hij die niet. Dat is de truc. Mooi, mooi antwoord. Nou Frits, laat ons even horen of dit ook een bevredigend antwoord voor je is. We willen natuurlijk ook weten is het gelukt met je testplan? Absoluut, toch? Hey Willem, het laatste stukje wil ik gebruiken van, ik had nu al eigenlijk een beetje het idee dat ik een kijkje in de toekomst had, maar het is er. Dus dit is eigenlijk de werkelijkheid waar we naar gekeken hebben. Hoe zie jij dit ontwikkelen? Het feit dat AI gaat programmeren, ja wat we tot nu toe gezien hebben. Ik denk, ja de eerste stap is natuurlijk dit verfijnen. Dat ga je meemaken dat dat dan gaat gebeuren. Ik zie ook wel dat dit gekopieerd gaat worden naar andere plekken waar dit handig is. Wat bedoel je met andere plekken? Copywriting, presentaties maken. Testplannen schrijven. Ja, Frits op weg helpen met een testplan. Of als je geen Frits heet, dan kan dat nog steeds. Dus je gaat zien dat andere vakgebieden van dit patroon, wat we hier eigenlijk zien, gaan profiteren. De volgende stap is volgens mij toch nog wel weer dat er meerdere gespecialiseerde agents bij komen kijken om nog complexere zaken weer op te lossen. Ja en met agents bedoel je, want nu hebben we een agent die kan programmeren. Dat je straks hele specifieke... Ja, als je een webapplicatie bouwt is bijvoorbeeld beveiliging weer heel erg belangrijk. Een agent die je webapplicatie binnenstebuiten kan keren op zoek naar beveiligingslekken. Dat is natuurlijk ook super handig. Maar ook voor puur praktisch voor op kantoor een agent die delen van je bedrijfsproces uitvoert en dat meerdere agents met elkaar gaan communiceren om een nog grotere deel van je bedrijfsproces te automatiseren. Ik zie dat wel gebeuren denk ik. Ja, ik meen het. We hadden natuurlijk nog beloften van Niels van hoe zit het met kosten, licentiestructuren als je dit wil gaan gebruiken zodra je daadwerkelijk zeg maar in je projecten. Ja, dus we moeten ons goed realiseren dat op dit moment Copilot Workspaces is in preview. Het verandert ongeveer 4 tot 6 keer per dag. Krijg ik nieuwe knopjes, nieuwe dingen erin. Dus pricing hebben ze niet beschikbaar. Maar je kan je voorstellen je hebt nu Copilot licentie voor ik meen iets van 15 dollar per maand of richting de 30 daar in die buurt zit dat ongeveer. Per persoon he? Per persoon, dus laten we zeggen variant van gaan maken dat je dus 50 euro per maand betaalt hiervoor. Ik denk nog steeds dat het vrij goedkoop is voor wat je krijgt. Ja, als je dat omrekent naar uurtarief. Ja, ik bedoel ik kan daar niet eens een uur voor werken eerlijk gezegd. Dus dat ja, ik denk dat het reuze meevalt qua licenties. Wat denk ik ook wel goed is om te realiseren is dat dus met dit soort dingen je gaat je code naar het internet sturen naar een externe partij. Dat is altijd een heet hangijzer. Dat is hier ook zo. Er gelden dezelfde regels voor als voor Copilot zelf. Dat wil dus zeggen dat de data is van jou. GitHub kan er niet in kijken. Daar hebben ze ook een licentie technisch en zo hebben ze dat allemaal afgedikt voor je qua overeenkomst. En wat ook wel goed is om te weten, ze gaan code genereren. Daar kan open source code bij verschijnen. Ook daarvoor geldt ze genereren alleen code wat licentie technisch mag. Ze controleren daarop dat ze de goede spullen genereren. Dat is wel heel mooi. Ja, ik heb laatst voor het eerst live meegemaakt dat ik code suggestie kreeg wat dan licentie technisch niet kon. Met wat ik had ingesteld staan. En dan kreeg ik een soort waarschuwing onderin beeld. Ik heb iets geprobeerd te genereren voor je maar ik heb het maar weer weggehaald want het was copyright technisch niet handig. Dus dat is wel heel goed. Dat is zeker goed. Ja, dus dat zit hier ook gewoon in gebouwd. Netjes. Willem, weet je, hoe kunnen mensen nou zelf beginnen hiermee? Ja, dus Copilot Workspace is nog niet voor iedereen beschikbaar. Het is voor een kleine groep op dit moment. Maar dat groeit wel heel snel. Er staat op GitHub.com, kun je je aanmelden op de wachtlijst. Dus bij je softwareontwikkelaar of bij je IT manager en je denkt van nou dit moet ik een keertje gedaan hebben. Meld je je aan voor de wachtlijst. Ik weet niet hoe snel het gaat maar ik vermoed dat het steeds sneller wordt. Die wachtlijst. Dat je aan de beurt bent om daar ook toegang toe te krijgen. En is dat dan ook zeg maar de actie die je wil oproepen aan mensen van ga dit gewoon proberen? Ja, kijk nu workspace proberen is een beetje lastig. Maar goed, meld je aan voor de wachtlijst in ieder geval. En ga GitHub Copilot, degene die nu al publiek is, ga die in ieder geval wel gebruiken. Want dat alleen al is een flinke stap vooruit en het helpt je alleen maar bij het beter begrijpen wat dit soort tools doen. Ja, want uiteindelijk komen we als software developers hier niet onderuit dat dit ons werk gaat veranderen. Net zo goed als dat het in iedere sector, overal waar het gaat over schrijven, wat je dan ook schrijft, gaat gewoon je werk veranderen. Ja, en wij zeiden een half jaar geleden, dat gaat nog twee jaar duren. En we hebben heel erg ongelijk gehad. Ja, zo gaat het. Sneller dan dat je verwacht. Absoluut. Hé, hartstikke bedankt. We hebben het er echt even zo tussendoor gepropt. Dus ik hoop dat je het als luisteraar ook heel erg leuk vindt. Het is allemaal nog heel erg preview. We hebben ervan mogen proeven en we wilden dat heel graag met jullie delen. Dank je wel, Willem. Leuk dat je er weer luisterde naar deze aflevering. Weet dat je lid kan worden van onze community van AI-enthusiastelingen. En dan kan je namelijk maandelijks exclusieve content ontvangen. Als je je inschrijft voor onze nieuwsbrief, dan blijf je geïnformeerd over de nieuwste ontwikkelingen. De link vind je in de show note. Tot de volgende keer. Zie je? .