Skip to Content
This article has been translated from Japanese using AI
Read in Japanese
This article is in the Public Domain (CC0). Feel free to use it freely. CC0 1.0 Universal

The Era of Simulation Thinking

By embedding the capabilities of generative AI into programs, we can create mechanisms that were previously unattainable with conventional programs.

Furthermore, as generative AI becomes capable of automatically generating programs, we will be able to freely and easily create and run programs based on our ideas.

Up until now, I have created systems that can translate my blog articles into English and post them on English blogs, create explanatory videos from presentation videos and upload them to YouTube, and generate and publish my own blog sites with indexes, categories, and tags.

In this way, a system that uses original content as raw material and incorporates generative AI features to produce various derivative contents can be called an intellectual factory.

I have also developed a web application to operate this intellectual factory and manage its status, making it available on both PCs and smartphones. Moreover, parts that perform automated processing triggered by events are executed on virtual machines prepared for batch processing at the backend.

Thus, I single-handedly developed the PC and smartphone frontends, the web server backend, batch processing on virtual machines, and the infrastructure for these, all with the support of generative AI.

This is not merely full-stack engineering; it can be called omnidirectional engineering, as it involves comprehensively developing various aspects of the system.

Furthermore, when improving the usability of the developed web application or adding new features, I can delegate the programming to generative AI, allowing for easy improvements while using it.

This makes the software even more flexible and fluid than traditional software, enabling me to create something that perfectly fits my usage patterns. I call this "liquidware."

I have actually developed and am currently using these. They are not mere concepts but already a reality in software development.

Although I haven't developed it yet, I anticipate that in the field of business systems, the development methodology known as "business process-oriented development" will become a reality.

This is an approach that does not aim for overall optimization of programs, which complicates systems, but rather segments software modules by individual business processes.

Only the basic framework definition of the user interface, user permission management, and data models that need to be shared between business processes are shared as the external framework of the business system.

Other internal system processing and temporary data are managed at the business process level.

This may include functions and data structures that can be shared by two or more business processes. However, if these are made into shared modules or custom libraries, while code and quality reusability improve, the software structure becomes complex, and changes necessitate constant consideration of impacts on other business processes.

In a situation where generative AI automatically generates programs, the latter disadvantage outweighs the former advantage. Therefore, the business process-oriented approach, which emphasizes individual optimization rather than overall optimization, becomes rational.

Additionally, imagine units such as "entering new employee basic information," "updating employee basic information," and "searching for employees by name" as individual business processes.

In traditional development methodologies, their respective user interfaces, frontend processes, backend processes, and batch processes are separated into different files in different directories. Furthermore, each is developed by different engineers.

However, when a single engineer performs omnidirectional engineering while letting generative AI do the programming, it makes more sense to consolidate the code required for one business process into a single file or folder.

In addition, requirements analysis results, test specifications, test results, and review records can also be consolidated in the same location.

This allows all deliverables of software engineering to be managed per business process. And because there is no need to consider overall optimization, improvements can be focused within that business process, and new business processes can be easily added to the business system.

In this way, program development and what can be developed with programs are significantly changing due to generative AI. This is not a future possibility; it is already the current reality, and in the near future, its completeness can only increase, and the next stage must proceed beyond that.

Simulation Systems

What can be realized by programs is not limited to the business systems and intellectual factories mentioned here.

The remaining areas I haven't mentioned can be broadly classified as simulation systems.

Whether solving a simple physical equation with a single analytical formula or calculating complex physical phenomena with iterative programs, both can be called simulation systems.

Furthermore, simulation systems can be utilized not only in physics but also in chemistry, biology, or even sociology and economics. Moreover, simulations are applied not only in academia but also in fields such as engineering, medicine, institutional design, and business management.

Games are also a type of simulation system. In any game, it can be said that the physics, society, rules, etc., within that game's world are, so to speak, being simulated.

Beyond that, we also perform a type of simulation when we plan our lives, trips, or how to spend our pocket money.

These simulations have been conducted in various ways: by creating and running programs, by formulating and calculating equations on paper, by thinking in one's head, by organizing ideas with text and arrows on a whiteboard, or by drawing graphs in Excel.

Developing a simulation program for a specific problem allows for more complex simulations than analytical equations. However, it requires programming skills, effort, and time.

Also, the simulation model needs to be clearly defined, which requires skills, effort, and time for consideration.

Additionally, simulations could only be performed in ways that could be expressed by programs, and until now, only what could be expressed computationally could be simulated.

Generative AI will significantly change this situation.

Generative AI not only allows for easy development of simulation system programs but also, by embedding generative AI into simulation systems, elements that cannot be expressed by mathematical formulas can also be simulated. This enables ambiguous qualitative simulation elements and simulations involving human-like intelligent agents.

In addition, such simulation models can be expressed not only in mathematical formulas but also in natural language and interpreted by generative AI.

This will make it easier to systemize the various simulations we have performed in various situations.

This will enable us to obtain more accurate, efficient, and effective simulation results, reducing the possibility of oversight and biased assumptions.

Furthermore, when discussing or considering complex problems, it will be possible to use simulation systems for discussion and consideration, rather than relying on individual mental simulations.

This enhances the precision of deliberation and makes discussions more constructive. This is because instead of pointing out each other's intellect or mistakes in thinking, discussions can focus on clear points such as the underlying model of the simulation, any omissions or missing elements, how highly uncertain parts are estimated, and which indicators among the results are emphasized.

As simulation systems become easy to create, the way we think will shift from linear thinking, which focuses on intuition, assumptions, and others' malice or mistakes, to simulation thinking.

It's like searching the internet on your smartphone during a conversation to check news sources, Wikipedia, or primary sources. There's no longer a need for endless arguments based solely on each other's memories.

During a discussion, generative AI will organize the simulation model, simulation rules, and preconditions from the content of the discussion.

The people discussing simply need to add or correct information and premises to that model and rules, and then confirm the simulation results. Just as when a reliable news source is found, those simulation results can serve as common ground for deeper discussion.

This will free listeners from the era of wondering who is right or who is trustworthy. They will also no longer lose sight of the essence while trying to understand the obscure jargon and concepts that appear in discussions.

They will only need to consider very simple things: how to evaluate uncertainty and which values to prioritize.