Bij AFAS Software hadden we onlangs een interessante technische uitdaging:
Hoe kan ik een deel van een custom element (toegankelijk via ::part(partname)) toegankelijk maken als onderdeel van een omvattend custom element?
Een paar jaar geleden zou dit veel online zoeken en door documentatie spitten hebben betekend. Nu kregen we snel een antwoord via AI. Toch is het niet ideaal om AI volledig te vertrouwen als vervanging voor zoekmachines. Hier zijn enkele redenen waarom:
AI kan soms antwoorden geven die aannemelijk lijken maar niet kloppen. Zo probeerde ik recent een niet-bestaande OnCommandFinished-methode in PowerShell aan de praat te krijgen, omdat ChatGPT o1-preview deze functie “verzonnen” had. Dit is een voorbeeld van een AI-hallucinatie die tijd kostte om te doorzien.
AI verbruikt veel meer energie dan een traditionele zoekmachine, wat een impact heeft op het milieu. AI is nuttig, maar we moeten ook stilstaan bij de energiebehoeften en de ecologische voetafdruk.
Als we alleen AI gebruiken, kunnen we minder vaak officiële documentatiesites bezoeken, wat nadelig is voor de organisaties die deze onderhouden. Documentatiesites draaien soms op advertentie-inkomsten, en als het verkeer afneemt, kan dit de kwaliteit van de documentatie op lange termijn schaden.
Daarom gebruik ik eerst een zoekmachine. Als een probleem te complex is of ik weinig nuttige informatie vind, probeer ik AI. Als AI een antwoord geeft dat niet werkt of onduidelijk is, ga ik terug naar de zoekmachine om het antwoord te controleren.
Terug naar ons oorspronkelijke probleem: opvallend genoeg kon ChatGPT 4o (uitgebracht vier maanden geleden) het niet oplossen en gaf het een niet-functionele oplossing met een lange CSS-selector. Zowel ChatGPT o1-preview als Claude-3.5-sonnet gaven wel het juiste antwoord: gebruik de exportparts-attribuut.
Als je met AI werkt, is de juiste prompt belangrijk. Bij mijn eerste poging noemde ik ::part(partname) niet, waardoor AI een niet-relevant antwoord gaf. Het helpt vaak om specifieke codefragmenten mee te geven, zodat AI gerichter en duidelijkere voorbeelden kan genereren. Maar zelfs dan blijft het cruciaal om het antwoord goed te controleren voordat je erop vertrouwt.
Johan is Lead Software Architect bij AFAS. Hij is gepassioneerd over de toepassing van AI bij het programmeren en schrijft hier regelmatig over.