En intégrant les fonctions d'IA générative dans les programmes, nous pouvons créer des mécanismes qui étaient auparavant inatteignables avec la programmation conventionnelle.
De plus, à mesure que l'IA générative devient capable de générer automatiquement des programmes, nous pourrons créer et exécuter des programmes librement et facilement, tels que nous les concevons.
Jusqu'à présent, j'ai construit des systèmes qui traduisent mes articles de blog en anglais et les publient sur un blog anglais, créent des vidéos explicatives à partir de vidéos de présentation et les téléchargent sur YouTube, et génèrent et publient mon propre site de blog avec des index, des catégories et des balises.
De cette manière, un mécanisme qui utilise le contenu original comme matière première et intègre les fonctions d'IA générative pour produire divers contenus dérivés peut être appelé une Usine Intellectuelle.
De plus, j'ai créé une application web pour opérer cette Usine Intellectuelle et gérer son statut, la rendant accessible à la fois sur PC et sur smartphone. Par ailleurs, les parties qui gèrent le traitement automatique déclenché par des événements sont exécutées sur des machines virtuelles préparées pour le traitement par lots au-delà du backend.
Ainsi, j'ai développé les frontends PC et smartphone, le backend du serveur web, le traitement par lots sur machines virtuelles, et l'infrastructure pour ceux-ci, le tout par moi-même avec le soutien de l'IA générative.
Il ne s'agit pas simplement d'ingénierie "full-stack", mais cela peut être appelé Ingénierie Omnidirectionnelle, qui développe de manière exhaustive divers aspects d'un système.
En outre, lors de l'amélioration des aspects de l'application web développée qui sont incommodes à utiliser ou lors de l'ajout de nouvelles fonctionnalités, je peux confier la programmation à l'IA générative, ce qui permet des améliorations faciles en cours d'utilisation.
C'est encore plus flexible et fluide que les logiciels conventionnels, ce qui me permet de créer quelque chose qui correspond parfaitement à mon utilisation. J'appelle cela le Logiciel liquide.
J'ai personnellement développé et utilise actuellement ces systèmes. Ce n'est pas qu'un concept ; c'est déjà la réalité du développement logiciel.
Bien que non encore développée, dans le domaine des systèmes métier, j'anticipe que la méthodologie de développement Orienté processus métier deviendra une réalité.
Il s'agit d'une approche qui ne vise pas l'optimisation globale des programmes, ce qui complique les systèmes, mais divise plutôt les modules logiciels en Processus Métiers individuels.
Seules la définition du cadre de base de l'interface utilisateur, la gestion des privilèges utilisateur et les modèles de données qui doivent être partagés entre les Processus Métiers sont partagés comme cadre externe du système métier.
Les autres traitements internes du système et les données temporaires sont gérés au niveau du Processus Métier.
Il peut y avoir des fonctions ou des structures de données au sein de ces processus qui peuvent être partagées par deux ou plusieurs Processus Métiers. Cependant, si elles sont transformées en modules partagés ou en bibliothèques personnalisées, bien que la réutilisabilité du code et la qualité s'améliorent, la structure du logiciel devient complexe, et les modifications nécessitent une considération constante de leur impact sur les autres Processus Métiers.
Dans une situation où l'IA générative génère automatiquement des programmes, les inconvénients de cette dernière l'emportent sur les avantages de la première. Par conséquent, l'approche Orienté processus métier, qui met l'accent sur l'Optimisation individuelle plutôt que sur l'optimisation globale, devient rationnelle.
De plus, imaginez des unités telles que « la saisie des informations de base d'un nouvel employé », « la mise à jour des informations de base d'un employé » ou « la recherche d'employés par nom » comme des Processus Métiers individuels.
Dans les méthodologies de développement traditionnelles, chaque interface utilisateur, processus frontal, processus dorsal et processus par lots serait séparé en différents fichiers dans différents répertoires. De plus, chacun serait développé par un ingénieur différent.
Cependant, lorsqu'un seul ingénieur réalise de l'Ingénierie Omnidirectionnelle en faisant programmer l'IA générative, il est plus logique de consolider le code requis pour un Processus Métier dans un seul fichier ou dossier.
De plus, les résultats de l'analyse des exigences, les spécifications de test, les résultats de test et les enregistrements de révision peuvent également être consolidés au même endroit.
Cela permet la gestion de tous les artefacts d'ingénierie logicielle au niveau d'un Processus Métier unique. Et, comme il n'est pas nécessaire de considérer l'optimisation globale, les améliorations peuvent être concentrées au sein de ce Processus Métier, et de nouveaux Processus Métiers peuvent être facilement ajoutés au système métier.
De cette manière, le développement de programmes et ce qui peut être développé avec des programmes subissent des changements significatifs grâce à l'IA générative. Ce n'est pas un scénario futur ; c'est déjà le présent, et dans un avenir proche, sa sophistication ne pourra que continuer à progresser, et la prochaine étape devra inévitablement aller au-delà de cela.
Systèmes de simulation
Ce qui peut être réalisé par des programmes ne se limite pas aux systèmes métier et aux usines intellectuelles mentionnés ici.
Les domaines restants que je n'ai pas mentionnés peuvent être largement classés comme des systèmes de simulation.
Qu'il s'agisse de résoudre de simples équations physiques avec une seule formule analytique ou de calculer des phénomènes physiques complexes avec des programmes itératifs, les deux peuvent être considérés comme des systèmes de simulation.
En outre, les systèmes de simulation peuvent être utilisés non seulement en physique, mais aussi en chimie, en biologie, en sociologie, en économie et dans d'autres domaines. Au-delà du milieu universitaire, les simulations sont également appliquées en ingénierie, en médecine, dans les opérations institutionnelles et la gestion d'entreprise.
Les jeux sont aussi un type de système de simulation. Dans n'importe quel jeu, la physique, la société, les règles et les autres aspects du Monde de ce jeu sont, en un sens, simulés.
Au-delà de cela, nous effectuons également une sorte de simulation lorsque nous planifions nos vies, nos voyages ou la manière de dépenser notre argent de poche.
Ces simulations ont été réalisées de diverses manières : en créant et en exécutant des programmes, en calculant des équations sur papier, en réfléchissant dans nos têtes, en organisant des pensées avec du texte et des flèches sur un tableau blanc, ou en dessinant des graphiques dans Excel.
Le développement d'un programme de simulation pour un problème spécifique permet des simulations plus complexes que les équations analytiques. Cependant, cela requiert des compétences en développement de programmation, des efforts et du temps.
Cela nécessite également de clarifier le modèle de simulation, ce qui demande à son tour des compétences, des efforts de réflexion et du temps.
De plus, les simulations ont été limitées à ce qui peut être exprimé sous une forme programmatique, et auparavant, seuls les éléments exprimables par le calcul pouvaient être simulés.
L'IA générative est en train de modifier considérablement cette situation.
L'IA générative peut non seulement développer facilement des programmes de systèmes de simulation, mais en l'intégrant dans ces systèmes, des éléments non exprimables mathématiquement peuvent également être simulés. Cela permet des éléments de simulation qualitative ambigus et des simulations impliquant des agents intelligents de type humain.
De plus, ces modèles de simulation peuvent être exprimés non seulement de manière mathématique, mais aussi en langage naturel et interprétés par l'IA générative.
Cela facilitera la conversion des diverses simulations que nous avons effectuées dans de nombreuses situations en systèmes de simulation.
En conséquence, nous pourrons obtenir des résultats de simulation plus précis, plus efficaces et plus performants, avec une possibilité réduite d'omissions ou d'introduction de biais.
De plus, lors de l'examen ou de la discussion de problèmes complexes, nous pourrons utiliser un système de simulation pour la considération et la discussion, plutôt que de nous fier à des simulations mentales individuelles.
Cela améliore la précision de la réflexion et rend les discussions plus constructives. Au lieu de souligner l'intelligence ou les erreurs de pensée de chacun, les discussions peuvent se concentrer sur des points clairs tels que les modèles sous-jacents de la simulation, les omissions ou les éléments manquants, la manière dont les parties hautement incertaines sont estimées, et les métriques parmi les résultats qui sont priorisées.
À mesure que les systèmes de simulation deviennent faciles à créer, notre façon de penser passera de la pensée linéaire – qui se concentre sur l'intuition, les suppositions, et la malveillance ou les erreurs des autres – à la Pensée par Simulation.
C'est comme chercher sur Internet avec un smartphone pendant une discussion pour vérifier les sources d'information, Wikipédia ou les sources primaires. Il ne sera plus nécessaire de se lancer dans des disputes sans fin en ne se fiant qu'à la mémoire de chacun.
Au cours d'une discussion, l'IA générative organisera le modèle de simulation, les règles de simulation et les conditions préalables à partir du contenu de la discussion.
Les participants à la discussion n'auront qu'à ajouter ou corriger des informations et des prémisses dans ce modèle et ces règles, puis à vérifier les résultats de la simulation. Tout comme lors de la découverte d'une source d'information crédible, ces résultats de simulation pourront servir de base commune pour approfondir la discussion.
Cela signifie que les personnes qui écoutent la discussion ne vivront plus à une époque où elles doivent se demander qui a raison ou qui est digne de confiance. Elles ne perdront pas non plus de vue l'essentiel en essayant de comprendre des termes techniques et des concepts obscurs qui apparaissent dans la discussion.
Elles n'auront qu'à considérer des choses très simples : comment évaluer l'incertitude et quelles valeurs privilégier.