AIToday Live

S06E74 - Vakwerk vereist bij programmeren in natuurlijke taal

September 11, 2024 Aigency by Info Support Season 6 Episode 74

Net als bij traditionele softwareontwikkeling vereist het werken met AI-gestuurde processen precisie, systematisch denken en continue optimalisatie. De podcast belicht hoe technieken uit de softwareontwikkeling, zoals geautomatiseerd testen en monitoring, waardevol zijn voor dit nieuwe vakgebied.

Organisaties die investeren in deze vaardigheden kunnen flexibeler opereren en sneller innoveren in een tijdperk waarin de grenzen tussen programmeren en werken met 

Links

Aigency
Aigency ontwerpt en ontwikkelt waardevolle, robuuste en betrouwbare Machine Learning-modellen.

Info Support
Info Support is de specialist in maatwerk software en leidend in kunstmatige intelligentie (AI).

Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.

Schrijf je in voor onze nieuwsbrief en ontvang exclusieve toegang tot nieuws, blik achter de schermen en meer!

1
00:00:00,001 --> 00:00:08,000
Hoi, leuk dat je weer luistert naar een korte aflevering van de AIToday Live Podcast.

2
00:00:08,000 --> 00:00:14,640
En in deze aflevering gaan we het hebben over de kunst van het programmeren met natuurlijke

3
00:00:14,640 --> 00:00:15,640
taal.

4
00:00:15,640 --> 00:00:21,000
Kijk, in onze vorige korte aflevering doken we in de techniek van prompt engineering.

5
00:00:21,000 --> 00:00:27,240
Daar heb ik drie technieken uitgelegd waarbij de meest interessante de prompt chain is.

6
00:00:27,240 --> 00:00:30,080
Heb je hem niet geluisterd, luister hem even terug.

7
00:00:30,080 --> 00:00:36,000
Want vandaag bouwen we daarop voort op die aflevering met best wel een interessante parallel.

8
00:00:36,000 --> 00:00:42,800
Namelijk hoe het optimaliseren van bedrijfsprocessen met AI sterke overeenkomsten vertoont met een

9
00:00:42,800 --> 00:00:45,680
vak dat in ieder geval ik goed ken.

10
00:00:45,680 --> 00:00:48,040
En dat is de professionele softwareontwikkeling.

11
00:00:48,040 --> 00:00:57,200
Want stel je voor een marketeer die zichzelf plotseling als programmeur ziet.

12
00:00:57,200 --> 00:00:58,200
Klinkt vreemd?

13
00:00:58,200 --> 00:01:02,800
Toch is het precies wat er gebeurt in het tijdperk van generatieve AI.

14
00:01:02,800 --> 00:01:07,720
Martin van Kranenburg, een ervaren marketeer en schrijver, verwoorde dat treffene tijdens

15
00:01:07,720 --> 00:01:12,880
een aankomende aflevering die nog gaat komen waarbij de volgende stelling aan hem is voorgelegd.

16
00:01:12,880 --> 00:01:18,760
De stelling luidde "Wij gaan generatieve AI inzetten voor codegeneratie."

17
00:01:18,760 --> 00:01:23,320
Laten we naar Martin luisteren en bedenken dat hij dus een schrijver en marketeer van

18
00:01:23,320 --> 00:01:26,960
beroep is, want dat maakt zijn antwoord zo interessant.

19
00:01:26,960 --> 00:01:30,680
Dat vind ik een moeilijke vraag natuurlijk, want ik ben geen codeur.

20
00:01:30,680 --> 00:01:35,280
Maar ik vind wel, ja, dat is een stelling.

21
00:01:35,280 --> 00:01:36,280
Natuurlijk ja.

22
00:01:36,280 --> 00:01:42,320
Je zet het in om het werk leuker te maken, efficiënter, slimmer.

23
00:01:42,320 --> 00:01:48,880
En ik ga nu eigenlijk wel zeggen, dat vind ik ook wel leuk, ik zie mezelf eigenlijk ook

24
00:01:48,880 --> 00:01:49,960
nu als een soort codeur.

25
00:01:49,960 --> 00:01:56,440
Maar ik vind mijn codetaal, mijn codetaal, is gewoon het Nederlands of het Engels.

26
00:01:56,440 --> 00:02:01,000
Nou Martin slaat wat mij betreft de spijker op zijn kop.

27
00:02:01,000 --> 00:02:03,760
Want wat doen we eigenlijk als we programmeren?

28
00:02:03,760 --> 00:02:09,920
We geven de machine instructies, bijvoorbeeld vraag de gebruiker om input, voer deze berekening

29
00:02:09,920 --> 00:02:13,000
uit, toon deze gegevens op een website.

30
00:02:13,000 --> 00:02:19,320
Programmeren is niets anders dan in een vooraf gedefiniëerde taal instructies geven aan

