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 Simulatiegedachte

Door generatieve AI-functies in programma's in te bedden, kunnen we mechanismen creëren die voorheen onbereikbaar waren met conventionele programmering.

Bovendien, naarmate generatieve AI in staat wordt tot automatische programmageneratie, zullen we in staat zijn om programma's vrijelijk en gemakkelijk te creëren en uit te voeren zoals we ze bedenken.

Ik heb tot nu toe systemen gebouwd die mijn blogartikelen naar het Engels vertalen en op een Engelstalige blog plaatsen, verklarende video's maken van presentatievideo's en deze uploaden naar YouTube, en mijn eigen blogsite met indexen, categorieën en tags genereren en publiceren.

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

Bovendien heb ik een webapplicatie gecreëerd om deze Intellectuele Fabriek te beheren en de status ervan te monitoren, waardoor deze toegankelijk is op zowel pc's als smartphones. Daarnaast worden de onderdelen die automatische verwerking afhandelen, geactiveerd door gebeurtenissen en uitgevoerd op virtuele machines die zijn voorbereid voor batchverwerking buiten de backend.

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

Dit is niet louter full-stack engineering, maar kan Omnidirectionele Engineering genoemd worden, wat een alomvattende ontwikkeling van diverse aspecten van een systeem inhoudt.

Bovendien, wanneer ik aspecten van de ontwikkelde webapplicatie die onhandig zijn in gebruik wil verbeteren of nieuwe functies wil toevoegen, kan ik de programmering overlaten aan generatieve AI, wat gemakkelijke verbeteringen tijdens het gebruik mogelijk maakt.

Dit is zelfs flexibeler en vloeibaarder dan conventionele software, waardoor ik iets kan creëren dat perfect aansluit bij mijn gebruik. Ik noem dit Liquidware.

Ik heb deze zelf ontwikkeld en gebruik ze daadwerkelijk. Dit is niet slechts een concept; het is al de realiteit van softwareontwikkeling.

Hoewel nog niet ontwikkeld, voorzie ik in het domein van bedrijfssystemen dat de bedrijfsprocesgerichte ontwikkelingsmethodologie werkelijkheid zal worden.

Dit is een aanpak die niet streeft naar algehele optimalisatie van programma's, wat systemen compliceert, maar in plaats daarvan softwaremodules verdeelt in individuele bedrijfsprocessen.

Alleen de basisdefinitie van het user interface-framework, het beheer van gebruikersrechten en datamodellen die gedeeld moeten worden 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.

Het kan zijn dat er binnen deze processen functies of datastructuren bestaan die door twee of meer bedrijfsprocessen kunnen worden gedeeld. Echter, als ze worden omgezet in gedeelde modules of aangepaste bibliotheken, verbetert de herbruikbaarheid van code en kwaliteit weliswaar, maar wordt de softwarestructuur complex, en vereisen wijzigingen constante overweging van hun impact op andere Bedrijfsprocessen.

In een situatie waarin generatieve AI programma's automatisch genereert, wegen de nadelen van het laatste zwaarder dan de voordelen van het eerste. Daarom wordt de bedrijfsprocesgerichte benadering, die de nadruk legt op Individuele Optimalisatie in plaats van algehele optimalisatie, rationeel.

Stel je bovendien eens eenheden voor zoals "nieuwe basisinformatie voor werknemers invoeren", "basisinformatie voor werknemers bijwerken" of "werknemers op naam zoeken" als afzonderlijke bedrijfsprocessen.

In traditionele ontwikkelingsmethoden zouden elke gebruikersinterface, frontend-proces, backend-proces en batch-proces worden gescheiden in verschillende bestanden in verschillende mappen. Bovendien zou elk door een andere engineer worden ontwikkeld.

Echter, wanneer één engineer Omnidirectionele Engineering uitvoert door generatieve AI de programmering te laten doen, is het logischer om de code die nodig is voor één bedrijfsproces te consolideren in één enkel bestand of één enkele map.

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

Dit maakt het mogelijk om alle software-engineering artefacten te beheren op het niveau van een enkel bedrijfsproces. En omdat er geen noodzaak is om rekening te houden met algehele optimalisatie, kunnen verbeteringen worden gericht binnen dat bedrijfsproces, en kunnen nieuwe bedrijfsprocessen eenvoudig aan het bedrijfssysteem worden toegevoegd.

