Workflow arrangement method and related equipment

By employing a multi-agent architecture for workflow orchestration, the first agent determines the component flow, the second agent fills in the parameters, and the third agent schedules the process. This approach solves the problem of inaccurate workflow orchestration results and achieves an efficient and accurate orchestration process.

CN121764548APending Publication Date: 2026-03-31HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

In existing technologies, workflow orchestration results are inaccurate, leading to low orchestration efficiency, difficulty in meeting user intent, and the need for repeated adjustments.

Method used

A multi-agent architecture is adopted, in which the first agent determines the target component flow, the second agent fills in the parameters, and the third agent makes decisions and schedules, decomposes and plans the orchestration of tasks, and ensures that each agent executes the sub-tasks independently, avoiding redundancy and duplication.

Benefits of technology

It improves the accuracy and efficiency of workflow orchestration, reduces errors and repetitive operations during the orchestration process, and enhances the system's flexibility and the clarity of division of labor.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121764548A_ABST
    Figure CN121764548A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a workflow arrangement method and related equipment, belongs to the technical field of computers, and is used for improving the accuracy of workflow arrangement and further improving the efficiency of workflow arrangement. The method is applied to a workflow arrangement system, the workflow arrangement system comprises a first agent and a second agent, and the method comprises the following steps: the first agent determines a target component flow in response to a natural language instruction of a user; and the second agent performs parameter filling on an application component in the target component flow according to the natural language instruction to obtain a target workflow.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a workflow orchestration method and related equipment. Background Technology

[0002] Workflow refers to an abstract description of a workflow and the business rules between its various operational steps, and it can automate part or all of the business process in a real-world application environment.

[0003] Currently, workflows are typically orchestrated through automated methods. For example, in workflow orchestration methods based on end-to-end machine learning models, the machine learning model directly outputs the orchestration results based on user input instructions.

[0004] The above methods are prone to producing inaccurate workflow orchestration results, which may require repeated workflow orchestration and result in low workflow orchestration efficiency. Summary of the Invention

[0005] This application provides a workflow orchestration method and related equipment, which can improve the accuracy of workflow orchestration results and further improve workflow orchestration efficiency.

[0006] Firstly, a workflow orchestration method is provided, which is applied to a workflow orchestration system. The workflow orchestration system includes a first intelligent agent and a second intelligent agent. The method includes: the first intelligent agent responding to a user's natural language instructions to determine a target component flow; and the second intelligent agent filling in the application components in the target component flow with parameters according to the natural language instructions to obtain the target workflow.

[0007] Unlike related technologies where orchestration is performed independently by a model, this application breaks down the workflow orchestration process into tasks using a multi-agent approach. Each subtask is executed independently by a separate agent. The first agent determines the target component flow based on natural language instructions, and the second agent fills in the parameters of the application components within the target component flow based on natural language instructions, thus obtaining the target workflow. Because the first agent determines the target component flow first, and the second agent determines the target workflow based on the target component flow, the intermediate outputs of the workflow orchestration (which are the target component flows) can be traced, allowing for timely correction of the orchestration results. Furthermore, during the process of the first agent determining the target component flow based on natural language instructions, and during the process of the second agent filling in the parameters of the target component flow based on natural language instructions, both agents act independently based on the natural language instructions. For example, the second agent parses the natural language instructions itself to complete the parameter filling, without relying on the first agent's analysis of the natural language instructions. In this way, the first and second agents can operate without interfering with each other, resulting in more accurate workflow orchestration and thus improving workflow orchestration efficiency.

[0008] In one possible implementation, a third agent responds to a user's natural language instruction and instructs a first agent to determine the target component flow based on the natural language instruction.

[0009] As shown above, the workflow orchestration system also includes a third agent. This third agent acts as the main body for decision-making and issuing instructions to other agents. For example, in the above implementation, the third agent, based on the user intent contained in the natural language instructions, schedules the first agent to execute sub-tasks of the target component flow. Alternatively, this application can be understood as using a third agent to complete the splitting and planning of orchestration tasks; that is, the third agent decides which agents to assign the orchestration tasks to. The first and second agents only need to accept the scheduling and instructions from the third agent. This improves the flexibility of orchestration task execution and makes the division of labor among different agents in the system clearer and their cooperation smoother. No single agent will perform redundant actions, and there will be no duplicate operations between different agents.

[0010] In one possible implementation, a third agent responds to a user's natural language instruction and determines the user's intent corresponding to the instruction. For example, the user's intent might be to generate a workflow that meets a certain user need; this workflow can be referred to as the workflow to be generated corresponding to the user's intent. If the workflow to be generated corresponding to the user's intent includes multiple application components, or if there is no component flow corresponding to the user's intent, the third agent instructs a first agent to determine the target component flow based on the natural language instruction. Here, the component flow corresponding to the user's intent refers to the component flow in an already generated workflow corresponding to the user's intent, which could be, for example, a workflow that has already been generated based on a user intent identical to this one.

[0011] In one possible implementation, if the workflow generated by the user intent instruction includes only one application component, the third agent determines the target component flow; or, if the third agent determines that there exists an already generated component flow corresponding to the user intent, the third agent directly uses the already generated component flow as the target component flow.

[0012] As shown above, the third agent, acting as the main body for decision-making and issuing instructions to other agents in the system, can decompose and plan the orchestration tasks based on the application components involved in the workflow to be generated. Specifically, if the workflow involves multiple application components, or if there is no directly usable pre-generated component flow, the third agent is instructed to determine the target component flow. This is because if the workflow involves only one application component, or if there is a pre-generated component flow corresponding to the user intent, it is unnecessary to instruct the first agent to determine the target component flow; instead, it can directly determine the target component flow or directly use the pre-generated component flow. This simplifies the orchestration process and avoids unnecessary interactions between the third and first agents. Since the first agent no longer needs to separately parse natural language instructions and determine the target component flow, resources on the first agent are saved. In summary, this improves the efficiency of the orchestration system.

[0013] In one possible implementation, the third agent instructs the second agent to populate the application components in the target component stream with parameters according to natural language instructions.

[0014] As can be seen from the above, the third agent can act as the main body for decision-making and issuing instructions to other agents in the system. For example, in the above implementation, the third agent, combined with the user intent contained in the natural language instructions, schedules the second agent to fill in the parameters of the application components in the target component stream. Alternatively, this application can be understood as using a third agent to complete the splitting and planning of orchestration tasks; that is, the third agent decides which agents to assign the orchestration tasks to. For the first and second agents, they only need to accept the scheduling and instructions of the third agent. This improves the flexibility of orchestration task execution and makes the division of labor among different agents in the system clearer and their cooperation smoother. No single agent will perform redundant actions, and there will be no duplicate operations between different agents.

[0015] In one possible implementation, if the third agent determines that the target component stream conforms to the user's intent, it instructs the second agent to populate the application components in the target component stream with parameters according to natural language instructions. If the third agent determines that the target component stream does not conform to the user's intent, it updates the target component stream.