31
00:02:19,320 --> 00:02:20,320
een machine.

32
00:02:20,320 --> 00:02:27,240
En dat is ook precies wat we doen met generatieve AI, alleen geven we het nu aan een taalmachine.

33
00:02:27,240 --> 00:02:33,720
We geven instructies aan een taalmodel, wat uiteindelijk ook gewoon een machine is.

34
00:02:33,720 --> 00:02:38,760
We zijn de computer aan het programmeren, bedienen en instructies aan het geven.

35
00:02:38,760 --> 00:02:43,400
Maar in plaats van een programmerentaal te gebruiken, je zou haast kunnen zeggen een

36
00:02:43,400 --> 00:02:49,800
obscure programmerentaal te gebruiken, omdat maar een selecte groep van mensen dit kunnen,

37
00:02:49,800 --> 00:02:52,120
gebruiken we nu onze eigen natuurlijke taal.

38
00:02:52,120 --> 00:02:58,560
En met deze nieuwe vorm van, laten we tussen aanhalingssteken zeggen programmeren, komt

39
00:02:58,560 --> 00:03:01,240
ook een grote verantwoordelijkheid om de hoek kijken.

40
00:03:01,240 --> 00:03:06,240
Want net als bij traditionele softwareontwikkeling moeten we ervoor zorgen dat onze AI systemen

41
00:03:06,240 --> 00:03:10,880
consistent blijven, betrouwbaar zijn en bruikbare resultaten leveren.

42
00:03:10,880 --> 00:03:16,640
In de PromptChain techniek gebruiken we de uitvoer van één set instructies als info

43
00:03:16,640 --> 00:03:17,640
voor de volgende.

44
00:03:17,640 --> 00:03:26,200
En daarmee kunnen we heel goed businessprocessen op een andere manier automatiseren, programmeren.

45
00:03:26,200 --> 00:03:28,760
En dit vereist een zorgvuldige afstemming.

46
00:03:28,760 --> 00:03:34,000
We moeten zeker weten dat de gegevens in het juiste formaat zijn, in de juiste taal zijn

47
00:03:34,000 --> 00:03:39,160
geschreven, maar bovenal dat de juiste elementen erin zitten.

48
00:03:39,160 --> 00:03:46,120
En als we AI systemen bouwen, bouwen ze hopelijk voor de lange termijn.

49
00:03:46,120 --> 00:03:49,760
Want laten we eerlijk zijn, we verwachten dat deze systemen minstens vijf, misschien

50
00:03:49,760 --> 00:03:51,160
wel tien jaar meegaan.

51
00:03:51,160 --> 00:03:56,200
En daarom kunnen we juist zoveel leren van beproefde technieken uit de softwareontwikkeling.

52
00:03:56,200 --> 00:04:01,640
En één van die technieken is het gebruik maken van geautomatiseerd testen.

53
00:04:01,640 --> 00:04:06,880
Want hoe weet je dat je systeem blijft werken als er iets verandert?

54
00:04:06,880 --> 00:04:10,800
In de wereld van AI hebben we te maken met data drift.

55
00:04:10,800 --> 00:04:15,040
De invoer voor je model of systeem kan in de loop van de tijd veranderen.

56
00:04:15,040 --> 00:04:20,880
Als je bedrijfsproces evolueert, veranderen mogelijk ook de gegevens die je binnenkrijgt.

57
00:04:20,880 --> 00:04:25,600
Dit betekent dat prompts die perfect waren afgestemd op je originele data langzaam maar

58
00:04:25,600 --> 00:04:27,720
zeker minder effectief kunnen worden.

59
00:04:27,720 --> 00:04:31,920
Het is als een puzzel waarvan één stukje langzaam van vorm verandert.

60
00:04:31,920 --> 00:04:36,120
En als je dat niet opmerkt, gaat je hele systeem langzaam kapot.

61
00:04:36,120 --> 00:04:42,320
En daar kunnen we dan weer een andere techniek voor gebruiken in de software engineering,

62
00:04:42,320 --> 00:04:44,720
die in het verlengde licht van het geautomatiseerd testen.

63
00:04:44,720 --> 00:04:46,280
En dat is logging en monitoring.

64
00:04:46,280 --> 00:04:49,360
En hiermee kun je onder andere data drift detecteren.

65
00:04:49,360 --> 00:04:55,640
Met goede logging en monitoring leg je namelijk vast welke data is gebruikt tegen welke prompt,

66
00:04:55,640 --> 00:04:58,440
maar ook tegen welke versie van het prompt.

67
00:04:58,440 --> 00:05:03,200
Daarmee weet je wat de resultaten waren van de uitvoering van de prompt.

68
00:05:03,200 --> 00:05:04,440
Dit leg je ook vast.

