Multi-agent process simulation

A multi-agent system with task-specific software agents simplifies and enhances process simulation by training on historical data, improving accuracy and reducing computational resources, enabling dynamic optimization of business processes.

JP2026075047APending Publication Date: 2026-05-07エスアーペーエスエー
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
エスアーペーエスエー
Filing Date
2025-09-03
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing process simulation systems are complex, time-consuming, and often require extensive manual configuration, leading to insufficient technical performance, waste of computing resources, and limited improvements due to difficulties in understanding and managing dependencies and interactions within processes.

Method used

A multi-agent system is employed where each software agent represents a single task in the process, allowing for flexible configuration and autonomous operation, with agents trained on historical data to simulate processes accurately and adaptively, enabling comparisons with baseline and real-world results for iterative improvements.

Benefits of technology

This approach simplifies the modeling process, enhances simulation accuracy, reduces computational resources, and facilitates dynamic optimization of business processes by providing granular representations and adaptive simulations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026075047000001_ABST
    Figure 2026075047000001_ABST
Patent Text Reader

Abstract

This document provides a method for using a multi-agent system for process simulation. [Solution] The method uses historical process data to train multiple software agents, each representing a single task in the process, simulates the process by running a multi-agent system based on the candidate process model, and generates simulation results. The software agents operate autonomously within the multi-agent system based on their trained behavior. The method also uses a runtime configuration based on the candidate process model to generate runtime results for comparison with the simulation results, adjusts the candidate process model based on the comparison, and repeats the process simulation and execution using the adjusted multi-agent system and adjusted runtime configuration to generate an expanded process model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] , , ,

[0001] The subject matter disclosed in this specification generally relates to computer-implemented methods and systems for simulating process behavior. More particularly, the subject matter in this disclosure relates to multi-agent systems for process simulation.

Background Art

[0002] Process simulation generally involves the use of computational models to reproduce the behavior of a process. Process simulation can help predict the impact of changes to a process, estimate the future performance of a process, identify bottlenecks, and improve resource allocation. The application of business process simulation ranges, for example, from manufacturing and logistics to healthcare and finance, where understanding and improving the process flow can be beneficial for efficiency and cost-effectiveness.

[0003] Simulation systems can be complex and time-consuming and often require extensive manual configuration. For example, the technical complexity of modeling an entire business process with multiple roles and tasks can make it difficult to understand and consider all relevant aspects of the real world or manage dependencies and interactions within the process. As a result, the final simulation of such a process may exhibit insufficient technical performance, waste computing resources, and, if any, lead to limited improvements.

Prior Art Documents

Non-Patent Documents

[0004]

Non-Patent Document 1

[0005] Several examples are shown in the attached drawings for illustrative purposes only, not limitation. In drawings that are not necessarily drawn to a constant scale, similar numbers may represent similar components in different drawings or examples. To make it easier to identify any particular element or action, one or more leading digits in the reference number refer to the drawing number in which that element is first introduced. [Brief explanation of the drawing]

[0006] [Figure 1] This diagram illustrates a schematic representation of a network environment, including process modeling systems, process automation systems, and multi-agent simulation systems, using several examples. [Figure 2] Here are some examples of block diagrams of the components of a multi-agent simulation system. [Figure 3] This is a flowchart of process tasks with several examples. [Figure 4] This diagram illustrates, using several examples, the mapping of process tasks to agents in a multi-agent system. [Figure 5] This flowchart illustrates how to use a multi-agent system to simulate a process, using several examples. [Figure 6] This flowchart shows the operation of the training phase of how to utilize a multi-agent system for simulation, using several examples. [Figure 7] This flowchart shows the operation of the simulation and execution phases of the method in Figure 6, using several examples. [Figure 8] This diagram provides a schematic overview of training and using machine learning programs, using several examples. [Figure 9] This block diagram shows software architectures for computing devices, with several examples. [Figure 10] Block diagrams of machines in the form of computer systems, by some example, in which instructions can be executed within the machine in order to cause the machine to perform any one or more of the methods described herein. [Modes for carrying out the invention]

[0007] The systems and methods described herein relate to techniques for simulating processes by using software agents to represent each task in the process. Thus, the entire process may be represented by multiple software agents, where each software agent represents one individual task or step of the process. In some examples, the software agents provide building blocks for constructing a process simulation. The software agents can be combined, individually adjusted or reconfigured to represent a process model, thereby providing flexibility for process simulation.

[0008] As used herein, “software agent,” or simply “agent,” refers to a program or model designed or configured to perform or represent a single, specific task. As used herein, “multi-agent system” refers to a computer implementation system of multiple interacting software agents, where each software agent represents a single, specific task. For example, in a purchase order processing process, a first software agent may be configured to generate a purchase order, a second software agent may be configured to retrieve any missing data required to generate the purchase order, a third software agent may be configured to send the generated purchase order via email, and a fourth software agent may be configured to take the email attachment containing the generated purchase order and store it in a cloud storage location. Note that multiple instances of the same agent may be included in a multi-agent system. Furthermore, multiple software agents may be combined to represent, for example, the role of a human worker.

[0009] A multi-agent system can contain hundreds or thousands of software agents. While the multi-agent system is running, the software agents operate autonomously to perform their tasks and do not require user interaction to be invoked. When software agents interact and exchange data, the multi-agent system provides information similar to steps and transitions in a workflow. Thus, the data flow in a multi-agent system can be modeled based on or to provide a workflow. In some examples, the workflow is a given workflow derived from process mining operations.

[0010] In the context of this disclosure, the multi-agent system differs from some other autonomous agent systems. In detail, other autonomous agent systems may also contain multiple agents, but there is no one-to-one mapping between each agent and its respective task. Instead, each agent in such other autonomous agent systems is typically a relatively complex program capable of performing multiple tasks or functions. In contrast to the multi-agent system, agents in such other autonomous agent systems can perform a variety of different tasks, often in parallel (for example, to mimic human workers). For example, an agent may be configured to handle various aspects of a purchase order processing process. Thus, the same agent may perform purchase order generation, transmission, and storage, and also retrieve any missing data required to generate the purchase order.

[0011] An exemplary method involving multi-agent simulation is performed by a computer system having memory and at least one hardware processor. The method includes training or configuring multiple software agents based on historical process data, such as event log data associated with the process to be simulated. The process could be, for example, a real-world business process, in which case the historical process data would include real-world data describing how the process is executed.

[0012] Software agents are trained or configured such that each software agent represents a single task in a process. The behavior of a software agent can be defined by various parameters. In some examples, the behavior includes one or more actions, decisions, or responses that the software agent exhibits based on its training or configuration. The behavior can be encoded in the internal logic of the agent. A software agent can comprise, or be implemented by, for example, a machine learning model, a script, an algorithm, or a rule - based or heuristic program. The parameters of an agent can control the input and output characteristics of the agent, such as task completion time, resource requirements, and decision - making logic or processes. When using a multi - agent system to simulate a process, the collective behavior of the agents determines how the simulated process will unfold, enabling an accurate representation of complex processes and easy adjustment of individual aspects of the process.

[0013] A method is to simulate a process by executing a multi - agent system to generate simulation results, where in the multi - agent system, a plurality of software agents are configured according to a certain process model for the process (e.g., a candidate process model described herein). In some examples, the simulation results are compared with the baseline results from a baseline simulation (e.g., a “as - is” simulation that simulates the process in its current form). This enables an automatic comparison, for example, between a candidate process model of a test simulation and a fixed process model of the baseline simulation (the latter representing the current or historical version of the process).

[0014] Furthermore, in some examples, simulation results are compared with runtime results from real-world execution of the process. For example, a runtime configuration is generated based on the process model currently being simulated. The process is executed using the runtime configuration, and runtime results are generated for comparison with the simulation results. In this way, candidate process models are not only compared against the baseline process model after simulation, but can also be compared against real-world versions of the candidate process models.

[0015] In some examples, the process model is adjusted (e.g., iteratively adjusted) based on a comparison between simulation results and runtime results. Thus, both the simulation and execution of the process can be repeated using the adjusted multi-agent system and adjusted runtime configuration corresponding to the adjusted process model, respectively.

[0016] The method can include automatically triggering an adjustment of the process model that is being tested based on a comparison between simulation results and runtime results. For example, if the simulation results are not close enough to the runtime results (e.g., based on one or more predetermined performance indicators being measured for the process), the process model is adjusted. In some examples, the method includes automatically triggering re-training of at least a subset of the plurality of software agents if the simulation results are not close enough to the runtime results.

[0017] The simulation of the process, and in some examples, the execution of the process as well, can be automatically repeated after re-training. In some examples, the adjustment of the process model also causes an adjustment of the multi-agent system (e.g., simulation setup) and runtime configuration, and thus the system is able to generate further simulation results and further runtime results for the adjusted version of the process model.

[0018] The method may include automatically repeating the simulation and execution of a process until it detects that the simulation results satisfy at least one predetermined condition regarding the runtime results. The method may further include generating a deployment process model for the process based on the tuned process model. For example, the deployment process model is generated when the system detects that the runtime results and simulation results are sufficiently similar (for example, based on one or more predetermined performance indicators measured for the process). The deployment process model may include a blueprint for deploying the process.

[0019] As used herein, a “process model” may include a structured representation of a process that defines one or more tasks, task sequences, steps, decision points, or flows within the process. A process model can serve as a blueprint for how work should be performed and may be used for analytical, optimization, or simulation purposes. In some examples, a process model may be created using a standardized notation, such as Business Process Model and Notation (BPMN), or represented as a directed graph. A process model may include information about the tasks involved, their relationships, decision logic, or resource requirements.

[0020] In the context of multi-agent system simulation, process models can provide a framework for configuring and organizing software agents to simulate real-world processes. In some examples, multi-agent systems are modeled conceptually similarly to BPMN workflows, where transitions in the BPMN context correspond to communication flows between agents, and each activity, task, or step in the BPMN context is represented by an agent in the multi-agent system.

[0021] For example, a process model for customer onboarding might include tasks such as "collect customer information," "perform a credit check," and "approve the account," and a multi-agent system can be set up to include appropriate software agents corresponding to these individual tasks. In some examples, the process model associated with a multi-agent system does not include strict or explicit transitions. Instead, each agent is trained or configured to know what inputs to take and what outputs to produce. During simulation, the process can then be made expansive, and transitions, sequences, flows, or interconnections can be discovered or improved through the simulation.

[0022] In some examples, the process is an automated process executed using a bot, such as a Robotic Process Automation (RPA) bot. In such cases, the runtime configuration may be generated by configuring the RPA bot for process execution, with the RPA bot corresponding to or mirroring each of several software agents in a multi-agent system. The system may automatically configure the RPA bot to define the runtime configuration. The RPA bot may automatically execute the process and generate runtime results. The RPA bot setup may be used to connect to a real-world system, where the bot is steered, for example, based on a script.

[0023] In some examples, agents in a multi-agent system communicate with each other using a predetermined communication protocol or interface. For example, a blackboard system may be integrated into a multi-agent system to store and update process data. A multi-agent system may include an internal messaging system to distribute output from one agent to another. In some examples, such as when multiple instances of an agent are created, a multi-agent system implements a task processing protocol such as the Contract Net Protocol (CNP).

[0024] Other simulation methods may tend to focus on transitions rather than states, which can complicate the modeling process. Users typically require a comprehensive understanding of the entire use case and its internal dependencies to accurately model the desired behavior. Extracting relevant information from event logs to understand transitions can be technically challenging. The subject matter described in this disclosure focuses on modeling individual states (e.g., tasks) rather than transitions, with each task represented by a dedicated software agent. This approach simplifies the modeling process by breaking down complex processes into separate, manageable units, enabling a finer-grained representation and easier maintenance of the simulation model.

