Naar inhoud springen
Dit artikel is vanuit het Japans vertaald met behulp van AI
Lees in het Japans
Dit artikel is in het Publiek Domein (CC0). Voel je vrij om het vrij te gebruiken. CC0 1.0 Universal

Het tijdperk van simulatiethinken

Door de mogelijkheden van generatieve AI in programma's in te bedden, kunnen we mechanismen creëren die voorheen onbereikbaar waren met conventionele programma's.

Bovendien, naarmate generatieve AI in staat wordt om automatisch programma's te genereren, zullen we in staat zijn om vrij en eenvoudig programma's te creëren en uit te voeren op basis van onze ideeën.

Tot nu toe heb ik systemen gecreëerd die mijn blogartikelen naar het Engels kunnen vertalen en op Engelstalige blogs kunnen plaatsen, verklarende video's kunnen maken van presentatievideo's en deze kunnen uploaden naar YouTube, en mijn eigen blogsites met indexen, categorieën en tags kunnen genereren en publiceren.

Op deze manier kan een systeem dat originele inhoud als grondstof gebruikt en generatieve AI-functies incorporeert om diverse afgeleide inhoud te produceren, een intellectuele fabriek worden genoemd.

Ik heb ook een webapplicatie ontwikkeld om deze intellectuele fabriek te beheren en de status ervan te monitoren, die zowel op pc's als smartphones beschikbaar is. Bovendien worden onderdelen die geautomatiseerde verwerking uitvoeren getriggerd door gebeurtenissen, uitgevoerd op virtuele machines die zijn voorbereid voor batchverwerking aan de backend.

Zo heb ik eigenhandig de pc- en smartphone-frontends, de webserver-backend, batchverwerking op virtuele machines en de infrastructuur hiervoor ontwikkeld, allemaal met de ondersteuning van generatieve AI.

Dit is niet louter full-stack engineering; het kan omnidirectionele engineering worden genoemd, aangezien het de uitgebreide ontwikkeling van verschillende aspecten van het systeem omvat.

Bovendien, bij het verbeteren van de bruikbaarheid van de ontwikkelde webapplicatie of het toevoegen van nieuwe functies, kan ik het programmeren delegeren aan generatieve AI, wat gemakkelijke verbeteringen tijdens het gebruik mogelijk maakt.

Dit maakt de software nog flexibeler en vloeibaarder dan traditionele software, waardoor ik iets kan creëren dat perfect past bij mijn gebruikspatronen. Ik noem dit "liquidware".

Ik heb deze daadwerkelijk ontwikkeld en gebruik ze momenteel. Het zijn geen louter concepten, maar al een realiteit in softwareontwikkeling.

Hoewel ik het nog niet heb ontwikkeld, verwacht ik dat op het gebied van bedrijfssystemen de ontwikkelmethodologie die bekend staat als "bedrijfsprocesgerichte ontwikkeling" werkelijkheid zal worden.

Dit is een benadering die niet streeft naar algehele optimalisatie van programma's, wat systemen compliceert, maar eerder softwaremodules segmenteert per individueel bedrijfsproces.

Alleen de basiskaderdefinitie van de gebruikersinterface, gebruikersrechtenbeheer en datamodellen die moeten worden gedeeld tussen bedrijfsprocessen, worden gedeeld als het externe kader van het bedrijfssysteem.

Andere interne systeemverwerking en tijdelijke gegevens worden beheerd op het niveau van het bedrijfsproces.

Dit kan functies en datastructuren omvatten die door twee of meer bedrijfsprocessen kunnen worden gedeeld. Als deze echter worden omgezet in gedeelde modules of aangepaste bibliotheken, verbetert de herbruikbaarheid van code en kwaliteit, maar wordt de softwarestructuur complex, en veranderingen noodzaken constante overweging van de impact op andere bedrijfsprocessen.

In een situatie waarin generatieve AI automatisch programma's genereert, weegt het laatstgenoemde nadeel zwaarder dan het eerstgenoemde voordeel. Daarom wordt de bedrijfsprocesgerichte benadering, die de nadruk legt op individuele optimalisatie in plaats van algehele optimalisatie, rationeel.

Stel je bovendien eenheden voor zoals "nieuwe basisinformatie van werknemers invoeren", "basisinformatie van werknemers bijwerken" en "werknemers zoeken op naam" als individuele bedrijfsprocessen.

In traditionele ontwikkelmethodologieën worden hun respectievelijke gebruikersinterfaces, frontend-processen, backend-processen en batchprocessen gescheiden in verschillende bestanden in verschillende mappen. Bovendien wordt elk ontwikkeld door verschillende ingenieurs.

Wanneer echter één ingenieur omnidirectionele engineering uitvoert, terwijl generatieve AI het programmeren doet, is het logischer om de code die nodig is voor één bedrijfsproces te consolideren in één enkel bestand of map.

Bovendien kunnen de resultaten van de vereistenanalyse, testspecificaties, testresultaten en reviewverslagen ook op dezelfde locatie worden geconsolideerd.

Dit maakt het mogelijk om alle producten van software-engineering per bedrijfsproces te beheren. En omdat er geen behoefte is aan algehele optimalisatie, kunnen verbeteringen binnen dat bedrijfsproces worden geconcentreerd, en kunnen nieuwe bedrijfsprocessen eenvoudig aan het bedrijfssysteem worden toegevoegd.

