Passer au contenu
Cet article a été traduit du japonais à l'aide de l'IA
Lire en japonais
Cet article est dans le domaine public (CC0). N'hésitez pas à l'utiliser librement. CC0 1.0 Universal

L'ère de la Pensée par Simulation

En intégrant les capacités de l'IA générative aux programmes, nous pouvons créer des mécanismes jusqu'alors inaccessibles avec les programmes conventionnels.

De plus, à mesure que l'IA générative deviendra capable de générer automatiquement des programmes, nous pourrons créer et exécuter des programmes basés sur nos idées, librement et facilement.

Jusqu'à présent, j'ai créé des systèmes capables de traduire mes articles de blog en anglais et de les publier sur des blogs anglophones, de créer des vidéos explicatives à partir de vidéos de présentation et de les télécharger sur YouTube, et de générer et publier mes propres sites de blog avec des index, des catégories et des balises.

De cette manière, un système qui utilise le contenu original comme matière première et intègre des fonctionnalités d'IA générative pour produire divers contenus dérivés peut être qualifié d'usine intellectuelle.

J'ai également développé une application web pour opérer cette usine intellectuelle et gérer son statut, la rendant disponible sur PC et smartphones. De plus, les parties qui effectuent un traitement automatisé déclenché par des événements sont exécutées sur des machines virtuelles préparées pour le traitement par lots en arrière-plan.

Ainsi, j'ai développé seul les frontends PC et smartphone, le backend du serveur web, le traitement par lots sur machines virtuelles, et l'infrastructure correspondante, le tout avec le support de l'IA générative.

Il ne s'agit pas simplement d'ingénierie full-stack ; on peut parler d'ingénierie omnidirectionnelle, car elle implique le développement complet de divers aspects du système.

De plus, lors de l'amélioration de la convivialité de l'application web développée ou de l'ajout de nouvelles fonctionnalités, je peux déléguer la programmation à l'IA générative, permettant des améliorations faciles tout en l'utilisant.

Cela rend le logiciel encore plus flexible et fluide que les logiciels traditionnels, me permettant de créer quelque chose qui correspond parfaitement à mes modes d'utilisation. J'appelle cela le "liquidware".

J'ai réellement développé et utilise actuellement ces systèmes. Ce ne sont pas de simples concepts, mais déjà une réalité dans le développement logiciel.

Bien que je ne l'aie pas encore développée, j'anticipe que dans le domaine des systèmes d'entreprise, la méthodologie de développement connue sous le nom de "développement orienté processus métier" deviendra une réalité.

C'est une approche qui ne vise pas l'optimisation globale des programmes, ce qui complique les systèmes, mais segmente plutôt les modules logiciels par processus métier individuels.

Seules la définition du cadre de base de l'interface utilisateur, la gestion des permissions utilisateur et les modèles de données qui doivent être partagés entre les processus métier sont partagés comme cadre externe du système d'entreprise.

Les autres traitements système internes et les données temporaires sont gérés au niveau du processus métier.

Cela peut inclure des fonctions et des structures de données qui peuvent être partagées par deux processus métier ou plus. Cependant, si celles-ci sont transformées en modules partagés ou en bibliothèques personnalisées, bien que la réutilisabilité du code et de la qualité s'améliore, la structure du logiciel devient complexe, et les modifications nécessitent une considération constante des impacts sur les autres processus métier.

Dans une situation où l'IA générative génère automatiquement des programmes, le désavantage de cette dernière option l'emporte sur l'avantage de la première. Par conséquent, l'approche orientée 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 "saisie des informations de base d'un nouvel employé", "mise à jour des informations de base d'un employé" et "recherche d'employés par nom" comme des processus métier individuels.

Dans les méthodologies de développement traditionnelles, leurs interfaces utilisateur respectives, processus frontend, processus backend et processus par lots sont séparés dans différents fichiers, dans différents répertoires. De plus, chacun est développé par des ingénieurs différents.

Cependant, lorsqu'un seul ingénieur réalise une ingénierie omnidirectionnelle tout en laissant l'IA générative s'occuper de la programmation, il est plus logique de consolider le code requis pour un processus métier dans un seul fichier ou dossier.

En outre, les résultats de l'analyse des exigences, les spécifications de test, les résultats de test et les rapports de révision peuvent également être consolidés au même endroit.

Cela permet de gérer toutes les livraisons de l'ingénierie logicielle par processus métier. Et parce qu'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étier peuvent être facilement ajoutés au système d'entreprise.

De cette manière, le développement de programmes et ce qui peut être développé avec des programmes changent considérablement grâce à l'IA générative. Ce n'est pas une possibilité future ; c'est déjà la réalité actuelle, et dans un futur proche, sa complétude ne pourra qu'augmenter, et la prochaine étape devra aller au-delà.