[0016] As shown above, the third agent can act as the main body for decision-making and issuing instructions to other agents in the system. It is also responsible for determining whether the target component flow conforms to the user's intent corresponding to the natural language instruction. If the target component flow conforms to the user's intent, the third agent instructs the second agent to populate the application components in the target component flow with parameters. Otherwise, the third agent updates the target component flow. The specific method by which the third agent updates the target component flow depends on whether it determines the target component flow itself or schedules the first agent to rearrange the target component flow, based on the user's intent in the natural language it understands. Through the third agent's reflection process on the target component flow, the accuracy of the target component flow is verified. On the one hand, this enables the detection of intermediate data in workflow orchestration, facilitating more precise and granular control and adjustment of the workflow orchestration process. On the other hand, it avoids the second agent continuing to determine the workflow based on a component flow that does not conform to the instruction intent when the target component flow does not conform to the user's intent, thereby improving the accuracy and efficiency of workflow orchestration.

[0017] In one possible implementation, the second agent obtains the target parameters from the natural language instructions; the second agent fills the application components in the target component flow with parameters according to the target parameters to obtain the target workflow.

[0018] As shown above, the parameters in the target component flow obtained by the second agent are either empty or historical parameters. The second agent needs to parse the natural language instructions and filter out the parameters related to the target component contained in the instructions. In other words, the natural language instructions contain parameter information of the target component. Therefore, the second agent needs to determine the target parameters based on the natural language instructions and fill them into the corresponding components to obtain a complete workflow. Since the second agent parses the natural language instructions again and determines the target parameters contained in them, the target workflow determined using the target parameters better matches the user intent corresponding to the natural language instructions. Furthermore, having the second agent perform parameter filling avoids uncontrollable workflow orchestration, thereby improving the accuracy of workflow orchestration.

[0019] In one possible implementation, a third agent triggers the target workflow and obtains the execution result corresponding to the target workflow; if the third agent determines that the execution result conforms to the user intent corresponding to the natural language instruction, it outputs the target workflow; if the third agent determines that the execution result does not conform to the user intent corresponding to the natural language instruction, it updates the target workflow.

[0020] As shown above, after the third agent receives the target workflow returned by the second agent, it can act as the main body for decision-making and issuing instructions to other agents within the system. The third agent can trigger the target workflow in the actual operating environment and determine the execution result. Based on the execution result, the third agent can not only determine whether the target workflow meets the user's intent, but also more directly and accurately judge the feasibility and adaptability of the currently orchestrated target workflow in the actual operating environment, thereby further ensuring the accuracy of the target workflow.

[0021] In one possible implementation, the third agent instructs the first agent to update the target component flow according to natural language instructions; the third agent instructs the second agent to populate the application components in the updated target component flow with parameters according to natural language instructions, thereby obtaining the updated target workflow.

[0022] As shown above, the third agent can act as the main body for decision-making and issuing instructions to other agents in the system. When the third agent determines that the execution result does not conform to the user's intent corresponding to the natural language instruction, the third agent re-parses the natural language instruction, understands the user's intent, and re-arranges the task decomposition and planning based on the application components involved in the workflow to be generated by the natural language instruction. Specifically, based on the user's intent in the natural language understood by the third agent, it determines whether the third agent should determine the target component flow itself or schedule the first agent to re-arrange the target component flow. Alternatively, the third agent can directly instruct the second agent to re-fill in the parameters. The specific way the third agent updates the workflow is related to the intelligence level of the third agent and the judgment result. It can be understood that when the third agent determines that the generated workflow does not conform to the user's intent corresponding to the natural language instruction based on the execution result, the third agent re-decomposes and plans the task, that is, the third agent decides how to update the component flow. For the first and second agents, there is no need to repeatedly interpret or reflect, avoiding the deviation of judgment results among multiple agents, which could lead to system chaos. This makes the division of labor among different agents in the system clearer, while improving the flexibility and uniformity of task orchestration.

[0023] In one possible implementation, the first agent updates the target component flow in response to a supplementary instruction from the user; the supplementary instruction is an instruction associated with a natural language instruction; the second agent fills in the application components in the updated target component flow with parameters according to the supplementary instruction, thereby obtaining the updated target workflow.

[0024] As shown above, the first agent receives and responds to natural language instructions, first determining whether the current natural language instruction is a supplementary instruction. That is, whether there is a relationship between the current natural language instruction and the previous natural language instruction. Supplementary instructions are used to indicate instructions that are related to the previous natural language instruction. When the first agent receives a natural language instruction, it checks whether there is a relationship between the user intent corresponding to the current natural language instruction and the user intent corresponding to the previous natural language instruction; if so, it can determine that the current natural language instruction is a supplementary instruction. The first agent updates the target component flow based on the user intent corresponding to the supplementary instruction and the workflow generated by the previous natural language instruction. Specifically, the first agent can directly reuse the previous component flow, or add or delete components in the previous component flow according to the user intent corresponding to the supplementary instruction, thereby determining the current target component flow. Alternatively, the second agent can modify the parameters of components in the previous workflow according to the user intent corresponding to the supplementary instruction. This approach not only avoids the first agent re-parses the natural language instructions, resulting in low efficiency, but also enables multi-turn interactions between the workflow orchestration system and the user, increasing the user experience and thus improving the efficiency of the workflow orchestration system.

[0025] In one possible implementation, the first agent, in response to a user's natural language instruction, determines a target component flow, including: the first agent parses the natural language instruction, retrieves the target component from a component library, the component library being used to store multiple components; and the first agent determines the target component flow based on the natural language instruction and the target component.

[0026] As shown above, the component library is pre-defined to store multiple components and is accessible to the first intelligent agent. First, the first intelligent agent can determine the target components based on natural language commands corresponding to the components involved in the workflow to be generated. Then, the first intelligent agent filters the component library to obtain the target components. Next, the first intelligent agent orchestrates the target components to determine the target component flow. The first intelligent agent's access to the component library to filter and determine the target components improves the speed of determining the target component flow, further increasing the speed of workflow orchestration.

[0027] Secondly, a device for a first intelligent agent is provided. Embodiments of this application can divide the device for the first intelligent agent into functional modules according to the method provided in the first aspect. For example, each function can be divided into its own functional modules, or two or more functions can be inherited into a single processing module. For instance, embodiments of this application can divide the first intelligent agent device into a retrieval module and an arrangement module according to its functions. Optionally, embodiments of this application also provide a device for a second intelligent agent, which is divided into an acquisition module and a filling module according to its functions. Furthermore, embodiments of this application also provide a device for a third intelligent agent, which is divided into a parsing module and a processing module according to its functions. Descriptions of the possible technical solutions and beneficial effects of the various functional modules described above can be found in the technical solutions provided in the first aspect or its corresponding possible implementations, and will not be repeated here.

[0028] Thirdly, embodiments of this application provide a workflow orchestration system, which includes a first intelligent agent and a second intelligent agent; the first intelligent agent is used to determine a target component flow in response to a user's natural language instructions; the second intelligent agent is used to fill in the application components in the target component flow with parameters according to the natural language instructions to obtain a target workflow.

[0029] Fourthly, embodiments of this application provide a computing device cluster, which includes at least one computing device. Each computing device includes a processor and a memory for storing processor-executable instructions. The processor is configured to execute instructions, causing the computing device to perform the aforementioned workflow orchestration method.

[0030] Fifthly, embodiments of this application provide a computer-readable storage medium storing at least one computer program, which is loaded and executed by a processor to implement the workflow orchestration method as described above.

[0031] Sixthly, embodiments of this application provide a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computing node reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computing node to perform the workflow orchestration methods provided in various optional implementations of the above aspects.

[0032] For a detailed description of the second to sixth aspects and their various implementations in the embodiments of this application, please refer to the detailed description in the first aspect and its various implementations; and for a detailed description of the beneficial effects of the second to fifth aspects and their various implementations, please refer to the beneficial effect analysis in the various implementations of the first aspect, which will not be repeated here.