Op deze manier veranderen programma-ontwikkeling en wat met programma's kan worden ontwikkeld aanzienlijk door generatieve AI. Dit is geen toekomstige mogelijkheid; het is reeds de huidige realiteit, en in de nabije toekomst kan de volledigheid ervan alleen maar toenemen, en de volgende fase moet daar verdergaan.

Simulatiesystemen

Wat met programma's gerealiseerd kan worden, is niet beperkt tot de hierboven genoemde bedrijfssystemen en intellectuele fabrieken.

De resterende gebieden die ik niet heb genoemd, kunnen grofweg worden ingedeeld als simulatiesystemen.

Of het nu gaat om het oplossen van een eenvoudige fysische vergelijking met één analytische formule of het berekenen van complexe fysische verschijnselen met iteratieve programma's, beide kunnen simulatiesystemen worden genoemd.

Bovendien kunnen simulatiesystemen niet alleen in de natuurkunde worden gebruikt, maar ook in de scheikunde, biologie, of zelfs sociologie en economie. Bovendien worden simulaties niet alleen toegepast in de academische wereld, maar ook in vakgebieden zoals engineering, geneeskunde, institutioneel ontwerp en bedrijfsmanagement.

Games zijn ook een type simulatiesysteem. In elke game kan gezegd worden dat de fysica, samenleving, regels, enz. binnen de wereld van die game, zogezegd, worden gesimuleerd.

Daarnaast voeren we ook een soort simulatie uit wanneer we ons leven, reizen of hoe we ons zakgeld besteden plannen.

Deze simulaties zijn op verschillende manieren uitgevoerd: door programma's te creëren en uit te voeren, door vergelijkingen op papier te formuleren en te berekenen, door in gedachten te denken, door ideeën te organiseren met tekst en pijlen op een whiteboard, of door grafieken te tekenen in Excel.

Het ontwikkelen van een simulatieprogramma voor een specifiek probleem maakt complexere simulaties mogelijk dan analytische vergelijkingen. Het vereist echter programmeervaardigheden, inspanning en tijd.

Ook moet het simulatiemodel duidelijk worden gedefinieerd, wat vaardigheden, inspanning en tijd voor overweging vereist.

Bovendien konden simulaties alleen worden uitgevoerd op manieren die door programma's konden worden uitgedrukt, en tot nu toe kon alleen datgene wat computationeel kon worden uitgedrukt, worden gesimuleerd.

Generatieve AI zal deze situatie aanzienlijk veranderen.

Generatieve AI maakt niet alleen de gemakkelijke ontwikkeling van simulatiesysteemprogramma's mogelijk, maar door generatieve AI in simulatiesystemen in te bedden, kunnen ook elementen die niet door wiskundige formules kunnen worden uitgedrukt, worden gesimuleerd. Dit maakt dubbelzinnige kwalitatieve simulatie-elementen en simulaties met mensachtige intelligente agenten mogelijk.

Bovendien kunnen dergelijke simulatiemodellen niet alleen in wiskundige formules, maar ook in natuurlijke taal worden uitgedrukt en door generatieve AI worden geïnterpreteerd.

Dit zal het gemakkelijker maken om de verschillende simulaties die we in diverse situaties hebben uitgevoerd, te systematiseren.

Dit stelt ons in staat om nauwkeurigere, efficiëntere en effectievere simulatieresultaten te verkrijgen, waardoor de mogelijkheid van nalatigheid en bevooroordeelde aannames wordt verminderd.

Bovendien, bij het bespreken of overwegen van complexe problemen, zal het mogelijk zijn om simulatiesystemen te gebruiken voor discussie en overweging, in plaats van te vertrouwen op individuele mentale simulaties.

Dit verhoogt de precisie van overweging en maakt discussies constructiever. Dit komt omdat in plaats van elkaars intellect of denkfouten aan te wijzen, discussies zich kunnen richten op duidelijke punten zoals het onderliggende model van de simulatie, eventuele weglatingen of ontbrekende elementen, hoe zeer onzekere delen worden geschat, en welke indicatoren onder de resultaten worden benadrukt.

Naarmate simulatiesystemen eenvoudig te creëren worden, zal de manier waarop we denken verschuiven van lineair denken, dat zich richt op intuïtie, aannames en andermans kwaadwilligheid of fouten, naar simulatiethinken.

Het is alsof je tijdens een gesprek op je smartphone op internet zoekt om nieuwsbronnen, Wikipedia of primaire bronnen te controleren. Er is geen behoefte meer aan eindeloze argumenten die uitsluitend gebaseerd zijn op elkaars herinneringen.

Tijdens een discussie zal generatieve AI het simulatiemodel, de simulatierregels en de randvoorwaarden organiseren op basis van de inhoud van de discussie.

De mensen die discussiëren hoeven alleen maar informatie en premissen aan dat model en die regels toe te voegen of te corrigeren, en vervolgens de simulatieresultaten te bevestigen. Net zoals wanneer een betrouwbare nieuwsbron wordt gevonden, kunnen die simulatieresultaten dienen als gemeenschappelijke grond voor een diepere discussie.

Dit zal luisteraars bevrijden van het tijdperk waarin ze zich afvroegen wie gelijk had of wie betrouwbaar was. Ze zullen ook niet langer de essentie uit het oog verliezen terwijl ze proberen de obscure jargon en concepten die in discussies voorkomen te begrijpen.

Ze hoeven alleen maar zeer eenvoudige dingen te overwegen: hoe onzekerheid te evalueren en welke waarden prioriteit te geven.