69
00:05:04,440 --> 00:05:09,560
Het probleem, als je dit niet vastlegt, is dat je nooit kan zien in welke gevallen het

70
00:05:09,560 --> 00:05:12,560
wel goed gaat en in welke gevallen het niet goed gaat.

71
00:05:12,560 --> 00:05:16,080
Of nog erger, hoe erg het niet goed gaat.

72
00:05:16,080 --> 00:05:21,800
En we hebben het hier niet over ad-hoc prompts, waarbij je als je die invoert dat je zelf kan

73
00:05:21,800 --> 00:05:24,840
beoordelen op dat moment van is het goed gegaan ja of nee.

74
00:05:24,840 --> 00:05:32,920
Nee, het gaat hier om in een geautomatiseerd proces dat je de prompts gebruikt en die output

75
00:05:32,920 --> 00:05:35,960
genereren waar je uiteindelijk weer op voortboorduurt.

76
00:05:35,960 --> 00:05:43,280
Met dit alles kunnen we wel vaststellen dat we aan de vooravond staan van echt een fascinerend

77
00:05:43,280 --> 00:05:48,760
tijdperk waarin de grenzen tussen traditioneel programmeren en het werken met AI vervagen.

78
00:05:48,760 --> 00:05:52,280
En dit brengt wel nieuwe uitdagingen met zich mee.

79
00:05:52,280 --> 00:05:58,840
Die softwareontwikkelaars zijn opgeleid om een goede programmeertaal te spreken, maar

80
00:05:58,840 --> 00:06:02,360
nu moeten ze leren om helder te communiceren in natuurlijke taal.

81
00:06:02,360 --> 00:06:08,160
Tegelijkertijd moeten niet-technische professionals leren denken als programmeurs met aandacht

82
00:06:08,160 --> 00:06:10,440
voor logica, structuur en precisie.

83
00:06:10,440 --> 00:06:17,000
Daarom wordt vakwerk wat mij betreft de sleutel tot duurzame procesoptimalisatie.

84
00:06:17,000 --> 00:06:22,960
Het optimaliseren van bedrijfsprocessen met AI is geen eenmalige exercitie, maar een continu

85
00:06:22,960 --> 00:06:25,760
proces dat vraagt om echt vakmanschap.

86
00:06:25,760 --> 00:06:31,640
Net zoals bij de professionele softwareontwikkeling is er een grondige methodische aanpak nodig

87
00:06:31,640 --> 00:06:37,000
om systemen te creëren die niet alleen effectief zijn, maar ook betrouwbaar blijven op de lange

88
00:06:37,000 --> 00:06:38,000
termijn.

89
00:06:38,000 --> 00:06:46,240
Laten we gewoon een aantal punten opnoemen wat cruciale aspecten zijn voor dit vakwerk.

90
00:06:46,240 --> 00:06:47,240
1.

91
00:06:47,240 --> 00:06:49,880
Precisie in natuurlijke taal.

92
00:06:49,880 --> 00:06:55,400
Want zoals softwareontwikkelaars moeten excelleren wat ik al zei in programmeertalen, moeten

93
00:06:55,400 --> 00:07:01,520
AI-engineers en bedrijfsanalysten gaan uitmunten in het formuleren van precieze, ondubbelzinnige

94
00:07:01,520 --> 00:07:03,280
instructies in natuurlijke taal.

95
00:07:03,280 --> 00:07:04,800
Dat niet mee zal vallen.

96
00:07:04,800 --> 00:07:05,800
2.

97
00:07:05,800 --> 00:07:06,800
Systematisch denken.

98
00:07:06,800 --> 00:07:14,480
Het ontwerpen van AI-gestuurde processen vereist dezelfde logische, stapsgewijze benadering

99
00:07:14,480 --> 00:07:16,520
die we kennen uit de softwareontwikkeling.

100
00:07:16,520 --> 00:07:21,120
Elk onderdeel moet zorgvuldig worden gepland, getest en geïntegreerd.

101
00:07:21,120 --> 00:07:22,120
3.

102
00:07:22,120 --> 00:07:25,000
Robuustheid en schaalbaarheid.

103
00:07:25,000 --> 00:07:30,800
Net als bij software-systemen moeten AI-processen bestand zijn tegen veranderingen in input

104
00:07:30,800 --> 00:07:32,080
en bedrijfbehoeftes.

105
00:07:32,080 --> 00:07:36,840
Dit vereist vooruitdenken en het inbouwen van flexibiliteit.

106
00:07:36,840 --> 00:07:37,840
4.

107
00:07:37,840 --> 00:07:41,640
Continue monitoring en optimalisatie.

108
00:07:41,640 --> 00:07:48,280
Dit is nodig om data drift te voorkomen, te detecteren.