[0025] Additionally, other simulation techniques typically propose using a single agent for multiple tasks or even an entire process, thereby making it technically complex to build or tune such an agent. These problems can worsen as process complexity increases. The technical solution in this disclosure simplifies the modeling and maintenance of large-scale simulations and enables more manageable and adaptable simulations through the use of the software agent described herein.

[0026] A further technical challenge in other simulation methods is the lack of granularity. For example, configuring a single agent to perform multiple tasks can lead to an oversimplification of individual tasks in a process, resulting in a loss of relevant details. This, in turn, leads to reduced accuracy when the process is simulated. The examples described herein enable a simple yet granular representation of a process by using a one-to-one mapping between agents and tasks. The system of this disclosure can automatically train or configure each agent for its particular task based on event log data, ensuring that the simulation captures the nuances of a real-world process. The examples described herein further facilitate the handling of dynamic changes and unexpected events.

[0027] The examples in this disclosure provide practical applications for improving the functionality of computing systems. Computing systems are improved, for example, by enabling them to generate more accurate simulations of business processes, by improving their ability to configure and dynamically adjust simulation setups, and by facilitating comparisons between simulation results and runtime results. In some examples, computing systems are configured to implement iterative processes of simulation, execution, and adjustment that enable dynamic optimization of business processes (for example, through predictive monitoring, where historical system behavior is simulated for the future and measured while adjusting agent behavior rules).

[0028] In some cases, computing systems utilize machine learning techniques to train and run software agents. Machine learning and time series analysis are used to learn repeating or periodic behaviors and event patterns in the data used, which can improve the accuracy of predictions and make models easier to maintain. In some cases, training software agents in a multi-agent system is computationally more efficient than training a large multi-function agent (for example, by using thousands of data points to fine-tune the agent for a specific task, rather than using millions of data points to generate a multi-function agent).

[0029] Computing systems can also automatically introduce errors and test process robustness to improve the reliability and resilience of simulated business processes. For example, a multi-agent system can enable the initiation of dynamic events and interruption factors, allowing the simulation to react and reach a new equilibrium. This helps in understanding the process and identifying sensitive parts within it.

[0030] It should be noted that the various methods described herein cannot be performed by humans due to the scale and complexity of the computations and simulations involved. For example, a simulation may involve hundreds or thousands of software agents running using processing hardware. These software agents may process and interact with data to rapidly produce simulation results by iterating through numerous simulation cycles. Furthermore, executing the process may involve automated components such as RPA bots. Moreover, the integration of machine learning techniques for training and tuning agents based on historical and real-time data relies on high-performance algorithms and data processing capabilities that are inherently computational.

[0031] When the effects of this disclosure are considered as a whole, one or more of the methods described herein may eliminate some work or resources that would otherwise be involved in process simulation. For example, computing resources used by a system, database, or network may be used more efficiently or reduced as a result of using modular software agent components across various simulations, such as by reducing the amount of computing resources required to train or configure software agents through more accurate simulations, adaptive optimization, or more targeted training or configuration techniques, reducing the amount of computing resources required to generate or map process models, or as a result of using modular software agent components across various simulations. Examples of such computing resources may include processor cycles, network traffic, memory usage, graphics processing unit (GPU) resources, data storage capacity, power consumption, or cooling capacity.

[0032] Figure 1 is a schematic representation of a networked computing environment 100 in which several examples of the present disclosure may be implemented or deployed. One or more servers in a server system 104 provide server-side functionality to a networked device via a network 102, in an exemplary form of a user device 106 accessed by a user 108. A web client 112 (e.g., a browser) or a programmatic client 110 (e.g., an "app") may be hosted and run on the user device 106.

[0033] The Application Programming Interface (API) server 124 and the web server 126 provide their respective programmatic and web interfaces to the components of the server system 104. A specific application server 122 hosts the process modeling system 128, the process automation system 130, and the multi-agent simulation system 132, each containing components, modules, or applications. Note that in other examples, the process modeling system 128, the process automation system 130, and the multi-agent simulation system 132 may be hosted across multiple servers.

[0034] The user device 106 can communicate with the application server 122, for example, via a web interface supported by the web server 126, or via a programmatic interface provided by the API server 124. Although only a single user device 106 is shown in Figure 1, it will be understood that in some examples, multiple user devices may be coupled to the server system 104 in a communicative manner. Furthermore, although some functions may be described herein as being performed in either the user device 106 (e.g., the web client 112 or the programmatic client 110) or the server system 104, the location of certain functions within either the user device 106 or the server system 104 may be a design choice.

[0035] The application server 122 is communicatively coupled to the database server 134, facilitating access to one or more information storage repositories, such as the database 136. In some examples, the database 136 includes a storage device that stores information to be processed by the process modeling system 128, the process automation system 130, or the multi-agent simulation system 132.

[0036] The application server 122 accesses application data (for example, application data stored by the database server 134) via the web interface 138 or the app interface 140 to provide one or more applications or software tools to the user device 106. The process modeling system 128, the process automation system 130, and the multi-agent simulation system 132 can provide one or more such applications or software tools.

[0037] The process modeling system 128 can be accessed by user 108 for the creation and management of process models. For example, user 108 can use the process modeling system 128 to facilitate the modeling of various business processes. The process modeling system 128 can receive inputs to define process steps, workflows, and relationships between different activities within a process. The process modeling system 128 can utilize various modeling notations, such as BPMN, to graphically represent the process.

[0038] In some examples, the process modeling system 128 is integrated with a process automation system 130 to enable full or partial automation of the process represented by the process model. In some examples, the process modeling system 128 is integrated with a multi-agent simulation system 132 to facilitate simulation of a process based on or relating to the data of the process modeling system 128.

[0039] The process modeling system 128 may provide process mining capabilities, enabling organizations to connect that data to process management and transform static process models into dynamic dashboards. Other features of the process modeling system 128 may include insights into customer journeys, workflow automation, task management, and ensuring compliance with business process standards. It should be noted that the process modeling system 128 may provide a suitable user interface (for example, via a web interface 138) to enable users 108 to take advantage of its features.

[0040] The process automation system 130 is responsible for executing and managing automated processes. Automated processes are obtained based on models generated by the process modeling system 128 or simulations configured by the multi-agent simulation system 132. In some examples, the process automation system 130 can enable a user 108 to translate process models into executable workflows, organize the execution of process steps, and manage the flow of data and tasks between different systems, components, or users. The process automation system 130 may incorporate RPA capabilities, enabling the generation and deployment of RPA bots corresponding to specific tasks or agents.

[0041] In some examples, the process automation system 130 allows a user 108 to use a bot to automate several tasks (e.g., repetitive tasks). The process automation system 130 can incorporate artificial intelligence (AI) capabilities, such as intelligent document processing, to assist in automating data extraction and decision-making processes. The process automation system 130 can provide a suitable user interface (e.g., via a web interface 138) to enable the user 108 to take advantage of its features.

[0042] The multi-agent simulation system 132 enables process simulation and optimization using a multi-agent approach. The multi-agent simulation system 132 can generate, train, configure, and adapt multiple software agents, each representing a single task in the process. In some examples, the multi-agent simulation system 132 configures these agents according to a given process model, simulates process execution, and generates simulation results.

[0043] In some examples, the multi-agent simulation system 132 can compare simulation results with baseline results or real-world runtime results, and based on these comparisons, adjust the configuration and generate an adjusted process model or setup. The multi-agent simulation system 132 can provide a suitable user interface (for example, via a web interface 138) to enable user 108 to take advantage of its features.

[0044] The server system 104 may further include an AI system 142 that provides various AI-related functions. For example, the AI ​​system 142 can communicate with the multi-agent simulation system 132 to provide training or retraining of machine learning models, configure software agents using AI functions, process or access training data, or provide access to externally hosted machine learning tools, such as one or more machine learning models 114 accessible via an external server 116.

[0045] In some examples, the application server 122 is part of a cloud-based platform provided by a software provider, enabling user 108 to utilize tools from a process modeling system 128, a process automation system 130, or a multi-agent simulation system 132. For example, user 108 is the account holder of the software provider and accesses the process modeling system 128, the process automation system 130, or the multi-agent simulation system 132 using their preferred credentials.

[0046] One or more of the application server 122, database server 134, API server 124, web server 126, process modeling system 128, process automation system 130, or multi-agent simulation system 132 may be implemented in the computer system, either entirely or partially, as described below with respect to Figure 10. In some examples, an external application (which may be a third-party application or an application provided by the software provider mentioned above), such as an external application 118 running on an external server 120, can communicate with the application server 122 via a programmatic interface provided by the API server 124. For example, a third-party application may support one or more features or functions on a website or platform hosted by the third party, or perform several methods to provide input or output information to the application server 122 for further processing or publication.

[0047] The server system 104 may communicate with an external server 116 to access the features of one or more machine learning models 114. In other examples, one or more machine learning models 114 are hosted locally in the server system 104 (for example, as part of an AI system 142), and therefore the architecture shown in Figure 1 is just one example.

[0048] In some examples, one or more machine learning models 114 are or include machine learning models known as “language models.” Language models with a significant number of parameters (e.g., more than one billion) may be known as “large language models” or “LLM,” while language models with fewer parameters (e.g., several million but less than one billion) may be known as “small language models” or “SLM.”

[0049] Language models may include computational models developed for the task of processing, generating, and understanding human language or human-readable content. Language models employ machine learning methods, including deep learning architectures. Training a language model may utilize comprehensive training data, such as a massive dataset of text content, to enable the language model to recognize patterns in language or other texts. Language models may be based on neural network frameworks, such as transformer architectures (e.g., transformer-based LLMs). Transformers employ a self-attention mechanism that independently weights the importance of different parts of the input data. In some examples, one or more software agents in a multi-agent simulation system 132 are implemented using language models.

[0050] A processing engine (for example, in the AI ​​system 142 or in the external server 116) may handle some preprocessing of data before sending it to the machine learning model 114, and some postprocessing of responses received from the machine learning model 114. In preprocessing, the processing engine may tokenize, compress, or format the data to optimize it for the machine learning model 114. In postprocessing, the processing engine may format the responses, perform detokenization or detokenization, and prepare the responses for return to the requesting system.

[0051] In some cases, generative AI models, such as the language models described above, are fine-tuned for specific tasks. For example, an LLM may be pre-trained to possess so-called "world knowledge" and then fine-tuned using event logs for a specific task in the process to improve its ability to perform that particular task. Thus, a fine-tuned model may be applied as a software agent in the multi-agent system of this disclosure.

[0052] Network 102 can be any network that enables communication between or within a machine, a database, and a device. Therefore, Network 102 can be a wired network, a wireless network (e.g., a mobile or cellular network), or any preferred combination thereof. Network 102 may include one or more parts that constitute a private network, a public network (e.g., the Internet), or any preferred combination thereof.

[0053] Figure 2 shows the components of the multi-agent simulation system 132 of Figure 1, in several examples. The multi-agent simulation system 132 is shown to include an agent training component 202, an agent tuning component 204, a communication interface component 206, a simulation configuration component 208, a process model configuration component 210, a simulation execution component 212, a runtime configuration component 214, a runtime management component 216, an analysis component 218, and a deployment model component 220. It should be noted that the multi-agent simulation system 132 can operate with a process modeling system 128, a process automation system 130, or an AI system 142 to perform several functions, and therefore at least some of the functions described with reference to Figure 2 may be shared or partially shared between the multi-agent simulation system 132 and one or more other systems.

[0054] The agent training component 202 is responsible for training or configuring individual software agents. In some examples, the agent training component 202 accesses and processes historical process data to train or configure agents. For example, database 136 contains event log data, which is automatically mined and analyzed by the agent training component 202 to enable agents to learn the behavior of each individual task in the process. The agent training component 202 can create a one-to-one mapping between agents and specific tasks in the process, enabling accurate modeling and simulation of individual process steps.