Systèmes de Simulation

Ce qui peut être réalisé par des programmes ne se limite pas aux systèmes d'entreprise et aux usines intellectuelles mentionnés ici.

Les domaines restants que je n'ai pas abordés peuvent être globalement classés comme systèmes de simulation.

Qu'il s'agisse de résoudre une équation physique simple avec une seule formule analytique ou de calculer des phénomènes physiques complexes avec des programmes itératifs, les deux peuvent être qualifiés de systèmes de simulation.

De plus, les systèmes de simulation peuvent être utilisés non seulement en physique, mais aussi en chimie, en biologie, ou même en sociologie et en économie. Par ailleurs, les simulations sont appliquées non seulement dans le monde universitaire, mais aussi dans des domaines tels que l'ingénierie, la médecine, la conception institutionnelle et la gestion d'entreprise.

Les jeux sont également un type de système de simulation. Dans tout jeu, on peut dire que la physique, la société, les règles, etc., au sein du monde de ce jeu, sont, pour ainsi dire, simulées.

Au-delà de cela, nous effectuons également un type de simulation lorsque nous planifions nos vies, nos voyages ou la manière de dépenser notre argent de poche.

Ces simulations ont été menées de diverses manières : en créant et en exécutant des programmes, en formulant et en calculant des équations sur papier, en réfléchissant mentalement, en organisant des idées avec du texte et des flèches sur un tableau blanc, ou en traçant des graphiques dans Excel.

Développer un programme de simulation pour un problème spécifique permet des simulations plus complexes que les équations analytiques. Cependant, cela exige des compétences en programmation, des efforts et du temps.

De plus, le modèle de simulation doit être clairement défini, ce qui requiert des compétences, des efforts et du temps de réflexion.

De surcroît, les simulations ne pouvaient être effectuées que de manières exprimables par des programmes, et jusqu'à présent, seul ce qui pouvait être exprimé de manière computationnelle pouvait être simulé.

L'IA générative va modifier cette situation de manière significative.

L'IA générative permet non seulement le développement facile de programmes de systèmes de simulation, mais aussi, en intégrant l'IA générative dans les systèmes de simulation, des éléments qui ne peuvent être exprimés par des formules mathématiques peuvent également être simulés. Cela rend possibles des éléments de simulation qualitatifs ambigus et des simulations impliquant des agents intelligents de type humain.

De plus, de tels modèles de simulation peuvent être exprimés non seulement par des formules mathématiques, mais aussi en langage naturel et interprétés par l'IA générative.

Cela facilitera la systématisation des diverses simulations que nous avons réalisées dans diverses situations.

Cela nous permettra d'obtenir des résultats de simulation plus précis, efficaces et efficients, réduisant ainsi la possibilité d'omissions et d'hypothèses biaisées.

De plus, lors de la discussion ou de l'examen de problèmes complexes, il sera possible d'utiliser des systèmes de simulation pour la discussion et la réflexion, plutôt que de s'appuyer sur des simulations mentales individuelles.

Cela accroît la précision de la délibération et rend les discussions plus constructives. En effet, au lieu de se critiquer mutuellement l'intelligence ou les erreurs de pensée, les discussions peuvent se concentrer sur des points clairs tels que le modèle sous-jacent de la simulation, les omissions ou éléments manquants, la manière dont les parties très incertaines sont estimées, et quels indicateurs parmi les résultats sont privilégiés.

À mesure que les systèmes de simulation deviendront 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 d'autrui, à la pensée par simulation.

C'est comme chercher sur Internet avec son smartphone pendant une conversation pour vérifier les sources d'information, Wikipédia ou les sources primaires. Il n'est plus nécessaire d'avoir des arguments interminables basés uniquement sur les souvenirs de chacun.

Lors d'une discussion, l'IA générative organisera le modèle de simulation, les règles de simulation et les préconditions à partir du contenu de la discussion.

Les personnes qui discutent n'auront qu'à ajouter ou corriger des informations et des prémisses à ce modèle et à ces règles, puis à confirmer les résultats de la simulation. Tout comme lorsqu'une source d'information fiable est trouvée, ces résultats de simulation peuvent servir de base commune pour une discussion plus approfondie.

Cela libérera les auditeurs de l'ère où l'on se demande qui a raison ou qui est digne de confiance. Ils ne perdront plus de vue l'essentiel en essayant de comprendre le jargon et les concepts obscurs qui apparaissent dans les discussions.

Ils n'auront qu'à considérer des choses très simples : comment évaluer l'incertitude et quelles valeurs prioriser.