[0033] These or other aspects of the embodiments of this application will become more apparent in the following description. Attached Figure Description

[0034] Figure 1 A schematic diagram of an application scenario for natural language translation workflow is shown;

[0035] Figure 2 A schematic diagram of the workflow orchestration process provided by the relevant technology is shown;

[0036] Figure 3 A schematic diagram of a workflow orchestration system 200 provided in an embodiment of this application is shown;

[0037] Figure 4 A flowchart illustrating a workflow orchestration method provided in an embodiment of this application is shown.

[0038] Figure 5 A logical schematic diagram of a workflow orchestration method provided in an embodiment of this application is shown;

[0039] Figure 6 A schematic diagram of the structure of a device 400 for a first intelligent agent provided in an embodiment of this application is shown;

[0040] Figure 7 A schematic diagram of the structure of a device 800 for a second intelligent agent provided in an embodiment of this application is shown;

[0041] Figure 8 A schematic diagram of the structure of a device 1000 for a third intelligent agent provided in an embodiment of this application is shown. Detailed Implementation

[0042] The terms “first,” “second,” “third,” and “fourth,” etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to define a specific order.

[0043] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0044] The following explains some terms used in the embodiments of this application. Unless otherwise specified, the meanings of the following terms when they appear in various places in the embodiments of this application can be referred to the following content.

[0045] Application components: These are applications with specific functions and uses that can be developed, tested, and maintained independently. They are typically designed as reusable modules or sub-applications for reuse in different business processes.

[0046] Workflow: A workflow is a method for automating the management and execution of business processes, implemented through a functional body composed of one or more application components. A workflow defines the sequence and logical relationships of a series of tasks, operations, and decision points to achieve specific business objectives. In this embodiment, the workflow includes one or more application components, and the logic for each application component to perform actions is defined within the workflow.

[0047] Intelligent agents generally refer to entities with a certain degree of intelligence and autonomy; they can be software, hardware, or a system. Intelligent agents can perceive changes in the environment (such as through sensors or data input), make judgments and decisions based on their learned knowledge and algorithms, and then execute actions or achieve expected goals. Based on this, intelligent agents can be used to execute actions based on input information to achieve expected goals. Intelligent agents possess the ability to learn autonomously and evolve continuously, without relying on a large number of parameters and complex neural network structures. For example, an intelligent agent may include various algorithms, models, and programs to achieve the above functions. However, unlike conventional deep learning models, intelligent agents do not simply rely on specific data and algorithms to calculate input data and output results.

[0048] Examples include intelligent voice assistants in software intelligent agents and industrial robots in hardware intelligent agents. Intelligent agents can autonomously perceive environmental information, analyze and reason, make decisions, and finally take corresponding actions to achieve specific goals. Environmental information refers to information about the environment in which the intelligent agent exists, such as the operating environment, the entities with which the intelligent agent has relationships (e.g., interaction relationships), or information issued by those entities, such as various instructions input by these entities to the intelligent agent, including natural language instructions from users.

[0049] First, the application scenarios of the embodiments of this application will be introduced by way of example.

[0050] In workflow automation orchestration, translating natural language into workflow refers to the process where software or hardware-based devices understand user intent based on natural language commands (natural language text) and automatically orchestrate the workflow. In workflow automation orchestration, the user intent contained in the natural language commands typically indicates a task that requires a specific workflow to complete, such as "Download the attachments of unread emails in my inbox at 9:00 AM on a weekday."

[0051] Figure 1This diagram illustrates an application scenario for a natural language translation workflow. Figure 1 As shown, in the application scenario 100 of the natural language to speech conversion workflow, there are terminal device 110 and server 120. Terminal device 110 and server 120 can transmit data through a network.

[0052] The terminal device 110 is used to acquire the user's natural language commands and send them to the server 120. Specifically, the terminal device 110 can be a personal computer (desktop or laptop), smartphone, tablet, smart bracelet, smart home device, or various smart industrial control terminals.

[0053] Server 120 runs a large language model (LLM). Server 120 obtains natural language instructions sent by terminal device 110 via the network, and generates workflows based on the natural language instructions using the LLM. Server 120 can be a standard general-purpose server, specifically a blade server, high-density server, rack server, or high-performance server, or it can be a cloud server capable of providing computing services.

[0054] In related technologies, a workflow orchestration scheme based on retrieval augmented generation (RAG) is typically adopted to transform natural language into a workflow. Figure 2 A schematic diagram of the RAG-based workflow orchestration process is shown. Figure 2 As shown, the system includes a retrieval unit 210, a large language model 220, and a component library 230. The retrieval unit 210 obtains the user's natural language instructions and retrieves components related to those instructions from the component library 230. The retrieval unit 210 inputs these related components into the large language model 220. The large language model 220 orchestrates the workflow based on these related components and the user's natural language instructions, and outputs the orchestration results.

[0055] However, the methods described above rely entirely on the capabilities of a large language model during workflow orchestration. If the large language model encounters instructions or abnormal data beyond its comprehension, the orchestration results will be inaccurate. Furthermore, since the processing of the large language model is uncontrollable, it is difficult to trace the source of errors and intervene or correct them once inaccurate orchestration occurs. Typically, multiple orchestration iterations are required to obtain a workflow that matches the user's intent. Therefore, workflow orchestration efficiency is low.

[0056] In view of this, embodiments of this application provide a workflow orchestration method, which can be executed by a workflow orchestration system including a first agent and a second agent. The first agent and the second agent are different agents. The method includes: the first agent, in response to a user's natural language instruction, determining a target component flow; and the second agent, based on the user's natural language instruction, filling in parameters for application components in the target component flow to obtain a target workflow. The target component flow includes one or more target components and their operational logic, such as the interaction order and logical relationships between different target components. The target workflow is the result obtained after filling in the parameters for the application components in the target component flow, and is used to utilize the functions of each target component to complete the task indicated by the user's intent.

[0057] In the above embodiments, the target component is an application component that satisfies the user intent corresponding to the natural language command; the interaction sequence can be understood as the temporal relationship between the operations performed by each target component, and the logical relationship can be understood as various decision logics or judgment logics in the workflow (such as making decisions or triggering the next operation based on the operation result of the previous operation).

[0058] The aforementioned method for workflow orchestration, where a first and second intelligent agent jointly implement the process, decomposes the workflow orchestration task into sub-tasks, each completed independently by a first and a second intelligent agent. Unlike related technologies, where the orchestration task is independently undertaken by a large language model, in this application, the first and second intelligent agents jointly perform workflow orchestration. Specifically, the first intelligent agent generates a target component flow based on the user's intent indicated by natural language instructions, and its output is the component flow. The second intelligent agent then fills in the parameters of the application components in the target component flow based on natural language instructions to obtain the target workflow, and its output is the workflow orchestration result.

[0059] Since the output of the first agent is the target component stream, it is possible to trace the intermediate data (i.e., the target component stream) during the workflow orchestration process, thereby correcting errors in a timely manner. Furthermore, both the first and second agents execute their respective subtasks independently based on the user's natural language commands, thus eliminating interference from other roles (e.g., the first agent is an "other role" to the second agent), reducing errors or deviations by both agents, and resulting in more accurate workflow orchestration. This avoids repeated workflow orchestration, thereby improving workflow orchestration efficiency.

[0060] Secondly, the system architecture of the embodiments of this application will be described by way of example.