[0055] Historical process data typically includes recorded information about a process's past executions, stored in an event log or other data repository, as described above. Historical process data may capture information such as activity sequences, timestamps, and other relevant attributes associated with the process instance. In some examples, historical process data may further include information such as task duration, resource utilization, process variations, and performance metrics.

[0056] From a machine learning perspective, historical process data can be used as training data to enable agents to learn patterns, behaviors, or decisions based on real-world process execution. For example, historical process data may include records of past customer orders, including the time taken to process each order, the resources involved, and the outcomes of various process steps. In this way, the agent can accurately represent a task by mirroring how the task is typically performed in the real world.

[0057] If the agent is provided by a machine learning model, training the agent may involve training the machine learning model on a subset of a larger set of historical process data. The subset relates to a single task represented by the software agent. The agent training component 202 can communicate with the AI ​​system 142 to perform such training.

[0058] In some examples, the machine learning model includes a fine-tuned language model, and training the software agent involves accessing a pre-trained language model (e.g., a pre-trained LLM or SLM) and generating a fine-tuned language model by fine-tuning the pre-trained language model on specific historical process data related to a single task. In some examples, the agent training component 202 generates a one-to-one mapping between the fine-tuned language model and the single task represented by the software agent.

[0059] Such processes can be performed automatically for each type of agent that will be used to simulate the process. By utilizing historical process data as training data, it is possible to train agents to simulate variations in the process, such as by adjusting the parameters of the workflow steps.

[0060] In some examples, one or more of the agents configured by the agent training component 202 are not machine learning-based agents. For example, at least one of the agents may be a simple rule-based agent or an agent that executes a script. Various different agent types can be combined to form a complete set of agents for a particular multi-agent system.

[0061] The multi-agent simulation system 132 may be configured to run several simulations as part of a training phase in which software agents are trained or configured. For example, the agent training component 202 can work with the simulation configuration component 208 and the simulation execution component 212 to run a baseline simulation. The baseline simulation may be an initial simulation run of a process using a process model derived from historical process data. Such a process model may be called a baseline process model because it represents an existing process or an existing configuration for running the process.

[0062] A baseline simulation can serve as a reference point for comparing subsequent simulations. For example, a baseline simulation aims to reproduce the behavior of an existing process as closely as possible, providing a starting point for identifying areas for improvement. A baseline simulation is sometimes referred to as a "current state" simulation.

[0063] The baseline results generated by running a baseline simulation may include performance indicators or metrics, such as key performance indicators (KPIs), efficiency data, and data describing the behavior of the current process before changes are applied. In some examples, baseline results may encompass a variety of KPIs, including process completion time, throughput rate, resource utilization, bottlenecks, and overall efficiency.

[0064] Therefore, baseline results can serve as a benchmark, against which the results of subsequent simulations and process modifications can be compared to evaluate improvements or changes. Furthermore, baseline results can be used before the start of the actual simulation phase to finalize the agent and adjust the agent during the training phase to better match the agent's behavior to that of the existing process.

[0065] The agent tuning component 204 allows for the modification, retraining, or reconfiguration of agents. In some examples, the agent tuning component 204 performs tuning during the training phase (for example, to bring baseline results closer to historical data). In other examples, the agent tuning component 204 performs tuning during the simulation phase, when a new or tuned process model is being tested, as will be described in more detail elsewhere. The agent tuning component 204 allows the multi-agent simulation system 132 to iteratively improve the accuracy and effectiveness of the simulation.

[0066] The communication interface component 206 facilitates communication between agents. In some examples, the communication interface component 206 defines protocols, components, or rules for agents to exchange information within a multi-agent system. In some examples, the communication path between agents is derived from event log data during process mining, for example, by evaluating timestamps and activity information in the process log.

[0067] The simulation configuration component 208 is responsible for configuring the simulation. For example, the simulation configuration component 208 configures a multi-agent system to simulate a process based on a given process model by combining trained agents in a suitable manner and enabling communication interfaces. This may involve configuring the multi-agent system with an appropriate number and type of agents, as well as defining initial conditions and parameters for the simulation. The simulation configuration component 208 can configure a multi-agent system to simulate an existing version of a process (for example, by a baseline process model) or a new version of a process (for example, by a candidate process model for the process).

[0068] The process model configuration component 210 handles the integration of the process model into the multi-agent simulation system 132. In some examples, the process model configuration component 210 communicates with the process modeling system 128 to convert BPMN or other process representations into a format suitable for the multi-agent system. In some examples, the process modeling system 128 iteratively adjusts the process model being tested through simulation, and therefore the multi-agent system as well. The process model being tested through simulation is sometimes referred to as a "candidate process model."

[0069] The simulation execution component 212 runs the simulation using the configured multi-agent system. In some examples, the simulation execution component 212 manages the execution of agents according to their specific parameters, tracks their interactions, and collects simulation results. In some examples, the simulation execution component 212 runs the simulation until at least the multi-agent system reaches equilibrium, and then generates simulation results that can be compared with other results.

[0070] During the simulation, the simulation execution component 212 executes the logic or rules of each agent, causing the agents to act autonomously, thereby completing their respective tasks and communicating their outputs to other agents. In some examples, the simulation execution component 212 automatically introduces errors into the process during the simulation, essentially forcing agents to dynamically adapt to changes or disturbances within the process environment. This can cause the multi-agent system to reach a new or different equilibrium. For example, the simulation execution component 212 is configured to deliberately push the simulated system from its current state so that a new state, which may be better (e.g., more efficient) than the current state, is dynamically discovered. Examples of such errors may include simulating task delays (e.g., introducing a delay in the "Generate Purchase Order" task), simulating missing or incomplete data, simulating communication failures (e.g., introducing an error that causes a failure in the "Send Purchase Order" task), or introducing decision errors (e.g., routing a purchase order to the wrong node).

[0071] The simulation execution component 212 generates simulation results that can be analyzed to evaluate the outcome or performance of the simulation. The simulation results may include, or be processed to provide, performance indicators or metrics, such as KPIs, efficiency data, and data describing the behavior of the process with the simulated configuration. The simulation results may encompass a variety of KPIs, such as process completion time, throughput rate, resource utilization, bottlenecks, and overall efficiency. In some examples, the simulation results essentially provide a comprehensive event log that can be compared against a historical event log to determine how the simulation performs against a baseline.

[0072] The runtime configuration component 214 generates a runtime configuration based on a simulated process model. In this context, a runtime configuration refers to an operational setup derived from a simulated process model for executing a process in a real-world environment. The runtime configuration may include specifications or settings for implementing the process, such as RPA bot configurations, workflow settings, and resource allocation guidelines, which are used to generate runtime results for comparison with simulation results.

[0073] The runtime management component 216 uses the runtime configuration to trigger process execution. For example, the runtime management component 216 communicates the runtime configuration to the process automation system 130, which then executes the process in an automated manner and returns the runtime results to the runtime management component 216.

[0074] Runtime results typically include performance data collected from the actual execution of a process in a real-world environment using a runtime configuration derived from a simulated process model. Runtime results may include, or be processed to provide, performance indicators or metrics, such as KPIs, efficiency data, and data describing the process's behavior with the executed configuration. Runtime results may encompass a variety of KPIs, including process completion time, throughput rate, resource utilization, bottlenecks, and overall efficiency.

[0075] Runtime results reflect the real-world behavior and performance of a process, including factors that may not be fully captured in the simulation. Therefore, comparing runtime results with corresponding simulation results can be useful. In some cases, runtime results are used to verify and improve the accuracy of the simulation model, enabling iterative improvements to the process. For example, runtime results may reveal unexpected bottlenecks or variations in task completion time that were not apparent in the simulation, prompting adjustments to the (candidate) process model or agent configuration.

[0076] The analysis component 218 is responsible for analyzing and comparing the results. For example, the analysis component 218 compares the simulation results with baseline results to determine whether the simulation performance is good enough (for example, according to predetermined conditions or based on predetermined performance indicators for the process) for the multi-agent simulation system 132 to proceed with real-world execution. Furthermore, after real-world execution, the analysis component 218 compares the simulation results with runtime results to determine whether to adjust the process model being tested.

[0077] In some examples, simulation results can be used to analyze process behavior under different scenarios or conditions, potentially enabling the identification of potential improvements or optimizations. For instance, simulation results might reveal that increasing the number of agents handling a particular task could significantly reduce the overall process completion time. In some examples, the analysis component 218 generates improvement recommendations based on the simulation results, or based on a comparison between the simulation results and other results.

[0078] The deployment model component 220 generates a deployment process model. For example, the multi-agent simulation system 132 tests each iteration by iteratively adjusting the process model and comparing the simulation results with the runtime results. When the simulation results are satisfactory, the deployment model component 220 generates a deployment process model corresponding to the most recently tested, adjusted process model. In some examples, the multi-agent simulation system 132 detects that the simulation results satisfy conditions related to the runtime results, such as the simulation KPIs being within thresholds for the same KPIs in the runtime results, and in response, automatically triggers the creation of the deployment model.

[0079] A deployment process model provides a blueprint for implementing an improved version of a process in a real-world system. For example, a deployment process model for an order fulfillment process might specify a strict sequence of tasks, the number of resources required for each task, and points of integration with existing systems, all adjusted from the initial model based on insights gained from simulation and real-world testing. The deployment process model can be exposed or stored by the multi-agent simulation system 132 for downstream use.

[0080] In some examples, at least some of the systems or components shown in Figure 1 or Figure 2 are configured to communicate with one another to implement the embodiments described herein. One or more of the systems or components described herein may be implemented using hardware (e.g., one or more processors of one or more machines) or a combination of hardware and software. For example, a system or component described herein may be implemented by a processor configured to perform the operations described herein for that system or component. Furthermore, two or more of these systems or components may be combined into a single system or component, or the functions described herein for a single system or component may be subdivided among multiple systems or components. In addition, according to various examples, a system or component described herein may be implemented using a single machine, database, or device, or it may be distributed across multiple machines, databases, or devices.

[0081] Figure 3 is a flowchart of the tasks of process 302, with several examples. Process 302 begins with a start event 304, where a customer requests a purchase order, and ends with a end event 314, which occurs when the customer receives the purchase order.

[0082] Various tasks are executed between the start event 304 and the end event 314. As shown in Figure 3, the tasks include task 306 for generating a purchase order and task 308 for retrieving missing data. Task 308 is executed if the customer request (start event 304) contains insufficient data. The tasks further include task 310 for sending the purchase order and task 312 for storing the purchase order. In a multi-agent system, process 302 may be modeled using different agents for different tasks. For example, a first software agent may be configured to simulate task 306, a second software agent may be configured to simulate task 308, a third software agent may be configured to simulate task 310, and a fourth software agent may be configured to simulate task 312.

[0083] Note that Figure 3 provides a simplified example, and that the process to be simulated may be significantly more complex than process 302 shown in Figure 3. In some examples, for at least some of the tasks, the language model is fine-tuned to obtain a fine-tuned language model for simulating the behavior of each agent. Other tasks may be simulated using, for example, a rule engine.

[0084] Figure 4 is a diagram illustrating the mapping of tasks in process 402 to agents in a multi-agent system 404, using several examples. Process 402 includes tasks 406, 408, 410, 412, 414, and 416. A task is a specific activity or step within process 402. For example, process 402 could be a business process similar to process 302 (but with more steps).

[0085] Each task is mapped to a corresponding agent in the multi-agent system 404. More specifically, task 406 is mapped to agent 418, task 408 is mapped to agent 420, task 410 is mapped to agent 422, task 412 is mapped to agent 424, task 414 is mapped to agent 426, and task 416 is mapped to agent 428.

[0086] In the example in Figure 4, the tasks in process 402 represent individual steps that, when combined, form a complete business process. The multi-agent system 404 models the behavior of process 402 by training or configuring agents to simulate these tasks. The agents are interconnected as shown in Figure 4, demonstrating their ability to communicate and interact with each other within the multi-agent system 404. Communication paths may be generated, for example, based on event logs. Tasks may be executed (simulated) sequentially, in parallel, or partially in parallel.

