Autonomous control device, autonomous control system, autonomous control method, and autonomous control program
The autonomous control device ensures feasible and appropriate task execution in agent systems by using system configuration and procedural data to constrain LLM outputs, enhancing system reliability and efficiency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2025-02-21
- Publication Date
- 2026-06-25
AI Technical Summary
Existing agent systems utilizing Large Language Models (LLMs) lack the capability to ensure the feasibility and appropriateness of tasks and execution procedures, potentially issuing impossible or prohibited commands due to the large variation and freedom in LLM outputs, without guaranteeing compliance with the controlled system's specifications and constraints.
An autonomous control device and system that includes an agent control unit which inputs system configuration and procedural constraints into an inference model to generate control commands, ensuring feasibility and appropriateness by using system configuration data, procedural rule data, and an SMA module to issue commands that adhere to the controlled system's specifications and constraints.
Ensures the feasibility of each task and appropriateness of the execution procedure, reducing the likelihood of impossible commands and improving the reliability of the controlled system by predetermining permitted tools and actions, and narrowing the LLM's search range for efficient action generation.
Smart Images

Figure JP2025005968_25062026_PF_FP_ABST
Abstract
Description
Autonomous control device, autonomous control system, autonomous control method, and autonomous control program
[0001] The present disclosure relates to an autonomous control device, an autonomous control system, an autonomous control method, and an autonomous control program.
[0002] An agent system is a system aimed at autonomously executing tasks. Research or utilization of agent systems is progressing in various fields such as manufacturing processes, software, and monitoring control systems.
[0003] Patent Document 1 discloses a multi-agent system for autonomous decentralized control in a network. In this system, an agent has a three-layer hierarchical structure. The upper agent controls the traffic volume, etc. based on information obtained from intermediate agents, etc. to stabilize the operation of the entire network. The intermediate agent performs processes with relatively low real-time performance, such as learning using information collected by lower agents, and transmits the collected information to the upper agent.
[0004] Japanese Patent Application Laid-Open No. 2023-157091
[0005] In recent years, by utilizing LLMs (Large Language Models) that have acquired excellent inference capabilities and generalization capabilities, etc., an agent system that operates more systematically and autonomously has been proposed. In this system, as specific examples, decomposing a task into subtasks to make it easier to solve, selecting and operating an execution tool, and confirming the result, etc. are executed. However, when utilizing an LLM in the whole or part of a control target system, due to the large variation and freedom in the output content of the LLM, there is a problem that an impossible action command may be issued, or an action that is prohibited or restricted may be output. As specific examples, it may occur that a plan to use a tool that does not exist in the LLM is output, or an instruction to operate the device while ignoring the operating conditions of the device is output by the LLM. Here, the output content of the LLM includes, as specific examples, commands, instructions, actions, plans, etc.
[0006] Patent Document 1 discloses a multi-agent system having a predetermined hierarchical structure and roles. However, Patent Document 1 neither discloses nor suggests any technology to ensure that each task included in the output of the LLM is feasible and permitted to be executed, taking into account that it is within the specifications and constraints of the controlled system. In other words, according to Patent Document 1, the feasibility of each task is not guaranteed, and therefore, compliance with the rules when executing each task cannot be guaranteed. Furthermore, in Patent Document 1, the higher-level system controls the entire controlled system. However, Patent Document 1 neither discloses nor suggests any technology to ensure that the execution procedure satisfies the specifications and constraints of the controlled system and that the order and procedure conform to predetermined rules. In other words, according to Patent Document 1, the appropriateness of the execution procedure cannot be guaranteed.
[0007] This disclosure aims to ensure the feasibility of each task and the appropriateness of the execution procedures in an agent system that utilizes an inference model.
[0008] The autonomous control device according to this disclosure includes an agent control unit that, when the configuration of a controlled system which is an agent system and constraints on the execution order of tasks of each component included in a group during the execution of a main task which is a task to be completed by the entire group of multiple components included in the controlled system are determined, and when each component included in the agent group is a controlled component, the agent control unit acquires information including control commands for the controlled component by inputting information indicating at least a part of the main task, the configuration of the controlled component, and constraints that the controlled component should follow during the execution of the main task into an inference model, and issues control commands to the controlled component based on the acquired information.
[0009] According to this disclosure, the agent control unit obtains information including control commands for the controlled component by inputting information indicating at least a part of the main task, the configuration of the controlled component, and the constraints that the controlled component must follow when the main task is executed into the inference model, and issues control commands to the controlled component based on the obtained information. Accordingly, according to this disclosure, in an agent system utilizing an inference model, the feasibility of each task and the appropriateness of the execution procedure are ensured.
[0010] A diagram showing an example configuration of the autonomous control system 90 according to Embodiment 1. A diagram explaining the system configuration data 91 according to Embodiment 1. A diagram explaining the procedure rule data 92 according to Embodiment 1. A diagram explaining the SMA module 121 according to Embodiment 1. A diagram showing an example hardware configuration of the autonomous control device 100 according to Embodiment 1. A flowchart showing the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 1. A diagram explaining the effect of Embodiment 1, where (a) is a diagram explaining the case where system configuration data 91 does not exist, and (b) is a diagram explaining the case where procedure rule data 92 does not exist. A diagram showing an example of the hardware configuration of the autonomous control device 100 according to a modified example of Embodiment 1. A diagram showing an example of the configuration of the autonomous control system 90 according to Embodiment 2. A flowchart showing the operation of the agent control unit 120 according to Embodiment 2. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 2. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 2. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 2. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 2. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 2. A diagram explaining the operation of the autonomous control system 90 according to Embodiment 2. A diagram showing an example of the configuration of the autonomous control system 90 according to Embodiment 3. A flowchart showing the operation of the agent component 310 according to Embodiment 3. A diagram explaining the operation of the agent component 310 according to Embodiment 3. A diagram explaining the operation of the agent component 310 according to Embodiment 3. A diagram showing an example of the configuration of the autonomous control system 90 according to Embodiment 4. A diagram explaining the agent history DB 94 according to Embodiment 4.A diagram illustrating the agent history DB 94 according to Embodiment 4. A diagram illustrating the agent history DB 94 according to Embodiment 4. A diagram illustrating the operation of the agent component 310 according to Embodiment 4. A diagram illustrating the operation of the agent component 310 according to Embodiment 4.
[0011] In the description and drawings of the embodiments, the same elements and corresponding elements are denoted by the same reference numeral. The descriptions of elements denoted by the same reference numeral are omitted or simplified as appropriate. The arrows in the figures mainly indicate the flow of data or processing. Also, "part" may be read as "circuit," "device," "equipment," "process," "step," "procedure," "processing," or "circuitry" as appropriate. The functions of each part of each device may be realized by firmware, software, hardware, or a combination thereof.
[0012] Embodiment 1. This embodiment will be described in detail below with reference to the drawings.
[0013] ***Configuration Description*** Figure 1 shows an example configuration of the autonomous control system 90 according to this embodiment. As shown in Figure 1, the autonomous control system 90 comprises an autonomous control device 100 and a controlled system 200. The autonomous control device 100 and the controlled system 200 are connected in a communication manner.
[0014] The autonomous control device 100 comprises a data acquisition unit 110, an agent control unit 120, and a storage unit 130. The autonomous control device 100 utilizes system configuration data 91, procedural rule data 92, and a knowledge base 93. In this embodiment, it is assumed that the system configuration data 91 and procedural rule data 92 are "complete".
[0015] System configuration data 91 is data that shows the various configurations of the controlled system 200 and the various configurations of each component that constitutes the controlled system 200. Specifically, system configuration data 91 shows an overview of each component, the connection relationships between components, the role and purpose of each component, the tasks that each component can perform, and the specifications, limitations, and available tools of each component. The component overview may include the component's name and hardware configuration, the component's functional configuration, and the component's human role. Connection relationships may be communication-enabled, information-transmission-enabled, physically connected, or physically or virtually connected or cooperative. System configuration data 91 may also show detailed usage instructions for each tool available to each component and reference information to refer to when using each tool. Available tools and reference information may refer to other documents. The system configuration data 91 may include data showing the specifications and limitations of each component, such as E-BOM (Engineering Bill of Materials), M-BOM (Manufacturing-BOM), or S-BOM (Software-BOM). Specific examples of components include manufacturing equipment, monitoring equipment, inspection equipment, mobile devices, storage locations, computers, or human beings. Each component may be a physically existing entity or a virtually defined entity. A component may be part of a machine or software. Figure 2 illustrates an example of the system configuration data 91. Figure 2 shows five types of components, illustrating the connection relationships between components and the various configurations of each component. Note that "comp" means "computer".
[0016] The procedure specification data 92 is data that indicates constraints on the execution order of tasks to be performed in the controlled system 200. Specifically, the procedure specification data 92 shows the procedure order (flow) that must be followed to execute a task, the components and tools related to each step of the procedure order, and the relationships between the steps. Note that multiple components may be related to a single step. The procedure order may be information written in natural language, or it may be information written using JSON (JavaScript Object Notation), UML (Unified Modeling Language), etc. The procedure order may also be information showing diagrams and captions related to the order. Furthermore, the procedure order may be information written in a programming language, pseudocode, or algorithm. As a specific example, data such as BOP (Bill of Process) may be used as the procedure specification data 92. Figure 3 is a diagram illustrating an example of the procedure specification data 92. Figure 3 shows a diagram illustrating the execution order of tasks for each component in the production schedule approval process shown on the left. This production schedule approval process may be expressed in natural language or in a programming language, as shown on the right side of Figure 3.
[0017] Knowledge base 93 is a database containing various kinds of knowledge. Knowledge base 93 may be a general database or a database specifically tailored to the controlled system 200. Even if knowledge base 93 is not specifically mentioned, the autonomous control device 100 may utilize knowledge base 93 as appropriate.
[0018] The data acquisition unit 110 acquires data indicating the main task and instructions. The main task is a task given by the user, indicating a task to be completed in the controlled system 200, and is a task to be completed by the entire group consisting of multiple components included in the controlled system 200, and is a task that realizes the user's objective. Specific examples of the main task include a task to manufacture a certain product, or a task to perform a certain control or process. Instructions are instructions related to the execution of the main task and are instructions to the controlled system 200. Instructions may include various constraints that must be met during task execution, such as constraints on the tools used or the execution order. Note that the main task and instructions may also be treated as a single unit. For example, the user may input a message containing both the main task and instructions to the autonomous control device 100.
[0019] The agent control unit 120 obtains information including control commands for the controlled components by inputting information indicating at least a part of the main task, the configuration of the controlled components, and the constraints that the controlled components must follow when the main task is executed into the inference model 122, based on the configuration of the controlled system 200 and the constraints regarding the execution order of tasks of each component included in the group when the main task is executed. The agent control unit 120 issues control commands to the controlled components based on the acquired information. An agent group consists of at least one type of component from among the components included in the group, each of which functions as an agent. The controlled components are each component included in the agent group. The agent control unit 120 determines whether the controlled component is ready to execute a task based on at least one of the main task, the group configuration, the configuration of the controlled component, the constraints that the controlled component must follow when the main task is executed, and the state of each component connected to the controlled component. If the controlled component is ready to execute a task, the agent control unit 120 may issue a control command to the controlled component. The configuration of the controlled component includes, as a specific example, information indicating the role of the controlled component, the function of the controlled component, and each component connected to the controlled component. The constraints that the controlled component must follow when the main task is executed include, as a specific example, various constraints during the execution of the main task indicated by user instructions, and constraints regarding the execution order of tasks for each component included in the group during the execution of the main task.
[0020] Specifically, the agent control unit 120 possesses an SMA (Structured Multi Agent) module 121, and the processing of the agent control unit 120 is executed in the SMA module 121. By issuing control commands to the controlled system 200 through the SMA module 121, the control commands are limited to commands that satisfy predetermined operations and sequences. Furthermore, it is prevented that undefined operations or prohibited operations due to hallucination are included in the control commands.
[0021] An agent is a unit that can acquire or observe information from the environment, make autonomous decisions based on the acquired or observed information, and take actions that affect the environment, or solve a task by taking actions that affect the environment. Note that the agent defined in the SMA module 121 is sometimes simply referred to as "agent". The term "agent" is sometimes used as a general term for the agents indicated by the SMA module 121 and the agents included in the controlled system 200, and may also refer to a concept that includes the components corresponding to the agents. The components corresponding to an agent are also called the agent's assigned components. Each agent indicated by the SMA module 121 uses the inference model 122 to generate control commands for the components corresponding to each agent and issues control commands to the components corresponding to each agent.
[0022] The SMA module 121 is a module generated based on the system configuration data 91 and the procedure specification data 92. In the SMA module 121, agents corresponding to each component defined in the system configuration data 91 are defined. The connection relationships between the components defined in the system configuration data 91 are reflected in the SMA module 121. Control commands are issued to the actual controlled system 200 based on the correspondence between the components and agents defined in the SMA module 121. Each agent defined in the SMA module 121 may be treated as equivalent to each agent of the controlled system 200. Each agent of the SMA module 121 may also work in conjunction with each agent of the controlled system 200. In the SMA module 121, each agent has the role and input / output specifications defined in the system configuration data 91, is capable of communicating or transmitting information with the connection destination defined in the system configuration data 91, and can use the tools defined in the system configuration data 91. In the SMA module 121, each agent or subgroup consisting of multiple agents is associated with at least a portion of the procedure specification data 92. The processing order within a group must follow the order specified by the procedure specification data 92. The contents of the procedure specification data 92 may be statically reflected in the SMA module 121, or they may be dynamically reflected when issuing control commands. Groups may be set as appropriate depending on the processing content or the components used in the processing. Figure 4 is a diagram illustrating an example of the SMA module 121. As shown in Figure 4, the configuration indicated by the system configuration data 91 is reflected in the SMA module 121, and the contents of the procedure specification data 92 are reflected. P1 and P2 each represent a group.
[0023] The inference model 122 is a machine learning model that has learned the correspondence between information representing at least a part of the main task, at least a part of the system configuration data 91, at least a part of the procedural convention data 92, etc., and control commands for the components to be controlled. The inference model 122 takes information representing at least a part of the main task, at least a part of the system configuration data 91, at least a part of the procedural convention data 92, etc. as input and outputs information including control commands for each component. The inference model 122 is typically a generative AI (Artificial Intelligence), and a specific example is a large-scale language model (LLM). The inference model 122 may be a highly general-purpose machine learning model, or it may be a machine learning model specialized for the controlled system 200. Information represented by the knowledge base 93 may be used as input to the inference model 122.
[0024] The memory unit 130 stores various types of data.
[0025] The controlled system 200 is an agent system and consists of multiple components. One or more of the components constituting the controlled system 200 function as agents. The expression "controlled system 200" may refer to a specific agent system or to a general agent system. One component may function as multiple agents, and multiple components may function as one agent. A component functioning as an agent may mean that the component itself is equipped with agent functionality, or it may mean that the component is controlled by an agent. In the SMA module 121, agents are deployed to each component that functions as an agent in the controlled system 200.
[0026] Figure 5 shows an example of the hardware configuration of the autonomous control device 100 according to this embodiment. The autonomous control device 100 consists of a computer. The autonomous control device 100 may consist of multiple computers.
[0027] As shown in this figure, the autonomous control device 100 is a computer equipped with hardware such as a processor 11, memory 12, auxiliary storage device 13, input / output interface (IF) 14, and communication device 15. These hardware components are appropriately connected via signal lines 19.
[0028] The processor 11 is an IC (Integrated Circuit) that performs arithmetic processing and controls the hardware of the computer. Specific examples of the processor 11 include a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit). The autonomous control device 100 may include multiple processors that replace the processor 11. The multiple processors share the role of the processor 11.
[0029] Memory 12 is typically a volatile storage device, specifically RAM (Random Access Memory). Memory 12 is also called main memory. Data stored in memory 12 is saved to auxiliary storage device 13 as needed.
[0030] The auxiliary storage device 13 is typically a non-volatile storage device, specifically a ROM (Read Only Memory), HDD (Hard Disk Drive), or flash memory. Data stored in the auxiliary storage device 13 is loaded into the memory 12 as needed. The memory 12 and the auxiliary storage device 13 may be configured as an integrated unit.
[0031] Input / Output IF14 is a port to which input and output devices are connected. A specific example of an input / output IF14 is a USB (Universal Serial Bus) terminal. Specific examples of input devices include a keyboard and mouse. Specific examples of output devices include a display.
[0032] The communication device 15 consists of a receiver and a transmitter. A specific example of the communication device 15 is a communication chip or a NIC (Network Interface Card).
[0033] Each part of the autonomous control device 100 may use the input / output IF 14 and the communication device 15 as appropriate when communicating with other devices.
[0034] The auxiliary storage device 13 stores the autonomous control program. The autonomous control program is a program that causes the computer to implement the functions of each part of the autonomous control device 100. The autonomous control program is loaded into memory 12 and executed by the processor 11.
[0035] Data used when executing the autonomous control program, and data obtained by executing the autonomous control program, are appropriately stored in the memory device. Each part of the autonomous control device 100 utilizes the memory device as appropriate. The memory device consists of, as a specific example, memory 12, auxiliary storage device 13, registers in the processor 11, and at least one of the cache memory in the processor 11. Note that the terms data and information may have the same meaning. The memory device may be independent of the computer. The functions of memory 12 and auxiliary storage device 13 may be implemented by other memory devices.
[0036] The autonomous control program may be recorded on a computer-readable non-volatile recording medium. Specific examples of non-volatile recording media include optical discs or flash memory. The autonomous control program may also be provided as a program product.
[0037] ***Explanation of Operation*** The operation procedure of the autonomous control system 90 corresponds to the autonomous control method. The program that realizes the operation of the autonomous control device 100 corresponds to the autonomous control program.
[0038] Figure 6 is a flowchart illustrating an example of the operation of the autonomous control device 100. The operation will be explained using Figure 6. It is assumed that the SMA module 121 is prepared in advance. In this operation, the autonomous control device 100 controls the system to be controlled 200 while referring to information from the system configuration data 91, the procedure rule data 92, and the knowledge base 93.
[0039] (Step S101) Each agent in the SMA module 121 confirms the role and procedures of the component corresponding to each agent. Specifically, each agent obtains information related to each agent, including the component corresponding to each agent, from the information defined in the system configuration data 91 and the procedure rule data 92 (information indicating roles and available tools, etc.).
[0040] (Step S102) In the SMA module 121, data regarding the status of the component corresponding to each agent is transmitted and received between agents identified by the connection destination of the component corresponding to each agent.
[0041] (Step S103) The processes from step S103 to step S107 are internal processes of each agent of the SMA module 121 and are executed by each agent. In steps S103 to S107, each agent is referred to as a selection agent. The selection agent refers to the status obtained from each of the other agents and determines whether or not it is ready to execute the task. If the selection agent is ready to execute the task, the selection agent proceeds to step S104. Otherwise, the selection agent proceeds to step S107.
[0042] (Step S104) First, the selection agent generates an input for the inference model 122. Specifically, the selection agent generates the input based on the received data and information such as the role and procedure of the selection agent. At this time, the selection agent includes, if necessary, the input for the tool in the input for the inference model 122. Next, the selection agent inputs the generated input into the inference model 122 and obtains the output of the inference model 122 as a control command for the component in charge of the selection agent. Next, the selection agent transmits the control command to the component in charge of the selection agent.
[0043] (Step S105) The selection agent obtains the result corresponding to the control command from the component in charge of the selection agent.
[0044] (Step S106) The selection agent determines the state of the component in charge of the selection agent (and the selection agent) based on the obtained result.
[0045] (Step S107) The selection agent waits.
[0046] (Step S108) In the control target system 200, the processing from step S103 to step S107 is repeated until the states of all the components indicated by the SMA module 121 become the completion state.
[0047] Figures 7 to 11 are diagrams for explaining an example of the operation of the autonomous control system 90 when the process from the assembly to the packing of a certain product is executed in the autonomous control system 90. The operation will be described using Figures 7 to 11. Figure 7 is a diagram for explaining the process. Hereinafter, the process will be described. Here, the conveying device is a device responsible for conveying objects such as parts or products. First, the parts are conveyed by the conveying device from the parts shelf to the assembly position. At the assembly position, the assembly worker assembles the product using the parts. Next, the product is conveyed by the conveying device to the inspection site. At the inspection site, the inspection worker inspects the product. Next, if no problem is found in the product during inspection, the product is conveyed by the conveying device to the packing site, and at the packing site, the packing worker packs the product, and the packed product is conveyed by the conveying device to the shipping shelf. On the other hand, if the product is determined to be defective during inspection, the product is conveyed by the conveying device to the defective product shelf.
[0048] Figure 8 is a diagram for explaining the system configuration data 91. In the system configuration data 91, the connection relationship between components is defined, and data indicating various configurations is assigned to each component. Note that a part of the data indicating various configurations is omitted. Also, a group is defined in the system configuration data 91. In this example, all components belong to the same group.
[0049] Figure 9 is a diagram for explaining the procedure rule data 92. In the procedure rule data 92, the procedure rules regarding the work in the group are defined.
[0050] Figures 10 and 11 illustrate the SMA module 121. In the SMA module 121, each agent is defined according to the system configuration data 91. As shown in Figures 10 and 11, each agent performs control according to the role, tools, and reference information defined in the system configuration data 91. Each agent performs control while communicating with the connection destination defined in the system configuration data 91. Each agent performs control according to the process defined in the procedure specification data 92. Note that some messages are omitted in Figures 10 and 11. The main task and instructions are passed to all agents as shown by the dashed lines. In this example, the main task is a description in natural language of the task that the controlled system 200 should perform. Each agent and each component performs processing as appropriate so that the main task can be completed by the entire group.
[0051] Figures 12 to 15 show an example of a specific data flow in the autonomous control system 90. The data flow will be explained using Figures 12 to 15. As shown in Figure 12, when a main task and instructions are issued by the user after each agent has been spawned according to the system configuration data 91 and the procedural convention data 92, the autonomous control system 90 starts autonomous control. The main task and instructions are distributed to all agents.
[0052] Each agent identifies the state of the component corresponding to it based on the system configuration data 91, the procedure rule data 92, the content of the main task and instructions, and the current operating status. The agent corresponding to each component that is ready for task execution starts the execution of the task for that component. In Figure 13, since the parts shelf and the transport device 1 are both ready for task execution, the agents corresponding to the parts shelf and the transport device 1 start the execution of the task for the parts shelf and the transport device 1, respectively. At this time, the agent corresponding to each component outputs a message indicating the content of the task that each component will execute. In specific cases, this message is text data. In Figure 13, since the state of the parts shelf is "transfer execution", the agent corresponding to the parts shelf executes the process of transferring part A to the transport device 1. Also, since the state of the parts shelf is "transfer execution", the agent corresponding to the transport device 1 identifies the state of the transport device 1 as "transfer execution". Therefore, the agent corresponding to the transport device 1 executes the process of receiving part A from the parts shelf. In Figure 13, each component other than the parts rack and transport device 1 waits because task execution preparation is not yet complete. At this time, the agent corresponding to each component outputs a message indicating that it is waiting. This message is, in particular, text data. Note that each output message is shared with at least the respective agents to which it is connected. For example, a message output by the agent corresponding to transport device 2 is shared with at least the agent corresponding to the assembly worker and the agent corresponding to the inspection worker.
[0053] When the controlled object is a machine or device, as a specific example, the controlled object starts the necessary operation by sending program code or text to the controlled object via an external tool or API (Application Programming Interface) provided to the corresponding agent, or by executing an external tool or API according to the instructions of the corresponding agent. As a specific example, the agent corresponding to the transport device 1, which is a device, issues a control command to the transport device 1 corresponding to the message output: "Task execution preparation complete. Receive part A from the parts shelf. Transport device operation API: Transport part A using "transfer_item(start,goal,item)". API: Sent the command "(parts shelf, assembly worker, part A)" to transport device 1 for transfer_item."
[0054] When a task for each component is completed, the agent corresponding to that component re-identifies the status of that component, and the component moves on to the next task. If there is no next task for a component, the component moves into a standby state. In Figure 14, the parts shelf moves into a standby state because there is no next task. When a task is completed, the corresponding agent outputs a message indicating that the task has been completed. This message is, in particular, text data. The process for moving into a standby state is the same as when a task is completed. Based on the message output of other agents, each agent updates the status of the component corresponding to that agent. When the component corresponding to that agent is ready to execute its task, each agent starts the execution of the task for the component corresponding to that agent. In Figure 14, since the transport device 1 has completed receiving part A, the status of transport device 1 has been updated to "Parts Transport Execution". In addition, as the status of transport device 1 has been updated to "Parts Transport Execution", the status of the assembly worker has been updated to "Receipt Execution".
[0055] When the controlled object is a human, the corresponding agent issues a control command by outputting a work instruction as text and presenting the outputted work instruction to the human. The work instruction may include diagrams and photographs to make it easier for the human to understand. In Figure 14, the work instruction from the agent corresponding to the assembly worker is, as an example, the text: "Take part A from the conveying device 1 and place part A on the workbench." The human who receives the work instruction may perform a predetermined operation, such as pressing a "received" button, when the task indicated in the work instruction is completed, or they may input a message indicating "completed" into a mobile device or computer.
[0056] The processes described above are executed sequentially within the group, and when all components have completed their tasks and all components are in a waiting state, the group stops autonomous control. Figure 15 shows the state when autonomous control in the group has stopped.
[0057] ***Explanation of the Effects of Embodiment 1*** Figure 16 is a diagram illustrating the effects of Embodiment 1. If system configuration data 91 is not used when issuing control commands, there is a higher possibility that control that does not conform to the configuration of the defined controlled system 200 (control that cannot be executed) will be performed, as shown in Figure 16(a). In Figure 16(a), although the environment for packing work is not prepared, the agent issues a control command to the assembly worker to perform packing work. Also, if procedure rule data 92 is not used when issuing control commands, there is a higher possibility that control will be executed by skipping processes that should be followed, as shown in Figure 16(b). In Figure 16(b), the agent issues a control command to skip the inspection work. On the other hand, in this embodiment, since control commands are issued using system configuration data 91 and procedure rule data 92, the possibility of situations like those shown in Figure 16(a) and Figure 16(b) occurring is relatively low.
[0058] Furthermore, in this embodiment, the LLM is provided with information such as a predetermined organizational structure and procedures, along with its role, available tools, specifications and constraints of the controlled component, prohibited actions, commands, and procedures. As a result, this embodiment achieves the following effects: The tools that can be used, the role, and the range of actions that are permitted (or can be performed) are predetermined for each component. Therefore, according to this embodiment, the probability of the LLM mistakenly generating impossible commands, instructions, and actions is reduced, thereby improving the reliability of the controlled system 200. Also, according to this embodiment, deviations from a predetermined execution order are prevented in the order in which the LLM executes control, thus improving the reliability of the controlled system 200. Furthermore, according to this embodiment, when the LLM generates an action, the LLM's search range is determined from the system configuration data 91 and the procedure rule data 92. Therefore, as a secondary effect, the LLM's search range can be narrowed, and action generation can be made more efficient.
[0059] ***Other Configurations*** <Modification 1> Figure 17 shows an example of the hardware configuration of the autonomous control device 100 according to this modification. The autonomous control device 100 includes a processing circuit 18 instead of a processor 11, a processor 11 and memory 12, a processor 11 and auxiliary storage device 13, or a processor 11, memory 12 and auxiliary storage device 13. The processing circuit 18 is hardware that realizes at least a part of each part of the autonomous control device 100. The processing circuit 18 may be dedicated hardware, or it may be a processor that executes a program stored in memory 12.
[0060] If the processing circuit 18 is dedicated hardware, specific examples of the processing circuit 18 include a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The autonomous control device 100 may also include multiple processing circuits that substitute for the processing circuit 18. The multiple processing circuits share the role of the processing circuit 18.
[0061] In the autonomous control device 100, some functions may be implemented by dedicated hardware, while the remaining functions may be implemented by software or firmware.
[0062] The processing circuit 18 can be implemented, in specific examples, by hardware, software, firmware, or a combination thereof. The processor 11, memory 12, auxiliary storage device 13, and processing circuit 18 are collectively referred to as the "processing circuitry." In other words, the functions of each functional component of the autonomous control device 100 are implemented by the processing circuitry. The autonomous control device 100 according to other embodiments may also have a configuration similar to this modified example.
[0063] Embodiment 2. The following describes the differences from the previously described embodiment, mainly with reference to the drawings.
[0064] ***Configuration Description*** Figure 18 shows an example of the configuration of the autonomous control system 90 according to this embodiment. The SMA module 121 according to this embodiment further comprises one or more meta-agents.
[0065] The agent control unit 120 in this embodiment monitors the execution status of tasks in each component included in the group. Based on the main task, the group configuration, the configuration of the controlled components, the constraints that the controlled components must follow when the main task is executed, and the results of monitoring each component included in the group, the agent control unit 120 performs at least one of the following actions: changing the execution order of tasks for each component included in the group when the main task is executed, or changing the number of at least one type of component included in the agent group. A characteristic process of the agent control unit 120 in this embodiment is performed by the meta-agent.
[0066] The meta-agent monitors and checks the task execution status of each agent and performs adjustments and additional agent resource management within the scope of the rules. A meta-agent is an agent installed at least once for each subset (group) defined in at least one of the system configuration data 91 and the procedure rule data 92. The meta-agent checks the processing status, command content, and received results of each agent in the corresponding group. Within the scope of the rules, the meta-agent may change the processing order according to the processing status, instruct (advise) each agent on how to process, and spawn additional agents as needed. A meta-agent may be installed at the unit of the subset definition (such as a group) indicated by the system configuration data 91, or at the unit of the process group defined by the procedure rule data 92.
[0067] ***Explanation of Operation*** Figure 19 is a flowchart illustrating an example of the operation of a meta-agent. The operation will be explained using Figure 19.
[0068] (Step S201) The meta-agent obtains information related to the corresponding group from the information defined in the system configuration data 91 and the procedure rule data 92 (information indicating roles and available tools, etc.).
[0069] (Step S202) The meta-agent formulates an execution plan to the extent that it does not contradict the system configuration data 91 and the procedure specification data 92. Specifically, the meta-agent formulates the content of the execution tasks and the execution order.
[0070] (Step S203) The meta-agent determines which agents are necessary to perform each task indicated in the execution plan and deploys the necessary agents in the SMA module 121. The meta-agent also requests the controlled system 200 to deploy the agents as indicated by the SMA module 121, and requests that each component function as an agent as indicated by the SMA module 121.
[0071] (Step S204) The meta-agent instructs the SMA module 121, which includes each deployed agent, to execute a task.
[0072] (Step S205) The meta-agent receives execution results from each component and, based on the received execution results, determines whether it is necessary to add or remove agents, and whether it is necessary to revise the execution plan. If changes are needed in at least one of the agents or the execution plan, the meta-agent returns to step S202. Otherwise, the meta-agent proceeds to step S206, and processing in the autonomous control system 90 continues.
[0073] (Step S206) The meta-agent receives execution results from each component and continues processing for each agent until the state of all components of the controlled system 200 is completed.
[0074] Figures 20 to 25 illustrate an example of the operation of the autonomous control system 90 when a meta-agent is applied to a group shown in Figure 8, etc. First, as shown in Figure 20, the meta-agent identifies the group to be controlled by the meta-agent from the SMA module 121 based on the system configuration data 91 and the procedure rule data 92, and extracts information related to the identified group.
[0075] Next, the meta-agent formulates an execution plan in accordance with the system configuration data 91 and the procedure specification data 92, as shown in Figure 21. The execution plan is a plan corresponding to the main task instruction. In this example, the execution plan is equivalent to the process shown in Figure 7.
[0076] Next, as shown in Figure 22, the meta-agent determines which components require agents in the execution plan and deploys agents to each component that requires an agent. At this time, the meta-agent verifies that the configuration of the SMA module 121 does not violate the system configuration data 91 and that the process of the SMA module 121 does not violate the procedure specification data 92.
[0077] The following is an explanation of Figure 22. For each of the assembly worker, inspection worker, and packaging worker, the meta-agent deploys agents in the SMA module 121, as each requires an agent to perform the task. The meta-agent also requests that the people corresponding to the assembly worker, inspection worker, and packaging worker function as agents. Each of the assembly worker, inspection worker, and packaging worker is provided with a portable device or display so that control commands issued by their respective agents in the SMA module 121 are transmitted. The meta-agent sets instructions so that the inspection worker inspects the product according to the procedural specification data 92, and if the product is good, the product is handed over to the conveying device 3, and if the product is defective, the product is handed over to the conveying device 5. Since the conveying device alone can perform the role of transporting parts, the meta-agent does not deploy agents to the conveying device. Since the processing for the parts shelf, shipping shelf, and defective product shelf only involves checking the status of the shelf, the meta-agent does not deploy agents to the parts shelf, shipping shelf, and defective product shelf.
[0078] Next, the meta-agent instructs the SMA module 121, which includes each agent, to execute a task, as shown in Figure 23. In this case, the meta-agent sends a message to each agent indicating the start of work. The meta-agent may also instruct each object that does not include an agent to execute a task via an API or the like, or it may send a trigger.
[0079] Next, as shown in Figure 24, the meta-agent obtains the execution results in the controlled system 200, including each agent, through each agent. Based on the content of the obtained execution results, the meta-agent determines the necessity of adding or deleting agents and the necessity of changing the execution plan from the viewpoint of efficiency and productivity. At this time, the meta-agent refers to the system configuration data 91 and the procedure rule data 92 to check for any violations regarding the addition or deletion of agents or changes to the execution plan. If additional tools or equipment are needed for processing execution or resolving bottlenecks, the meta-agent adds such tools or equipment in the controlled system 200, or requests the administrator of the controlled system 200 to add such tools or equipment. Also, if additional personnel are needed for processing execution or resolving bottlenecks, the meta-agent adds the necessary personnel in the controlled system 200, or requests the administrator to add the necessary personnel in the controlled system 200. The meta-agent updates the SMA module 121 as appropriate in accordance with the changes in the controlled system 200. In Figure 24, the meta-agent determines that the inspection process is a bottleneck and therefore requires the addition of two inspection agents. The meta-agent also confirms that adding agents to handle the inspection process is consistent with the system configuration data 91 and the procedural convention data 92. Since there is no problem with having three inspection workers, the meta-agent requests the controlled system 200 to add two more inspection agents, and also adds two more inspection agents in the SMA module 121.
[0080] If either the controlled system 200 or the execution plan is changed, as shown in Figure 25, the meta-agent instructs the SMA module 121 to execute the task again based on the changed configuration and execution plan, and obtains the execution results of the controlled system 200. If neither the controlled system 200 nor the execution plan needs to be changed, the controlled system 200 maintains its configuration and continues control until the state of all objects is completed.
[0081] ***Explanation of the effects of Embodiment 2*** In this embodiment, the meta-agent monitors the controlled system 200 and appropriately modifies the configuration and execution plan based on the monitoring results. Therefore, according to this embodiment, local processing optimization and recovery in the event of failure in each agent become relatively easy.
[0082] Embodiment 3. The following describes the differences from the previously described embodiment, mainly with reference to the drawings.
[0083] ***Configuration Description*** Figure 26 shows an example of the configuration of the autonomous control system 90 according to this embodiment. The autonomous control device 100 according to this embodiment further comprises an agent component 310.
[0084] The agent configuration unit 310 extracts multiple components from the components included in the controlled system 200 as multiple components constituting a group, based on the configuration of the controlled system 200, the configuration of the controlled components, the constraints that the controlled components must follow when executing the main task, and constraints regarding the group configuration, and determines the group configuration based on the extracted multiple components. The agent configuration unit 310 determines each component constituting an agent group from the components included in the group, based on the instruction specifying each component that functions as an agent, the main task, and the configuration of each component included in the group, based on the instruction specifying each component that functions as an agent, the main task, and at least one of the configurations of each component included in the group. The agent configuration unit 310 determines the execution order of tasks for each component included in the group when the main task is executed, based on constraints regarding the execution order of tasks for each component included in the group when the main task is executed. Constraints regarding the group configuration are included in the user instruction as a concrete example. In other words, the agent configuration unit 310 determines the form of the SMA module 121 based on at least one of the main task and the instruction, and at least one of the system configuration data 91 and the procedure convention data 92.
[0085] ***Explanation of Operation*** Figure 27 is a flowchart showing an example of the operation of the agent component 310. The operation will be explained using Figure 27.
[0086] (Step S301) The agent unit 310 receives at least one of the system configuration data 91 and the procedural rule data 92, as well as the user's instructions, and checks whether there is a contradiction in the user's instructions with respect to at least one of the system configuration data 91 and the procedural rule data 92. If there is a contradiction in the user's instructions with respect to at least one of the system configuration data 91 and the procedural rule data 92, the agent unit 310 provides feedback on the contradiction to the user. Otherwise, the agent unit 310 proceeds to step S302.
[0087] (Step S302) The agent configuration unit 310 selects a component that has not yet been selected from the components indicated by the system configuration data 91 that are related to the user's instructions, as a selected component. In step S304 or step S305, the agent configuration unit 310 deploys an agent and human resources to play the role of the selected component, in accordance with the system configuration data 91 and the user's instructions.
[0088] (Step S303) If a specific agent deployment method is specified in at least one of the system configuration data 91 and the user's instructions, the agent configuration unit 310 proceeds to step S304. If a specific agent deployment method is not specified, the agent configuration unit 310 proceeds to step S305.
[0089] (Step S304) The agent component 310 deploys the agent corresponding to the selected component according to the specified deployment method.
[0090] (Step S305) The agent configuration unit 310 determines the optimal agent configuration based on the system configuration data 91 and the main task, and deploys an agent corresponding to the selected component in accordance with the determined optimal agent configuration. For example, if the selected component is a component that requires advanced judgment such as task decomposition, or if there is a part of the selected component that is handled by a human, the agent configuration unit 310 deploys an agent including LLM to the selected component. On the other hand, if it is clear that the selected component can accomplish its role using only the available tools, the agent configuration unit 310 deploys an agent to the selected component that executes only the processing process corresponding to that role.
[0091] (Step S306) The agent component 310 deploys additional agents to the selected component as needed.
[0092] (Step S307) If processing for all components related to the user's instructions is complete, the agent unit 310 proceeds to step S308. Otherwise, the agent unit 310 returns to step S302.
[0093] (Step S308) The agent configuration unit 310 sets the processing order (logic) for each agent according to the procedure specification data 92. In this case, if a specific processing order for an agent is specified in at least one of the procedure specification data 92 and the user's instructions, the agent configuration unit 310 follows that processing order. If no processing order is specified, the agent configuration unit 310 devises an optimal processing order based on the procedure specification data 92 and the main task, etc., and sets the devised processing order as the processing order for each agent.
[0094] (Step S309) Once the configuration (configuration and sequence) of the SMA module 121 is determined, the agent configuration unit 310 spawns the SMA module 121 according to that configuration. Subsequently, the agent configuration unit 310 deploys the configuration indicated by the SMA module 121 to the controlled system 200 in an executable format, or requests that it be deployed to the controlled system 200 in an executable format. In the controlled system 200, a human is assigned to the approval process, etc., as needed.
[0095] Figures 28 to 30 illustrate an example of the operation of the agent configuration unit 310 when the agent configuration unit 310 constitutes the SMA module 121 shown in Figure 8, etc. The operation will be explained below using Figures 28 to 30. First, as shown in Figure 28, the agent configuration unit 310 receives instructions from the user and checks for any inconsistencies between the instructions and the system configuration data 91 and the procedure rule data 92. If there are inconsistencies in the instructions from the user, the agent configuration unit 310 provides feedback to the user.
[0096] Next, if there are no inconsistencies between the user's instructions and the system configuration data 91 and the procedural rule data 92, the agent configuration unit 310 extracts the necessary components for the SMA module 121 and devises the configuration of the SMA module 121, as shown in Figure 29. Then, as shown in Figure 30, the agent configuration unit 310 actually spawns the SMA module 121 based on the devised configuration of the SMA module 121. This makes it possible to create a controlled system 200 with increased flexibility within the scope of the system configuration data 91 and the procedural rule data 92. In the example shown in Figures 29 and 30, the system can be started with multiple inspection workers.
[0097] ***Explanation of the Effects of Embodiment 3*** According to this embodiment, the agent configuration unit 310 mediates between various instructions and the SMA module 121, allowing the SMA module 121 to be constructed more dynamically and flexibly. In this case, the agent configuration unit 310 may decide, at its own discretion, which parts, such as the order or communication partner, are arbitrary, and which parts are undefined. Furthermore, the agent configuration unit 310 can install a meta-agent as needed, even if it is not defined in the system configuration data 91. Moreover, in this embodiment, the agent configuration unit 310 can choose not to spawn an agent in parts where agent control is not necessary, that is, in parts where processing can be completed simply by inputting data into a rule or a specific tool. Therefore, according to this embodiment, the control of the entire controlled system 200 can be made more efficient.
[0098] Embodiment 4. The following will mainly describe the differences from the previously described embodiment, with reference to the drawings.
[0099] ***Configuration Description*** Figure 31 shows an example of the configuration of the autonomous control system 90 according to this embodiment. The agent configuration unit 310 according to this embodiment uses agent history data when determining multiple components that constitute a group. In other words, the agent configuration unit 310 determines the form of the SMA module 121 by referring to the agent history DB 94.
[0100] The Agent History DB94 is a database for agent history data. Agent history data is a collection of information indicating when, with what component and agent configuration and settings, what main task was executed, and the outputs of the component and agent when the main task was executed. Agent history data shows the actual performance (various logs and execution results, etc.) when at least a part of the main task was executed in the controlled system 200 in the past. Agent history data may be information such as the role given to the agent (prompt), or it may be a history of the agent's actions and the results of those actions.
[0101] Figure 32 shows a concrete example of agent history data written in JSON format as an example of agent history data. This example is explained below. Duration represents the period during which the main task, each message, and logs were output. Time represents the time when the log was output. MainTask is the text corresponding to the instructions of the main task. Components is information indicating each component necessary for task execution. System configuration data 91 may be used as Components. If Agent: true, it indicates that the LLM agent is attached to the component. Message is a log corresponding to the text exchanged between the agent and the component and the actions performed. Logs are the output logs of each component other than the agent. Note that the data shown in Figure 32 does not need to be combined into one file and may be shown by links, etc. As a concrete example, instead of the contents of the logs being written to the agent history data, the contents of the logs may be represented as links to the output logs of each device.
[0102] Figure 33 shows an example of agent history data. As shown in Figure 33, a summary of the configuration, setting conditions, and actual log data may be created, and the formatted summary may be used as agent history data. In the agent history data, the summary content of the entire task may be set as an overview. This makes it easier to search for past tasks. In addition, an LLM (Language Lump Modeling) that summarizes history may be used to create the summary. This eliminates the need for manual work in the summarization process.
[0103] Figure 34 shows an example of agent history data. As shown in Figure 34, agent history data may include the results of analyzing the execution history of actual tasks. This makes it easier to identify problems in past tasks, thus making it easier to utilize agent history data more effectively. In addition, an LLM (Language Learning Model) may be used to analyze the execution history of actual tasks. This makes it possible to reduce or automate the analysis work.
[0104] ***Explanation of Operation*** Figures 35 and 36 illustrate an example of the operation of the agent configuration unit 310 according to this embodiment. The operation will be explained using Figures 35 and 36. The agent configuration unit 310 can consider a more efficient configuration based on past performance by referring to the agent history DB 94 when extracting components and deploying agents as described in Embodiment 3. In the example shown in Figures 35 and 36, the number of inspection workers is determined based on a more quantitative consideration. Specifically, the agent configuration unit 310 determines the number of agents to be deployed to each of the inspection, assembly, and packaging tasks based on the time required for each of the inspection, assembly, and packaging tasks.
[0105] ***Explanation of the effects of Embodiment 4*** In this embodiment, the agent component 310 refers to the agent history DB 94 when extracting components and deploying agents. Therefore, according to this embodiment, a more efficient SMA module 121 can be configured based on past performance.
[0106] ***Other Embodiments*** The embodiments described above can be freely combined, any component of each embodiment can be modified, or any component can be omitted in each embodiment. Furthermore, the embodiments are not limited to those shown in embodiments 1 to 4, and various modifications can be made as needed. The procedures described using flowcharts, etc., may be modified as appropriate.
[0107] 11 Processor, 12 Memory, 13 Auxiliary storage device, 14 Input / Output IF, 15 Communication device, 18 Processing circuit, 19 Signal line, 90 Autonomous control system, 91 System configuration data, 92 Procedure rule data, 93 Knowledge base, 94 Agent history DB, 100 Autonomous control device, 110 Data acquisition unit, 120 Agent control unit, 121 SMA module, 122 Inference model, 130 Storage unit, 200 Controlled system, 310 Agent configuration unit.
Claims
1. An autonomous control device comprising an agent control unit that, when the configuration of a controlled system which is an agent system, and constraints on the execution order of tasks of each component included in a group during the execution of a main task which is a task to be completed by the entire group consisting of multiple components included in the controlled system, is determined based on the configuration of the group, the execution order of tasks of each component included in the group during the execution of the main task, and an agent group consisting of at least one type of component from among the components included in the group, each of which functions as an agent, is determined, and when each component included in the agent group is a controlled component, the autonomous control device comprises an agent control unit that acquires information including control commands for the controlled component by inputting information indicating at least a part of the main task, the configuration of the controlled component, and constraints that the controlled component should follow during the execution of the main task into an inference model, and issues control commands to the controlled component based on the acquired information.
2. The autonomous control device according to claim 1, wherein the constraints that the controlled component must follow when executing the main task include constraints relating to the execution order of tasks of each component included in the group when executing the main task.
3. The autonomous control device according to claim 1 or 2, wherein the configuration of the controlled component includes information indicating the role of the controlled component, the function of the controlled component, and each component connected to the controlled component.
4. The autonomous control device according to any one of claims 1 to 3, wherein the agent control unit determines whether the controlled component is ready to execute a task based on at least one of the main task, the configuration of the group, the configuration of the controlled component, the constraints that the controlled component must obey when the main task is executed, and the state of each component connected to the controlled component, and issues a control command to the controlled component if the controlled component is ready to execute a task.
5. The autonomous control device according to any one of claims 1 to 4, wherein the agent control unit monitors the execution status of tasks in each component included in the group, and based on at least one of the main task, the configuration of the group, the configuration of the controlled component, the constraints that the controlled component must obey when the main task is executed, and the results of monitoring each component included in the group, it performs at least one of the following: changing the execution order of tasks for each component included in the group when the main task is executed, or changing the number of at least one type of component included in the agent group.
6. The autonomous control device according to any one of claims 1 to 5, further comprising: an agent configuration unit that extracts a plurality of components from the components included in the controlled system as a plurality of components constituting the group, based on the configuration of the controlled system, the configuration of the controlled component, constraints that the controlled component should follow when executing the main task, and constraints concerning the configuration of the group, determines the configuration of the group based on the extracted plurality of components, provides instructions to specify each component that functions as an agent, determines each component constituting the agent group from the components included in the group based on the main task and the configuration of each component included in the group, and determines the execution order of tasks for each component included in the group when executing the main task based on constraints concerning the execution order of tasks for each component included in the group when executing the main task.
7. The autonomous control device according to claim 6, wherein the agent component uses agent history data indicating the performance of the controlled system in the past when determining the plurality of components constituting the group, in which at least a portion of the main task has been executed.
8. The autonomous control device according to any one of claims 1 to 7, wherein the inference model is a large-scale language model.
9. An autonomous control system comprising the autonomous control device according to any one of claims 1 to 8 and the controlled system.
10. An autonomous control method in which, when a computer has determined the configuration of a controlled system which is an agent system, and constraints on the execution order of tasks of each component included in a group during the execution of a main task which is a task to be completed by the entire group consisting of multiple components included in the controlled system, the configuration of the group, the execution order of tasks of each component included in the group during the execution of the main task, and an agent group consisting of at least one type of component from among the components included in the group, each of which functions as an agent, the computer has determined the configuration of the group, the execution order of tasks of each component included in the group during the execution of the main task, and an agent group consisting of at least one type of component from among the components included in the group that functions as an agent, the computer has determined the configuration of the group, the execution order of tasks of each component included in the group during the execution of the main task, and an agent group consisting of at least one type of component from among the components included in the group that functions as an agent, the computer has determined the configuration of the group which is an agent system which is a controlled system which is a controlled system, and constraints on the execution order of tasks of each component included in the group during the execution of a main task which is a task that the entire group consisting of multiple components included in the controlled system should complete, the computer has determined the configuration of the group, the execution order of tasks of each component included in the group during the execution of the main task, and an agent group consisting of at least one type of component from among the components included in the group that functions as an agent, the computer has determined the configuration of the group which is an agent 11. An autonomous control program that causes an autonomous control device, which is a computer, to execute an agent control process that, when each component in the agent group is a controlled component, is set up as a controlled component, and when the configuration of the controlled system is an agent system, and constraints on the execution order of tasks of each component in the group during the execution of a main task which is a task to be completed by the entire group of multiple components included in the controlled system, the configuration of the group, the execution order of tasks of each component in the group during the execution of the main task, and an agent group consisting of at least one type of component in the group, each of which functions as an agent, is set up as a controlled component, and when each component in the agent group is set up as a controlled component, the autonomous control program obtains information including control commands for the controlled component by inputting information indicating at least a part of the main task, the configuration of the controlled component, and constraints that the controlled component should follow during the execution of the main task into an inference model, and issues control commands to the controlled component based on the obtained information.