[0061] Figure 3A schematic diagram of a workflow orchestration system 300 provided in an embodiment of this application is shown. Figure 3 As shown, the workflow orchestration system 300 includes a first intelligent agent 310 and a second intelligent agent 320. In this workflow orchestration system 300, the intelligent agents, including the first intelligent agent 310 and the second intelligent agent 320, can be autonomous and adaptive software capable of simulating human intelligent behavior. Specifically, the first intelligent agent 310 is used to acquire the user's natural language instructions and, in response to the user's natural language instructions, determine the target component flow. For example, the first intelligent agent 310 includes a retrieval unit. The first intelligent agent 310 parses the user's intent from the user's natural language instructions and determines the target component from the component library 230 using the retrieval unit. The target component includes one or more application components that satisfy the user's intent corresponding to the natural language instructions. The first intelligent agent 310 then determines the target component flow based on the target component and outputs it to the second intelligent agent 320. The second intelligent agent 320 is used to fill in the parameters of the target component flow according to the natural language instructions to obtain the target workflow. For example, the second intelligent agent 320 first determines the target parameters from the user's natural language instructions, and then fills the application components in the target component flow with parameters according to the target parameters to obtain the target workflow. Here, the target parameters are the parameters related to the target components in the natural language instructions. For example, in the natural language instruction example "Download the attachments of unread emails in my inbox at 9:00 AM on a weekday," "weekday," "9:00 AM," and "unread" are the target parameters. By filling the target parameters into the target workflow, the application components can work according to these target operations.

[0062] In the above embodiments, the component library 230 may be a collection of pre-designed and developed application components. These application components are typically designed as reusable modules or applications for reuse in different business processes. The component library 230 may be deployed on the same computing device as the workflow orchestration system 300, or it may be deployed on different computing devices.

[0063] In one possible implementation, the workflow orchestration system 300 also includes a third agent. This third agent responds to the user's natural language commands, determines the orchestration flow based on the user's intent indicated by the commands, and instructs either the first or third agent to perform tasks to generate the target workflow. In other words, the third agent primarily allocates and schedules tasks for the first or second agent based on the user's natural language commands, making the workflow orchestration system 300 more flexible, rather than having each agent work according to a fixed flow. The orchestration flow can be understood as the operational process that each agent needs to execute to orchestrate the target workflow.

[0064] Optionally, natural language instructions include text instructions or voice instructions; in the case of a natural language instruction being a voice instruction, a third agent or a first agent may convert the voice instruction into a text instruction.

[0065] For example, if the workflow generated by the user intent includes multiple application components, or if no component flow has been generated, the third agent instructs the first agent to determine the target component flow based on natural language instructions. Furthermore, if the workflow generated by the user intent includes only one application component, the third agent determines the target component flow. Alternatively, if a component flow corresponding to the user intent already exists and has been generated, the third agent uses the component flow corresponding to the workflow as the target component flow. Here, a generated component flow can be understood as a component flow that the workflow orchestration system 300 has previously generated based on the same or similar user intent, conforming to that user intent. This example shows that the third agent may instruct the first agent to determine the target component flow based on the user's natural language instructions, or it may determine the target component flow itself. In the case of determining the target component flow (which may be determined and output by the first agent or by the third agent), the third agent instructs the second agent to fill in the parameters of the application components in the target component flow according to natural language instructions.

[0066] Optionally, all or part of the functions of the first intelligent agent 310 can be performed by one or more intelligent agents, and the same applies to the second and third intelligent agents. Each of the first, second, or third intelligent agents can be considered an independent computing entity, capable of continuously and autonomously functioning and interacting with the user. Specifically, it can be software, hardware, or other entities. The architecture of the workflow orchestration system 300 varies depending on the form of the first, second, and third intelligent agents, and is not limited here.

[0067] For example, if the first intelligent agent 310, the second intelligent agent 320, and the third intelligent agent are all software, then the aforementioned workflow orchestration system 300 is also a software system that can run on one or more computing devices. These computing devices can specifically include servers, personal computers, laptops, tablets, intelligent robots, etc., which receive natural language commands sent by users through input devices or their own display screens. Optionally, the workflow orchestration system 300 can also run on cloud servers, virtual machines, or containers, and can receive natural language commands sent by users' terminal devices via a network. These user terminal devices specifically include personal computers, laptops, tablets, mobile phones, smartwatches, smart home devices, or various intelligent industrial control terminals.

[0068] It should be noted that the system architecture and application scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0069] For ease of understanding, the workflow orchestration method provided in this application is described below with reference to the accompanying drawings. This workflow orchestration method is applicable to... Figure 3 The workflow orchestration system 300 shown is shown.

[0070] Figure 4 This illustration shows a flowchart of a workflow orchestration method according to an embodiment of this application. The workflow orchestration method is executed by, for example, the workflow orchestration system 300 described above. Figure 4 As shown, the method includes the following steps:

[0071] S101, the first intelligent agent responds to the user's natural language instructions and determines the target component flow.

[0072] An application component is an application that can perform a specific function or complete a specific task, and can interact and collaborate with other application components. A target component flow includes one or more target components, as well as the order of interactions and the logical relationships of operations performed between them. Target components are application components that fulfill the user's intent corresponding to natural language instructions.

[0073] In one possible implementation, the first agent retrieves the target component from a component library based on natural language instructions, and then determines the target component flow based on the natural language instructions and the target component. The component library stores multiple application components.

[0074] For example, the first agent parses the user's intent from the natural language instruction, identifies the target component that can realize the user's intent, and uses a filtering tool to obtain the target component from the component library. Based on the target component and the natural language instruction, the first agent uses an orchestration tool to orchestrate the target component, generating a target component stream.

[0075] For example, taking the natural language instruction "Download the attachments of unread emails in my inbox at 9:00 AM on a weekday" as an example, the first agent responds to the natural language instruction by parsing it to understand the user's intent and determine that the target components include a calendar component, a clock component, and an email component. The first agent then uses a filtering tool, such as a retrieval tool, to retrieve the calendar, clock, and email components from a component library. The first agent then calls an orchestration tool to generate and output a target component stream based on the target components and the user intent corresponding to the natural language instruction. The target component stream includes the interaction order and execution logic between the target components. For example, assuming the calendar component meets the requirement of a weekday, at a specific time point in the clock component, the email component is invoked to retrieve the attachments from unread emails.

[0076] S102, the second intelligent agent fills in the parameters of the application components in the target component flow according to the natural language instructions, and obtains the target workflow.

[0077] Natural language instructions include target parameters.

[0078] In one possible implementation, the second agent invokes a parameter filling tool to fill in the parameters of the application components in the target component flow, thereby obtaining the target workflow.

[0079] For example, taking the natural language instruction "Download the attachments of unread emails in the email address diyiyonghu@youxiang at 9:00 AM on weekdays" as an example, the second agent receives the target component stream sent by the first agent. The second agent responds to the natural language instruction and parses the target parameters from it. The calendar component parameters include "Monday to Friday," the clock component parameters include "9:00 AM," and the email component parameters include "account information diyiyonghu@youxiang." The second agent first calls the parameter filling tool to obtain the parameter templates for each target component in the target component stream. These parameter templates are used to standardize and manage the parameter settings of each target component. The second agent then calls the parameter filling tool again to fill the target parameters one by one into the parameter templates of each target component. That is, "Monday to Friday" is filled into the parameter template corresponding to the calendar component; "9:00 AM" is filled into the parameter template corresponding to the clock component; and the account "diyiyonghu@youxiang" is filled into the parameter template corresponding to the email address. Thus, the parameter filling of the target component stream is completed, resulting in the target workflow.