[0087] Each task typically has defined inputs, outputs, and performance parameters such as duration, cost, quality metrics, or limits on the number of times the task can be executed within a given period. Therefore, the agent is trained or configured with such performance parameters to ensure that the agent behaves similarly to how tasks are executed in process 402. Thus, the agent's behavior is defined by or influenced by its performance parameters. The agent's behavior may also incorporate buffers to simulate buffers in process 402.

[0088] The one-to-one mapping method enables a finer-grained representation of business processes, allowing for more accurate simulation and analysis of process 402, as well as easier, more accurate, and less resource-intensive configuration adjustments.

[0089] In some examples, a multi-agent system 404 represents a digital twin of the workflow of process 402, simplifying the entire workflow by modeling an autonomous agent for each logical step. In some examples, by modeling the behavior of each step, the overall system behavior emerges naturally through agent communication, eliminating the need for explicit modeling of the entire system.

[0090] In some examples, communication between agents in a multi-agent system 404 corresponds to transitions between steps in a workflow, facilitating a guided information flow. Other methods, such as Petri nets, may require describing all possible transitions using logical formulas. However, in a multi-agent system, transitions can be automatically extracted from process mining operations.

[0091] Since each task in process 402 is different, each agent in the multi-agent system 404 is of a different type (for example, has unique behavior), and each agent is uniquely mapped to a task. Note that multiple instances of a particular agent may be included in the multi-agent system 404. For example, the multi-agent system 404 may include multiple identical instances of agent 418 to speed up the execution of task 406 during simulation.

[0092] During the simulation phase, as described in more detail elsewhere in this disclosure, certain types of additional agents may be added and run in parallel. This can result in faster processing and an increase in overall throughput. Additionally, modifying the performance parameters of agents can be done relatively easily without having to deal with complex rule sets or tune multi-functional agents.

[0093] More generally, the characteristics of a multi-agent system may include the following: • Autonomy: Agents can be active and are responsible for their own activities. • Complexity: Includes a decision-making mechanism, and multi-agent systems can operate based on learning or inference. • Adaptability: The agent can be adjusted based on dynamic changes. • Concurrency: Parallel processing can be handled. • Communication: Both inter-agent and intra-agent communication are possible. • Distributed: Multi-agent systems can run on different hosts or be distributed across a network. • Mobility: The agent can move between the platform and the environment.

[0094] In some examples, process mining allows a multi-agent system to establish a one-to-one correspondence between each activity in historical process data, such as event log data, and the agent type in the multi-agent system. Table 1 shows an exemplary mapping of event log data to a multi-agent system, as well as the equivalent BPMN data for context.

[0095] [Table 1]

[0096] Figure 5 is a flowchart illustrating the operation of Method 500 for using a multi-agent system to simulate a process, with some examples. Examples, not limitations, of Method 500 may be performed by the components, devices, or systems shown in Figure 1 or Figure 2. Such components, devices, or systems may therefore be referenced below.

[0097] Method 500 begins with operation 502, which opens a loop, and proceeds to operation 504, where the multi-agent simulation system 132 trains software agents using historical process data. For example, the agent training component 202 in Figure 2 automatically trains and / or configures agents in a multi-agent system (e.g., the multi-agent system 404 in Figure 4) such that each agent represents a single task of a process (e.g., process 402 in Figure 4).

[0098] In some examples, the multi-agent simulation system 132 leverages data from event logs to model the data flow, performance, or behavior of a process. In some examples, at least some of the agents are implemented as machine learning models trained to simulate their respective tasks. Operation 504 may form part of the training phase automatically performed by the multi-agent simulation system 132.

[0099] Method 500 then proceeds to operation 506, where the multi-agent simulation system 132 (e.g., the simulation configuration component 208) configures a multi-agent system (e.g., the multi-agent system 404 in Figure 4) to operate using a combination of trained or configured software agents according to a specific process model. For example, the multi-agent system is set up to provide a digital twin of a process, or a version of the process being tested.

[0100] In operation 508, the multi-agent simulation system 132 (for example, the simulation execution component 212) uses the multi-agent system to automatically simulate the process and generate simulation results. In some examples, the multi-agent simulation system 132 automatically runs the multi-agent system according to a specific setup until the multi-agent system reaches equilibrium, and after the multi-agent system reaches equilibrium, simulation results are generated, providing, for example, values ​​of KPIs associated with the process when running in a steady state.

[0101] Various monitoring tools may be used by the simulation execution component 212 or the analysis component 218 to generate simulation results. For example, within the simulation, the multi-agent simulation system 132 takes snapshots of the (simulated) execution of the process at predetermined intervals (e.g., every hour) and measures or stores relevant KPI values ​​or other performance indicator values. The multi-agent simulation system 132 may also automatically measure the individual actions of each agent (e.g., individual throughput rates) and observe the overall results (e.g., overall system throughput rate). In some examples, the simulation results are stored in a database 136.

[0102] As described above, in some examples, during the simulation, the multi-agent simulation system 132 automatically introduces errors into the simulation to test its ability to dynamically adapt to changes and disturbances (for example, to subsequently reach a steady state). In contrast to other systems such as state machines or Petri nets, for example, the multi-agent system automatically reaches equilibrium even when several disturbances occur.

[0103] In operation 510, the multi-agent simulation system 132 generates a runtime configuration to enable integration with real-world processes. For example, the multi-agent simulation system 132 communicates with the process automation system 130 to generate an RPA bot setup for executing the simulated configuration in a real-world system. The RPA bot is automatically generated, for example, using a generative AI-driven bot generator, which is designed and configured to create a bot that operates in a similar (or substantially similar) manner to its corresponding agent from the simulation. In some examples, before triggering operation 510, the simulation results (e.g., one or more KPIs in the simulation results) are compared against a baseline result for a current simulation in the training phase, and the multi-agent simulation system 132 triggers operation 510 only if the simulation results meet a threshold or condition.

[0104] Next, in operation 512, a real-world process is executed to generate runtime results. For example, an automatically created RPA bot setup is run on a real (e.g., "live") system to obtain runtime data showing how well the simulation performed. In some examples, the runtime results (e.g., the same one or more KPIs) are automatically compared to the simulation results by the multi-agent simulation system 132 (e.g., the analysis component 218). In some examples, as shown in operation 514, the process model currently being tested, which determines the multi-agent system configuration, is adjusted based on this comparison (e.g., if the simulation results and runtime results are not sufficiently similar). For example, the analysis component 218 detects that the performance of the process, as reflected in the aggregate event log generated during operation 508 (e.g., based on predetermined KPIs selected for the process), is worse than the performance of its real-world version, as reflected in the real-world event log generated during operation 512, and subsequently triggers an adjustment of it by the process model configuration component 210 or the simulation configuration component 208.

[0105] By automatically adjusting the process model based on a comparison between simulation and runtime results, and by automatically repeating the simulation and execution phases, dynamic adaptation to changes or disturbances in the environment becomes possible. This iterative refinement process ensures that the multi-agent system can reach an equilibrium that closely matches real-world conditions, thereby improving the overall robustness and reliability of the process model.

[0106] In some examples, as shown in operation 516, the multi-agent simulation system 132 automatically repeats the simulation and real-world execution of a process until the simulation results satisfy one or more conditions related to the runtime results (e.g., a predefined performance metric). For example, the process model is adjusted, and the simulation and execution are repeated until the relevant KPIs of the simulation results fall within a predetermined range or threshold from the relevant KPIs of the runtime results. In other examples, the performance of the process during simulation may be immediately satisfactory when compared to the runtime results, and no configuration changes or iterations of the simulation may be required. In such cases, "adjusting" the process model based on the comparison between the simulation results and the runtime results may simply involve confirming the current candidate process model as the deployed process model.

[0107] In operation 518, the deployment model component 220 generates a deployment process model, which is stored in operation 520 and / or output to user 108 via user device 106. For example, the deployment process model includes an RPA-based blueprint for deploying a process. The deployment process model may provide a production-ready process automation that can be used by user 108 or executed by process automation system 130. This translates improvements or optimizations into practical applications for real-world settings. Method 500 ends in operation 522, which closes the loop.

[0108] Figures 6 and 7 collectively illustrate the training, simulation, and execution phases of Method 600, which utilizes a multi-agent system for simulation, using several examples. Figures 6 and 7 capture the progression from initial training to simulation and real-world execution. Examples, not limitations, of Method 600 may be implemented using the components, devices, or systems shown in Figure 1 or Figure 2. Such components, devices, or systems may therefore be referenced below.

[0109] Figure 6 shows an aspect of the training phase of Method 600. Method 600 starts from the training phase in operation 602, which opens the loop, and proceeds to operation 604, where the multi-agent simulation system 132 accesses event log data associated with a specific process (for example, process 402 in Figure 4).

[0110] Event log data provides information for each task in a process, including the activity performed, the activity's timestamp, and a case identifier that associates the activity with a specific process instance. The event log data may also include additional attributes such as resource utilization, task duration, and other relevant performance metrics. For each agent (as shown by loop 620 in Figure 6), the multi-agent simulation system 132 generates a one-to-one mapping between the agent and each task in the process (operation 606), and in operation 608, trains or configures the agent to simulate each task based on the event log data. Thus, in some examples, the behavior of individual tasks is automatically learned by the agent as a result of the multi-agent simulation system 132 mining the event logs associated with those individual tasks and configuring the agent accordingly.

[0111] In operation 610, the multi-agent simulation system 132 performs a baseline simulation. For example, the multi-agent simulation system 132 configures the multi-agent system (e.g., the multi-agent system 404 in Figure 4) to simulate the process in an as-is manner, using an as-is version or model of the process corresponding to historical process data for the process (e.g., event log data). This results in the generation of baseline results associated with the historical process data.

[0112] In decision operation 612, the multi-agent simulation system 132 compares the baseline result to the historical behavior of the process as reflected in the historical process data. For example, the multi-agent simulation system 132 checks whether the baseline simulation is performed in the same manner as the process reflected in the event log data (for example, within predefined error limits for a set of performance indicators).

[0113] If the simulation does not closely resemble historical behavior, the multi-agent simulation system 132 automatically adjusts or retrains one or more of the agents in operation 614, and method 600 returns to operation 610. For example, based on the as-is analysis, one or more parameters of the agents are adjusted to more closely reflect the process behavior in its current state. Since the baseline simulation is performed on a fixed process model based on historical process data, the baseline results allow the multi-agent simulation system 132 to evaluate dependencies within the process and better configure the agents to reflect appropriate behavior. Various adjustment or retraining techniques may be employed. In some examples, one or more of the agents are retrained based on a new event log. For example, the multi-agent simulation system 132 may process the new event log to filter out outliers or focus more on average numbers, and then retrain or update one or more of the agents based on such new and / or processed data.

[0114] On the other hand, if the simulation is sufficiently close to historical behavior, method 600 proceeds from decision action 612 to action 616, where the baseline result is stored for further use during the simulation phase. The training phase ends in action 618, which closes the loop.

[0115] Figure 7 shows the simulation and execution phases of Method 600. The simulation phase of Method 600 begins with loop-opening operation 702, and Method 600 proceeds to operation 704, where the multi-agent simulation system 132 automatically configures the simulation according to a given process model (e.g., a candidate process model).

[0116] In operation 704, pre-trained or pre-configured software agents from the simulation phase are automatically combined by the multi-agent simulation system 132 to configure the simulation as needed, and in operation 706, the simulation is automatically executed by the multi-agent simulation system 132.