Op deze manier ondergaan de programmaontwikkeling en wat met programma's kan worden ontwikkeld aanzienlijke veranderingen dankzij generatieve AI. Dit is geen toekomstig scenario; het is nu al de realiteit, en in de nabije toekomst kan de verfijning ervan alleen maar verder toenemen, en de volgende fase moet onvermijdelijk verder gaan dan dat.

Simulatiesystemen

Wat met programma's kan worden gerealiseerd, 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 eenvoudige natuurkundige vergelijkingen met een enkele analytische formule of het berekenen van complexe natuurkundige fenomenen met iteratieve programma's, beide kunnen als simulatiesystemen worden beschouwd.

Bovendien kunnen simulatiesystemen niet alleen in de natuurkunde worden gebruikt, maar ook in de scheikunde, biologie, sociologie, economie en andere vakgebieden. Naast de academische wereld worden simulaties ook toegepast in de techniek, geneeskunde, institutionele operaties en bedrijfsvoering.

Spellen zijn ook een soort simulatiesysteem. In elk spel worden de natuurkunde, de samenleving, de regels en andere aspecten binnen de Wereld van dat spel, in zekere zin, gesimuleerd.

Bovendien voeren we ook een soort simulatie uit wanneer we ons leven, reizen of onze zakgelduitgaven plannen.

Deze simulaties zijn op verschillende manieren uitgevoerd: door programma's te maken en uit te voeren, vergelijkingen op papier te berekenen, in ons hoofd te denken, gedachten te ordenen met tekst en pijlen op een whiteboard, of grafieken te tekenen in Excel.

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

Het vereist ook het verduidelijken van het simulatiemodel, wat op zijn beurt vaardigheden, overweging en tijd vraagt.

Bovendien waren simulaties beperkt tot wat in een programmeerbare vorm kon worden uitgedrukt, en voorheen kon alleen wat computationeel kon worden uitgedrukt, worden gesimuleerd.

Generatieve AI verandert deze situatie aanzienlijk.

Generatieve AI kan niet alleen gemakkelijk simulatiesysteemprogramma's ontwikkelen, maar door generatieve AI in simulatiesystemen te integreren, kunnen ook elementen die niet wiskundig kunnen worden uitgedrukt, worden gesimuleerd. Dit maakt dubbelzinnige kwalitatieve simulatie-elementen en simulaties met mensachtige intelligente agenten mogelijk.

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

Dit zal het gemakkelijk maken om de verschillende simulaties die we in veel situaties hebben uitgevoerd, om te zetten in simulatiesystemen.

Als gevolg hiervan zullen we in staat zijn om nauwkeurigere, efficiëntere en effectievere simulatieresultaten te verkrijgen, met een verminderde kans op het over het hoofd zien van details of het introduceren van vooroordelen.

Bovendien zullen we, bij het overwegen of bespreken van complexe problemen, een simulatiesysteem kunnen gebruiken voor overweging en discussie, in plaats van te vertrouwen op individuele mentale simulaties.

Dit verhoogt de precisie van de overweging en maakt discussies constructiever. In plaats van elkaars intelligentie of denkfouten aan te wijzen, kunnen discussies zich richten op duidelijke punten zoals de onderliggende modellen van de simulatie, eventuele omissies of ontbrekende elementen, hoe zeer onzekere delen worden geschat, en welke metingen onder de resultaten prioriteit krijgen.

Naarmate simulatiesystemen gemakkelijker te creëren worden, zal onze manier van denken overgaan van lineair denken – dat zich richt op intuïtie, aannames en de kwaadwilligheid of fouten van anderen – naar Simulatiegedachte.

Dit is vergelijkbaar met het opzoeken van nieuwsbronnen, Wikipedia of primaire bronnen op een smartphone tijdens een discussie. Er zullen geen eindeloze discussies meer nodig zijn die uitsluitend gebaseerd zijn op elkaars herinneringen.

Tijdens een discussie zal generatieve AI het simulatiemodel, de simulatiregels en de randvoorwaarden uit de inhoud van de discussie organiseren.

Deelnemers aan de discussie hoeven dan alleen nog maar informatie en uitgangspunten in dat model en die regels toe te voegen of te corrigeren, en vervolgens de simulatie-uitkomsten te controleren. Net zoals bij het vinden van een geloofwaardige nieuwsbron, kunnen deze simulatie-uitkomsten als gemeenschappelijke basis dienen om de discussie te verdiepen.

Dit betekent dat mensen die naar de discussie luisteren niet langer hoeven na te denken over wie gelijk heeft of wie betrouwbaar is. Ook zullen ze de essentie niet langer uit het oog verliezen door arcane technische termen en concepten in de discussie te proberen te begrijpen.

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