[0080] As described above, the workflow orchestration process is broken down by dividing the work between the first and second intelligent agents. The first agent determines the target component flow based on the user intent corresponding to the natural language instructions; the second agent determines the target parameters based on the natural language instructions and fills them into each target component in the target component flow, completing the orchestration of the target workflow. This avoids relying entirely on a large language model during the workflow orchestration process, which could lead to inaccurate workflow orchestration results. Furthermore, the method first determines the target component flow through the first agent, and then the second agent determines the target workflow based on the target component flow. Therefore, the intermediate output of the workflow orchestration (which is the target component flow) can be traced, allowing for timely correction of the orchestration results. Moreover, during the process of the first agent determining the target component flow based on the natural language instructions, and during the process of the second agent filling the target component flow with parameters based on the natural language instructions, both agents act independently according to the natural language instructions. For example, the second agent parses the natural language instructions itself to complete the parameter filling, without relying on the first agent's analysis of the natural language instructions. In this way, the first and second agents can operate without interfering with each other, resulting in more accurate workflow orchestration and thus improving workflow orchestration efficiency.

[0081] In some embodiments, the workflow orchestration system further includes a third agent; before the first agent determines the target component flow in response to a user's natural language instruction, the method further includes: the third agent, in response to the user's natural language instruction, instructing the first agent to determine the target component flow according to the natural language instruction.

[0082] For example, the third agent responds to natural language instructions, analyzes and understands the user intent corresponding to the natural language instructions, and plans workflow orchestration tasks according to the user intent. If the workflow generated by the user intent instruction includes multiple application components or there is no generated component flow, the third agent sends the natural language instructions to the first agent and instructs the first agent to determine the target component flow according to the natural language instructions.

[0083] For example, the third agent receives a natural language user instruction: "Download the attachment file of the unread email in the email address diyiyonghu@youxiang at 9:00 AM on a weekday." The third agent parses and understands the natural language instruction and determines that it contains three components. Simultaneously, the third agent determines that no component stream related to this user intent has already been generated. At this point, the third agent sends the natural language instruction to the first agent and a generation instruction, instructing the first agent to generate the target component stream based on the natural language instruction.

[0084] In another example, if a third agent responds to and analyzes a user's natural language instruction and understands the user's intent, and the workflow generated by that user intent includes only one application component, the third agent invokes a retrieval tool to determine the target component, thereby determining the target component flow. Alternatively, if it is determined that a generated component flow exists that matches the user's intent, the third agent determines that generated component flow as the target component flow.

[0085] As described above, the third agent responds to natural language commands, not according to fixed algorithms or preset execution logic, to orchestrate workflow tasks. Instead, it acts as the decision-making body and issues commands to other agents. Leveraging its intelligence, the third agent parses the user's natural language commands to understand their corresponding user intent. Based on this intent, it pre-arranges workflow tasks, deciding which agents to assign the tasks to. The first and second agents simply accept the third agent's scheduling and instructions. This improves the flexibility of orchestration task execution and clarifies the division of labor among different agents, thereby increasing the efficiency of target component flow generation.

[0086] In one possible implementation, since the third agent is an autonomous and adaptive computational entity, it can mimic human intelligent behavior. Therefore, after the first or third agent determines the target component flow, the third agent reflects on the target component flow: determining whether the target component flow conforms to the user's intent corresponding to the natural language; if the third agent determines that the target component flow does not conform to the user's intent corresponding to the natural language, the third agent updates the workflow orchestration process and, based on the updated workflow orchestration process, re-determines the target component flow until the determined target component flow conforms to the user's intent.

[0087] For example, taking the natural language instruction "Download the attachments of unread emails in my inbox at 9:00 AM on a weekday" as an example, the third agent responds to the natural language instruction and determines to orchestrate the target workflow according to the first orchestration process. Specifically, the third agent parses and understands the natural language instruction, determining that the instruction contains three components. Simultaneously, the third agent determines that no component flow related to this user intent has already been generated. Therefore, the third agent sends the natural language instruction to the first agent, instructing it to determine the component flow based on the instruction. The interaction sequence and execution logic in the target component flow contained in the natural language instruction include: when the clock component is at a specific time node, calling the email component to retrieve the attachments from unread emails and determining whether the unread emails were received on a weekday. The third agent obtains the component flow generated by the first agent and reflects on the received component flow. If the component flow does not meet the user intent corresponding to the natural language instruction, or if the component flow is inaccurate, the third agent updates the workflow orchestration process. Specifically, the third agent sends an update command to the first agent, instructing the first agent to re-determine the target component flow. Responding to the update command, the first agent re-parses the natural language instruction. Based on the instruction "Download the attachments of unread emails in the mailbox at 9:00 AM on a weekday," it re-determines the target components as a calendar component, a clock component, and an email component. It then rearranges the updated target components to determine a new component flow. The interaction sequence and execution logic in the re-determined target component flow include: calling the calendar component to determine if it is a weekday; if it is a weekday, and the clock component is at a specific time point, calling the email component to retrieve the attachments of unread emails. Alternatively, the third agent adjusts or updates the component flow based on the natural language instruction and the received component flow to determine a new component flow. The third agent only designates a component flow as the target component flow when it determines that the component flow satisfies the user intent corresponding to the natural language instruction.

[0088] It should be noted that, due to the intelligence and autonomy of the agent, the reflection process of the third agent differs from the comparison, verification, and judgment processes in conventional computing entities. If, through this reflection process, the third agent determines that the target component stream does not satisfy the user's intent, it instructs the first agent to parse the natural language instruction again and regenerate the target component stream. This regenerated target component stream will be different from the previously generated one, as it is highly likely to satisfy the user's intent. Alternatively, a less common scenario exists where the first agent parses the natural language instruction again and regenerates the same target component stream as the previously generated one. In this case, the third agent reflects again. If it determines that the target component stream generated by the first agent this time satisfies the user's intent, then the third agent's reflection process is different from the previous one.

[0089] Optionally, the process of determining whether the target component flow conforms to the user's intent corresponding to the natural language can be executed by a fourth agent, where the fourth agent is an independent agent and is not limited here.

[0090] As can be seen from the above, the process of using a third intelligent agent to determine whether the target component flow conforms to the user's intent corresponding to the natural language instruction further improves the accuracy of the target component flow, thereby improving the accuracy of the generated target workflow.

[0091] In one possible implementation, after the third agent determines the target component flow, the third agent sends natural language instructions and the target component flow to the second agent, instructing the second agent to populate the target application components in the target component flow with parameters according to the natural language instructions. The second agent obtains the target parameters from the natural language instructions and populates the application components in the target component flow with parameters according to the target parameters to obtain the target workflow. The specific implementation is the same as S102 above, and will not be repeated here.

[0092] In other embodiments, the third agent is also used to verify whether the target workflow conforms to the user intent corresponding to the user's natural language instructions, further improving the accuracy of workflow orchestration. In one possible implementation, the third agent obtains the target component flow after parameter filling and determines whether the parameter-filled target component flow conforms to the user intent corresponding to the natural language; if it is determined that the parameter-filled target component flow does not conform to the user intent corresponding to the natural language, the third agent instructs the second agent to re-fill the parameters of the target component flow; if it is determined that the parameter-filled target component flow conforms to the user intent corresponding to the natural language, the parameter-filled target component flow is determined as the target workflow and output.