[0117] For example, rather than configuring a simulation for an as-is or fixed process model from the simulation phase, the multi-agent simulation system 132 configures a candidate process model for testing new versions, variants, or execution models of the process. In some examples, operation 706 involves setting up a software agent according to a BPMN process model for the process, but also involves removing fixed communication paths applied during the training phase, allowing the multi-agent simulation system 132 to explore new communication paths that could be discovered automatically by enabling the software agents of the multi-agent system to operate without such constraints. In traditional simulation systems, the user typically has to configure all possible paths from one state to the next. However, such an approach can have drawbacks, as described elsewhere in this disclosure. In some cases, when analyzing the event log, it may become clear that the user is not operating strictly according to a given process, but instead is performing steps differently, thereby potentially having benefits (e.g., improved efficiency). Thus, by removing such fixed communication paths, greater flexibility is provided, allowing the multi-agent simulation system 132 to be closer to real-world behavior as opposed to the way the process is theoretically defined.

[0118] Therefore, in some examples, the multi-agent simulation system 132 utilizes a baseline process model that mirrors the current version of the process during the training phase, and then tests candidate process models during the simulation phase to explore possible improvements, for example, to process efficiency or flow.

[0119] In some cases, during the training phase, baseline simulations are run on the baseline process model to understand existing process behavior and performance, and to verify the agent against real-world data during the training phase, thereby ensuring that the correct behavior is configured in the agent. The baseline results also establish a baseline for comparison with future simulation results. Meanwhile, during the simulation phase in Figure 7, new or modified process configurations may be tested using the candidate process model. This may be done, for example, to evaluate potential improvements, to test "what-if" scenarios, or to predict the performance of new process designs or variant forms. The candidate process model is tested by using the software agent trained or configured in the training phase, but with at least some different parameters or configuration settings than those in the training phase.

[0120] The multi-agent simulation system 132 runs the simulation by executing software agents (each simulating its respective individual task) until equilibrium is reached, and stores the simulation results captured during or after the simulation. In some examples, historical process data associated with a process may be used in both the simulation and training phases. For example, if the historical process data includes an event log spanning three years, the data for the first two years may be used by the multi-agent simulation system 132 to automatically train or configure agents in the simulation phase, while the data for the third year may be used as input by the multi-agent simulation system 132 to automatically run the simulation in the simulation phase.

[0121] Method 600 proceeds to decision operation 708, where the multi-agent simulation system 132 (for example, the analysis component 218) compares the simulation results to baseline results from the training phase. For example, the multi-agent simulation system 132 automatically evaluates performance data representing the performance of the baseline process model against performance data representing the performance of the candidate process models.

[0122] If the simulation results are not better than the baseline results, method 600 proceeds to operation 710, where the configuration is adjusted. For example, if one or more predetermined KPIs do not significantly exceed the threshold for those KPIs in the baseline results, method 600 proceeds to operation 710. As an example, a project may involve overcoming problems known from process mining, such as insufficient KPIs because a given process task performed by a single human worker (in a real-world process) is too slow. In such a case, the adjustment may involve the multi-agent simulation system 132 automatically adding one or more agents corresponding to a second person in order to allow the throughput of that step to be doubled. After operation 710, method 600 runs operation 706 again to obtain further simulation results for the adjusted configuration (e.g., the adjusted candidate process model). Note that method 600 may involve iteration across various configurations. Since the simulation does not affect the production system, a large number of process configuration variations (e.g., thousands) can be automatically tested within the simulation environment. The variant can be tested by the multi-agent simulation system 132 based on predetermined heuristics or algorithms, such as genetic algorithms, which are applied to modify the configuration (for example, hiring additional personnel or resources for a certain process step).

[0123] In some examples, as shown in Figure 7, if the simulation results are better than the baseline results, method 600 proceeds from decision operation 708 to operation 712, where the process is built for real-world execution. For example, the multi-agent simulation system 132 automatically triggers the generation of a runtime configuration for running a real-world version of the process based on performance data generated by comparing the simulation results with the baseline results.

[0124] In other words, if the simulation shows process degradation, the process model being tested is automatically revised by the multi-agent simulation system 132 and re-simulated to test the revised version of the process model. If the simulation shows improvement in the process (or improvement that at least satisfies predetermined conditions), the process is automatically "built" for real-world execution. In some examples, the multi-agent simulation system 132 instructs the process automation system 130 to use RPA tools to generate an automated setup of the process.

[0125] In operation 714, method 600 moves to the execution phase, where the multi-agent simulation system 132 or process automation system 130 runs a real-world version of the process to generate runtime results. In decision operation 716, the multi-agent simulation system 132 or process automation system 130 measures real-world runtime data that can be compared to the simulation results (for example, by comparing relevant KPIs).

[0126] If, in decision operation 716, the multi-agent simulation system 132 determines that the simulation results for the current configuration (e.g., the current candidate process model) are not sufficiently close to the runtime results generated during operation 714, method 600 proceeds to operation 718, where the configuration is adjusted. This may involve, for example, adjusting the simulation configuration (e.g., adjusting agent settings in a multi-agent system), or retraining or reconfiguring one or more agents, by the agent adjustment component 204 of the multi-agent simulation system 132. After operation 718, method 600 performs operation 706 again to obtain further simulation results for the adjusted configuration (e.g., the adjusted candidate process model), and method 600 proceeds as described above.

[0127] In decision operation 716, if the multi-agent simulation system 132 determines that the simulation results for the current configuration are sufficiently close to the runtime results from operation 714, method 600 proceeds to operation 720, where an unfolded process model is generated by the multi-agent simulation system 132. Thus, in response to the determination that the simulation results for the candidate process model currently being tested correspond to the runtime results (e.g., sufficiently close or similar based on a predetermined indicator or metric), the multi-agent simulation system 132 automatically triggers the generation of an unfolded process model for unfolding the process. Thus, in some examples, first performance data is used in decision operation 708 to determine whether the multi-agent simulation system 132 should proceed with the runtime configuration, and second performance data is used in decision operation 716 to determine whether the multi-agent simulation system 132 should subsequently generate an unfolded process model.

[0128] A feedback loop for continuous improvement is provided by using a runtime configuration based on the process model to execute the process and comparing the runtime results with simulation results. This iterative approach ensures that the process model is refined and improved, leading to more accurate and efficient process execution in real-world applications.

[0129] In some examples, as shown in Figure 7, method 600 further includes, in operation 722, building and executing a production version by the process automation system 130 to automate and execute the process based on the established deployment process model. Method 600 terminates in operation 724, which closes the loop.

[0130] In view of the implementations of the subject matter described above, this application discloses the following list of examples, where one feature of an independent example, or two or more features of an example, is a further example that also falls within the disclosure of this application, to be interpreted in combination and, in some cases, in conjunction with one or more features of one or more further examples.

[0131] Example 1 is a computer implementation method executed by a computer system comprising memory and at least one hardware processor, the computer implementation method comprising: training a plurality of software agents using historical process data, wherein each of the plurality of software agents represents a single task in a process; simulating a process by executing a multi-agent system and generating simulation results, wherein in the multi-agent system, the plurality of software agents are configured according to a candidate process model for the process and operate autonomously based on training; executing the process using a runtime configuration based on the candidate process model and generating runtime results for comparison with the simulation results; adjusting the candidate process model based on the comparison; repeating the simulation of the process using an adjusted multi-agent system corresponding to the adjusted candidate process model; repeating the execution of the process using an adjusted runtime configuration corresponding to the adjusted candidate process model; and generating an expanded process model for the process based on the adjusted candidate process model.

[0132] In Example 2, the subject of Example 1 is that one of several software agents has a machine learning model, and the training of the software agent includes the step of training the machine learning model on at least a subset of historical process data relating to a single task represented by the software agent.

[0133] In Example 3, the subject of Example 2 is further comprising the steps of: the machine learning model having a fine-tuned language model; the training of the software agent further comprising the steps of: accessing the pre-trained language model; generating a fine-tuned language model by fine-tuning the pre-trained language model on historical process data relating to a single task; and generating a one-to-one mapping between the fine-tuned language model and a single task represented by the software agent.

[0134] In Example 4, one of the themes in Examples 2-3 includes the fact that each of the multiple software agents has its own machine learning model, which is trained on its respective subset of historical process data related to its respective single task.

[0135] In Example 5, any subject from Examples 1 to 4 includes the step of generating a one-to-one mapping between each of the multiple software agents and a single task that the software agent represents, such that the multiple software agents correspond to multiple tasks defined by the candidate process model.

[0136] In Example 6, any subject in Examples 1-5 includes the step of simulating a process, which includes running a test simulation to test a candidate process model; and the step of training multiple software agents, which further includes running a baseline simulation using multiple software agents to generate baseline results for a baseline process model associated with historical process data; and performing at least one of tuning or retraining at least a subset of the multiple software agents based on the baseline results and historical process data.

[0137] In Example 7, any subject from Examples 1 to 6 includes the step of simulating a process by performing a test simulation to test a candidate process model, and further includes the step of using multiple software agents to perform a baseline simulation to generate baseline results for a baseline process model associated with historical process data, the step of generating first performance data by comparing the baseline results with simulation results, the step of automatically triggering the generation of a runtime configuration for process execution based on the first performance data, and the step of generating second performance data by comparing the runtime results with simulation results to enable tuning of the candidate process model.

[0138] In Example 8, the subject of any of Examples 1-7 is a step of generating a runtime configuration by automatically configuring a robotic process automation (RPA) bot for executing a process, the process being automatically executed by the RPA bot and a runtime result being generated.

[0139] In Example 9, any subject from Examples 1-8 includes the steps of automatically triggering the retraining of at least a subset of software agents based on a comparison, and automatically repeating the simulation of the process after the retraining of at least a subset of software agents.

[0140] In Example 10, any subject from Examples 1-9 includes a step in which the process simulation automatically runs the multi-agent system until the multi-agent system reaches equilibrium, and after the multi-agent system reaches equilibrium, the simulation results are generated.

[0141] In Example 11, the subject of Example 10 includes a step in which the process simulation automatically introduces errors into the process before generating the simulation results.

[0142] In Example 12, the subject of any of Examples 1 to 11 includes the steps of automatically repeating the adjustment of a candidate process model, the simulation of the process, and the execution of the process until it is detected that the simulation results satisfy at least one predetermined condition regarding the runtime results, and in response to the detection that the simulation results satisfy at least one predetermined condition regarding the runtime results, the step of triggering the generation of an expanded process model for expanding the process.

[0143] In Example 13, any subject from Examples 1 to 12 includes the steps of determining, based on one or more predetermined performance indicators, that the simulation results for a tuned candidate process model correspond to the runtime results for the tuned candidate process model, and in response to the determination that the simulation results for the tuned candidate process model correspond to the runtime results for the tuned candidate process model, the steps of triggering the generation of an unfolded process model for unfolding the process.

[0144] In Example 14, any subject from Examples 1 to 13 includes the idea that the trained behavior of each software agent among multiple software agents is defined by parameters that control the behavior of the software agent.

[0145] Example 15 is a system comprising at least one memory for storing instructions and one or more processors configured by instructions to perform operations, wherein the operation is to train a plurality of software agents using historical process data, each of the plurality of software agents representing a single task in a process, and to simulate the process by executing a multi-agent system to generate simulation results, wherein in the multi-agent system, the plurality of software agents are configured according to a candidate process model for the process and operate autonomously based on training, and to execute the process using a runtime configuration based on the candidate process model to generate runtime results for comparison with the simulation results, to adjust the candidate process model based on the comparison, to repeat the simulation of the process using a tuned multi-agent system corresponding to the tuned candidate process model, to repeat the execution of the process using a tuned runtime configuration corresponding to the tuned candidate process model, and to generate an expanded process model for the process based on the tuned candidate process model.

[0146] In Example 16, the subject of Example 15 is that one of several software agents has a machine learning model, and the training of the software agent involves training the machine learning model on at least a subset of historical process data relating to a single task represented by the software agent.