109
00:07:48,280 --> 00:07:53,600
Het is cruciaal om het systeem in de lucht te houden.

110
00:07:53,600 --> 00:07:54,600
5.

111
00:07:54,600 --> 00:07:57,600
Documentatie en kennisoverdracht.

112
00:07:57,600 --> 00:08:03,120
Goede documentatie is essentieel voor de onderhoud en de ontwikkeling van zowel software, als

113
00:08:03,120 --> 00:08:04,120
AI-systemen.

114
00:08:04,120 --> 00:08:10,520
Het vastleggen van beslissingen, processen en de onderliggende logica zorgt voor continuïteit.

115
00:08:10,520 --> 00:08:16,400
Dat geldt dus ook voor promptgestuurde optimalisatie van businessprocessen.

116
00:08:16,400 --> 00:08:23,080
Door deze principes van vakmanschap toe te passen, kunnen we AI-gestuurde bedrijfsprocessen

117
00:08:23,080 --> 00:08:27,480
ontwikkelen die niet alleen op korte termijn effectief zijn, maar ook op lange termijn

118
00:08:27,480 --> 00:08:28,560
waardevol blijven.

119
00:08:28,560 --> 00:08:33,520
We bouwen systemen die kunnen meegroeien met het bedrijf, zich kunnen aanpassen aan veranderende

120
00:08:33,520 --> 00:08:37,600
omstandigheden en consistent betrouwbare resultaten leveren.

121
00:08:37,600 --> 00:08:44,080
Ik denk dat het nu duidelijk is dat het optimaliseren van bedrijfsprocessen van AI meer is dan simpelweg

122
00:08:44,080 --> 00:08:45,880
het toepassen van een nieuwe technologie.

123
00:08:45,880 --> 00:08:52,200
Het vereist een diepgaand begrip van zowel de technische als bedrijfsmatige aspecten,

124
00:08:52,200 --> 00:08:57,120
gecombineerd met de vaardigheid om deze twee werelden naadloos te laten samenwerken.

125
00:08:57,120 --> 00:09:00,880
Dit is waar het echte vakwerk om de hoek komt kijken.

126
00:09:00,880 --> 00:09:03,400
De parallellen met softwareontwikkeling zijn niet toevallig.

127
00:09:03,400 --> 00:09:09,960
Ze wijzen op een samenkomst van disciplines die cruciaal is voor succes in het digitale

128
00:09:09,960 --> 00:09:10,960
tijdperk.

129
00:09:10,960 --> 00:09:18,960
Door de lessen en best practices uit de softwareontwikkeling te integreren in onze aanpak van de procesoptimalisatie

130
00:09:18,960 --> 00:09:21,880
leggen we een solide basis voor langdurige duurzame verbetering.

131
00:09:21,880 --> 00:09:29,080
Terwijl we vooruitkijken is het duidelijk dat organisaties die dit vakwerk serieus nemen

132
00:09:29,080 --> 00:09:33,640
en investeren in de ontwikkeling van deze vaardigheden een significante voorsprong zullen

133
00:09:33,640 --> 00:09:34,640
hebben.

134
00:09:34,640 --> 00:09:40,320
Zij zullen in staat zijn om flexibeler te opereren, sneller te innoveren en beter voorbereid te

135
00:09:40,320 --> 00:09:42,520
zijn op de uitdagingen van morgen.

136
00:09:42,520 --> 00:09:49,520
Het pad van AI gedreven procesoptimalisatie mag dan nieuw en soms onzeker lijken.

137
00:09:49,520 --> 00:09:54,080
Maar met de juiste vakkundige aanpak kunnen we systemen bouwen die niet alleen vandaag

138
00:09:54,080 --> 00:09:56,920
maar ook in de komende jaren waarde blijven toevoegen.

139
00:09:56,920 --> 00:10:02,240
Laten we dit nieuwe vakgebied omarmen met dezelfde toewijding, precisie en visie die

140
00:10:02,240 --> 00:10:06,720
de softwareontwikkeling ons heeft gebracht tot waar we nu zijn.

141
00:10:06,720 --> 00:10:12,520
En gelukkig zijn er steeds meer aanpakken en technieken die invulling kunnen geven

142
00:10:12,520 --> 00:10:14,440
aan juist dit vakwerk.

143
00:10:14,440 --> 00:10:19,920
Voor een podcast als deze gaat het te ver en te diep om deze technieken te behandelen.

144
00:10:19,920 --> 00:10:24,480
Maar wil je daar meer over weten neem dan gerust contact met me op.

145
00:10:24,480 --> 00:10:27,520
Dankjewel weer voor het luisteren en tot de volgende keer!

146
00:10:27,560 --> 00:10:30,560
[Muziek]

147
00:10:30,560 --> 00:10:32,560
[Muziek]


People on this episode