[0093] Optionally, the process of determining whether the target component flow after parameter filling conforms to the user intent corresponding to the natural language can be executed by a fourth intelligent agent, where the fourth intelligent agent is an independent intelligent agent, and is not limited here.

[0094] As can be seen from the above, by using a third intelligent agent to determine whether the target component flow after parameter filling conforms to the user intent corresponding to the natural language instruction, the traceability of the target workflow orchestration process is realized, the accuracy of the target workflow orchestration is improved, and thus the accuracy of the target workflow orchestration is enhanced.

[0095] In one possible implementation, a third agent triggers the target workflow and obtains the execution result corresponding to the target workflow; if the third agent determines that the execution result conforms to the user intent corresponding to the natural language instruction, it outputs the target workflow; if the third agent determines that the execution result does not conform to the user intent corresponding to the natural language instruction, it updates the target workflow.

[0096] For example, before triggering the target workflow, the third agent determines, based on the natural language instructions, whether the target workflow needs to be tested in a real application environment (such as a user device). If the third agent determines that the target workflow needs to be tested in a real application environment, it triggers the target workflow and obtains the execution result corresponding to the target workflow. Next, the third agent determines whether the execution result matches the user intent corresponding to the natural language instructions. If the execution result does not match the user intent, the third agent re-understands and parses the natural language instructions, redetermines the target component flow, including instructing the first agent to regenerate the target component flow; and instructing the second agent to re-parse the natural language instructions, and re-fill the parameters of the redetermined target component flow, thereby updating the target workflow, until the third agent determines that the execution result of the target workflow matches the user intent. If the third agent determines that the execution result matches the user intent corresponding to the natural language instructions, the third agent outputs the target workflow.

[0097] Optionally, if the third agent determines that it is not necessary to test the target workflow in a real-world application environment, the third agent outputs the target workflow.

[0098] In one possible implementation, if the third agent determines that the execution result does not conform to the user's intent corresponding to the natural language instruction, the target workflow is updated. Specifically, the third agent redetermines the target component flow, including instructing the first agent to update the target component flow according to the natural language instruction; the third agent instructs the second agent to fill in the application components in the updated target component flow with parameters according to the natural language instruction, thereby obtaining the updated target workflow.

[0099] For example, if the third agent determines that the execution result does not conform to the user intent corresponding to the natural language instruction, the third agent sends an update instruction to the first agent. The update instruction instructs the first agent to update the target component flow. In response to the update instruction, the first agent re-parses the natural language instruction and regenerates the target component flow based on the instruction. Specifically, the target workflow is generated from the natural language instruction "Download the attachments of unread emails in the mailbox at 9:00 AM on a weekday." If the third agent determines that the execution result does not conform to the user intent corresponding to the natural language instruction, it sends an update instruction to the first agent, instructing the first agent to re-parse the natural language instruction and understand the user intent. The specific implementation of the first agent calling the filtering tool to determine the target component and calling the orchestration tool to regenerate a new target component flow based on the target component and the user intent corresponding to the natural language instruction is the same as described in S101 above, and will not be repeated here. In response to the natural language instruction, the second agent populates the application components in the updated target component flow with parameters. Specifically, the second agent re-parses the natural language instruction and updates the target parameters. The second agent populates the updated target parameters into each application component in the updated target component stream, thereby updating the target workflow. The process by which the second agent populates the updated target component stream with the redefined target parameters based on the reinterpreted natural language instructions is the same as the method described in S102 above, and will not be repeated here.

[0100] Optionally, after the first agent updates the target component stream, the third agent acquires and determines whether the updated target component stream conforms to the user intent corresponding to the natural language instruction. Similarly, after the second agent updates the parameter-filled target component stream, the third agent acquires and determines whether the updated parameter-filled target component stream conforms to the user intent corresponding to the natural language instruction.

[0101] Figure 5 A logical schematic diagram of a workflow orchestration method provided in an embodiment of this application is shown. Figure 5As shown, the workflow orchestration system includes a first agent, a second agent, and a third agent. The workflow orchestration system can receive natural language instructions sent by the user. The third agent responds to the natural language instructions and determines the orchestration task plan (S201). Specifically, the third agent parses the natural language instructions, understands the user's intent, and plans the workflow orchestration task. The third agent determines whether the orchestration task includes the first orchestration task (S202). The user intent indicated by the natural language instruction corresponding to the first orchestration task includes cases where the generated workflow includes multiple application components or where there is no corresponding component flow for the generated workflow. If the orchestration task does not include the first orchestration task, the third agent determines the target component flow (S204). That is, after the third agent understands the natural language instructions and determines the user intent corresponding to the natural language instructions, including cases where the generated workflow includes only one application component, the third agent can, based on the natural language instructions, invoke a filtering tool to filter and determine the target component from the component library, thereby determining the target component flow. Optionally, the third agent determines that the component flow in the workflow generated by the user intent indicated by the natural language instruction already exists, and identifies this component flow as the target component flow. If the orchestration task includes a first orchestration task, the third agent instructs the first agent to determine the target component flow based on the natural language instruction (S203). Specifically, the third agent sends the natural language instruction to the first agent and sends a generation instruction, instructing the first agent to generate the target component flow based on the natural language instruction. The first agent responds to the natural language instruction, parses and understands the user intent corresponding to the natural language instruction, and determines the target components. The number of target components is greater than one. The first agent obtains the target components from the component library using a filtering tool. Simultaneously, the first agent determines the target component flow based on the target components using an orchestration tool.

[0102] The third agent can obtain the target component stream generated by the first agent. The third agent determines whether the target component stream conforms to the user's intent (S205). If the third agent determines that the target component stream does not conform to the user's intent corresponding to the natural language instruction, the third agent instructs the target component stream to be updated (S207). Specifically, the third agent parses the natural language instruction again, determines the orchestration task plan, and redetermines the target component stream in the same way as described above, which will not be repeated here. If the third agent determines that the target component stream conforms to the user's intent corresponding to the natural language instruction, the third agent instructs the first agent to output the target component stream (S206).

[0103] The third agent instructs the second agent to populate parameters for the application components in the target component stream (S208). That is, the third agent instructs the second agent to populate parameters for the target application components in the target component stream based on the target component stream returned by the first agent and the natural language instructions. Specifically, the second agent parses the natural language instructions and obtains the target parameters from them. The second agent populates the target parameters into the corresponding target application components in the target component stream. For example, the second agent calls a template retrieval tool to obtain the parameter templates for each target component in the target component stream. The second agent calls a filling tool to populate the target parameters one by one into the parameter templates of each target component corresponding to the parameters. Based on the obtained target component stream with filled parameters and the natural language instructions, the third agent determines whether the target component stream with filled parameters conforms to the user's intent (S209). If the third agent determines that the target component stream with filled parameters does not conform to the user's intent, it updates the target parameters (S211). Specifically, the third agent instructs the second agent to parse the natural language instruction again, re-acquire the target parameters, and fill them in. The method by which the second agent re-acquires the target parameters and fills them in is the same as described above and will not be repeated. If the third agent determines that the target component flow after parameter filling matches the user's intent, the third agent determines the target workflow (S210). That is, the third agent determines the target component flow after parameter filling as the target workflow.

