Multi-agent system scheduling method and device, equipment and storage medium
By decomposing the target tasks in the multi-agent system into subtasks and dynamically allocating them according to the functions of the processing agents, the problem of unbalanced task allocation is solved, and resource utilization and task allocation efficiency are improved.
Patent Information
- Application Number
- CN202411772293.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2025-03-14
AI Technical Summary
Existing multi-agent systems are prone to overload some agent tasks while others are idle when handling complex tasks, resulting in low resource utilization.
By decomposing the target task to be processed into multiple subtasks and dynamically allocating subtasks according to the task processing functions of each processing agent, it is ensured that each subtask is assigned to the most suitable processing agent for processing.
It realizes decomposing complex tasks into smaller subtasks with single task content, dynamically allocating tasks to balance computational volume, avoiding task overload and idleness, and improving resource utilization and task allocation efficiency.
Smart Images

Figure CN119621279A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a scheduling method, apparatus, device and storage medium for a multi-agent system. Background Art
[0002] With the continuous development of artificial intelligence technology, intelligent task processing methods based on multi-agent system (MAS) have been widely used in various complex tasks. The basic idea of multi-agent system is to share and solve complex tasks through the collaboration of multiple independent agents.
[0003] The current multi-agent system mainly analyzes the tasks input by the user directly to determine the functions required to process the task, and then assigns the task to an agent with the function for processing. However, this can easily cause some agents to be overloaded while other agents are idle, resulting in low resource utilization of the multi-agent system. Summary of the invention
[0004] In order to solve the above technical problems, the embodiments of the present disclosure provide a scheduling method, apparatus, device and storage medium for a multi-agent system.
[0005] In a first aspect, an embodiment of the present disclosure provides a multi-agent method, the method comprising:
[0006] Get the target tasks to be processed;
[0007] Decomposing the target task into a plurality of subtasks, and determining a first matching degree between a task description of any of the subtasks and each processing function description; wherein the processing function description is used to characterize the task processing function of the multi-agent system; the processing function description is associated with at least one processing agent information; and the processing agent information is used to identify at least one processing agent;
[0008] The processing function description corresponding to the first matching degree that meets the matching degree threshold is used as the first processing function description corresponding to the subtask, and the processing agent information associated with the first processing function description is determined as the first processing agent information adapted for the subtask;
[0009] Sending the subtask to the first processing agent identified by the first processing agent information, so that the first processing agent processes the subtask and generates a sub-processing result of the subtask;
[0010] Based on the sub-processing result fed back by the first processing agent, a target processing result of the target task is generated.
[0011] In a second aspect, the present disclosure also provides a scheduling device for a multi-agent system, the device comprising:
[0012] A target task acquisition module is used to acquire the target tasks to be processed;
[0013] A first matching degree determination module is used to decompose the target task into a plurality of subtasks, and determine a first matching degree between a task description of any of the subtasks and each processing function description; wherein the processing function description is used to characterize the task processing function of the multi-agent system; the processing function description is associated with at least one processing agent information; and the processing agent information is used to identify at least one processing agent;
[0014] A first processing agent information determination module is used to use the processing function description corresponding to the first matching degree that meets the matching degree threshold as the first processing function description corresponding to the subtask, and determine the processing agent information associated with the first processing function description as the first processing agent information adapted for the subtask;
[0015] A subtask sending module, used for sending the subtask to the first processing agent identified by the first processing agent information, so that the first processing agent processes the subtask and generates a sub-processing result of the subtask;
[0016] A target processing result generation module is used to generate a target processing result of the target task based on the sub-processing result fed back by the first processing agent.
[0017] In a third aspect, an embodiment of the present disclosure further provides an electronic device, the electronic device comprising:
[0018] Processor and memory;
[0019] The processor is used to execute the scheduling method of the multi-agent system described in any embodiment of the present disclosure by calling the program or instruction stored in the memory.
[0020] In a fourth aspect, an embodiment of the present disclosure further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a program or instructions, wherein the program or the instructions enable a computer to execute the scheduling method for a multi-agent system described in any embodiment of the present disclosure.
[0021] The technical solution for scheduling a multi-agent system provided by the embodiment of the present disclosure can decompose a target task to be processed into multiple subtasks, and determine the first matching degree between the task description of any subtask and each processing function description; use the processing function description corresponding to the first matching degree that meets the matching degree threshold as the first processing function description corresponding to the subtask, and determine the processing agent information associated with the first processing function description as the first processing agent information adapted for the subtask; send the subtask to the first processing agent identified by the first processing agent information, so that the first processing agent processes the subtask and generates a subprocessing result of the subtask; generate a target processing result of the target task based on the subprocessing result fed back by the first processing agent; realize the decomposition of a user's complex target task into multiple subtasks with smaller granularity and relatively simple task content, And each subtask can be dynamically allocated according to the task processing function that each processing agent can achieve. On the one hand, it can reduce the task complexity and the computational amount of each subtask, thereby balancing the computational amount of each first processing agent to a certain extent, and largely avoiding the situation where a certain processing agent is overloaded while other processing agents are idle due to complex target tasks, thereby improving the resource utilization of the multi-processing agent system; on the other hand, each subtask can be allocated to a more suitable first processing agent for processing, and to a large extent avoid the problem of incomplete task processing caused by allocating a complex target task to a processing agent with insufficient functional adaptation, which not only improves the rationality of task allocation, but also improves the comprehensiveness and accuracy of the final integrated target processing results, thereby improving the task allocation efficiency and the overall performance of the system. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0023] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0024] Figure 1 A flowchart of a scheduling method for a multi-agent system provided by an embodiment of the present disclosure;
[0025] Figure 2 A flowchart of another scheduling method for a multi-agent system provided by an embodiment of the present disclosure;
[0026] Figure 3 A schematic diagram of the structure of a multi-agent system provided in an embodiment of the present disclosure;
[0027] Figure 4 A schematic diagram of the structure of another multi-agent system provided in an embodiment of the present disclosure;
[0028] Figure 5 A schematic diagram of the structure of another multi-agent system provided in an embodiment of the present disclosure;
[0029] Figure 6 A schematic diagram of the structure of another multi-agent system provided in an embodiment of the present disclosure;
[0030] Figure 7 A schematic diagram of the structure of a scheduling device for a multi-agent system provided in an embodiment of the present disclosure;
[0031] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0032] In order to more clearly understand the above-mentioned objectives, features and advantages of the present disclosure, the scheme of the present disclosure will be further described in detail below. It should be noted that the embodiments of the present disclosure and the features in the embodiments can be combined with each other without conflict.
[0033] In the following description, many specific details are set forth to facilitate a full understanding of the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; it is obvious that the embodiments in the specification are only part of the embodiments of the present disclosure, rather than all of the embodiments.
[0034] In the related art, when a multi-agent system (MAS) processes a user's target task, a processing agent (hereinafter referred to as a processing agent) that is most suitable for processing the target task is determined by analyzing the target task, and the target task is assigned to the processing agent for processing. However, the task allocation method cannot well adapt the target task to the processing function of the processing agent, and it is also easy to cause an unbalanced task allocation between the processing agents, that is, some processing agents are overloaded while other processing agents are idle, resulting in low resource utilization of the multi-agent system. For example, when the target task is a relatively complex task with a large amount of calculation, the MAS cannot effectively identify the target task and directly assigns it to a processing agent, resulting in a large amount of calculation concentrated on the processing agent, while other processing agents are idle.
[0035] Based on the above situation, the embodiment of the present disclosure provides a scheduling method for a multi-agent system, which decomposes the target task into multiple subtasks with smaller granularity, and dynamically assigns a more suitable processing agent to each subtask for processing. In this way, the target task can be refined, and then the processing agent with a more suitable task processing function can be determined one by one, which can not only improve the rationality of the target task processing, but also balance the computing amount of each processing agent, thereby improving the resource utilization rate and overall system performance of the multi-agent system.
[0036] Figure 1 It is a flow chart of a scheduling method for a multi-agent system provided in an embodiment of the present disclosure. The scheduling method for a multi-agent system provided in an embodiment of the present disclosure is mainly applicable to scenarios in which a multi-agent system is used to process tasks. The scheduling method for a multi-agent system provided in an embodiment of the present disclosure can be executed by a scheduling device for a multi-agent system. The device can be implemented in software and / or hardware, and the device can be integrated in an electronic device having a scheduling function for a multi-agent system. The electronic device can, for example, be a device where an agent with a global scheduling function (referred to as a scheduling agent) in a multi-agent system is located, or it can be a device where a control device with an overall control function in a multi-agent system is located, etc. For example, the electronic device can be, for example, a smart phone, a tablet computer, a laptop computer, a desktop computer, a server, an edge calculator, etc.
[0037] See also Figure 1 ,The scheduling method of the multi-agent system specifically includes the following steps:
[0038] S110: Obtain target tasks to be processed.
[0039] The target task is a task to be processed input by the user or issued by the upstream business. The task in the embodiment of the present disclosure can be a question / topic that needs to be answered or explained in the traditional sense, or it can be an imperative task that requires completion (such as writing an article, creating multimedia content, etc.).
[0040] Specifically, the electronic device may obtain the target task to be processed in response to an input operation of a user through a human-computer interaction interface or a request issued by an upstream system.
[0041] In some embodiments, S110 includes: obtaining a target task from a scheduling task pool.
[0042] Among them, the scheduling task pool is used to receive and store target tasks.
[0043] Specifically, after the electronic device receives the target task in response to the user input operation or the request of the upstream system, the target task can be globally identified and stored in the scheduling task pool. When there is an idle scheduling agent, the scheduling agent obtains the target task from the scheduling task pool for subsequent processing. If each scheduling agent is in a busy state, then each target task can be stored in the scheduling task pool waiting to be processed. In this way, each scheduling agent can realize asynchronous parallel processing through interaction with the scheduling task pool, rather than synchronously waiting for other scheduling agents to complete the task processing task of the previous target task before executing the task processing task of the next target task, thereby further improving the task processing efficiency of the system.
[0044] S120: Decompose the target task into multiple subtasks, and determine a first matching degree between a task description of any subtask and each processing function description.
[0045] Among them, a subtask is a task with a smaller granularity and a simpler task content after the target task is decomposed, and it is part of the target task. The processing function description is used to characterize the task processing function possessed by the multi-agent system. If a multi-agent system has multiple processing functions, then there are multiple processing function descriptions. There can be one or more processing agents in a multi-agent system to implement the same task processing function, so a processing function description can be associated with one or more processing agent information. The processing agent information is used to identify at least one processing agent. Exemplarily, the processing agent information can be a globally unique identifier of a processing agent (i.e., a processing agent identifier), or it can be a processing link composed of identifiers of multiple processing agents (i.e., a processing agent link).
[0046] Specifically, the electronic device performs task decomposition processing on the target task to obtain multiple subtasks obtained by the decomposition. Task decomposition can be achieved through a large-scale machine learning model or through a related algorithm with semantic decomposition function, which is not limited in the embodiments of the present disclosure.
[0047] Then, the electronic device matches and calculates the task description of each subtask with each pre-maintained processing function description to obtain the matching degree between each subtask and each processing function description (i.e., the first matching degree). The first matching degree can be calculated by calculating the similarity between the task description of the subtask and the processing function description through text similarity; or it can be obtained through the calculation of a pre-trained machine learning model, which is not limited to this.
[0048] S130. The processing function description corresponding to the first matching degree that meets the matching degree threshold is used as the first processing function description corresponding to the subtask, and the processing agent information associated with the first processing function description is determined as the first processing agent information adapted for the subtask.
[0049] The matching degree threshold is a preset matching degree value, which is used to determine whether two description contents are similar. The first processing function description is a processing function description adapted by a certain subtask.
[0050] Specifically, for any subtask, the electronic device compares each first degree of match obtained between it and each processing function description with a matching threshold to screen a first degree of match greater than or equal to the matching threshold. If the screening result is empty, it means that there is no processing agent suitable for processing the subtask, then the subtask is marked and feedback is given (the feedback process can be found in the relevant description of the subsequent embodiments). If the screening result has a first degree of match, the processing agent information associated with the first degree of match is determined as the first processing agent information adapted for the subtask. If the screening result is multiple first degrees of match, a first degree of match is randomly selected from them, or the largest first degree of match is selected, and its associated processing agent information is determined as the first processing agent information adapted for the subtask.
[0051] It should be noted that if the first processing function description is associated with multiple processing agent information, and the processing agent information contains the operating status of the corresponding processing agent (such as load status, whether it is idle, etc.), then the electronic device can select one processing agent information that is not fully loaded and / or idle according to the operating status of the processing agents in each processing agent information as the first processing agent information of the subtask.
[0052] S140. Send the subtask to the first processing agent identified by the first processing agent information, so that the first processing agent processes the subtask and generates a sub-processing result of the subtask.
[0053] Specifically, the first processing agent identified by the first processing agent information is an agent having a processing function corresponding to the first processing function description, and can process the above subtask. Therefore, the electronic device sends the subtask to the first processing agent identified by the first processing agent information.
[0054] After receiving the subtask, the first processing agent processes it and obtains the processing result of the subtask (i.e., the subprocessing result). For example, the first processing agent can query the associated information library according to the subtask to obtain the relevant information required to process the subtask; then, the first processing agent can process the subtask using the relevant information obtained from the query to obtain the subprocessing result. Then, the first processing agent feeds back the subprocessing result to the electronic device.
[0055] The above-mentioned associated information library is a database for storing associated information. The associated information here is information that has an associated relationship with the processing process of the task, which is used to complete the information required for processing the task and is existing information that has a certain associated relationship with the task. The associated information can be semantic / context-related corpus in the field of natural language, such as the previously input text content that is logically related to the current question; it can also be data with an associated relationship in the process of big data processing, such as those states and parameters that are transmitted between nodes in a distributed system and are related to completing a certain function or processing a certain request.
[0056] In some embodiments, S140 includes: determining the target processing task pool corresponding to the subtask based on the first processing function description and the correspondence between the processing function description and the processing task pool; sending the subtask to the target processing task pool so that the target processing task pool stores the subtask, and enabling the first processing agent to obtain the subtask from the target processing task pool for processing, and generate a sub-processing result of the subtask.
[0057] The processing task pool is a collection for storing and managing each subtask, which can be in an independently set device or integrated in an electronic device or a third-party device. The target processing task pool is a processing task pool adapted by the subtasks. Exemplarily, the target processing task pool is configured to delete the subtask after the first processing agent obtains the subtask.
[0058] Specifically, in the association relationship between the processing function description and the processing agent information maintained in advance in the electronic device, a maintenance processing task pool can also be added, that is, a corresponding relationship between the processing function description-processing agent information-processing task pool is pre-built. In this way, after determining the first processing function description, the electronic device can query the above correspondence and determine the target processing task pool corresponding to the above subtask. Then, the electronic device sends the subtask to the target processing task pool. At the same time, the electronic device can send a trigger instruction for the processing task to the first processing agent.
[0059] The target processing task pool receives and stores the subtask, and identifies the subtask according to the global identifier of the target task.
[0060] After receiving the trigger instruction, the idle first processing agent corresponding to the first processing agent information can detect whether there are unprocessed subtasks stored in the target processing task pool. If so, the subtask can be obtained from the target processing task pool and processed to generate a sub-processing result of the subtask. In this process, the target processing task pool deletes the read subtask to avoid repeated processing of the same task.
[0061] If the first processing agent is busy, the subtask can be stored in the target processing task pool and wait to be processed. In this way, each processing agent can realize asynchronous parallel processing through interaction with the processing task pool, rather than synchronously waiting for other processing agents to complete the processing of the previous subtask before executing the processing of the next subtask, thereby reducing the overall processing time of the target task and improving the task processing efficiency of the system.
[0062] S150. Generate a target processing result of the target task based on the sub-processing result fed back by the first processing agent.
[0063] Specifically, after obtaining the sub-processing result of each sub-task, the electronic device may integrate the sub-processing results (such as directly splicing or performing secondary integration on the spliced sub-processing results) to obtain the target processing result.
[0064] In some embodiments, S150 includes: acquiring the sub-processing results corresponding to the sub-tasks from the processing result pool corresponding to the first processing function description, and aggregating the sub-processing results to generate the target processing result.
[0065] The processing result pool is used to store and manage the sub-processing results generated and sent by each first processing agent. The processing result pool can be an independently set device or integrated in an electronic device or a third-party device.
[0066] Specifically, the electronic device maintains the correspondence between the processing function description, the processing agent information, the processing task pool, and the processing result pool in advance. In this way, after determining the first processing function description, the electronic device can query the above correspondence to determine the processing result pool corresponding to the above subtask. Then, the electronic device can send relevant instructions to the first processing agent to trigger the first processing agent to send the sub-processing result to the corresponding processing result pool after generating it.
[0067] The electronic device listens to the processing result pool corresponding to the processing function description adapted by each subtask. When it is determined that each subtask corresponding to the target task has obtained a sub-processing result, the electronic device obtains these sub-processing results from the corresponding processing result pool for information aggregation and integration to obtain the target processing result. In this way, the processing result pool plays a role in temporarily maintaining each sub-processing result, without the need for the electronic device or each processing agent to maintain the sub-processing result, reducing the storage pressure of the electronic device or the processing agent, thereby further improving the overall performance of the system.
[0068] In some embodiments, after S150, the method further includes: presenting the target processing result to the user as a feedback result of the target task, and storing the target processing result in a scheduling result pool.
[0069] The scheduling result pool is a collection for storing and managing the processing results of each target, which can be an independently set device or integrated in an electronic device or a third-party device.
[0070] Specifically, after the electronic device obtains the target processing result, it stores it in the scheduling result pool. Because each target task can be processed asynchronously and in parallel, each target task does not obtain and display its target processing result sequentially, so the scheduling result pool stores the target processing result and associates it with the target task. Then, the target processing result of the target task is fed back to the user. In this way, the scheduling result pool plays a role in temporarily maintaining each target processing result, and the electronic device does not need to maintain each target processing result, which reduces the storage pressure of the electronic device, thereby further improving the overall performance of the system.
[0071] It should be noted that if a subtask fails to obtain a sub-processing result, the corresponding first processing agent can feedback to the electronic device the relevant information that the subtask has not been processed. The electronic device can feedback to the user that the target task cannot obtain a complete target processing result; it can also present to the user a partial integration result of the obtained sub-processing results, and at the same time prompt the user with relevant information that a subtask cannot be processed.
[0072] In some embodiments, the multi-agent system can perform global unique identification processing on the target task and its related information (such as sub-tasks, related information, sub-processing results and target processing results, etc.) to isolate each target task and its related information, ensure that different tasks, related information and processing results of different users can be processed independently, prevent information confusion and privacy leakage, and further improve the privacy and accuracy of target task processing.
[0073] The scheduling method for a multi-agent system provided by the above-mentioned embodiments can decompose the target task to be processed into multiple subtasks, and determine the first matching degree between the task description of any subtask and each processing function description; use the processing function description corresponding to the first matching degree that meets the matching degree threshold as the first processing function description corresponding to the subtask, and determine the processing agent information associated with the first processing function description as the first processing agent information adapted for the subtask; send the subtask to the first processing agent identified by the first processing agent information, so that the first processing agent processes the subtask and generates a subprocessing result of the subtask; generate the target processing result of the target task based on the subprocessing result fed back by the first processing agent; realize the decomposition of the user's complex target task into multiple subtasks with smaller granularity and relatively simple task content, and based on By dynamically allocating each subtask according to the task processing functions that each processing agent can achieve, on the one hand, it can reduce the task complexity and the computational amount of each subtask, thereby balancing the computational amount of each first processing agent to a certain extent, and largely avoiding the situation where a certain processing agent is overloaded while other processing agents are idle due to complex target tasks, thereby improving the resource utilization of the multi-processing agent system; on the other hand, each subtask can be assigned to a more suitable first processing agent for processing, and to a large extent avoids the problem of incomplete task processing caused by assigning a complex target task to a processing agent with insufficient functional adaptability, which not only improves the rationality of task allocation, but also improves the comprehensiveness and accuracy of the final integrated target processing results, thereby improving the task allocation efficiency and the overall performance of the system.
[0074] Figure 2 1 is a flowchart of another scheduling method for a multi-agent system provided by an embodiment of the present disclosure. The scheduling method for a multi-agent system adds a processing process for associated tasks corresponding to subtasks. On this basis, a reprocessing process for subtasks is further added. The explanations of the terms that are the same or corresponding to the above embodiments are not repeated here. Figure 2 , the scheduling method of the multi-agent system includes:
[0075] S210: Obtain target tasks to be processed.
[0076] S220: Decompose the target task into multiple subtasks, and determine a first matching degree between a task description of any subtask and each processing function description.
[0077] S230. The processing function description corresponding to the first matching degree that meets the matching degree threshold is used as the first processing function description corresponding to the subtask, and the processing agent information associated with the first processing function description is determined as the first processing agent information adapted for the subtask.
[0078] S240: Determine a target processing task pool corresponding to the subtask based on the first processing function description and the correspondence between the processing function description and the processing task pool.
[0079] S250, sending the subtask to the target processing task pool so that the target processing task pool stores the subtask, and deleting the subtask after the first processing agent obtains the subtask from the target processing task pool for processing.
[0080] S260. If it is determined that there is an associated task corresponding to the subtask in the target processing association pool corresponding to the first processing function description, and there is no associated processing result in the target processing association pool, then the associated task is obtained from the target processing association pool, and the subtask is sent to the target processing task pool again for storage again; the associated task is a task generated by the first processing agent in the process of processing the subtask, and is used to request to obtain associated information related to the subtask.
[0081] The target processing association pool is used to store and manage the association tasks and the association processing results of the association tasks sent by the first processing agent. It can be an independent device or integrated in the device where the scheduling agent is located or a third-party device. The association task is a task used to request to obtain the association information related to the subtask. The association processing result is the processing result of the association task.
[0082] Specifically, after the first processing agent obtains the subtask, it can query the associated information library to obtain the relevant information required to process the subtask. If the first processing agent determines that the relevant information is insufficient and some relevant information is still lacking to solve the subtask, the first processing agent generates an associated task based on the subtask and the lack of relevant information, and sends the associated task to the target processing associated pool. The target processing associated pool marks and stores the associated task according to the relevant identifiers of the target task and the subtask.
[0083] The electronic device may monitor the target processing association pool. If it is detected that there is an associated task corresponding to the associated subtask in the target processing association pool, and no associated processing result is stored therein, it means that the subtask cannot be processed temporarily. At this time, the electronic device may store the subtask again in the target processing task pool, and wait for subsequent reprocessing. At the same time, the electronic device may obtain the above-mentioned associated task from the target processing association pool to process it.
[0084] S270: Process the associated task, generate an associated processing result, and send the associated processing result to a target processing associated pool for storage.
[0085] Specifically, after obtaining the associated task, the electronic device processes it to obtain the corresponding associated processing result. Then, the electronic device sends the associated processing result to the target processing associated pool according to the identifier of the associated task. The target processing associated pool associates and stores the associated task and its associated processing result.
[0086] In some embodiments, "processing associated tasks and generating associated processing results" in S270 includes: querying an associated information library based on the associated tasks to determine a first query result; if the first query result can process the associated tasks, generating an associated processing result based on the first query result.
[0087] Specifically, because the electronic device and the first processing agent may have different data access rights. Therefore, after the electronic device obtains the associated task in the target processing association pool, it can first query the associated information library to obtain its query result, that is, the first query result. Then, it is determined whether the first query result can process the associated task. If it can be processed, then the first query result can be packaged and processed in a certain way according to the data access rights of the first processing agent, such as packaging the first query result into a data form accessible to the first processing agent (re-encryption, packaging or secondary processing, etc.) to obtain the associated processing result.
[0088] In some embodiments, "processing associated tasks and generating associated processing results" in S270 also includes: after querying the associated information library based on the associated task and determining the first query result, if the first query result cannot process the associated task, then determining the second degree of match between the task description of the associated task and each processing function description, and using the processing function description corresponding to the second degree of match that meets the matching threshold as the second processing function description corresponding to the associated task; determining the processing agent information associated with the second processing function description as the second processing agent information adapted for the associated task; sending the associated task to the second processing agent identified by the second processing agent information, so that the second processing agent processes the associated task and generates an associated processing result; and receiving the associated processing result fed back by the second processing agent.
[0089] The second processing agent information is the relevant information for identifying the processing agent. Exemplarily, the second processing agent information can be a globally unique identifier of the second processing agent, or a processing link composed of identifiers of multiple second processing agents. The second processing agent is a processing agent having the task processing function corresponding to the processing subtask / associated task.
[0090] Specifically, when the electronic device obtains the first query result and determines that the first query result is also unable to process the associated task, the electronic device matches and calculates the task description of the associated task and each processing function description to obtain the corresponding multiple matching degrees (i.e., the second matching degrees). Then, in accordance with the method of processing the first matching degree in the above embodiments, each second matching degree and matching degree threshold are processed to obtain the processing function description adapted to the associated task (i.e., the second processing function description). Then, the processing agent information associated with the second processing function description is determined as the processing agent information adapted to the associated task (i.e., the second processing agent information).
[0091] The electronic device sends the associated task to the corresponding second processing agent according to the second processing agent information. The second processing agent receives the associated task and processes the associated task according to the relevant instructions in the above embodiments to obtain an associated processing result. Then, the second processing agent feeds back the associated processing result to the electronic device.
[0092] Through the above-mentioned settings, the electronic device can dynamically obtain the additional related information required by the first processing agent when processing subtasks within the system, thereby solving the problem of low efficiency and low system throughput of each processing agent when processing complex business due to the lack of an effective coordination mechanism in the multi-agent system in related technologies. By using a multi-process parallel pipeline operation mode, the processing agents in the system can collaborate with each other asynchronously and in parallel at different processing stages, greatly improving the system's parallel capability and processing efficiency, thereby improving the system's throughput and overall processing capability.
[0093] In some embodiments, "processing associated tasks and generating associated processing results" in S270 also includes: storing the associated tasks in a scheduling associated pool and displaying the associated tasks to the user; receiving the associated processing results fed back by the user, and storing the associated processing results in the scheduling associated pool.
[0094] The scheduling association pool is used to store and manage a collection of associated tasks that cannot be processed within the system, and is oriented to the user / system outside. The scheduling association pool can be an independently set device or integrated in an electronic device or a third-party device.
[0095] Specifically, after the electronic device obtains the associated task, it can directly send it to the scheduling associated pool. The electronic device can also first query the associated information library or process the associated task through the system. If the first query result cannot process the associated task, or there is no processing agent in the system that can process the associated task, then the electronic device sends the associated task to the scheduling associated pool.
[0096] The scheduling association pool stores the associated tasks. Then, the scheduling association pool feeds back to the user the associated tasks that need to be solved in the process of processing the target task through the human-computer interaction interface built between the scheduling association pool and the user, such as displaying the associated tasks and prompting that they are tasks that require user assistance in the process of processing the target task. After the user gives feedback through the human-computer interaction interface, the scheduling association pool determines the user's feedback result as the associated processing result for associated storage. Afterwards, the electronic device obtains the associated processing result from the scheduling association pool.
[0097] It should be noted that the scheduling association pool or electronic device can determine whether the user's feedback result has processed the associated task. If it has been processed, it will be processed according to the above process; if it has not been processed, it can interact with the user for multiple rounds to guide the user to feedback the associated processing result.
[0098] It should also be noted that the multi-agent system can also set up a human-computer interaction interface at other stages so that the user can make adjustments such as modifying or supplementing the task after entering the target task. The electronic device then adds a subtask for processing based on the adjustment information input again by the user, or combines it with the generated subtasks or sub-processing results for processing.
[0099] Through the setting of the above-mentioned scheduling association pool, tasks that cannot be solved within the system can be fed back to users in a timely manner, and necessary data and information can be obtained through information interaction with users. This not only improves the accuracy and efficiency of task solving, but also enables the system to dynamically adapt to user needs and environmental changes, providing more personalized and flexible task processing services.
[0100] S280. After detecting that there is an associated processing result in the target processing associated pool, the first processing agent is enabled to obtain a subtask from the target processing task pool again for processing to generate a subprocessing result.
[0101] Specifically, after detecting that there is an associated processing result corresponding to the associated task in the target processing associated pool, the electronic device can re-trigger the first processing agent to obtain the above-mentioned subtask that has not been successfully processed from the target processing task pool and process it again.
[0102] The process of the first processing agent processing the subtask again includes: querying the associated information library and the target processing associated pool respectively based on the subtask to determine the second query result and the associated processing result; processing the subtask based on the second query result and the associated processing result to generate the subprocessing result.
[0103] Specifically, when the subtask is acquired by the idle first processing agent again, the first processing agent can obtain the query result (i.e., the second query result) and the associated processing result in the associated information library by querying the associated information library and the target processing associated pool. Then, the first processing agent processes the subtask using the second query result and the associated processing result, obtains the subprocessing result, and sends it to the electronic device.
[0104] S290. Generate a target processing result of the target task based on the sub-processing result fed back by the first processing agent.
[0105] The scheduling method for a multi-agent system provided by the above-mentioned embodiments can obtain the associated task from the target processing associated pool when it is determined that there is an associated task corresponding to the subtask in the target processing associated pool corresponding to the first processing function description; the target processing associated pool is used to store the associated tasks sent by the first processing agent and the associated processing results of the associated tasks; the associated task is a task generated by the first processing agent in the process of processing the subtask and is used to request to obtain associated information related to the subtask; the associated task is processed, the associated processing result is generated, and the associated processing result is sent to the target processing associated pool for storage; it realizes the dynamic acquisition of the additional associated information required when the first processing agent processes the subtask within the multi-agent system, and solves the problem of low efficiency and low system throughput of each processing agent when processing complex business due to the lack of an effective coordination mechanism in the multi-agent system in the related technology, and uses a multi-process parallel pipeline operation method to enable each processing agent in the system to cooperate with each other asynchronously and in parallel at different processing stages, greatly improving the parallel capability and processing efficiency of the system, thereby improving the throughput and overall processing capability of the system. When it is determined that there is an associated task in the target processing associated pool and there is no associated processing result in the target processing associated pool, the subtask is sent to the target processing task pool again for storage again, and after detecting that there is an associated processing result in the target processing associated pool, the first processing agent obtains the subtask from the target processing task pool again, and processes the subtask and generates the subprocessing result in the following manner; automatic retry processing of the subtask is realized, further improving the intelligence level and task processing efficiency of the multi-agent system.
[0106] The following is a detailed description of the multi-agent system with the above scheduling function. The same or similar terms or steps as those in the above method embodiments can be found in the description of the above embodiments.
[0107] Figure 3 is a schematic diagram of the structure of a multi-agent system provided by an embodiment of the present disclosure. Figure 3 The multi-agent system includes a scheduling agent 110, a task decomposition component 120 and a processing agent 130 corresponding to at least one processing function description.
[0108] The scheduling agent 110 may be an agent with global scheduling functions, which may be responsible for the scheduling of various information involved in the task processing process (such as target tasks, subtasks, subprocessing results and other related information) between various parts / components in the system. The agent here refers to an entity that can act autonomously, perceive the environment and make decisions, such as a software program (such as a large-scale machine learning model), a robot or other forms of intelligent systems.
[0109] For example, if the scheduling agent 110 is implemented as a large-scale generative model, it can be a large model with at least the role of global scheduling. Figure 1 As shown, the multi-agent system may include one or more scheduling agents 110 (such as scheduling Agent 1, scheduling Agent 2, ...).
[0110] In the disclosed embodiment, the scheduling agent 110 is at least configured to obtain the target task to be processed and send the target task to the task decomposition component 120; based on the first processing agent information corresponding to each subtask and the subtask fed back by the task decomposition component 120, send the subtask to the first processing agent; and based on the sub-processing results of the subtask fed back by each first processing agent, generate the target processing result of the target task.
[0111] Among them, the task decomposition component 120 is a functional component that can be implemented by software and / or hardware. In the embodiment of the present disclosure, the task decomposition component 120 is at least configured to: decompose the target task into multiple subtasks, and determine the first matching degree between the task description of any subtask and each processing function description; use the processing function description corresponding to the first matching degree that meets the matching degree threshold as the first processing function description corresponding to the subtask, and determine the processing agent information associated with the first processing function description as the first processing agent information adapted for the subtask. The above-mentioned processing function description is used to characterize the task processing function possessed by the multi-agent system. The above-mentioned processing function description is associated with at least one processing agent information. The above-mentioned processing agent information is used to identify at least one processing agent.
[0112] The above functions of the task decomposition component 120 can be implemented through a large-scale machine learning model, or through related algorithms with semantic decomposition and matching functions, which are not limited in the embodiments of the present disclosure.
[0113] The first processing agent is a processing agent 130 having a processing function description corresponding to a subtask of the processing target task. The processing agent 130 may be an agent with a certain processing function description. For example, if the processing agent 130 is implemented as a large-scale generative model, it may be a large model of a role having at least a processing function description. Figure 1 As shown, the processing function description in the multi-agent system can be one or more (such as function description 1, function description 2, ..., function description n), and each processing function description can correspond to one or more processing agents 130 (such as processing Agent*-1, processing Agent*-2, ...) (* can represent the number of the processing function description).
[0114] In the disclosed embodiment, the first processing agent is at least configured to: process the acquired subtask, generate a sub-processing result of the subtask, and send the sub-processing result to the scheduling agent 110 .
[0115] Specifically, see Figure 1 After the user inputs the target task into the multi-agent system, the scheduling agent 110 (such as any idle scheduling agent) can obtain the target task and send the target task to the task decomposition component 120.
[0116] The task decomposition component 120 performs task decomposition processing on the target task to obtain at least one subtask. Then, the task decomposition component 120 analyzes the processing function description required for the subtask to determine the first processing agent information adapted to each subtask. This process can be referred to the relevant description in the above embodiments. Afterwards, the task decomposition component 120 feeds back each subtask and its corresponding first processing agent information to the scheduling agent 110.
[0117] The scheduling agent 110 sends the corresponding subtask to the corresponding first processing agent according to each first processing agent information. For example, if the first processing agent information corresponding to subtask 1 is the processing agent 130 corresponding to processing function description 1, then the scheduling agent 110 can send subtask 1 to an idle first processing agent corresponding to processing function description 1 (such as processing Agent 1-1); if the first processing agent information corresponding to subtask 2 is the processing agent 130 corresponding to processing function description 2, then the scheduling agent 110 can send subtask 2 to an idle first processing agent corresponding to processing function description 2 (such as processing Agent 2-2).
[0118] Any first processing agent that receives a subtask can process the acquired subtask to obtain a subprocessing result, and then the first processing agent feeds back the subprocessing result to the scheduling agent 110 .
[0119] After obtaining the sub-processing results of each sub-task, the scheduling agent 110 may integrate the sub-processing results to obtain the target processing result. Then, the target processing result is presented to the user as the feedback result of the target task. The process of presenting the processing result to the user can refer to the relevant description in the above S150.
[0120] The multi-agent system provided by the above-mentioned embodiments of the present disclosure has newly added a scheduling agent and a task decomposition component, wherein the task decomposition component can decompose the target task to be processed obtained by the scheduling agent into multiple subtasks corresponding to different processing function descriptions, and determine the first processing agent information adapted for each subtask, and send each subtask and its first processing agent information to the scheduling agent; the scheduling agent assigns each subtask to the corresponding first processing agent for subtask processing through each first processing agent information, and summarizes each sub-processing result obtained by each first processing agent after the processing is completed to obtain the target processing result of the target task; it realizes the decomposition of the user's complex target task into multiple subtasks with smaller granularity, and according to the processing function description that each processing agent can achieve By dynamically allocating each subtask as described above, on the one hand, it can reduce the complexity of the task and the computational amount of each subtask, thereby balancing the computational amount of each first processing agent to a certain extent, and largely avoiding the situation where a certain processing agent is overloaded while other processing agents are idle due to complex target tasks, thereby improving the resource utilization of the multi-processing agent system; on the other hand, each subtask can be allocated to a first processing agent with a more suitable processing function description, and to a large extent avoid the problem of incomplete task processing caused by allocating a complex target task to a processing agent with a relatively suitable processing function description, which not only improves the rationality of task allocation, but also improves the comprehensiveness and accuracy of the final integrated target processing results, thereby improving the task allocation efficiency and the overall performance of the system.
[0121] Figure 4 is a schematic diagram of another multi-agent system provided by an embodiment of the present disclosure. Figure 4 The multi-agent system further adds a processing task pool 240 based on the scheduling agent 210, the task decomposition component 220 and at least one processing agent 230 corresponding to at least one processing function description. The processing task pool 240 is a collection for storing and managing each subtask, which can be an independently set device or integrated in the device where the scheduling agent is located or a third-party device. The data structure of the processing task pool 240 is not limited.
[0122] See also Figure 2, processing function description 1 corresponds to processing task pool 1, processing function description 2 corresponds to processing task pool 2, and so on. Combined with the description of the above embodiments, processing task pool 1 can correspond to one or more processing agents 230 with processing function description 1, and processing task pool 2 can correspond to one or more processing agents 230 with processing function description 2. On the basis of this modular design, when the number of subtasks in a processing task pool is too large and the corresponding activated processing agent cannot undertake the processing of these subtasks, the scheduling agent 210 can control the activation of more processing agents with corresponding processing function descriptions; similarly, when the number of subtasks in a processing task pool is small, in order to save resources, the scheduling agent 210 can control the shutdown of idle processing agents with corresponding processing function descriptions. In addition, if the processing function description needs to be expanded in the multi-agent system, the corresponding processing task pool and the corresponding processing agent can be added without redesigning the overall architecture of the multi-agent system. In this way, the scalability of the system can be improved through modular design, so that the system can flexibly respond to dynamically changing needs and maintain efficient operation.
[0123] In the embodiment of the present disclosure, the processing task pool 240 is configured to receive and store the subtasks sent by the scheduling agent 210 .
[0124] On the basis of the above, the scheduling agent 210 is specifically configured to: determine the target processing task pool corresponding to the subtask based on the first processing function description and the correspondence between the processing function description and the processing task pool; and send the subtask to the target processing task pool.
[0125] On the basis of the above, the first processing agent is further configured to: obtain subtasks from the target processing task pool for processing, and generate sub-processing results of the subtasks.
[0126] Specifically, the scheduling agent 210 locates the corresponding task processing pool 240 according to the processing function description corresponding to the first processing agent information corresponding to each subtask, and sends the corresponding subtask to the task processing pool 240. For example, Figure 2The scheduling agent 210 in the example sends subtask 1 to the processing task pool 1 corresponding to the processing function description 1 according to the first processing agent information of subtask 1; at the same time, the scheduling agent 210 can also send subtask 2 to the processing task pool 2 corresponding to the processing function description 2 according to the first processing agent information of subtask 2. Any processing task pool 240 stores the received subtasks and identifies the subtasks according to the global identification of the target task. The idle first processing agent corresponding to the processing function description 1 can obtain subtask 1-1 from the processing task pool 1 for processing. Similarly, the idle first processing agent corresponding to the processing function description 2 can obtain subtask 2-1 from the processing task pool 2 for processing. If the first processing agents corresponding to the processing task pool are all in a busy state, then each subtask can be stored in the processing task pool and wait to be processed. In this way, each processing agent can realize asynchronous parallel processing through interaction with the processing task pool, rather than synchronously waiting for other processing agents to complete the task processing task of the previous subtask before executing the task processing task of the next subtask, thereby reducing the overall processing time of the target task and improving the task processing efficiency of the system.
[0127] In some embodiments, see Figure 2 The multi-agent system may further include a scheduling task pool 250, which is a collection for storing and managing various target tasks, and may be an independently set device, or may be integrated in the device where the scheduling agent 210 is located or in a third-party device. The data structure of the scheduling task pool 250 may not be limited.
[0128] In the disclosed embodiment, the scheduling task pool 250 is configured to receive and store target tasks.
[0129] On the basis of the above, the scheduling agent 210 is specifically configured to obtain the target task from the scheduling task pool 250. The process can be referred to the detailed description in the above S110.
[0130] In some embodiments, see Figure 2 The multi-agent system may further include a processing result pool 260. The processing result pool 260 is a collection of sub-processing results for storing and managing each subtask, which may be an independently set device or may be integrated in the device where the scheduling agent is located or a third-party device. The data structure of the processing result pool 260 may not be limited.
[0131] See also Figure 2, processing function description 1 is correspondingly provided with processing result pool 1, processing function description 2 is correspondingly provided with processing result pool 2, and so on. In combination with the description of the above embodiments, processing result pool 1 can correspond to one or more processing agents 230 having processing function description 1, so as to receive and store sub-processing results generated by these processing agents 230. Processing result pool 2 can correspond to one or more processing agents 230 having processing function description 2, so as to receive and store sub-processing results generated by these processing agents 230. Based on this modular design, if the processing function description is expanded in the multi-agent system, the corresponding processing result pool can be added synchronously.
[0132] On the basis of the above, the scheduling agent 210 is specifically configured to obtain sub-processing results from the processing result pool 260, and generate target processing results based on the sub-processing results. The detailed explanation of this process can be found in the description of the relevant embodiment in the above S150.
[0133] In some embodiments, see Figure 2 The multi-agent system may further include a scheduling result pool 270, which is a collection of target processing results for storage and management, and may be an independent device or integrated in the device where the scheduling agent 210 is located or a third-party device. The data structure of the scheduling result pool 270 may not be limited.
[0134] In the disclosed embodiment, the scheduling processing result pool 270 is configured to receive and store the target processing result, and present the target processing result to the user as the feedback result of the target task. The detailed explanation of this process can be found in the description of the relevant embodiment in the above S150. Figure 5 is a structural diagram of another multi-agent system provided by an embodiment of the present disclosure. Figure 5 The multi-agent system further adds a processing association pool 340 based on the scheduling agent 310, the task decomposition component 320 and at least one processing agent 330 corresponding to at least one processing function description. The processing association pool 340 is a collection of associated tasks corresponding to subtasks for storage and management. It can be an independently set device or integrated in the device where the scheduling agent is located or a third-party device. The data structure of the processing association pool 340 is not limited.
[0135] See also Figure 3, processing function description 1 is correspondingly provided with processing association pool 1, processing function description 2 is correspondingly provided with processing association pool 2, and so on. In combination with the description of the above embodiments, processing association pool 1 may correspond to one or more processing agents 330 having processing function description 1, and processing association pool 2 may correspond to one or more processing agents 330 having processing function description 2. In this way, any processing agent 330 may send the associated tasks generated by it to its corresponding processing association pool 340 to obtain the associated information.
[0136] In the embodiment of the present disclosure, the processing association pool 340 is configured to store and manage the associated tasks and the associated processing results of the associated tasks sent by the first processing agent.
[0137] On the basis of the above, the first processing agent is further configured to: if it is determined that there is missing association information for the subtask, generate an associated task corresponding to the subtask based on the association information, and send the associated task to the processing association pool 340.
[0138] On the basis of the above, the scheduling agent 310 is further configured to: obtain the associated task from the processing association pool 340 , determine the associated processing result of the associated task, and send the associated processing result to the processing association pool 340 .
[0139] Specifically, taking the processing process of subtask 1 as an example, after the first processing agent (such as processing agent 1-1) obtains subtask 1, it can query the associated information library 350 to obtain the associated information required for processing the subtask. If processing agent 1-1 determines that the associated information is insufficient and some associated information is still lacking to solve subtask 1, then processing agent 1-1 generates an associated task based on the associated information and subtasks, and sends the associated task to processing association pool 1. Processing association pool 1 marks and stores the associated task according to the relevant identifiers of the target task and subtask 1. Scheduling agent 310 listens to processing association pool 1, and when it is determined that there is an associated task to be solved in processing association pool 1, it obtains the associated task from it, processes the associated task, and obtains its corresponding associated processing result. Then, scheduling agent 310 feeds back the associated processing result to processing association pool 1 according to the identifier of the associated task. Processing association pool 1 stores the associated task and its associated processing result accordingly.
[0140] By setting up the above-mentioned processing association pool, the processing results of associated tasks can be sought within the system, rather than directly feeding back to the user the result that the task cannot be solved, thereby improving the task processing efficiency of the multi-agent system.
[0141] In some embodiments, the scheduling agent 310 is specifically configured to process the associated task and generate the associated processing result in the following manner: query the associated information library based on the associated task to determine the first query result; if the first query result can process the associated task, generate the associated processing result associated information library based on the first query result. The detailed explanation of this process can be found in the relevant description of S270 above.
[0142] In some embodiments, the scheduling agent 310 is further configured to: query the associated information library 350 based on the associated task, and after determining the first query result, if the first query result cannot process the associated task, send the associated task to the task decomposition component 320; based on the second processing agent information feedback from the task decomposition component 320, send the associated task to the second processing agent identified by the second processing agent information; and receive the associated processing result associated information library fed back by the second processing agent.
[0143] On the basis of the above, the task decomposition component 330 is also configured to: determine the second matching degree between the task description of the associated task and each processing function description, and use the processing function description corresponding to the second matching degree that meets the matching degree threshold as the second processing function description corresponding to the associated task; determine the processing agent information associated with the second processing function description as the second processing agent information adapted for the associated task, and send the second agent information to the scheduling agent 310.
[0144] On the basis of the above, the second processing agent is configured to: process associated tasks and generate associated processing results.
[0145] Specifically, when the scheduling agent 310 obtains the first query result and determines that the first query result cannot process the associated task, the scheduling agent 310 sends the associated task to the task decomposition component 320. Alternatively, when the first query result contains some information related to the associated task, the scheduling agent 310 sends the combined result of the associated task and the first query result to the task decomposition component 320 to assist the task decomposition component 320 in more accurately analyzing whether there are other processing agents that can process the associated task.
[0146] After receiving the associated task or its combination result, the task decomposition component 320 performs matching calculations on the task description of the associated task and each processing function description to obtain a plurality of second matching degrees corresponding thereto. Then, in accordance with the manner of processing the first matching degree in the above-mentioned embodiments, each second matching degree and matching degree threshold are processed to obtain a second processing function description adapted to the associated task. Then, the processing agent information associated with the second processing function description is determined as the second processing agent information adapted to the associated task.
[0147] The scheduling agent 310 sends the associated task to the corresponding second processing agent according to the second processing agent information. For example, the second processing agent is the idle processing agent 2-1 in the processing function description 2. The processing agent 2-1 receives the associated task and processes the associated task according to the relevant descriptions in the above embodiments to obtain the associated processing result. Then, the processing agent 2-1 feeds back the associated processing result to the scheduling agent 310.
[0148] In some embodiments, see Figure 3 The multi-agent system may further include a scheduling association pool 360, which is used to store and manage a collection of associated tasks that cannot be processed within the system. The scheduling association pool 360 may be an independent device or may be integrated in a device where the scheduling agent is located or a third-party device. The data structure of the scheduling association pool 360 may not be limited.
[0149] In the disclosed embodiment, the scheduling association pool 360 is configured to receive and store the associated tasks sent by the scheduling agent 310; display the associated tasks to the user and receive the associated processing results fed back by the user; and store the associated tasks and the associated processing results.
[0150] On the basis of the above, the scheduling agent 310 is specifically configured to obtain the association processing result from the scheduling association pool.
[0151] Specifically, after the scheduling agent 310 obtains the associated task, it can directly send it to the scheduling association pool 360. The scheduling agent 310 can also first query the associated information library 350 or process the associated task through the task decomposition component 320. If the first query result cannot process the associated task, or the task decomposition component 320 cannot obtain the second processing agent information adapted to the associated task, then the scheduling agent 310 sends the associated task to the scheduling association pool 360.
[0152] The scheduling association pool 360 stores the associated tasks. Then, the scheduling association pool 360 feeds back to the user the associated tasks that need to be solved in the process of processing the target task through the human-computer interaction interface built with the user, such as displaying the associated tasks and prompting that they are tasks that require user assistance in the process of processing the target task. After the user gives feedback through the human-computer interaction interface, the scheduling association pool 360 determines the user's feedback result as the associated processing result for associated storage. Afterwards, the scheduling agent 310 obtains the associated processing result from the scheduling association pool 360.
[0153] It should be noted that the scheduling association pool 360 or the scheduling agent 310 can determine whether the user's feedback result has processed the associated task. If it has been processed, it will be processed according to the above process; if it has not been processed, it can interact with the user for multiple rounds to guide the user to feedback the associated processing result.
[0154] It should also be noted that the multi-agent system can also set up a human-computer interaction interface at other stages so that the user can make adjustments such as modifying or supplementing the task after entering the target task. The scheduling agent 310 then adds subtasks for processing according to the adjustment information input again by the user, or combines it with the generated subtasks or sub-processing results, etc.
[0155] Figure 6 is a structural diagram of another multi-agent system provided by an embodiment of the present disclosure. Figure 6 The multi-agent system includes a scheduling agent 410, a task decomposition component 420, at least one processing agent 430 corresponding to at least one processing function description, a processing task pool 440, an associated processing pool 450 and a processing result pool 460 corresponding to each processing function description, a scheduling task pool 470, a scheduling association pool 480, a scheduling result pool 490 and an associated information base 4100. The explanation of these system components can refer to the relevant description of the above embodiments.
[0156] On the basis of the multi-agent system, the first processing agent is also configured to: send the subtask to the processing task pool 440 so that the processing task pool 440 stores the subtask again; if the subtask is obtained again, query the associated information library 4100 based on the subtask to determine the second query result, and query the processing associated pool 450 based on the subtask to obtain the associated processing result; process the subtask based on the associated processing result and the second query result to generate a sub-processing result of the subtask.
[0157] Specifically, the processing process for the target task input by the user can be as follows: the scheduling task pool 470 receives and stores each target task. The idle scheduling agent 410 obtains the target task 1 from the scheduling task pool 470 and sends it to the task decomposition component 420. After the task decomposition component 420 decomposes and matches the target task 1, it feeds back a plurality of subtasks and their corresponding first processing agent information to the scheduling agent 410. Taking subtask 1 as an example, the scheduling agent 410 sends subtask 1 to the processing task pool 1 of the corresponding processing function description 1 according to the first processing agent information. The idle first processing agent corresponding to the processing function description 1 obtains subtask 1 from the processing task pool 1.
[0158] Then, the first processing agent queries the association information library 4100 to obtain its corresponding association information. If the first processing agent determines that the association information is insufficient to process subtask 1, it generates an association task based on the missing association information and subtask 1, and sends the association task to its corresponding processing association pool 1. At the same time, the first processing agent stores subtask 1 back to the processing task pool 1 of processing function description 1.
[0159] When the scheduling agent 410 monitors that there are unprocessed associated tasks in the processing task pool 1, it obtains the associated task. Then, the associated processing result can be obtained in at least one of the following three ways: the first is to query the associated information library 4100 to obtain the first query result, and the first query result can process the associated task, then it is processed as the associated processing result. The second is that when the first query result cannot process the associated task, the associated task is sent to the task decomposition component 420, so that the task decomposition component 420 matches it with a suitable processing function description 2, and then the associated task is sent to the processing task pool 2 corresponding to the processing function description 2; the idle second processing agent obtains the associated task from the processing task pool 2 and processes it, obtains the associated processing result, and stores it in the corresponding processing result pool 2; the scheduling agent 410 obtains the associated processing result of the associated task from the processing result pool 2. The third is that the scheduling agent 410 sends the associated task to the scheduling association pool 480. The scheduling association pool 480 obtains the associated processing result through interaction with the user.
[0160] Afterwards, the scheduling agent 410 sends the associated processing result to the associated processing association pool 1, so that the associated processing association pool 1 stores the associated tasks and associated processing results accordingly. When the subtask 1 is acquired by the idle first processing agent in the processing function description 1 again, it can obtain the necessary information by querying the associated information library 4100 and the associated processing association pool 1, and use this information to process the subtask 1, obtain the subprocessing result 1, and send the subprocessing result 1 to the scheduling agent 410. The scheduling agent 410 summarizes the subprocessing results, obtains the target processing result 1, and stores it in the scheduling processing result pool 490. The scheduling processing result pool 490 feeds back the target processing result 1 to the user.
[0161] Through the setting of the above-mentioned multi-agent system, the association pool, task pool and processing result pool are used to maintain the persistent and efficient flow of various information in the system, further improving the system's response speed and processing capabilities.
[0162] Figure 7 The schematic diagram of the structure of a scheduling device for a multi-agent system provided by an embodiment of the present disclosure is shown in FIG. Figure 7 As shown, the scheduling device 700 of the multi-agent system includes:
[0163] The target task acquisition module 710 is used to acquire the target task to be processed;
[0164] The first matching degree determination module 720 is used to decompose the target task into multiple subtasks and determine the first matching degree between the task description of any subtask and each processing function description; wherein the processing function description is used to characterize the task processing function of the multi-agent system; the processing function description is associated with at least one processing agent information; and the processing agent information is used to identify at least one processing agent;
[0165] The first processing agent information determination module 730 is used to use the processing function description corresponding to the first matching degree that meets the matching degree threshold as the first processing function description corresponding to the subtask, and determine the processing agent information associated with the first processing function description as the first processing agent information adapted for the subtask;
[0166] The subtask sending module 740 is used to send the subtask to the first processing agent identified by the first processing agent information, so that the first processing agent processes the subtask and generates a sub-processing result of the subtask;
[0167] The target processing result generation module 750 is used to generate the target processing result of the target task based on the sub-processing result fed back by the first processing agent.
[0168] The scheduling device of the multi-agent system provided by the embodiment of the present disclosure is capable of decomposing the target task to be processed into multiple subtasks, and determining the first matching degree between the task description of any subtask and each processing function description; using the processing function description corresponding to the first matching degree that meets the matching degree threshold as the first processing function description corresponding to the subtask, and determining the processing agent information associated with the first processing function description as the first processing agent information adapted for the subtask; sending the subtask to the first processing agent identified by the first processing agent information, so that the first processing agent processes the subtask and generates a sub-processing result of the subtask; generating a target processing result of the target task based on the sub-processing result fed back by the first processing agent; realizing the decomposition of the user's complex target task into multiple subtasks with smaller granularity and relatively simple task content, and By dynamically allocating each subtask according to the task processing functions that each processing agent can achieve, on the one hand, it can reduce the task complexity and the computational amount of each subtask, thereby balancing the computational amount of each first processing agent to a certain extent, and largely avoiding the situation where a certain processing agent is overloaded while other processing agents are idle due to complex target tasks, thereby improving the resource utilization of the multi-processing agent system; on the other hand, each subtask can be assigned to a more suitable first processing agent for processing, and to a large extent avoids the problem of incomplete task processing caused by assigning a complex target task to a processing agent with insufficient functional adaptability, which not only improves the rationality of task allocation, but also improves the comprehensiveness and accuracy of the final integrated target processing results, thereby improving the task allocation efficiency and the overall performance of the system.
[0169] In some embodiments, the subtask sending module 740 is specifically used to:
[0170] Determine a target processing task pool corresponding to the subtask based on the first processing function description and the corresponding relationship between the processing function description and the processing task pool;
[0171] The subtask is sent to the target processing task pool so that the target processing task pool stores the subtask, and the first processing agent obtains the subtask from the target processing task pool for processing to generate a subprocessing result of the subtask; the target processing task pool is configured to delete the subtask after the first processing agent obtains the subtask.
[0172] In some embodiments, the target task acquisition module 710 is specifically used to:
[0173] Obtain the target task from the scheduling task pool; wherein the scheduling task pool is used to receive and store the target task.
[0174] In some embodiments, the scheduling device 700 of the multi-agent system further includes:
[0175] The associated task acquisition module is used to acquire the associated task from the target processing association pool if it is determined that there is an associated task corresponding to the subtask in the target processing association pool corresponding to the first processing function description before generating the target processing result of the target task based on the subprocessing result fed back by the first processing agent; wherein the target processing association pool is used to store the associated tasks sent by the first processing agent and the associated processing results of the associated tasks; the associated task is a task generated by the first processing agent in the process of processing the subtask and used to request to obtain the associated information related to the subtask;
[0176] The associated task processing module is used to process associated tasks, generate associated processing results, and send the associated processing results to the target processing associated pool for storage.
[0177] In some embodiments, the associated task processing module is specifically used to:
[0178] Querying the associated information database based on the associated task to determine a first query result;
[0179] If the first query result can process the associated task, then an associated processing result is generated based on the first query result.
[0180] In some embodiments, the associated task processing module is further specifically configured to:
[0181] After the associated task is queried in the associated information database and the first query result is determined, if the first query result cannot process the associated task, a second matching degree between the task description of the associated task and each processing function description is determined, and the processing function description corresponding to the second matching degree that meets the matching degree threshold is used as the second processing function description corresponding to the associated task;
[0182] Determine the processing agent information associated with the second processing function description as the associated task adaptation second processing agent information;
[0183] Sending the associated task to the second processing agent identified by the second processing agent information so that the second processing agent processes the associated task and generates an associated processing result;
[0184] Receive the associated processing result fed back by the second processing agent.
[0185] In some embodiments, the associated task processing module is specifically used to:
[0186] Store the associated tasks in the scheduling association pool and display the associated tasks to the user;
[0187] Receive the association processing result fed back by the user, and store the association processing result in the scheduling association pool.
[0188] In some embodiments, the scheduling device 700 of the multi-agent system further includes a subtask reprocessing module for:
[0189] If it is determined that there is an associated task in the target processing associated pool, and there is no associated processing result in the target processing associated pool, the subtask is sent to the target processing task pool again for storage, and after detecting that there is an associated processing result in the target processing associated pool, the first processing agent obtains the subtask from the target processing task pool again, and processes the subtask and generates the subprocessing result in the following manner:
[0190] Based on the subtasks, the associated information library and the target processing associated pool are respectively queried to determine the second query result and the associated processing result;
[0191] The subtask is processed based on the second query result and the associated processing result to generate a sub-processing result.
[0192] In some embodiments, the target processing result generation module 750 is specifically used to:
[0193] Obtaining the sub-processing results corresponding to the sub-task from the processing result pool corresponding to the first processing function description, and summarizing the sub-processing results to generate a target answer; wherein the processing result pool is used to store the sub-processing results generated and sent by each first processing agent;
[0194] And / or, after generating a target processing result of the target task based on the sub-processing result fed back by the first processing agent, the method further comprises:
[0195] The target processing result is presented to the user as the feedback result of the target task, and the target processing result is stored in the scheduling result pool.
[0196] The scheduling device of the multi-agent system provided in the embodiments of the present disclosure can execute the scheduling method of the multi-agent system provided in any embodiment of the present disclosure, and has the functional modules and beneficial effects corresponding to the execution method.
[0197] It is worth noting that in the embodiment of the scheduling device of the above-mentioned multi-agent system, the various modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be realized; in addition, the specific names of the various functional modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this disclosure.
[0198] Figure 8 The structure diagram of an electronic device provided by an embodiment of the present disclosure is shown in FIG. The electronic device can integrate a scheduling device of a multi-agent system to implement a scheduling method of a multi-agent system. Figure 8 As shown, the electronic device 800 includes one or more processors 801 and a memory 802 .
[0199] The processor 801 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 800 to perform desired functions.
[0200] The memory 802 may include one or more computer program products, and the computer program products may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 801 may execute the program instructions to implement the scheduling method of the multi-agent system of the embodiment of the present disclosure described above and / or other desired functions.
[0201] In one example, the electronic device 800 may further include: an input device 803 and an output device 804, which are interconnected via a bus system and / or other forms of connection mechanisms (not shown). The input device 803 may include, for example, a keyboard, a mouse, etc. The output device 804 may output various information to the outside. The output device 804 may include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, etc.
[0202] Of course, to simplify, Figure 8 Only some of the components related to the present disclosure in the electronic device 800 are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the electronic device 800 may also include any other appropriate components.
[0203] In addition to the above-mentioned methods and devices, the embodiments of the present disclosure may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the scheduling method for the multi-agent system provided by the embodiments of the present disclosure.
[0204] The computer program product may be written in any combination of one or more programming languages to write program code for performing the operations of the disclosed embodiments, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0205] In addition, the embodiments of the present disclosure may also be a computer-readable storage medium on which computer program instructions are stored. When the computer program instructions are executed by a processor, the processor executes the scheduling method for a multi-agent system provided by the embodiments of the present disclosure.
[0206] Computer readable storage media can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0207] It should be noted that the terms used in the present disclosure are only for describing specific embodiments, rather than limiting the scope of the present application. As shown in the present disclosure specification and claims, unless the context clearly indicates an exception, the words "one", "a", "a kind of" and / or "the" do not specifically refer to the singular, but may also include the plural. The term "and / or" includes any and all combinations of one or more related listed items. Relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. The term "include", "comprise" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method or device including a series of elements includes not only those elements, but also includes other elements that are not explicitly listed, or also includes elements inherent to such process, method or device. In the absence of more restrictions, the elements defined by the sentence "including one..." do not exclude the existence of other identical elements in the process, method or device including the elements.
[0208] The above description is only a specific embodiment of the present disclosure, so that those skilled in the art can understand or implement the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to the embodiments described herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A scheduling method for a multi-agent system, characterized in that: include: Get the target tasks to be processed; Decomposing the target task into a plurality of subtasks, and determining a first matching degree between a task description of any of the subtasks and each processing function description; wherein the processing function description is used to characterize the task processing function of the multi-agent system; the processing function description is associated with at least one processing agent information; and the processing agent information is used to identify at least one processing agent; The processing function description corresponding to the first matching degree that meets the matching degree threshold is used as the first processing function description corresponding to the subtask, and the processing agent information associated with the first processing function description is determined as the first processing agent information adapted for the subtask; Sending the subtask to the first processing agent identified by the first processing agent information, so that the first processing agent processes the subtask and generates a sub-processing result of the subtask; Based on the sub-processing result fed back by the first processing agent, a target processing result of the target task is generated.
2. The method according to claim 1, characterized in that: The step of sending the subtask to the first processing agent identified by the first processing agent information so that the first processing agent processes the subtask and generates a sub-processing result of the subtask includes: Determine a target processing task pool corresponding to the subtask based on the first processing function description and the corresponding relationship between the processing function description and the processing task pool; The subtask is sent to a target processing task pool so that the target processing task pool stores the subtask, and the first processing agent obtains the subtask from the target processing task pool for processing to generate a subprocessing result of the subtask; the target processing task pool is configured to delete the subtask after the first processing agent obtains the subtask.
3. The method according to claim 1, characterized in that The obtaining of the target task to be processed includes: The target task is obtained from a scheduling task pool; wherein the scheduling task pool is used to receive and store the target task.
4. The method according to claim 2, characterized in that: Before generating the target processing result of the target task based on the sub-processing result fed back by the first processing agent, the method further includes: If it is determined that there is an associated task corresponding to the subtask in the target processing associated pool corresponding to the first processing function description, the associated task is obtained from the target processing associated pool; wherein the target processing associated pool is used to store the associated tasks sent by the first processing agent and the associated processing results of the associated tasks; the associated task is a task generated by the first processing agent in the process of processing the subtask and is used to request to obtain associated information related to the subtask; The associated task is processed, the associated processing result is generated, and the associated processing result is sent to the target processing associated pool for storage.
5. The method according to claim 4, characterized in that The processing of the associated task and generating the associated processing result includes: Querying the associated information database based on the associated task to determine a first query result; If the first query result can process the associated task, the associated processing result is generated based on the first query result.
6. The method according to claim 5, characterized in that After querying the associated information base based on the associated task and determining the first query result, the method further includes: If the first query result cannot process the associated task, determining a second matching degree between the task description of the associated task and each of the processing function descriptions, and using the processing function description corresponding to the second matching degree that meets the matching degree threshold as the second processing function description corresponding to the associated task; Determine the processing agent information associated with the second processing function description as the second processing agent information adapted for the associated task; Sending the associated task to the second processing agent identified by the second processing agent information, so that the second processing agent processes the associated task and generates the associated processing result; Receive the associated processing result fed back by the second processing agent.
7. The method according to any one of claims 4 to 6, characterized in that: The processing of the associated task and generating the associated processing result includes: storing the associated tasks in a scheduling associated pool, and displaying the associated tasks to a user; The association processing result fed back by the user is received, and the association processing result is stored in the scheduling association pool.
8. The method according to claim 4, characterized in that The method further comprises: If it is determined that the associated task exists in the target processing associated pool, and the associated processing result does not exist in the target processing associated pool, the subtask is sent to the target processing task pool again for storage, and after detecting that the associated processing result exists in the target processing associated pool, the first processing agent obtains the subtask from the target processing task pool again, and processes the subtask and generates the subprocessing result in the following manner: Based on the subtasks, the associated information library and the target processing associated pool are respectively queried to determine a second query result and the associated processing result; The subtask is processed based on the second query result and the associated processing result to generate the sub-processing result.
9. The method according to claim 1, characterized in that: The generating the target processing result of the target task based on the sub-processing result fed back by the first processing agent comprises: Obtaining the sub-processing results corresponding to the sub-task from the processing result pool corresponding to the first processing function description, and aggregating the sub-processing results to generate the target answer; wherein the processing result pool is used to store the sub-processing results generated and sent by each of the first processing agents; And / or, after generating the target processing result of the target task based on the sub-processing result fed back by the first processing agent, the method further includes: The target processing result is presented to the user as a feedback result of the target task, and the target processing result is stored in a scheduling result pool.
10. A scheduling device for a multi-agent system, characterized in that: include: A target task acquisition module is used to acquire the target tasks to be processed; A first matching degree determination module is used to decompose the target task into a plurality of subtasks, and determine a first matching degree between a task description of any of the subtasks and each processing function description; wherein the processing function description is used to characterize the task processing function of the multi-agent system; the processing function description is associated with at least one processing agent information; and the processing agent information is used to identify at least one processing agent; A first processing agent information determination module is used to use the processing function description corresponding to the first matching degree that meets the matching degree threshold as the first processing function description corresponding to the subtask, and determine the processing agent information associated with the first processing function description as the first processing agent information adapted for the subtask; A subtask sending module, used for sending the subtask to the first processing agent identified by the first processing agent information, so that the first processing agent processes the subtask and generates a sub-processing result of the subtask; A target processing result generation module is used to generate a target processing result of the target task based on the sub-processing result fed back by the first processing agent.
11. An electronic device, characterized in that: The electronic device comprises: Processor and memory; The processor is used to execute the scheduling method of the multi-agent system as described in any one of claims 1 to 9 by calling the program or instruction stored in the memory.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a program or instruction, which enables a computer to execute the scheduling method for a multi-agent system as described in any one of claims 1 to 9.