Intelligent agent tuning method and apparatus, and computing device
By enabling intelligent agents to autonomously generate questions and interact with engineers, the high cost and low efficiency of intelligent agent training in existing technologies are solved, achieving rapid and low-cost optimization under conditions of no or few test sets.
Patent Information
- Application Number
- CN202410637766.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-08
- Filing Date
- 2024-05-20
- Publication Date
- 2025-11-11
AI Technical Summary
Existing agent training methods require the construction of a large number of test sets and it is difficult to accurately determine whether the agent has learned or mislearned a certain knowledge or ability, resulting in high optimization costs and low efficiency.
The agent proactively generates a knowledge catalog and questions, asks engineers questions and obtains answers, and identifies and optimizes questions by comparing the engineer's answers with the agent's answers, and learns using the target knowledge.
With little or no test set available, engineers can accurately assess the training status of the agent, enabling faster and lower-cost optimization.
Smart Images

Figure CN120930700A_ABST
Abstract
Description
[0001] This application claims priority to Chinese Patent Application No. 202410575667.8, filed on May 8, 2024, entitled “Method, Apparatus and Computing Device for Intelligent Agent Learning”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of AI, and more specifically, to a method, apparatus, and computing device for optimizing intelligent agents. Background Technology
[0003] An intelligent agent is an entity possessing intelligence. It is typically described as a software or hardware entity capable of autonomous action, perceiving its environment, understanding and responding to changes in that environment. Intelligent agents are characterized by autonomy, interactivity, responsiveness, and initiative. Autonomy means that an intelligent agent can autonomously formulate plans and execute actions based on its own goals and the state of the environment, without direct human intervention. Interactivity means that an intelligent agent can interact with other intelligent agents or humans, completing tasks through communication and collaboration. Responsiveness means that an intelligent agent can perceive changes in the environment in real time and react quickly to adapt to different environments. Initiative means that an intelligent agent can proactively seek out and discover goals, rather than merely reacting to the environment.
[0004] Existing methods for training AI agents all involve engineers preparing a learning environment, injecting knowledge, and allowing the agent to learn within that environment. For example, engineers construct a large test set and use this test set to test the agent's learning progress. This method has the following problems: 1. Engineers need to construct a large test set, and for some special cases that engineers haven't seen before, they still cannot test the results; 2. Engineers find it difficult to accurately determine whether the agent has learned / autonomously generated certain knowledge or abilities; 3. Engineers find it difficult to accurately determine whether the agent has learned incorrectly / failed to master certain knowledge or abilities.
[0005] Therefore, how to enable engineers to accurately grasp the training or learning status of the agent in the absence of or with few test sets, so as to optimize the agent faster and at lower cost, has become an urgent technical problem to be solved. Summary of the Invention
[0006] This application provides a method, apparatus, and computing device for optimizing an agent, which enables engineers to accurately grasp the training or learning status of the agent even without a test set or with a small test set, thereby optimizing the agent faster and at a lower cost.
[0007] Firstly, a method for optimizing an intelligent agent is provided. This method is applied to a first intelligent agent and includes: the first intelligent agent generating multiple knowledge directories based on learned knowledge; the first intelligent agent generating multiple questions for each of the multiple knowledge directories, and generating corresponding answers for each of the multiple questions; the first intelligent agent asking an engineer questions generated by the first intelligent agent; the first intelligent agent obtaining the engineer's answers to the multiple questions; the first intelligent agent comparing the engineer's answers with the answers generated by the first intelligent agent to determine the questions the first intelligent agent answered incorrectly; and the first intelligent agent optimizing itself based on target knowledge, wherein the target knowledge is knowledge related to the questions the first intelligent agent answered incorrectly.
[0008] In the above technical solution, the first intelligent agent can actively ask questions to a real person (e.g., an engineer), allowing the engineer to accurately grasp the training / learning status of the intelligent agent and understand the capability boundaries of the intelligent agent even without a test set or with a small test set, thereby enabling faster and lower-cost optimization of the intelligent agent.
[0009] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: the multiple knowledge catalogs are used to divide the knowledge learned by the first agent into multiple categories according to different knowledge domains, and each category includes keywords of the corresponding knowledge domain.
[0010] In the above technical solution, the first intelligent agent can autonomously generate multiple questions and corresponding answers based on its knowledge. This avoids engineers from building a large number of test sets. Furthermore, for some special cases that engineers have not seen before, engineers can still accurately grasp the training or learning status of the intelligent agent.
[0011] In conjunction with the first aspect, in some implementations of the first aspect, the first intelligent agent is optimized based on the target knowledge, including: the first intelligent agent learns the target knowledge as input knowledge to obtain the second intelligent agent.
[0012] In the above technical solution, based on the training / learning status of the intelligent agent known to the engineer, some new knowledge can be injected into the first intelligent agent, thereby enabling faster and lower-cost optimization of the first intelligent agent.
[0013] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: the first agent comparing the knowledge it possesses with the knowledge possessed by the second agent to determine whether the capabilities of the second agent have improved relative to the first agent.
[0014] In the above technical solution, the optimization of the agent is obtained by comparing the knowledge possessed by the new version of the agent (e.g., the second agent) and the old version of the agent (e.g., the first agent).
[0015] In conjunction with the first aspect, in some implementations of the first aspect, the first intelligent agent compares the knowledge it possesses with the knowledge possessed by the second intelligent agent to determine whether the capabilities of the second intelligent agent have improved relative to the first intelligent agent. This includes: the first intelligent agent comparing multiple knowledge directories generated by the first intelligent agent with multiple knowledge directories generated by the second intelligent agent to determine whether the capabilities of the second intelligent agent have improved relative to the first intelligent agent.
[0016] In the above technical solution, the optimization status of the agent is obtained by comparing the catalog of knowledge held by the new version of the agent (e.g., the second agent) and the old version of the agent (e.g., the first agent).
[0017] In conjunction with the first aspect, in certain implementations of the first aspect, the first intelligent agent compares the knowledge it possesses with the knowledge possessed by the second intelligent agent to determine whether the capabilities of the second intelligent agent have improved relative to the first intelligent agent, including: the first intelligent agent obtaining the answers given by the second intelligent agent and the engineer to at least one question; and the first intelligent agent comparing the answers given by the first intelligent agent, the second intelligent agent, and the engineer to the at least one question to determine whether the capabilities of the second intelligent agent have improved relative to the first intelligent agent.
[0018] In the above technical solution, the learning status of the second intelligent agent is obtained by comparing the answers given by the first intelligent agent, the second intelligent agent, and the engineer to at least one question, thereby judging the optimization results of the second intelligent agent relative to the first intelligent agent.
[0019] In conjunction with the first aspect, in some implementations of the first aspect, the at least one topic is a topic generated by the first agent, or the at least one topic is a topic generated by the second agent.
[0020] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: the first agent acquiring the question asked by the engineer to the second agent; and the first agent determining, based on the second agent's answer to the question, whether the capabilities of the second agent have improved relative to the first agent.
[0021] In conjunction with the first aspect, in some implementations of the first aspect, the questions asked include one or more of the following: target question, target domain.
[0022] In the above technical solution, the engineer can ask the second agent specific target questions or target domain questions. This can avoid the engineer building a large number of test sets, and for some special cases that the engineer has not seen before, the engineer can still accurately grasp the training or learning status of the second agent.
[0023] In conjunction with the first aspect, in some implementations of the first aspect, the method is applied to a cloud management platform for managing infrastructure that provides cloud services, the infrastructure including at least one cloud data center, each cloud data center having at least one server, and the first agent being deployed on the at least one server.
[0024] Secondly, an apparatus for optimizing an intelligent agent is provided. This apparatus is applied to a first intelligent agent and includes: a generation module, a questioning module, an acquisition module, a determination module, and an optimization module. The generation module generates multiple knowledge directories based on learned knowledge. It also generates multiple questions for each of the multiple knowledge directories and corresponding answers for each question. The questioning module asks an engineer questions generated by the first intelligent agent. The acquisition module acquires the engineer's answers to the multiple questions. The determination module compares the engineer's answers with the answers generated by the first intelligent agent to determine the questions the first intelligent agent answered incorrectly. The optimization module optimizes the first intelligent agent based on target knowledge, which is knowledge related to the questions the first intelligent agent answered incorrectly.
[0025] In conjunction with the second aspect, in some implementations of the second aspect, the multiple knowledge catalogs are used to divide the knowledge learned by the first agent into multiple categories according to different knowledge domains, and each category includes keywords of the corresponding knowledge domain.
[0026] In conjunction with the second aspect, in some implementations of the second aspect, the tuning module is specifically used to: learn the target knowledge as input knowledge to obtain a second intelligent agent.
[0027] In conjunction with the second aspect, in some implementations of the second aspect, the determining module is also used to compare the knowledge possessed by the first intelligent agent with the knowledge possessed by the second intelligent agent to determine whether the capabilities of the second intelligent agent have improved relative to the first intelligent agent.
[0028] In conjunction with the second aspect, in some implementations of the second aspect, the determining module is also used to compare the multiple knowledge catalogs generated by the first intelligent agent and the multiple knowledge catalogs generated by the second intelligent agent to determine whether the capabilities of the second intelligent agent have been improved relative to the first intelligent agent.
[0029] In conjunction with the second aspect, in some implementations of the second aspect, the acquisition module is further configured to acquire the answers given by the second agent and the engineer to at least one question, respectively; the determination module is specifically configured to: compare the answers given by the first agent, the second agent, and the engineer to the at least one question, respectively, and determine whether the capabilities of the second agent have improved relative to the first agent.
[0030] In conjunction with the second aspect, in some implementations of the second aspect, the at least one topic is a topic generated by the first agent, or the at least one topic is a topic generated by the second agent.
[0031] In conjunction with the second aspect, in some implementations of the second aspect, the acquisition module is further configured to acquire the question asked by the engineer to the second agent; the determination module is further configured to determine, based on the second agent's answer to the question, whether the capabilities of the second agent have improved relative to the first agent.
[0032] In conjunction with the second aspect, in some implementations of the second aspect, the question asked includes one or more of the following: target question, target domain.
[0033] In conjunction with the second aspect, in some implementations of the second aspect, the device is applied to a cloud management platform for managing infrastructure that provides cloud services, the infrastructure including at least one cloud data center, each cloud data center having at least one server, and the first agent being deployed in the at least one server.
[0034] It should be understood that for the beneficial effects of the second aspect and its various implementations, please refer to the first aspect and its various implementations; they will not be repeated here.
[0035] Thirdly, a computing device is provided, including a processor and a memory, and optionally, an input / output interface. The processor controls the input / output interface to send and receive information, the memory stores a computer program, and the processor retrieves and runs the computer program from the memory, causing the program to execute the method of the first aspect or any possible implementation thereof.
[0036] Optionally, the processor can be a general-purpose processor, which can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. This memory can be integrated into the processor or located outside the processor and exist independently.
[0037] Fourthly, a computing device cluster is provided, including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, such that the computing device cluster performs the method of the first aspect or any possible implementation thereof.
[0038] Fifthly, a chip is provided that acquires and executes instructions to implement the methods described in the first aspect and any implementation thereof.
[0039] Optionally, as one implementation, the chip includes a processor and a data interface, through which the processor reads instructions stored in the memory and executes the methods in the first aspect and any implementation thereof.
[0040] Optionally, as one implementation, the chip may further include a memory storing instructions, and the processor is used to execute the instructions stored in the memory. When the instructions are executed, the processor is used to perform the method in the first aspect and any implementation thereof.
[0041] In a sixth aspect, a computer program product containing instructions is provided, which, when executed by a computing device, cause the computing device to perform the methods described in the first aspect and any implementation thereof.
[0042] In a seventh aspect, a computer program product containing instructions is provided, which, when run by a cluster of computing devices, cause the cluster of computing devices to perform the methods described in the first aspect and any implementation thereof.
[0043] Eighthly, a computer-readable storage medium is provided, including computer program instructions that, when executed by a computing device, perform the method as described in the first aspect and any implementation thereof.
[0044] As examples, these computer-readable storage devices include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), flash memory, electrically EPROM (EEPROM), and hard drive.
[0045] Alternatively, as one implementation method, the aforementioned storage medium can specifically be a non-volatile storage medium.
[0046] A ninth aspect provides a computer-readable storage medium including computer program instructions that, when executed by a cluster of computing devices, perform the method as described in the first aspect and any implementation thereof.
[0047] As examples, these computer-readable storage devices include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), flash memory, electrically EPROM (EEPROM), and hard drive.
[0048] Alternatively, as one implementation method, the aforementioned storage medium can specifically be a non-volatile storage medium.
[0049] Figure 1 This is a schematic block diagram of a cloud scenario applicable to embodiments of this application.
[0050] Figure 2 This is a schematic flowchart illustrating a method for optimizing an intelligent agent provided in an embodiment of this application.
[0051] Figure 3 This is a schematic flowchart illustrating another method for intelligent agent optimization provided in an embodiment of this application.
[0052] Figure 4 This is a schematic flowchart illustrating another method for intelligent agent optimization provided in an embodiment of this application.
[0053] Figure 5 This is a schematic block diagram of an agent tuning device 500 provided in an embodiment of this application.
[0054] Figure 6 This is a schematic diagram of the architecture of a computing device 1500 provided in an embodiment of this application.
[0055] Figure 7 This is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of this application.
[0056] Figure 8 This is a schematic diagram showing the connection between computing devices 1500A and 1500B via a network, as provided in the embodiments of this application. Detailed Implementation
[0057] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0058] This application will present various aspects, embodiments, or features relating to systems comprising multiple devices, components, modules, etc. It should be understood and appreciated that individual systems may include additional devices, components, modules, etc., and / or may not include all devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these approaches are also possible.
[0059] Furthermore, in the embodiments of this application, the words "exemplary," "for example," etc., are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design scheme described as "exemplary" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "exemplary" is intended to present the concept in a concrete manner.
[0060] In the embodiments of this application, "corresponding" and "corresponding" can sometimes be used interchangeably. It should be noted that when the distinction is not emphasized, their intended meanings are consistent.
[0061] The business 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 network 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.
[0062] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0063] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0064] For ease of description, the concepts involved in the embodiments of this application will be explained below.
[0065] 1. Intelligent agent:
[0066] An intelligent agent is a model implemented using mathematical models, neural networks, etc., characterized by being a black-box model composed of multiple elements. Engineers can achieve specific capabilities by controlling the number of elements, their composition, and the parameters of each element. However, there is insufficient theoretical support on how to choose the number of elements and their composition; selection is based solely on the engineer's experience. Furthermore, the entire model is a black box, meaning the engineer does not know what the value of each parameter means or how these parameter values affect the model's final result.
[0067] As examples, the specific manifestations of intelligent agents can be mathematical models in mathematical modeling; neural networks and large models in artificial intelligence; and the robot brain that controls robot decision-making, etc.
[0068] 2. Engineer:
[0069] In this application, "engineer" specifically refers to a person or human being, who may be a person who collects or labels data for an intelligent agent, or a person who trains, tests, or optimizes an intelligent agent, or a person who uses an intelligent agent. This application does not make any specific limitations in this regard.
[0070] Existing methods for training AI agents involve engineers preparing a learning environment, injecting knowledge, and allowing the agent to learn within that environment. Engineers then construct large test sets to evaluate the agent's learning progress.
[0071] The above-mentioned method for training agents has the following problems:
[0072] 1. Engineers need to build a large number of test sets, and they still cannot test some special cases that they have never seen before.
[0073] 2. Engineers find it difficult to accurately determine whether an intelligent agent has learned or autonomously generated certain knowledge or abilities;
[0074] 3. Engineers have difficulty accurately determining whether an intelligent agent has learned incorrectly or failed to master a certain knowledge or ability.
[0075] In view of this, embodiments of this application provide a method for optimizing an agent. This method allows engineers to accurately grasp the training or learning status of the agent and understand the capability boundaries of the agent when there is no test set or a small test set, so as to enable engineers to optimize the agent faster and at a lower cost.
[0076] In one possible implementation, the method provided in this application embodiment can be applied to a cloud service scenario, where the method is executed by a cloud management platform within the cloud service scenario. For ease of description, the following will first refer to... Figure 1 It provides a detailed description of cloud service scenarios.
[0077] Figure 1 This is a schematic block diagram illustrating a cloud scenario applicable to embodiments of this application. For example... Figure 1 As shown, the cloud scenario may include: cloud management platform 110, Internet 120, and client 130.
[0078] like Figure 1 As shown, the cloud management platform 110 is used to manage the infrastructure that provides multiple cloud services. The infrastructure includes multiple cloud data centers, each cloud data center includes multiple servers, and each server includes cloud service resources to provide corresponding cloud services to tenants.
[0079] The cloud management platform 110 can be located in a cloud data center and provides access interfaces (such as user interfaces or application program interfaces, APIs). Tenants can use client 130 to remotely access the cloud management platform 110, register a cloud account and password, and log in. After successful authentication of the cloud account and password, the tenant can further select and purchase virtual machines of specific specifications (processor, memory, disk) on the cloud management platform 110. After successful purchase, the cloud management platform 110 provides the remote login account and password for the purchased virtual machine, allowing client 130 to remotely log in and install and run the tenant's applications. Therefore, tenants can create, manage, log in to, and operate virtual machines in the cloud data center through the cloud management platform 110. Virtual machines can also be referred to as Elastic Compute Service (ECS) or Elastic Instances (different cloud service providers may use different names).
[0080] It should be understood that cloud service tenants can be individuals, businesses, schools, hospitals, government agencies, etc.
[0081] The cloud management platform 110 includes, but is not limited to, a user console, compute management services, network management services, storage management services, authentication services, and image management services. The user console provides an interface or API for interaction with tenants. The compute management services manage servers running virtual machines and containers, as well as bare metal servers. The network management services manage network services (such as gateways and firewalls). The storage management services manage storage services (such as data bucket services). The authentication services manage tenant account passwords. The image management services manage virtual machine images. Tenants can log in to the cloud management platform 110 via client 130 and the internet 120 to manage their rented cloud services.
[0082] Let's combine the following... Figure 2 This application provides a detailed description of a method for optimizing an intelligent agent, based on embodiments thereof. It should be understood that... Figure 2 The examples are merely to help those skilled in the art understand the embodiments of this application, and are not intended to limit the embodiments of the application to... Figure 2 The specific numerical values or specific scenarios illustrated. Those skilled in the art will understand based on... Figure 2 The examples given below can obviously be modified or varied in various ways, and such modifications and variations also fall within the scope of the embodiments of this application.
[0083] It should be understood that Figure 2 The method shown can be applied to various training scenarios. Several possible application scenarios are listed below.
[0084] 1. Training scenarios for autonomous driving technology;
[0085] 2. Training scenarios for large models;
[0086] 3. Training scenarios for any AI model;
[0087] 4. Robot training scenarios;
[0088] 5. Training scenarios for digital humans, intelligent customer service, and digital personal assistants.
[0089] Figure 2 This is a schematic flowchart illustrating a method for optimizing an intelligent agent according to an embodiment of this application. Figure 2 As shown, the method may include steps 210-250, which will be described in detail below.
[0090] Step 210: The initial agent learns the input knowledge to obtain the first agent.
[0091] In this embodiment of the application, knowledge can be injected into the initial intelligent agent, so that the initial intelligent agent learns the injected knowledge, thereby completing the training process or learning process of the initial intelligent agent and obtaining the first intelligent agent.
[0092] The knowledge injected into the initial agent may include, but is not limited to, data, reference models, etc.
[0093] Step 220: The first agent generates a knowledge catalog based on the knowledge it possesses, along with the corresponding questions and answers.
[0094] In this embodiment of the application, after learning a certain amount of knowledge, the first intelligent agent can generate a knowledge catalog of all the knowledge it has mastered, and generate corresponding questions and answers for each knowledge point.
[0095] As an example, the aforementioned knowledge catalog could be a classification of the knowledge learned by the first agent into multiple categories according to different knowledge domains, with each category including keywords for the corresponding knowledge domain. It should be understood that this knowledge catalog may include at least one level, two levels, three levels, etc., and this application does not specifically limit this.
[0096] For example, the first intelligent agent can summarize all the knowledge it has learned into a list and generate a corresponding question and answer for each item on the list.
[0097] To illustrate, the following example describes the catalog, questions, and answers generated by the first intelligent agent.
[0098] 1. The directory generated by the first intelligent agent is: Weather, Health, Rescue, Accident, Suspect.
[0099] 2. The first intelligent agent generates a question based on the above catalog: Which of the following two pictures, A and B, shows a more serious accident?
[0100] 3. The answer given by the first intelligent agent to the above question is: A.
[0101] Step 230: The first intelligent agent will proactively ask the generated question to the engineer and obtain the standard answer provided by the engineer.
[0102] In this embodiment of the application, the first intelligent agent can proactively ask the engineer questions it generates, and the engineer can answer the questions asked by the first intelligent agent and provide standard answers.
[0103] Step 240: Based on the answers given by the first agent and the standard answers provided by the engineer, identify the questions that the first agent answered incorrectly among multiple questions.
[0104] In this embodiment, for multiple questions (topics) generated by the first agent, the questions that the first agent answered incorrectly can be identified based on the answers provided by the first agent and the standard answers provided by the engineer. This allows for the determination of the next optimization direction for the first agent based on the incorrect answers. For example, knowledge related to the incorrect answers can be identified, and this related knowledge can be used as input to the first agent, allowing it to learn from the input knowledge.
[0105] For example, the following description uses a specific example to illustrate the question and answer generated by the first intelligent agent, as well as the standard answer given by the engineer for that question.
[0106] 1. The first intelligent agent generates a question: Which of the following two pictures, A and B, shows a more serious accident?
[0107] 2. The answer given by the first intelligent agent to the above question is: A.
[0108] 3. The engineer's answer is: B.
[0109] In the example given above, since the answer given by the first agent is inconsistent with the answer given by the engineer, it can be determined that the first agent does not have a good grasp of knowledge about rescue, accidents, etc.
[0110] Step 250: Optimize the first agent based on the target knowledge, which is the knowledge related to the questions that the first agent answered incorrectly.
[0111] As an example, after identifying the questions that the first agent answered incorrectly, target knowledge related to these questions can be determined based on them. This target knowledge can then be used as input to the first agent, allowing it to learn from the input target knowledge and thus complete the optimization process for the first agent.
[0112] For example, referring to the example given in step 240 above, it can be determined that the first intelligent agent does not have a good grasp of knowledge about rescue, accidents, etc. Therefore, knowledge about rescue, accidents, etc. can be used as target knowledge, and this target knowledge can be used as input to the first intelligent agent, so that the first intelligent agent can learn from the input knowledge about rescue, accidents, etc., and thus master the knowledge about rescue, accidents, etc.
[0113] In this embodiment of the application, after optimizing the first intelligent agent, a second intelligent agent can be obtained. As an example, the knowledge possessed by the second intelligent agent and the second intelligent agent can be compared to determine whether the capabilities of the second intelligent agent are improved relative to the first intelligent agent, thereby determining whether the optimization of the first intelligent agent is effective.
[0114] There are multiple ways to determine whether the capabilities of the second agent are improved compared to those of the first agent, and this application does not limit the specific implementation of these methods. One example is that the capabilities of the second agent can be determined by comparing the knowledge possessed by the second agent with that possessed by the first agent. Another example is that the capabilities of the second agent can be determined by having an engineer ask questions of the optimized agent (e.g., the second agent). The following will combine... Figures 3-4 The two implementation methods described above will not be detailed here.
[0115] In the above technical solution, by having the first intelligent agent actively ask questions to a real person (e.g., an engineer), the engineer can accurately grasp the training / learning status of the intelligent agent and understand the capability boundaries of the intelligent agent even without a test set or with a small test set. This allows the engineer to optimize the intelligent agent more quickly and at a lower cost.
[0116] The following is combined with Figures 3-4 The two different implementation methods for optimizing the first intelligent agent based on the target knowledge in step 250 are described in detail.
[0117] Figure 3 This is a schematic flowchart illustrating another method for intelligent agent optimization provided in an embodiment of this application. Figure 3 As shown, the method may include steps 310-320, which will be described in detail below.
[0118] Step 310: The first agent learns the target knowledge from the additional input to obtain the second agent.
[0119] In this embodiment of the application, the engineer can, based on the above... Figure 2 The method shown is to understand the learning / training status of the first agent. For example, based on the questions that the first agent answered incorrectly, some additional knowledge that the first agent has learned incorrectly or has not mastered is compiled, and this knowledge is used as input to inject knowledge into the first agent. After the first agent learns the injected knowledge, a second agent is obtained.
[0120] It should be understood that, for ease of description, the first intelligent agent can also be referred to as the old version of the intelligent agent, and the second intelligent agent as the new version of the intelligent agent.
[0121] Step 320: Combine the learning results of the first intelligent agent with the second intelligent agent's learning.
[0122] In this embodiment, the learning outcomes of the second intelligent agent can be tested in conjunction with the first intelligent agent. Various testing methods exist, and several possible methods are listed below.
[0123] Example 1: Compare the knowledge catalog generated by the first intelligent agent with the knowledge catalog generated by the second intelligent agent.
[0124] In Example 1 above, the second intelligent agent can also refer to the first intelligent agent. For example, after learning certain knowledge, the second intelligent agent can generate a catalog of all the knowledge it has acquired and generate corresponding questions and answers for each knowledge point. In this embodiment of the application, the knowledge catalog generated by the second intelligent agent and the knowledge catalog generated by the first intelligent agent can be compared to determine the differences between the two catalogs. This allows for testing of the learning outcomes of the second intelligent agent. For example, by comparing the differences between the knowledge catalogs generated by the second intelligent agent and the first intelligent agent, it can be determined whether the second intelligent agent has learned a new knowledge / ability compared to the first intelligent agent, or has autonomously generated a certain knowledge / ability, or has mislearned / failed to master a certain knowledge or ability, etc.
[0125] Example 2: Have a second agent and an engineer answer the questions generated by the first agent, and compare the answers of the first agent, the second agent, and the standard answer given by the engineer.
[0126] In Example 2 above, after the first agent generates corresponding questions and answers for each knowledge catalog, the second agent and the engineer can answer the questions generated by the first agent. The answers given by the first agent, the second agent, and the standard answer given by the engineer are compared to determine whether the second agent's ability to answer the same question has improved compared to the first agent.
[0127] Example 3: Have the first agent and the engineer answer the questions generated by the second agent, and compare the answers of the first agent, the second agent, and the standard answer given by the engineer.
[0128] In Example 3 above, after the second agent generates corresponding questions and answers for each knowledge catalog, the first agent and the engineer can answer the questions generated by the first agent. The answers given by the first agent, the second agent, and the standard answers given by the engineer are compared to determine whether the second agent's ability to answer the same question has improved compared to the first agent.
[0129] Optionally, in some of the following embodiments, the first or second agent may be further optimized based on the results of testing the learning outcomes of the second agent.
[0130] In this embodiment of the application, the test results of the learning outcomes of the second agent can be used to determine whether the next step is to further optimize the second agent or the first agent.
[0131] The following example illustrates the further optimization of the second agent.
[0132] As an example, for questions generated by either the first or second agent, we can select those that the second agent answered incorrectly. These incorrectly answered questions refer to questions where the second agent's answer differs from the engineer's answer. The engineer's standard answer is then input as labeled data into the second agent, allowing it to learn from this labeled data and thus optimize its performance, enabling it to acquire relevant knowledge.
[0133] Figure 4 This is a schematic flowchart illustrating another method for intelligent agent optimization provided in an embodiment of this application. Figure 4 As shown, the method may include steps 410-420, which will be described in detail below.
[0134] Step 410: The first agent learns the target knowledge from the additional input to obtain the second agent.
[0135] Similar to step 310, please refer to the description in step 310 for details, which will not be repeated here.
[0136] Step 420: The engineer asks questions to the second agent, and the learning results of the second agent are tested based on the answers.
[0137] In this embodiment, the engineer can ask questions to the second intelligent agent. There are various ways to ask questions, and this application does not make any specific limitations on them. Two possible implementation methods are described below.
[0138] Implementation Method 1: The engineer asks a question about the domain they are interested in to the second intelligent agent, and the second intelligent agent outputs the questions and answers generated by it in that domain.
[0139] In implementation method 1 described above, the engineer doesn't need to pose specific questions to the second agent. Instead, they can present the agent with a domain of interest. The second agent can then output questions and answers related to that domain. The engineer can answer the domain-specific questions generated by the second agent and, based on the answers provided by the second agent and the engineer's standard answers, further refine the second agent. For example, among the domain-specific questions generated by the second agent, questions that the second agent answered incorrectly can be selected, and the engineer's standard answers can be used as labeled data input into the second agent. This allows the second agent to learn from the labeled data, thereby refining its performance and enabling it to learn relevant knowledge.
[0140] In implementation method 1 above, the engineer limits the scope of the evaluation and, based on... Figure 2 The described method allows the agent to perform autonomous evaluation, and the methods mentioned above can be used to label and optimize each problem.
[0141] Implementation Method 2: The second agent answers the specific questions provided by the engineer.
[0142] In implementation method 2 above, the engineer can proactively ask the second agent specific questions for the agent to answer. For questions the second agent answers incorrectly, the engineer's standard answers can be input as labeled data into the second agent, allowing it to learn from this labeled data and thus optimize the agent's performance, enabling it to learn relevant knowledge.
[0143] In some embodiments, for implementation method 2 described above, if an engineer is unfamiliar with a certain aspect of the second agent's capabilities, they can repeatedly ask the second agent questions to delve deeper and identify the most fundamental misunderstandings or areas of ignorance. The second agent can then learn these knowledge points through annotation and optimization using this annotation information.
[0144] For example, the following description uses a specific example to illustrate how an engineer asks multiple questions to a second intelligent agent.
[0145] 1. The engineer asks the second intelligent agent: Which of the following two pictures, A and B, shows a more serious accident?
[0146] 2. The answer given by the second intelligent agent to the above question is: A.
[0147] 3. The engineer continued to ask the second agent: How did you determine that the accident in picture A was more serious?
[0148] 4. The second intelligent agent's answer to the above question is: In picture A, the right side of the blue car in front is severely damaged, which should be due to a collision. In picture B, there is only traffic congestion. Therefore, the accident in picture A is more serious.
[0149] 5. The engineer continued to ask the second agent: Please describe the situation of the part of picture B that is surrounded by traffic cones.
[0150] 6. The second intelligent agent's answer to the above question is: In the area enclosed by traffic cones, there are 3 uniformed workers carrying out their work. The pickup truck is a traffic emergency vehicle, and there are several parked vehicles in front.
[0151] 7. The engineer's answer is: The scene in picture B is already in the traffic handling stage. Traffic police have moved the vehicles at the accident scene to the side of the road and evacuated the area. Since there are more than 5 vehicles involved in the accident in picture B, while there are only 2 vehicles involved in the accident in picture B, the accident in picture B is more serious.
[0152] Through the above example, the engineer can confirm that because the second agent failed to recognize that the traffic was already in the processing stage in image B, it incorrectly judged that the accident in image A was more serious. Therefore, this question and the engineer's answer can be used as labeled data to input into the second agent, allowing the second agent to learn from the labeled data, thereby optimizing the second agent and enabling it to learn this type of relevant knowledge.
[0153] The above technical solutions allow engineers to optimize intelligent agents faster and at a lower cost.
[0154] The above text combined Figures 1 to 4 This paper describes in detail the method for intelligent agent optimization provided in the embodiments of this application. The following will combine... Figures 5-8 The embodiments of the apparatus of this application are described in detail below. It should be understood that the descriptions of the method embodiments correspond to the descriptions of the apparatus embodiments; therefore, any parts not described in detail can be referred to the foregoing method embodiments.
[0155] Figure 5 This is a schematic block diagram of an agent optimization device 500 provided in an embodiment of this application. The device 500 is applied to a first agent and can be implemented through software, hardware, or a combination of both. The device 500 provided in this embodiment can implement the embodiments of this application. Figures 2 to 4The method flow shown includes the following: the device 500 comprises a generation module 505, a questioning module 510, an acquisition module 520, a determination module 530, and an optimization module 540. The generation module 505 generates multiple knowledge directories based on learned knowledge; it also generates multiple questions for each of the multiple knowledge directories and corresponding answers for each question. The questioning module 510 asks an engineer questions generated by the first agent. The acquisition module 520 acquires the engineer's answers to the multiple questions. The determination module 530 compares the engineer's answers with the answers generated by the first agent to determine the questions the first agent answered incorrectly. The optimization module 540 optimizes the first agent based on target knowledge, where the target knowledge is knowledge related to the questions the first agent answered incorrectly.
[0156] Optionally, the multiple knowledge catalogs are used to divide the knowledge learned by the first agent into multiple categories according to different knowledge domains, and each category includes keywords of the corresponding knowledge domain.
[0157] Optionally, the tuning module 540 is specifically used to: learn the target knowledge as input knowledge to obtain a second intelligent agent.
[0158] Optionally, the determining module 530 is also used to compare the knowledge possessed by the first intelligent agent with the knowledge possessed by the second intelligent agent to determine whether the capabilities of the second intelligent agent have improved relative to the first intelligent agent.
[0159] Optionally, the determining module 530 is further configured to compare the multiple knowledge catalogs generated by the first intelligent agent and the multiple knowledge catalogs generated by the second intelligent agent to determine whether the capabilities of the second intelligent agent have been improved relative to the first intelligent agent.
[0160] Optionally, the acquisition module 520 is further configured to acquire the answers given by the second agent and the engineer to at least one question respectively; the determination module 530 is specifically configured to: compare the answers given by the first agent, the second agent and the engineer to the at least one question respectively, and determine whether the ability of the second agent has improved relative to the first agent.
[0161] Optionally, the at least one question is a question generated by the first agent, or the at least one question is a question generated by the second agent.
[0162] Optionally, the acquisition module 520 is further configured to acquire the question asked by the engineer to the second agent; the determination module 530 is further configured to determine, based on the second agent's answer to the question, whether the capabilities of the second agent have improved relative to the first agent.
[0163] Optionally, the question may include one or more of the following: target question, target domain.
[0164] Optionally, the device 500 is applied to a cloud management platform for managing infrastructure that provides cloud services, the infrastructure including at least one cloud data center, each cloud data center having at least one server, and the first agent being deployed on the at least one server.
[0165] The device 500 here can be embodied in the form of a functional module. The term "module" here can be implemented in software and / or hardware, without specific limitations.
[0166] For example, a "module" can be a software program, a hardware circuit, or a combination of both that implements the above functions. For instance, the implementation of the questioning module 510 will be described below. Similarly, the implementation of other modules, such as the generation module 505, the acquisition module 520, the determination module 530, and the optimization module 540, can refer to the implementation of the questioning module 510.
[0167] As an example of a software functional unit, the query module 510 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 query module 510 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 within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within 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.
[0168] 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.
[0169] As an example of a hardware functional unit, the questioning module 510 may include at least one computing device, such as a server. Alternatively, the questioning module 510 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.
[0170] The multiple computing devices included in the query module 510 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the query module 510 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the query module 510 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.
[0171] Therefore, the modules of the various examples described in the embodiments of this application 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.
[0172] It should be noted that the above embodiments of the device, when executing the above methods, are only illustrative examples of the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. For example, the generation module 505 can be used to execute any step in the above methods, the questioning module 510 can be used to execute any step in the above methods, the acquisition module 520 can be used to execute any step in the above methods, the determination module 530 can be used to execute any step in the above methods, and the optimization module 540 can be used to execute any step in the above methods. The steps implemented by the generation module 505, questioning module 510, acquisition module 520, determination module 530, and optimization module 540 can be specified as needed. By implementing different steps in the above methods through the generation module 505, questioning module 510, acquisition module 520, determination module 530, and optimization module 540, all the functions of the above device can be realized.
[0173] Furthermore, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments above, which will not be repeated here.
[0174] The method provided in this application can be executed by a computing device, which can also be referred to as a computer system. It includes a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as processing units, memory, and memory control units; the functions and structure of this hardware will be described in detail later. The operating system can be any one or more computer operating systems that implement business processing through processes, such as Linux, Unix, Android, iOS, or Windows. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Optionally, the computer system can be a handheld device such as a smartphone, or a terminal device such as a personal computer; this application does not particularly limit this, as long as the method provided in this application can be used. The executing entity of the method provided in this application can be a computing device, or a functional module within the computing device capable of calling and executing programs.
[0175] The following is combined with Figure 6 This application provides a detailed description of a computing device provided in an embodiment.
[0176] Figure 6 This is a schematic diagram of the architecture of a computing device 1500 provided in an embodiment of this application. The computing device 1500 can be a server, a computer, or other device with computing capabilities. Figure 6 The computing device 1500 shown includes at least one processor 1510 and a memory 1520.
[0177] It should be understood that this application does not limit the number of processors and memories in the computing device 1500.
[0178] The processor 1510 executes instructions in the memory 1520, causing the computing device 1500 to implement the method provided in this application. Alternatively, the processor 1510 executes instructions in the memory 1520, causing the computing device 1500 to implement the various functional modules provided in this application, thereby implementing the method provided in this application.
[0179] Optionally, the computing device 1500 also includes a communication interface 1530. The communication interface 1530 uses a transceiver module, such as, but not limited to, a network interface card or a transceiver, to enable communication between the computing device 1500 and other devices or communication networks.
[0180] Optionally, the computing device 1500 further includes a system bus 1540, wherein the processor 1510, memory 1520, and communication interface 1530 are respectively connected to the system bus 1540. The processor 1510 can access the memory 1520 through the system bus 1540; for example, the processor 1510 can perform data read / write or code execution in the memory 1520 through the system bus 1540. The system bus 1540 is a peripheral component interconnect express (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus 1540 is divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0181] In one possible implementation, the processor 1510 primarily functions to interpret the instructions (or code) of a computer program and process data within the computer software. The instructions of the computer program and the data within the computer software can be stored in memory 1520 or cache 1516.
[0182] Optionally, processor 1510 may be an integrated circuit chip with signal processing capabilities. By way of example and not limitation, processor 1510 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor, etc. For example, processor 1510 may be a central processing unit (CPU).
[0183] Optionally, each processor 1510 includes at least one processing unit 1512 and a memory control unit 1514.
[0184] Optionally, the processing unit 1512, also known as the core, is the most important component of the processor. The processing unit 1512 is manufactured from single-crystal silicon using a specific production process. All calculations, command reception, command storage, and data processing are performed by the core. Each processing unit independently executes program instructions, utilizing parallel computing capabilities to accelerate program execution. Various processing units have fixed logical structures; for example, a processing unit includes logical units such as a Level 1 cache, a Level 2 cache, an execution unit, an instruction-level unit, and a bus interface.
[0185] In one implementation example, the memory control unit 1514 controls the data interaction between the memory 1520 and the processing unit 1512. Specifically, the memory control unit 1514 receives memory access requests from the processing unit 1512 and controls access to memory based on the memory access requests. By way of example and not limitation, the memory control unit is a device such as a memory management unit (MMU).
[0186] In one implementation example, each memory control unit 1514 addresses the memory 1520 via the system bus. An arbitrator is configured in the system bus. Figure 6 (Not shown in the image), the arbitrator is responsible for handling and coordinating competing accesses of multiple processing units 1512.
[0187] In one implementation example, the processing unit 1512 and the memory control unit 1514 are connected via internal chip connection lines, such as address lines, thereby enabling communication between the processing unit 1512 and the memory control unit 1514.
[0188] Optionally, each processor 1510 also includes a cache 1516, which is a buffer for data exchange (called a cache). When the processing unit 1512 needs to read data, it first looks for the required data in the cache. If the data is found, it is executed directly; otherwise, it looks for the data in memory. Since the cache operates much faster than memory, its purpose is to help the processing unit 1512 run faster.
[0189] The memory 1520 provides runtime space for processes in the computing device 1500. For example, the memory 1520 stores the computer program (specifically, the program code) used to generate the process. After the computer program is run by the processor to generate a process, the processor allocates corresponding storage space for the process in the memory 1520. Furthermore, the aforementioned storage space further includes text segments, initialized data segments, bit initialized data segments, stack segments, heap segments, etc. The memory 1520 stores data generated during the process's execution, such as intermediate data or process data, in the aforementioned process-specific storage space.
[0190] Optionally, the memory, also known as RAM, is used to temporarily store the data processed by the processor 1510, as well as data exchanged with external storage devices such as hard disks. As long as the computer is running, the processor 1510 will load the data that needs to be processed into RAM for processing, and after the processing is completed, the processing unit 1512 will send the result out.
[0191] By way of example and not limitation, memory 1520 is volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory is read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory is random access memory (RAM) used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM). It should be noted that the memory 1520 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0192] The above-described structure of the computing device 1500 is merely illustrative and is not intended to limit the application. The computing device 1500 in this application includes various hardware components found in existing computer systems. For example, the computing device 1500 may also include other memories besides the memory 1520, such as disk storage. Those skilled in the art should understand that the computing device 1500 may also include other devices necessary for normal operation. Furthermore, depending on specific needs, those skilled in the art should understand that the computing device 1500 may also include hardware devices for implementing other additional functions. Moreover, those skilled in the art should understand that the computing device 1500 may only include the devices necessary for implementing the embodiments of this application, and may not necessarily include... Figure 6 All the devices shown.
[0193] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server. In some embodiments, the computing device may also be a desktop computer, laptop computer, or smartphone, or other terminal device.
[0194] like Figure 7 As shown, the computing device cluster includes at least one computing device 1500. The memory 1520 of one or more computing devices 1500 in the computing device cluster may store the same instructions for performing the methods described above.
[0195] In some possible implementations, the memory 1520 of one or more computing devices 1500 in the computing device cluster may also each store a portion of the instructions for executing the above-described methods. In other words, a combination of one or more computing devices 1500 can jointly execute the instructions of the above-described methods.
[0196] It should be noted that the memory 1520 in different computing devices 1500 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the aforementioned device. That is, the instructions stored in the memory 1520 of different computing devices 1500 can implement the functions of one or more modules within the aforementioned device.
[0197] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 8 One possible implementation is shown. For example... Figure 8 As shown, the two computing devices 1500A and 1500B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0198] It should be understood that Figure 8 The functions of computing device 1500A shown can also be performed by multiple computing devices 1500. Similarly, the functions of computing device 1500B can also be performed by multiple computing devices 1500.
[0199] In this embodiment, a computer program product containing instructions is also provided. The computer program product may be a software or program product containing instructions capable of running on a computing device or stored on any usable medium. When run on a computing device, it causes the computing device to perform the methods provided above, or causes the computing device to perform the functions of the apparatus provided above.
[0200] In this embodiment, a computer-readable storage medium is also provided. This computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the method described above.
[0201] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0202] 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.
[0203] 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.
[0204] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0205] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0206] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0207] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0208] 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 method for optimizing an intelligent agent, characterized in that, The method is applied to a first intelligent agent, and the method includes: The first intelligent agent generates multiple knowledge catalogs based on the learned knowledge; The first intelligent agent generates multiple questions for each of the multiple knowledge directories, and generates answers for each of the multiple questions; The first intelligent agent asks the engineer the multiple questions generated by the first intelligent agent; The first intelligent agent obtains the answers given by the engineer for the multiple questions; The first agent compares the answer given by the engineer with the answer generated by the first agent to determine the questions that the first agent answered incorrectly among the multiple questions. The first intelligent agent is optimized based on the target knowledge, wherein the target knowledge is knowledge related to the questions that the first intelligent agent answered incorrectly.
2. The method according to claim 1, characterized in that, The multiple knowledge directories are used to divide the knowledge learned by the first intelligent agent into multiple categories according to different knowledge domains, and each category includes keywords of the corresponding knowledge domain.
3. The method according to claim 1 or 2, characterized in that, The first intelligent agent is optimized based on the target knowledge, including: The first intelligent agent learns the target knowledge as input to obtain the second intelligent agent.
4. The method according to claim 3, characterized in that, The method further includes: The first intelligent agent compares the knowledge it possesses with the knowledge possessed by the second intelligent agent to determine whether the capabilities of the second intelligent agent have improved relative to those of the first intelligent agent.
5. The method according to claim 4, characterized in that, The first intelligent agent compares its knowledge with that of the second intelligent agent to determine whether the second intelligent agent's capabilities have improved relative to the first intelligent agent, including: The first agent compares the multiple knowledge catalogs generated by the first agent with the multiple knowledge catalogs generated by the second agent to determine whether the capabilities of the second agent have improved relative to the first agent.
6. The method according to claim 4 or 5, characterized in that, The first intelligent agent compares its knowledge with that of the second intelligent agent to determine whether the second intelligent agent's capabilities have improved relative to the first intelligent agent, including: The first agent obtains the answers given by the second agent and the engineer for at least one question; The first agent is compared with the answers given by the second agent and the engineer to the at least one question to determine whether the capabilities of the second agent have improved relative to the first agent.
7. The method according to claim 6, characterized in that, The at least one question is a question generated by the first agent, or the at least one question is a question generated by the second agent.
8. The method according to any one of claims 3 to 7, characterized in that, The method further includes: The first agent acquires the questions asked by the engineer to the second agent; The first agent determines whether the capabilities of the second agent have improved relative to those of the first agent based on the second agent's answer to the question.
9. The method according to claim 8, characterized in that, The questions asked may include one or more of the following: target question, target domain.
10. The method according to any one of claims 1 to 9, characterized in that, The method is applied to a cloud management platform for managing infrastructure that provides cloud services. The infrastructure includes at least one cloud data center, each cloud data center having at least one server, and the first agent is deployed on the at least one server.
11. A device for optimizing intelligent agents, characterized in that, The device is applied to a first intelligent agent, and the device includes: The generation module is used to generate multiple knowledge directories based on the learned knowledge. The generation module is also used to generate multiple questions for the multiple knowledge directories, and to generate answers for the multiple questions respectively; The questioning module is used to ask the engineer the multiple questions generated by the first intelligent agent; The acquisition module is used to acquire the answers given by the engineer for the multiple questions. A determination module is used to compare the answers given by the engineer with the answers generated by the first agent to determine the questions that the first agent answered incorrectly among the multiple questions. The optimization module is used to optimize the first agent based on target knowledge, wherein the target knowledge is knowledge related to the questions that the first agent answered incorrectly.
12. The apparatus according to claim 11, characterized in that, The multiple knowledge directories are used to divide the knowledge learned by the first intelligent agent into multiple categories according to different knowledge domains, and each category includes keywords of the corresponding knowledge domain.
13. The apparatus according to claim 11 or 12, characterized in that, The optimization module is specifically used for: The target knowledge is used as input to learn a second intelligent agent.
14. The apparatus according to claim 13, characterized in that, The determining module is further configured to compare the knowledge possessed by the first intelligent agent with the knowledge possessed by the second intelligent agent to determine whether the capabilities of the second intelligent agent have improved relative to the first intelligent agent.
15. The apparatus according to claim 14, characterized in that, The determining module is further configured to compare the multiple knowledge catalogs generated by the first intelligent agent and the multiple knowledge catalogs generated by the second intelligent agent to determine whether the capabilities of the second intelligent agent have been improved relative to the first intelligent agent.
16. The apparatus according to claim 14 or 15, characterized in that, The acquisition module is further configured to acquire the answers given by the second intelligent agent and the engineer to at least one question, respectively; The determining module is specifically used for: By comparing the answers given by the first agent, the second agent, and the engineer to the at least one question, it is determined whether the capabilities of the second agent have improved relative to the first agent.
17. The apparatus according to claim 16, characterized in that, The at least one question is a question generated by the first agent, or the at least one question is a question generated by the second agent.
18. The apparatus according to any one of claims 13 to 17, characterized in that, The acquisition module is also used to acquire the questions asked by the engineer to the second intelligent agent; The determining module is further configured to determine, based on the second agent's answer to the question, whether the capabilities of the second agent have improved relative to the first agent.
19. The apparatus according to claim 18, characterized in that, The questions asked may include one or more of the following: target question, target domain.
20. The apparatus according to any one of claims 11 to 19, characterized in that, The device is applied to a cloud management platform for managing infrastructure that provides cloud services. The infrastructure includes at least one cloud data center, each cloud data center having at least one server, and the first intelligent agent is deployed on the at least one server.
21. A computing device cluster, characterized in that, It includes at least one computing device, each computing device including a processor and memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method as described in any one of claims 1 to 10.
22. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster causes the computing device cluster to perform the method as described in any one of claims 1 to 10.
23. A computer-readable storage medium, characterized in that, It includes computer program instructions, which, when executed by a cluster of computing devices, perform the method as described in any one of claims 1 to 10.