[0104] Steps S205 and S209, which are executed by the third agent, can also be executed by the fourth agent in the workflow orchestration system to reflect on the execution results of the first and second agents, avoid interference from other perspectives in the reflection process, improve the accuracy of the reflection process, and further improve the accuracy of the workflow orchestration results.

[0105] The third agent triggers the target workflow and obtains its execution result (S212). That is, the third agent can test the generated workflow in the user's actual environment (e.g., on the user's device), and determine whether the execution result matches the user's intent (S213). If the third agent determines that the execution result does not match the user's intent corresponding to the natural language instruction, the third agent instructs the target component flow to be updated (S207). The method for the third agent to re-determine the target component flow is the same as described above and will not be repeated here. If the third agent determines that the execution result matches the user's intent corresponding to the natural language instruction, the third agent outputs the target workflow (S214).

[0106] For example, taking the natural language instruction as "Remind me to clock in every weekday morning at 9 AM via SMS. The phone number is 12345678910, and the message is 'Remember to clock in'", the third agent responds to the natural language instruction, parses it, and determines that the workflow corresponding to the natural language instruction includes two application components. The third agent instructs the first agent to determine the target workflow. Based on the natural language instruction, the first agent uses a filtering tool to determine that the target components are a clock component and a social networking services (SNS) component, and generates a target component flow using an orchestration tool. The third agent instructs the second agent to fill in the parameters based on the target component flow returned by the first agent and the target parameters in the natural language instruction. The third agent determines the parameter-filled target component flow as the target workflow. The target workflow output by the third agent is shown below:

[0107]

[0108] Optionally, the first agent responds to the supplementary instruction and updates the target component flow; the second agent, based on the supplementary instruction, populates the application components in the updated target component flow with parameters to obtain the updated target workflow. The supplementary instruction is an instruction associated with a natural language instruction.

[0109] In other words, after the workflow orchestration system receives natural language instructions, a third-party agent determines whether the currently received natural language instruction is related to the user intent corresponding to the previous natural language instruction. If so, the third-party agent performs orchestration task planning based on the relationship. Specifically, the third-party agent updates the target component flow or updates the target parameters, thereby updating the target workflow.

[0110] For example, in a workflow orchestration system, if the natural language instruction is "Remind me to clock in every weekday morning at 9:00 AM via SMS, the phone number is 12345678910, and the message is 'Remember to clock in'", and the user wants to change "9:00 AM" to 8:00 AM, the user doesn't need to re-enter the complete natural language instruction; they only need to enter "Change to 8:00 AM". The third agent parses the supplementary instruction and plans the orchestration task. The third agent determines that a target workflow already exists and instructs the second agent to re-fill the parameters of the clock component in the target component flow according to the supplementary instruction, resulting in an updated target workflow.

[0111] As can be seen from the above, the workflow orchestration system can interact with the user in multiple rounds through a third intelligent agent, which can not only improve the speed of workflow orchestration, but also improve the autonomy and interactivity of the workflow orchestration system, thereby improving the efficiency of workflow orchestration.

[0112] In summary, this application provides a workflow orchestration method to improve the accuracy and efficiency of workflow orchestration. This method is applied to a workflow orchestration system, which includes a first intelligent agent and a second intelligent agent. The first and second intelligent agents are different intelligent agents. The intelligent agent includes software entities or other hardware entities with autonomy and adaptability. The method includes the first intelligent agent determining a target component flow in response to a user's natural language instruction. The second intelligent agent fills in parameters for application components in the target component flow according to the natural language instruction to obtain a target workflow. The target component includes one or more components that satisfy the user's intent corresponding to the natural language instruction. The component indicates an application that can independently implement a specific function or complete a specific task, and can interact and collaborate with other components. The target component flow includes the order of interaction between target components. The target workflow includes a functional body composed of functions corresponding to the target components arranged in a specific interaction order. In this application embodiment, the first and second intelligent agents jointly perform workflow orchestration. The workflow orchestration process is broken down into tasks using a multi-agent approach. Each subtask is executed independently by a first agent and a second agent. This orchestration method not only tracks intermediate outputs (e.g., target component flows) and allows for timely correction, but also eliminates reliance on the analysis of natural language instructions by the first or second agent during independent subtask execution. This removes the perspectives of other agents, reduces interference, and minimizes errors or deviations by both agents, resulting in more accurate orchestration. Furthermore, it avoids repeated workflow orchestration, further improving orchestration efficiency.

[0113] The foregoing mainly describes the solutions of the embodiments of this application from a methodological perspective. It is understood that, in order to achieve the above-mentioned functions, the first intelligent agent includes at least one of the hardware structures and software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.

[0114] This application embodiment can divide the first intelligent agent into functional units according to the above method example. For example, each function can be divided into different functional units, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software functional unit. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0115] For example, Figure 6 A schematic diagram of the structure of a device 400 for a first intelligent agent provided in an embodiment of this application is shown. Figure 6 As shown, the device of the first intelligent agent can be applied in a computing device, and the device 400 of the first intelligent agent includes:

[0116] The retrieval module 410 is used to parse natural language instructions and retrieve target components from the component library, which is used to store multiple components.

[0117] The orchestration module 420 is used to determine the target component flow based on natural language instructions and target components.

[0118] Both the retrieval module 410 and the arrangement module 420 can be implemented in software or in hardware. For example, the implementation of the retrieval module 410 will be described below. Similarly, the implementation of the arrangement module 420 can be referenced to that of the retrieval module 410.

[0119] As an example of a software functional unit, the retrieval module 410 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, the retrieval module 410 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.

[0120] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0121] As an example of a hardware functional unit, the retrieval module 410 may include at least one computing device, such as a server. Alternatively, the retrieval module 410 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0122] The multiple computing devices included in the retrieval module 410 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the retrieval module 410 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the retrieval module 410 can be distributed in the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0123] It should be noted that, in other embodiments, the retrieval module 410 can be used to execute any step in the workflow orchestration method, and the orchestration module 420 can be used to execute any step in the workflow orchestration method. The steps implemented by the retrieval module 410 and the orchestration module 420 can be specified as needed. The device 400 for the first intelligent agent can realize all functions by implementing different steps in the workflow orchestration method through the retrieval module 410 and the orchestration module 420 respectively.

[0124] This application embodiment can divide the second intelligent agent into functional units according to the above method example. For example, each function can be divided into different functional units, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software functional unit. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0125] For example, Figure 7 A schematic diagram of the structure of a device 800 for a second intelligent agent according to an embodiment of this application is shown. Figure 7 As shown, the device of the second intelligent agent can be applied in a computing device, and the device 800 of the second intelligent agent includes:

[0126] The acquisition module 810 is used to acquire the target parameters in the natural language instructions.

[0127] The filling module 820 is used to fill the application components in the target component flow with parameters according to the target parameters to obtain the target workflow.

[0128] Both the acquisition module 810 and the filling module 820 can be implemented in software or in hardware. For example, the implementation of the acquisition module 810 will be described below. Similarly, the implementation of the filling module 820 can refer to the implementation of the acquisition module 810.

[0129] As an example of a software functional unit, the retrieval module 410 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, the acquisition module 810 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.

[0130] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0131] As an example of a hardware functional unit, the acquisition module 810 may include at least one computing device, such as a server. Alternatively, the acquisition module 810 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0132] The multiple computing devices included in the acquisition module 810 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the acquisition module 810 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the acquisition module 810 can be distributed in the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0133] It should be noted that, in other embodiments, the acquisition module 810 can be used to execute any step in the workflow orchestration method, and the filling module 820 can be used to execute any step in the workflow orchestration method. The steps implemented by the acquisition module 810 and the filling module 820 can be specified as needed. By implementing different steps in the workflow orchestration method through the acquisition module 810 and the filling module 820 respectively, all functions of the device 800 for the second intelligent agent can be realized.