[0147] In Example 17, any subject from Examples 15–16 includes the following: process simulation includes running a test simulation to test a candidate process model; operation includes running a baseline simulation to generate baseline results for the baseline process model; generating first performance data by comparing the baseline results with simulation results; automatically triggering the generation of a runtime configuration for process execution based on the first performance data; and generating second performance data by comparing the runtime results with simulation results to allow tuning of the candidate process model.

[0148] Example 18 is one or more non-temporary computer-readable media that stores computer-executable instructions that cause a computing system to perform an operation when executed by the computing system, wherein the operation is to train a plurality of software agents using historical process data, wherein each of the plurality of software agents represents a single task in the process; to simulate the process by executing a multi-agent system and generate simulation results, wherein in the multi-agent system, the plurality of software agents are configured according to a candidate process model for the process and operate autonomously based on training; to execute the process using a runtime configuration based on the candidate process model and generate runtime results for comparison with the simulation results; to adjust the candidate process model based on the comparison; to repeat the simulation of the process using a tuned multi-agent system corresponding to the tuned candidate process model; to repeat the execution of the process using a tuned runtime configuration corresponding to the tuned candidate process model; and to generate an expanded process model for the process based on the tuned candidate process model.

[0149] In Example 19, the subject of Example 18 is that one of several software agents has a machine learning model, and the training of the software agent involves training the machine learning model on at least a subset of historical process data relating to a single task represented by the software agent.

[0150] In Example 20, the subject of any of Examples 18–19 includes the following: process simulation includes running a test simulation to test a candidate process model; operation includes running a baseline simulation to generate baseline results for the baseline process model; generating first performance data by comparing the baseline results with simulation results; automatically triggering the generation of a runtime configuration for process execution based on the first performance data; and generating second performance data by comparing the runtime results with simulation results to allow tuning of the candidate process model.

[0151] Example 21 is at least one machine-readable medium that, when executed by a processing circuit, contains instructions causing the processing circuit to perform an action to implement any of Examples 1 through 20.

[0152] Example 22 is a device that includes means for implementing any of Examples 1 through 20.

[0153] Example 23 is a system for implementing any of Examples 1 through 20.

[0154] Example 24 is a method for implementing any of Examples 1 through 20.

[0155] Figure 8 is a block diagram showing 800 machine learning programs, including some examples. A machine learning program, also called a machine learning algorithm or tool, may be used as part of a system described herein to perform one or more operations.

[0156] Machine learning is the field of study that gives computers the ability to learn without being explicitly programmed. Machine learning explores the study and construction of algorithms, also referred to herein as tools, that learn from existing data or are trained using such data and can make predictions about or based on new data. Such machine learning tools operate by building models from exemplary training data 808 to make data-driven predictions or decisions, which are expressed as outputs or assessments (e.g., assessment 816). While examples are presented with respect to several machine learning tools, the principles presented herein may be applicable to other machine learning tools.

[0157] In some examples, different machine learning tools may be used. For example, logistic regression (LR), naive Bayes, random forest (RF), neural network (NN), matrix factorization, and support vector machine (SVM) tools may be used.

[0158] Two common types of problems in machine learning are classification problems and regression problems. Classification problems, also called categorization problems, aim to classify an item into one of several categorical values ​​(for example, is this object an apple or an orange?). Regression algorithms aim to quantify several items (for example, by providing a value that is a real number).

[0159] The machine learning program 800 supports two types of phases: a training phase 802 and a prediction phase 804. In the training phase 802, supervised learning, unsupervised learning, or reinforcement learning may be used. For example, the machine learning program 800 (1) receives features 806 (e.g., as structured or labeled data in supervised learning) and / or (2) identifies features 806 (e.g., unstructured or unlabeled data for unsupervised learning) in the training data 808. In the prediction phase 804, the machine learning program 800 uses features 806 to analyze query data 812 and generate outcomes or predictions as examples of assessments 816.

[0160] In training phase 802, feature engineering may be used to identify features 806, and may include identifying explanatory, discriminant, and independent features for the effective operation of the machine learning program 800 in pattern recognition, classification, and regression. In some examples, the training data 808 includes labeled data, which is pre-identified features 806 and known data for one or more outcomes. Each of the features 806 may be a variable or attribute, such as an individual measurable property of a process, item, system, or phenomenon represented by the dataset (e.g., training data 808). Features 806 may also be of different types, such as numerical features, strings, and graphs, and may include one or more of the following, but are not examples: content 818, concepts 820, attributes 822, historical data 824, and / or user data 826.

[0161] The concept of features in this context relates to the concept of explanatory variables used in statistical techniques such as linear regression. Selecting explanatory, discriminant, and independent features is crucial for the effective operation of the machine learning program 800 in pattern recognition, classification, and regression. Features can be of different types, including numerical features, strings, and graphs.

[0162] In training phase 802, the machine learning program 800 uses training data 808 to discover correlations between features 806 that influence the predicted outcome or assessment 816. Using the training data 808 and the identified features 806, the machine learning program 800 is trained during training phase 802 in machine learning program training 810. The machine learning program 800 estimates the value of feature 806 when it correlates with the training data 808. The result of the training is the trained machine learning program 814 (e.g., the trained or learned model).

[0163] Furthermore, the training phase 802 may involve machine learning where the training data 808 is structured (for example, labeled during a preprocessing operation), and the trained machine learning program 814 implements a relatively simple neural network 828 capable of performing, for example, classification and clustering operations. In another example, the training phase 802 may involve deep learning where the training data 808 is unstructured, and the trained machine learning program 814 implements a deep neural network 828 capable of performing both feature extraction and classification / clustering operations.

[0164] The neural network 828, generated during training phase 802 and implemented within the trained machine learning program 814, may contain a hierarchical (e.g., layered) organization of neurons. For example, neurons (or nodes) may be arranged hierarchically in several layers, including an input layer, an output layer, and multiple hidden layers. Each layer in the neural network 828 may have one or more neurons, each of which computes a small function (e.g., an activation function) in an operable manner. For example, if the activation function produces an output that deviates from a certain threshold, the output may be communicated from that neuron (e.g., a transmitting neuron) to connected neurons in a successive layer (e.g., a receiving neuron). The connections between neurons also have associated weights that define the influence of the input from the transmitting neuron to the receiving neuron.

[0165] In some examples, neural network 828 could also be one of several different types of neural networks, including, but are not limited to, single-layer feedforward networks, artificial neural networks (ANNs), recurrent neural networks (RNNs), symmetrically connected neural networks, and unsupervised pre-trained networks, transformer networks, convolutional neural networks (CNNs), or recurrent neural networks (RNNs).

[0166] During the prediction phase 804, the trained machine learning program 814 is used to perform an assessment. Query data 812 is given as input to the trained machine learning program 814, and in response to receiving the query data 812, the trained machine learning program 814 generates an assessment 816 as output.

[0167] In some examples, a trained machine learning program 814 may have a generative AI model. Generative AI is a term sometimes used to refer to AI that can create new content. For example, generative AI can generate text, images, videos, audio, code, or synthetic data.

[0168] Some of the techniques used in or in conjunction with generative AI are as follows: • GANs: A GAN can consist of two neural networks, namely a generator and a discriminator. The generator network attempts to create realistic content that can "fake" the discriminator network, while the discriminator network attempts to distinguish between real content and fake content. The generator and discriminator networks compete with each other and improve over time. Variational Autoencoders (VAEs): VAEs can encode input data into a latent space (e.g., a compressed representation) and then decode it back into output data. The latent space can be manipulated to generate a new, transformed form of the output data. VAEs can use self-attention mechanisms to process input data, handle long text sequences, and capture complex dependencies. • Transformer Models: Transformer models can use attention mechanisms to learn relationships between different parts of input data (such as words or pixels) and generate output data based on these relationships. Transformer-based models can handle sequential data such as text or speech, as well as non-sequential data such as images or code. For example, language models (such as large language models (LLMs) or small language models (SLMs)) can be transformer models or be based on transformer models. Non-exclusive examples of LLMs that use transformer models include GPT-4 (Generative Pre-trained Transformer 4) developed by OpenAI®, BERT (Bidirectional Encoder Representations from Transformers) developed by Google®, LLaMA (Large Language Model Meta AI) developed by Meta®, PaLM2 (Pathways Language Model 2) developed by Google®, and Claude 3 developed by Anthropic®.

[0169] In the example of generative AI, the assessment 816 generated as a response or output by the trained machine learning program 814 may include predictions, translations, summaries, answers to questions, suggestions, media content, or a combination thereof. In some examples, the machine learning model may be fine-tuned. As used herein, the term “fine-tuning” generally refers to the process of adapting a pre-trained, or “base,” machine learning model. For example, a machine learning model may be adapted to improve its performance on a particular task or to be more suitable for a particular behavior. Fine-tuning techniques may include updating or changing the intrinsic parameters of a pre-trained model through additional training, injecting new trainable weights or layers into the model architecture and training on those weights or layers, modifying the model topology by altering layers or connections, changing aspects of the training process (such as a loss function or optimization method), or one or more of any other adaptations that may result in better model performance on a particular task compared to the pre-trained model.

[0170] Figure 9 is a block diagram 900 showing a software architecture 902 for computing devices in several examples. The software architecture 902 can be used with various hardware architectures, for example, as described herein. Figure 9 is merely an example of a software architecture, and numerous other architectures can be implemented to facilitate the functions described herein. A typical hardware layer 904 is shown, which can represent, for example, any of the computing devices described above. In some examples, the hardware layer 904 can be implemented according to the architecture of the computer system in Figure 10.

[0171] A typical hardware layer 904 comprises one or more processing units 906, each having associated executable instructions 908. The executable instructions 908 represent executable instructions of the software architecture 902, including implementation forms such as methods, modules, subsystems, and components described herein, and the hardware layer 904 may also include memory and / or storage modules 910, which also have executable instructions 908. The hardware layer 904 may also comprise other hardware, indicated by other hardware 912 and other hardware 922, where other hardware 912 and other hardware 922 represent any other hardware of the hardware layer 904, such as other hardware shown as part of the software architecture 902.

[0172] In the architecture of Figure 9, the software architecture 902 can be conceptualized as a stack of layers, where each layer provides a specific function. For example, the software architecture 902 may include layers such as the operating system 914, libraries 916, framework / middleware layer 918, application 920, and presentation layer 944. Operationally, the application 920 or other components within the layer can invoke API calls 924 through the software stack and, in response to API calls 924, access responses, return values, etc., indicated as messages 926. The layers shown are actually representative, and not all software architectures have all layers. For example, some mobile or dedicated operating systems may not provide a framework / middleware layer 918, while others may. Other software architectures may include additional or different layers.

[0173] The operating system 914 may manage hardware resources and provide common services. The operating system 914 may include, for example, a kernel 928, services 930, and drivers 932. The kernel 928 may act as an abstraction layer between hardware and other software layers. For example, the kernel 928 may be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, etc. Services 930 may provide other common services for other software layers. In some examples, services 930 may include interrupt services. Interrupt services may detect the reception of interrupts and, in response, cause the software architecture 902 to pause its current processing and, when the interrupt is accessed, execute an interrupt service routine (ISR).

[0174] Driver 932 may be responsible for controlling or interfaceing with the underlying hardware. For example, depending on the hardware configuration, driver 932 may include a display driver, camera driver, Bluetooth® driver, flash memory driver, serial communication driver (e.g., Universal Serial Bus (USB) driver), Wi-Fi® driver, near-field communication (NFC) driver, audio driver, power management driver, etc.

[0175] Library 916 may provide a common infrastructure that can be utilized by Application 920 or other components or layers. Library 916 typically provides functions that enable other software modules to perform tasks in a way that is easier than directly interfaced with the underlying operating system 914 functions (e.g., kernel 928, services 930, or drivers 932). Library 916 may include a system library 934 (e.g., the C standard library) that may provide functions such as memory allocation functions, string manipulation functions, and mathematical functions. In addition, Library 916 may include API libraries 936, such as a media library (e.g., a library for supporting the presentation and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.), a graphics library (e.g., the OpenGL framework, which can be used to render 2D and 3D graphics content on a display), a database library (e.g., SQLite, which can provide various relational database functions), and a web library (e.g., WebKit, which can provide web browsing functions). Library 916 may also include a wide variety of other libraries 938 to provide numerous other APIs to application 920 and other software components / modules.