[0134] This application embodiment can divide the third intelligent agent into functional units according to the above method example. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software functional unit. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0135] For example, Figure 8 A schematic diagram of the structure of a device 1000 for a third intelligent agent according to an embodiment of this application is shown. Figure 8 As shown, the device of the third intelligent agent can be applied in a computing device, and the device 1000 of the third intelligent agent includes:

[0136] The parsing module 1010 is used to respond to the user's natural language command and determine the user's intent corresponding to the natural language command;

[0137] The processing module 1020 is used to instruct the first intelligent agent to determine the target component flow according to natural language instructions when the workflow generated by the user intent instruction includes multiple application components or there is no component flow corresponding to the generated workflow.

[0138] In one possible implementation, the processing module 1020 is further configured to determine the target component flow if the workflow to be generated corresponding to the user intent includes only one application component; or, if there is an already generated component flow corresponding to the user intent, the third agent uses the component flow corresponding to the workflow as the target component flow.

[0139] In one possible implementation, the processing module 1020 is also used to instruct the second agent to fill in the application components in the target component stream with parameters according to natural language instructions.

[0140] In one possible implementation, the processing module 1020 is further configured to instruct the second agent to fill in the application components in the target component stream with parameters according to natural language instructions if the third agent determines that the target component stream conforms to the user's intent.

[0141] In one possible implementation, the processing module 1020 is further configured to trigger the target workflow, obtain the execution result corresponding to the target workflow, and if the third agent determines that the execution result conforms to the user intent corresponding to the natural language instruction, output the target workflow; if the third agent determines that the execution result does not conform to the user intent corresponding to the natural language instruction, update the target workflow.

[0142] Both the parsing module 1010 and the processing module 1020 can be implemented in software or in hardware. For example, the implementation of the parsing module 1010 will be described below. Similarly, the implementation of the processing module 1020 can refer to the implementation of the parsing module 1010.

[0143] As an example of a software functional unit, the parsing module 1010 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, the parsing module 1010 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.

[0144] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0145] As an example of a hardware functional unit, the parsing module 1010 may include at least one computing device, such as a server. Alternatively, the parsing module 1010 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0146] The multiple computing devices included in the parsing module 1010 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the parsing module 1010 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the parsing module 1010 can be distributed in the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0147] It should be noted that, in other embodiments, the parsing module 1010 can be used to execute any step in the workflow orchestration method, and the processing module 1020 can be used to execute any step in the workflow orchestration method. The steps implemented by the parsing module 1010 and the processing module 1020 can be specified as needed. The device 1000 for the third intelligent agent can realize all functions by implementing different steps in the workflow orchestration method through the parsing module 1010 and the processing module 1020 respectively.

[0148] This application also provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform any of the above-described embodiments and various feasible implementation methods.

[0149] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the operations of any of the corresponding implementation schemes and various feasible implementation methods described above.

[0150] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0151] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0152] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions, which, when loaded and executed on a computer, generate all or part of the processes or functions described in the embodiments of this application. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one network site, computer, server, or data center to another network site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access, or it can be a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape, etc.), an optical medium (e.g., DVD, etc.), or a semiconductor medium (e.g., solid-state drive), etc.

[0153] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0154] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A workflow orchestration method, characterized in that, The method is applied to a workflow orchestration system, the workflow orchestration system including a first intelligent agent and a second intelligent agent, and the method includes: The first intelligent agent responds to the user's natural language instructions and determines the target component flow; The second intelligent agent fills in the application components in the target component flow with parameters according to the natural language instructions to obtain the target workflow.

2. The arrangement method according to claim 1, characterized in that, The system further includes a third intelligent agent; before the first intelligent agent determines the target component flow in response to a user's natural language command, the method further includes: The third agent responds to the user's natural language instruction and instructs the first agent to determine the target component flow based on the natural language instruction.

3. The arrangement method according to claim 2, characterized in that, The third agent, in response to the user's natural language instruction, instructs the first agent to determine the target component flow based on the natural language instruction, including: The third intelligent agent responds to the user's natural language command and determines the user's intent corresponding to the natural language command; If the third agent instructs the first agent to determine the target component flow based on the natural language instruction when the workflow to be generated corresponding to the user intent includes multiple application components or there is no generated component flow corresponding to the user intent.

4. The arrangement method according to claim 3, characterized in that, The method further includes: If a component flow corresponding to the already generated workflow exists, the third agent will use the component flow corresponding to the workflow as the target component flow.

5. The arrangement method according to any one of claims 2-4, characterized in that, Before the second intelligent agent fills in the parameters of the application components in the target component flow according to the natural language instructions to obtain the target workflow, the method further includes: The third agent instructs the second agent to fill in the parameters of the application components in the target component stream according to the natural language instructions.

6. The arrangement method according to claim 5, characterized in that, The third agent instructs the second agent to populate parameters for the application components in the target component stream according to the natural language instructions, including: If the third agent determines that the target component stream conforms to the user's intent, it instructs the second agent to fill in the application components in the target component stream with parameters according to the natural language instructions.

7. The arrangement method according to any one of claims 1-6, characterized in that, The second intelligent agent, based on the natural language instructions, fills in the parameters of the application components in the target component flow to obtain the target workflow, including: The second intelligent agent acquires the target parameters in the natural language instruction; The second intelligent agent fills in the application components in the target component flow with parameters according to the target parameters to obtain the target workflow.

8. The arrangement method according to any one of claims 1-7, characterized in that, The method further includes: The third intelligent agent triggers the target workflow and obtains the execution result corresponding to the target workflow; If the third agent determines that the execution result does not conform to the user intent corresponding to the natural language instruction, it updates the target workflow.

9. The arrangement method according to any one of claims 1-8, characterized in that, The method further includes: The first intelligent agent updates the target component flow in response to a supplementary instruction from the user; the supplementary instruction is an instruction associated with the natural language instruction. The second intelligent agent fills in the parameters of the application components in the updated target component flow according to the supplementary instructions, thereby obtaining the updated target workflow.

10. The arrangement method according to any one of claims 1-9, characterized in that, The first intelligent agent, in response to a user's natural language command, determines the target component flow, including: The first intelligent agent parses the natural language instruction and obtains the target component from the component library, which is used to store multiple components; The first intelligent agent determines the target component flow based on the natural language instructions and the target component.

11. A workflow orchestration system, characterized in that, include: The workflow orchestration system includes the first intelligent agent and the second intelligent agent; The first intelligent agent is used to determine the target component flow in response to the user's natural language instructions; The second intelligent agent is used to fill in the parameters of the application components in the target component flow according to the natural language instructions, so as to obtain the target workflow.

12. A computing device, characterized in that, The computing device includes: a processor and a memory for storing instructions executable by the processor; The processor is configured to execute the instructions, causing the computing device to perform the workflow orchestration method as described in any one of claims 1-10.

13. A computer program product, characterized in that, The computer program product includes instructions that, when executed by a computing device, cause the computing device to perform the workflow orchestration method as described in any one of claims 1-10.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes computer program instructions that, when executed by a computing device, enable the computing device to perform the workflow orchestration method as described in any one of claims 1-10.