[0176] The framework / middleware layer 918 may provide a higher level of common infrastructure that can be utilized by the application 920 or other software components / modules. For example, the framework / middleware layer 918 may provide various graphical user interface (GUI) functions, high-level resource management, high-level location services, etc. The framework / middleware layer 918 may also provide a wide range of other APIs that can be utilized by the application 920 or other software components / modules, some of which may be specific to a particular operating system or platform.

[0177] Application 920 includes embedded applications 940 or third-party applications 942. Typical examples of embedded applications 940 may include, but are not limited to, contact applications, browser applications, book reader applications, location applications, media applications, messaging applications, or game applications. Third-party applications 942 may include any of a wide combination of embedded applications and other applications. In certain examples, a third-party application 942 (for example, an application developed by an entity other than the vendor of a particular platform using the Android® or iOS® Software Development Kit (SDK)) may be mobile software running on a mobile operating system such as iOS®, Android®, Windows® Phone, or other mobile computing device operating systems. In this example, a third-party application 942 may invoke API calls 924 provided by the mobile operating system, such as operating system 914, to facilitate the functionality described herein.

[0178] Application 920 may create a user interface for interacting with the system's user by utilizing embedded operating system functions (e.g., kernel 928, services 930, or drivers 932), libraries (e.g., system library 934, API library 936, and other libraries 938), and the framework / middleware layer 918. Alternatively or additionally, in some systems, user interaction may occur through a presentation layer, such as the presentation layer 944. In these systems, the application / module "logic" may be separated from the application / module aspects that interact with the user.

[0179] Some software architectures utilize a virtual machine. In the example in Figure 9, this is represented by a virtual machine 948. A virtual machine creates a software environment that can run as if an application / module were running on a hardware computing device. The virtual machine is hosted by a host operating system (operating system 914) and typically, though not necessarily, has a virtual machine monitor 946, which manages the operation of the virtual machine as well as its interface with the host operating system (e.g., operating system 914). The software architecture runs within the virtual machine 948, including the operating system 950, libraries 952, frameworks / middleware 954, applications 956, or presentation layer 958. These layers of the software architecture running within the virtual machine 948 may be the same as or different from the corresponding layers described earlier.

[0180] Several examples are described herein as involving logic, or several components, modules, or mechanisms. A module or component may constitute either a software module / component (e.g., code implemented (1) on a non-temporary machine-readable medium, or (2) in a transmitted signal) or a hardware implementation module / component. A hardware implementation module / component is a tangible unit capable of performing several operations and may be configured or arranged in a certain way. In the examples, one or more computer systems (e.g., standalone, client, or server computer systems), or one or more hardware processors, may be configured by software (e.g., an application, or application portion) as a hardware implementation module / component that operates to perform some of the operations described herein.

[0181] In various examples, hardware implementation modules / components can be implemented mechanically or electronically. For example, a hardware implementation module / component may have dedicated circuitry or logic that is permanently configured to perform certain operations (e.g., as a dedicated processor, such as a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC)). A hardware implementation module / component may also have programmable logic or circuitry that is temporarily configured by software to perform certain operations (e.g., contained within a general-purpose processor or another programmable processor).

[0182] Therefore, the terms “hardware implementation module” or “hardware implementation component” should be understood to encompass tangible entities that are physically constructed, permanently configured (e.g., hardwired), or transiently configured (e.g., programmed) to operate in a certain way or to perform some of the operations described herein. Considering an example where a hardware implementation module / component is transiently configured (e.g., programmed), each hardware implementation module / component does not need to be configured or instantiated in any single instance at any given time. For example, if a hardware implementation module / component comprises a general-purpose processor configured using software, the general-purpose processor may be configured as different hardware implementation modules / components at different times. Accordingly, the software may configure the processor, for example, to constitute a particular hardware implementation module / component in one instance at a given time, and to constitute different hardware implementation modules / components in different instances at different times.

[0183] Hardware implementation modules / components can provide information to and receive information from other hardware implementation modules / components. Therefore, the hardware implementation modules / components described can be considered to be communicatively coupled. If multiple such hardware implementation modules / components exist simultaneously, communication can be achieved through signal transmission (e.g., via appropriate circuits and buses connecting those hardware implementation modules / components). In examples where multiple hardware implementation modules / components are configured or instantiated at different times, communication between such hardware implementation modules / components can be achieved, for example, through the storage and retrieval of information in a memory structure to which those multiple hardware implementation modules / components have access. For example, one hardware implementation module / component may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. Further hardware implementation modules / components can then later access the memory device to retrieve and process the stored output.

[0184] Various operations of the exemplary methods described herein may be performed, at least partially, by one or more processors that are configured (for example, by software) temporarily or permanently to perform the operations in question. Whether configured temporarily or permanently, such processors may constitute processor implementation modules / components that operate to perform one or more operations or functions. The modules / components referred to herein may, in some examples, comprise processor implementation modules / components.

[0185] Similarly, the methods described herein may be processor implementations, at least in part. For example, at least some of the operations of a method may be performed by one or more processors, or processor implementation modules / components. Some of the operations may be performed not only within a single machine, but also distributed among one or more processors deployed across several machines.

[0186] One or more processors may also operate within a “cloud computing” environment or as “Software as a Service (SaaS)” to support the execution of related operations. For example, at least some of the operations may be performed by a group of computers (as an example of machines containing processors), and these operations may be accessible over a network (e.g., the Internet) and through one or more appropriate interfaces (e.g., APIs).

[0187] Examples may be implemented in digital electronic circuits, or in computer hardware, firmware, or software, or in combination thereof. Examples may be implemented using computer programs implemented in tangible form in an information carrier, for example in a machine-readable medium, for execution by or control of a computer program product, such as a data processing device, such as a programmable processor, a computer, or multiple computers.

[0188] Computer programs can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as standalone programs or as modules, subroutines, or other units suitable for use within a computing environment. Computer programs can be deployed to run on one computer, or on one site, or on multiple computers distributed across multiple sites and interconnected by a communication network.

[0189] Figure 10 is a block diagram of a machine in an exemplary form of computer system 1000, in which instruction 1024 can be executed internally to cause the machine to perform any one or more of the methods described herein. In alternative examples, the machine may operate as a standalone device or be connected to other machines (e.g., networked). In a networked deployment, the machine may operate in the role of a server or client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular telephone, web device, network router, switch, or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify the actions to be taken by that machine. Furthermore, although only a single machine is shown, the term “machine” shall also be interpreted to include any set of machines that individually or collectively execute a set (or set of) instructions for performing any one or more of the methods described herein.

[0190] An exemplary computer system 1000 includes a processor 1002 (e.g., a central processing unit (CPU), a GPU, or both), primary or main memory 1004, and static memory 1006, which communicate with each other via a bus 1008. The computer system 1000 may further include a video display unit 1010 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1000 also includes an alphanumeric input device 1012 (e.g., a keyboard or a touch-sensitive display screen), a UI navigation (or cursor control) device 1014 (e.g., a mouse), a storage unit 1016, a signal generation device 1018 (e.g., a speaker), and a network interface device 1020.

[0191] As used herein, the term “processor” may refer to any one or more circuits or virtual circuits (e.g., physical circuits emulated by logic running on an actual processor) that manipulate data values ​​according to control signals (e.g., commands, opcodes, machine codes, control words, macro instructions, etc.) and produce corresponding output signals applied to operate a machine. A processor may include, for example, a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a composite instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), a tensor processing unit (TPU), a neural processing unit (NPU), a vision processing unit (VPU), a machine learning accelerator, an artificial intelligence accelerator, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a radio frequency integrated circuit (RFIC), a neuromorphic processor, a quantum processor, or at least one of any combination thereof. A processor may be a multicore processor having two or more independent processors (sometimes called “cores”) capable of executing instructions simultaneously. A multicore processor may contain multiple computing cores on a single integrated circuit die, each capable of executing program instructions in parallel and independently. Parallel processing on a multicore processor can be implemented through architectures such as superscalar, VLIW, vector processing, or SIMD, which allow each core to execute separate instruction streams simultaneously. A processor can be emulated in software, running on a physical processor as a virtual processor or virtual circuit. A virtual processor can behave like an independent processor, but is implemented in software rather than hardware.

[0192] The storage unit 1016 includes a machine-readable medium 1022 in which one or more sets of data structures and instructions 1024 (e.g., software) are stored, which perform or utilize any one or more of the methods or functions described herein. The instructions 1024 may also be entirely or at least partially present in the main memory 1004 or the processor 1002 while they are being executed by the computer system 1000, and the main memory 1004 and the processor 1002 also constitute the machine-readable medium 1022, respectively.

[0193] While the machine-readable medium 1022 is shown to be a single medium in some examples, the term “machine-readable medium” may include a single or multiple mediums (e.g., a centralized or distributed database, or associated caches and servers) that store one or more instructions 1024 or data structures. The term “machine-readable medium” shall also be construed to include any tangible medium capable of storing, encoding, or carrying instructions 1024 for machine execution, or data structures utilized by or associated with such instructions 1024, which cause a machine to execute any one or more of the methods of the Disclosure. Accordingly, the term “machine-readable medium” shall be construed to include, but not limited to, solid-state memory, as well as optical and magnetic media. Specific examples of machine-readable media 1022 include, as examples, semiconductor memory devices such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory devices, as well as magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and non-volatile memory including compact disc read-only memory (CD-ROM) and digital multipurpose disc read-only memory (DVD-ROM) disks. Machine-readable media are not transmission media.

[0194] Instruction 1024 may be further transmitted or received on a communication network 1026 using a transmission medium. Instruction 1024 may be transmitted using a network interface device 1020 and one of several well-known transport protocols (e.g., Hypertext Transport Protocol (HTTP)). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, mobile phone networks, plain old telephone service (POTS) networks, and wireless data networks (e.g., Wi-Fi and Wi-Max networks). The term “transmission medium” is to be interpreted as including any intangible medium capable of storing, encoding, or carrying instructions 1024 for machine execution, including digital or analog communication signals or other intangible mediums to facilitate communication of such software.

[0195] While specific examples are described herein, it will become apparent that various modifications and alterations can be made to these examples without departing from the broader intent and scope of this disclosure. Therefore, this specification and the drawings should be considered illustrative, not restrictive. The accompanying drawings, forming part of this application, illustrate, not restrictively, specific examples in which the subject matter may be carried out. The examples shown are described in sufficient detail to enable those skilled in the art to carry out the teachings disclosed herein. Other examples can be utilized and derived therefrom, so that structural and logical substitutions and alterations can be made without departing from the scope of this disclosure. Therefore, this detailed description should not be interpreted restrictively, and the scope of the various examples is defined solely by the accompanying claims, along with the entire scope of equivalents to which such claims are entitled.

[0196] For convenience only, and without any intention to arbitrarily limit the scope of this application to any single example or concept when more than one is actually disclosed, such examples of the subject matter may be referred to herein individually or collectively by the term “Example.” Therefore, while a particular example is shown and described herein, please understand that any arrangement calculated to achieve the same purpose may be substituted for that particular example shown. This disclosure is intended to encompass all adaptations or variations of various examples. Combinations of the above examples and other examples not specifically described herein will be apparent to those skilled in the art upon consideration of the above description.

[0197] Some parts of the subject matter described herein may be presented in relation to algorithms or symbolic representations of operations in data stored as bits or binary digital signals in machine memory (e.g., computer memory). Such algorithms or symbolic representations are examples of techniques used by those skilled in the field of data processing to communicate the content of their work to others skilled in the field. As used herein, “algorithm” is a self-consistent sequence of operations or similar processes that lead to a desired result. In this context, algorithms and operations involve the physical manipulation of physical quantities. Typically, but not always, such quantities may take the form of electrical, magnetic, or optical signals that can be stored, accessed, transferred, combined, compared, or otherwise manipulated by machines. It is sometimes convenient to refer to such signals using words such as “data,” “content,” “bit,” “value,” “element,” “symbol,” “character,” “term,” “number,” and “digit,” mainly for common usage reasons. However, these words are merely convenient labels and should be associated with appropriate physical quantities.

[0198] Unless otherwise specified, descriptions herein using terms such as “processing,” “calculating,” “calculating,” “determining,” “presenting,” and “displaying” may refer to the actions or processes of a machine (e.g., a computer) that manipulate or transform data expressed as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or any preferred combination thereof), registers, or other machine components that receive, store, transmit, or display information. Furthermore, unless otherwise specified, the terms “a” and “an” are used herein to include one or more instances, as is common in patent literature.

[0199] Unless the context clearly indicates otherwise, throughout this specification and the claims, words such as “comprise” and “comprising” should be interpreted in an inclusive sense, as opposed to an exclusive or exhaustive sense, for example, “including, but not limited to.” As used herein, the terms “connected” and “coupled,” or any variations thereof, mean any connection or coupling, direct or indirect, between two or more elements, and the coupling or connection between elements may be physical, logical, or a combination thereof. Additionally, when used in this application, the words “herein,” “above,” “below,” and words of similar meaning refer to this application as a whole, rather than any particular part thereof. Where the context allows, words that use the singular or plural may also include the plural or singular, respectively. Unless otherwise specified, the word "or" in relation to a list of two or more items includes the following interpretations of the word: any one of the items in the list, all of the items in the list, and any combination of the items in the list.

[0200] Some examples, such as those shown in the drawings, include a specific sequence of operations, but the sequence can be modified without departing from the scope of this disclosure. For example, some of the operations shown may be performed in parallel or in a different order that does not substantially affect the functions described in the examples. In other examples, different components of an exemplary device or system that implement an exemplary method may perform functions substantially simultaneously or in a specific order. The term “operation” is used for ease of reference to refer to elements in the drawings of this disclosure, and it will be understood that each “operation” may identify one or more operations, processes, actions, or steps that may be performed by one or more components. [Explanation of symbols]

[0201] 100 Networked computing environments 102 Network 104 Server System 106 User Devices 108 users 110 Programmatic Clients 112 Web Clients 114 Machine Learning Models 116, 120 External Servers 118 External applications 122 Application Server 124 Application Programming Interface (API) Server, API Server 126 Web Servers 128 Process Modeling Systems 130 Process Automation Systems 132 Multi-agent simulation system 134 Database Servers 136 Databases 138 Web Interface 140 App Interfaces 142 AI Systems 202 Agent Training Components 204 Agent Coordination Components 206 Communication Interface Components 208 Components for Simulation Configuration 210 Components for Process Model Configuration 212 Simulation Execution Components 214 Runtime Configuration Components 216 Runtime Management Components 218 Analysis Components 220 Deployment Model Components Processes 302 and 402 404 Multi-agent system Tasks 406, 408, 410, 412, 414, and 416 Agents 418, 420, 422, 424, 426, and 428 800 Machine Learning Programs 802 Training Phase 804 Prediction Phase 806 Features 808 training data 810 Machine Learning Program Training 812 query data 814 Trained Machine Learning Programs 816 Assessment 818 contents 820 Concept 822 attributes 824 Historical Data 826 User Data 828 Neural Networks, Deep Neural Networks 902 Software Architecture 904 Hardware Layer 906 Processing Units 908 Executable Instructions 910 Memory and / or Storage Modules 912, 922 Other hardware 914, 950 Operating Systems 916, 952 Library 918 Framework / Middleware Layer 920, 956 Applications 924 API calls 926 Messages 928 kernel 930 Service 932 Driver 934 System Library 936 API libraries 938 Other Libraries 940 Embedded Applications 942 Third-party applications Presentation layers 944, 958 946 Virtual Machine Monitor 948 Virtual Machine 954 Frameworks / Middleware 1000 Computer Systems 1002 Processor 1004 Primary or main memory, main memory 1006 Static Memory 1008 Bus 1010 Video Display Unit 1012 Alphanumeric input device 1014 UI Navigation (or Cursor Control) Devices 1016 Memory Unit 1018 Signal Generating Devices 1020 Network Interface Device 1022 Machine-readable media 1024 instructions 1026 Communication Network

Claims

1. A computer implementation method that is performed by a computer system comprising memory and at least one hardware processor, wherein the computer implementation method is A step of training multiple software agents using historical process data, wherein each of the multiple software agents represents a single task in the process; A step of simulating the process by running a multi-agent system and generating simulation results, wherein in the multi-agent system, the plurality of software agents are configured according to a candidate process model for the process and operate autonomously based on the training; The steps include: executing the process using a runtime configuration based on the candidate process model to generate runtime results for comparison with the simulation results; The steps include adjusting the candidate process model based on the above comparison, The steps include repeating the simulation of the process using a tuned multi-agent system corresponding to the tuned candidate process model, The steps include repeating the execution of the process using a modified runtime configuration corresponding to the modified candidate process model, A step of generating an expanded process model for the process based on the adjusted candidate process model. Computer implementation methods, including those mentioned above.

2. One of the aforementioned software agents comprises a machine learning model, and the training of the software agent is Steps to train the machine learning model on at least a subset of the historical process data relating to the single task represented by the software agent. The computer implementation method according to claim 1, including the method described in claim 1.

3. The machine learning model comprises a finely tuned language model, and the training of the software agent is Steps to access a pre-trained language model, The steps include generating a fine-tuned language model by fine-tuning the pre-trained language model in the historical process data related to the single task, The steps include generating a one-to-one mapping between the finely tuned language model and the single task represented by the software agent, and The computer implementation method according to claim 2, further comprising:

4. The computer implementation method according to claim 2, wherein each of the plurality of software agents comprises a machine learning model which is trained on each subset of the historical process data relating to each single task.

5. A step of generating a one-to-one mapping between each of the plurality of software agents and the single task that the software agent represents, wherein the plurality of software agents correspond to a plurality of tasks defined by the candidate process model. The computer implementation method according to claim 1, further comprising:

6. The simulation of the process includes a step of performing a test simulation to test the candidate process model, and the training of the plurality of software agents is The steps include: using the plurality of software agents to perform a baseline simulation and generate baseline results for a baseline process model associated with the historical process data; A step of performing at least one of tuning or retraining at least a subset of the plurality of software agents based on the baseline results and the historical process data. The computer implementation method according to claim 1, further comprising:

7. The simulation of the process includes the step of performing a test simulation to test the candidate process model, and the computer implementation method is The steps include: using the plurality of software agents to perform a baseline simulation and generate baseline results for a baseline process model associated with the historical process data; The steps include: generating first performance data by comparing the baseline results with the simulation results; A step of automatically triggering the generation of the runtime configuration for the execution of the process based on the first performance data, To enable the adjustment of the candidate process model, the steps include generating second performance data by comparing the runtime results with the simulation results, and The computer implementation method according to claim 1, further comprising:

8. A computer implementation method according to claim 1, further comprising the step of generating the runtime configuration by automatically configuring a robotic process automation (RPA) bot for the execution of the process, wherein the process is automatically executed by the RPA bot and the runtime result is generated.

9. Based on the above comparison, the steps include automatically triggering the retraining of at least a subset of the multiple software agents, The steps include: automatically repeating the simulation of the process after retraining at least a subset of the plurality of software agents; The computer implementation method according to claim 1, further comprising:

10. The computer implementation method according to claim 1, wherein the simulation of the process includes a step of automatically running the multi-agent system until the multi-agent system reaches equilibrium, and after the multi-agent system reaches equilibrium, the simulation results are generated.

11. The computer implementation method according to claim 10, wherein the simulation of the process includes a step of automatically introducing an error into the process before the generation of the simulation results.

12. The steps of automatically repeating the adjustment of the candidate process model, the simulation of the process, and the execution of the process until the simulation result is detected to satisfy at least one predetermined condition relating to the runtime result, A step of triggering the generation of the deployment process model for deploying the process in response to the detection that the simulation result satisfies at least one predetermined condition relating to the runtime result. The computer implementation method according to claim 1, further comprising:

13. The steps include determining, based on one or more predetermined performance indicators, that the simulation results for the adjusted candidate process model correspond to the runtime results for the adjusted candidate process model, A step of triggering the generation of the deployment process model for deploying the process in response to a determination that the simulation results for the adjusted candidate process model correspond to the runtime results for the adjusted candidate process model. The computer implementation method according to claim 1, further comprising:

14. The computer implementation method according to claim 1, wherein the trained behavior of each of the plurality of software agents is defined by parameters that control the behavior of the software agent.

15. It is a system, At least one memory for storing instructions, One or more processors configured by the instructions to perform an operation The above operation is provided, Training multiple software agents using historical process data, wherein each of the multiple software agents represents a single task in the process. The process is simulated by executing a multi-agent system to generate simulation results, wherein the multi-agent system comprises a plurality of software agents configured according to a candidate process model for the process and operating autonomously based on the training. Using the runtime configuration based on the candidate process model, the process is executed to generate runtime results for comparison with the simulation results. Based on the above comparison, the candidate process model is adjusted, Repeating the simulation of the process using a tuned multi-agent system corresponding to the tuned candidate process model, Repeating the execution of the process using a modified runtime configuration corresponding to the modified candidate process model, Based on the adjusted candidate process model, generate an expanded process model for the process. A system that includes this.

16. One of the aforementioned software agents comprises a machine learning model, and the training of the software agent is Training the machine learning model on at least a subset of the historical process data relating to the single task represented by the software agent. The system according to claim 15, including the system described in claim 15.

17. The simulation of the process includes performing a test simulation to test the candidate process model, and the operation is, Perform a baseline simulation to generate baseline results for the baseline process model, By comparing the baseline results with the simulation results, first performance data is generated. Based on the first performance data, the generation of the runtime configuration for the execution of the process is automatically triggered, To enable the adjustment of the candidate process model, second performance data is generated by comparing the runtime results with the simulation results. The system according to claim 15, further comprising:

18. One or more non-temporary computer-readable media that store computer-executable instructions that cause a computing system to perform an operation when executed by the computing system, wherein the operation is Training multiple software agents using historical process data, wherein each of the multiple software agents represents a single task in the process. The process is simulated by executing a multi-agent system to generate simulation results, wherein the multi-agent system comprises a plurality of software agents configured according to a candidate process model for the process and operating autonomously based on the training. Using the runtime configuration based on the candidate process model, the process is executed to generate runtime results for comparison with the simulation results. Based on the above comparison, the candidate process model is adjusted, Repeating the simulation of the process using a tuned multi-agent system corresponding to the tuned candidate process model, Repeating the execution of the process using a modified runtime configuration corresponding to the modified candidate process model, Based on the adjusted candidate process model, generate an expanded process model for the process. One or more non-temporary computer-readable media, including [the specified text].

19. One of the aforementioned software agents comprises a machine learning model, and the training of the software agent is Training the machine learning model on at least a subset of the historical process data relating to the single task represented by the software agent. One or more non-temporary computer-readable media according to claim 18, including the following:

20. The simulation of the process includes performing a test simulation to test the candidate process model, and the operation is, Perform a baseline simulation to generate baseline results for the baseline process model, By comparing the baseline results with the simulation results, first performance data is generated. Based on the first performance data, the generation of the runtime configuration for the execution of the process is automatically triggered, To enable the adjustment of the candidate process model, second performance data is generated by comparing the runtime results with the simulation results. One or more non-temporary computer-readable media according to claim 18, further comprising: