Creation support device, creation support method, and creation support program
The creation support device automates the creation of automation programs by interacting with a language generation AI, addressing inefficiencies and inaccuracies in existing systems by reducing manual input and improving program accuracy.
Patent Information
- Application Number
- JP2024017203
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-07
- Publication Date
- 2025-08-20
AI Technical Summary
Existing systems fail to address unknown problems during incident response and require manual prompt engineering skills to develop automation programs using language generation AI, leading to inefficiencies and inaccuracies.
A creation support device that communicates with a language generation AI to automate the creation of programs by sending specific requests, receiving responses, and generating automation programs using the output results, thereby reducing manual input burden and improving accuracy.
The solution reduces the manual input burden and enhances the accuracy of automation programs by leveraging a creation support device that interacts with a language generation AI to generate accurate automation programs.
Smart Images

Figure 2025121637000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a creation support device, a creation support method, and a creation support program for supporting the creation of data. [Background technology]
[0002] Cloud operations based on Site Reliability Engineering (SRE) promote operational automation to ensure agility (the flexibility of the software and development methods that make up the cloud, allowing it to quickly adapt to changes in customer requests and the business environment), reliability, and stability. Generative Artificial Intelligence (language generation AI) is therefore being used to assist operations managers in developing programs to automate manual operational tasks. However, prompt engineering skills are required to develop programs that utilize language generation AI.
[0003] Patent Document 1 below discloses automatic generation of a playbook, which includes the steps of determining a set of estimation steps from a target set of incident reports, and determining the set of playbook steps by identifying a set of clusters in the set of estimation steps, where each playbook step of the set of playbook steps corresponds to a respective cluster in the identified set of clusters, and each cluster in the identified set of clusters includes at least one estimation step of the set of estimation steps, determining a sequence of the set of playbook steps based on an order of the estimation steps in the target set of incident reports and a correspondence between the estimation steps and the identified set of clusters, and displaying instructions for the set of playbook steps on a user interface according to the determined sequence of the set of playbook steps. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] U.S. Patent Publication No. 2022-029415 Summary of the Invention [Problem to be solved by the invention]
[0005] In the above-mentioned Patent Document 1, if there is a similar event that occurred in the past during incident response, the user is presented with a countermeasure process and whether it can be automated. Therefore, Patent Document 1 does not take unknown problems into consideration.
[0006] The present invention aims to reduce the burden of manual prompt input and improve the accuracy of the created automation programs. [Means for solving the problem]
[0007] A creation support device according to one aspect of the invention disclosed in the present application is a creation support device having a processor that executes a program, a storage device that stores the program, and a communication interface capable of communicating with a computer that has been trained to generate responses to inquiries, wherein the processor executes the following processes: a creation request process that sends to the computer a request to create an automation program that automates a work procedure of an operation target, and receives from the computer a response to the creation request; a specific request process that sends to the computer a specific request that identifies a command that executes the operation target and the work procedure from program code included in the response to the creation request, and receives from the computer a response to the specific request; a search request process that sends to the computer a search request for output results of data acquired by the command included in the response to the specific request, and receives from the computer a response to the search request; a generation process that generates a recreate request to recreate the automation program using the output results included in the response to the search request; and a recreate request process that sends to the computer the recreate request generated by the generation process, and receives from the computer a response to the recreate request. [Effects of the Invention]
[0008] According to a representative embodiment of the present invention, it is possible to reduce the burden of manual prompt input and improve the accuracy of the created automated program. Problems, configurations, and effects other than those described above will become clear from the following description of the embodiment. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is an explanatory diagram illustrating an example of the system configuration of a network system. [Figure 2] FIG. 2 is a block diagram illustrating an example of the hardware configuration of the creation support device. [Figure 3] FIG. 3 is an explanatory diagram showing an example of the operation of the network system. [Figure 4]FIG. 4 is an explanatory diagram showing an example of a know-how prompt definition screen. [Figure 5] FIG. 5 is an explanatory diagram illustrating an example of know-how prompt information. [Figure 6] FIG. 6 is an explanatory diagram showing an example of a know-how prompt input screen. [Figure 7] FIG. 7 is an explanatory diagram showing an example of a conversation history. [Figure 8] FIG. 8 is an explanatory diagram illustrating an example of a prompt log. [Figure 9] FIG. 9 is an explanatory diagram illustrating an example of the module table. [Figure 10] FIG. 10 is an explanatory diagram illustrating an example of a data format table. [Figure 11] FIG. 11 is an explanatory diagram showing an example of the creation support screen. [Figure 12] FIG. 12 is a flowchart showing an example of operation target analysis processing by the operation target analysis program. [Figure 13] FIG. 13 is a flowchart showing an example of an operation target registration process by the operation target registration program. DETAILED DESCRIPTION OF THE INVENTION
[0010] In the following description, each process in an embodiment of the present invention may be described using a "program" as the subject (acting entity); however, because a program is executed by a processor to perform a predetermined process using a memory and a communication interface, the description may also use the processor as the subject. Furthermore, processes disclosed using a program as the subject may also be processes performed by a computer. Part or all of the program may be realized by dedicated hardware, or may be modularized. Various programs may be installed on a computer via a program distribution server or storage media.
[0011] <Figure 1. Example of network system configuration> 1 is an explanatory diagram showing an example of the system configuration of a network system. The network system 100 includes a creation support device 101, a Large Language Model (LLM) 102, and a monitoring device 103. The creation support device 101, the LLM 102, and the monitoring device 103 are communicably connected via a network 110 such as the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network).
[0012] The creation support device 101 supports the creation of an automation program. An automation program is a program for automating the procedures of operational tasks of an operation target. It is also called a playbook. In this embodiment, an automation program may be referred to as a playbook. The operation target is a server (OS), network, storage, middleware such as a DB, and various cloud services that are targets for executing the automation program.
[0013] The creation support device 101 creates a prompt 111 and transmits it to the LLM 102. The prompt 111 includes various inquiries such as a request to the LLM 102 to create an automation program or a question to the LLM 102.
[0014] The LLM 102 is an interactive language generation AI trained to generate answers to queries. When a query such as a prompt 111 is input, the LLM 102 generates an answer 112 and transmits it to the creation support device 101. The LLM 102 is implemented, for example, on a computer (not shown) within the network 110. The LLM 102 may be implemented in the creation support device 101 or the monitoring device 103.
[0015] The accuracy of the answer 112 from the LLM 102 depends on the learning accuracy of the LLM 102. Therefore, if the LLM 102 has been trained using unlearned content or old learned information, the answer 112 to the prompt 111 may be incorrect. Note that the LLM 102 continues to learn based on interactions with the creation support device 101 and other computers other than the creation support device 101.
[0016] The monitoring device 103 monitors the communication between the creation support device 101 and the LLM 102 via an API (Application Programming Interface), and generates a prompt log 130 as a result of the monitoring. The prompt log 130 is data that records the messages and times in the prompts 111.
[0017] <Figure 2: Example of hardware configuration of the creation support device 101> 2 is a block diagram showing an example of the hardware configuration of the creation support device 101. The creation support device 101 includes a processor 201, a memory 202, a storage device 203, a communication interface 204, and a bus 205.
[0018] The processor 201 controls the creation support device 101. The memory 202 stores a creation support program 220. The memory 202 serves as a work area for the processor 201. The creation support program 220 is loaded from the storage device 203 to the memory 202. The creation support program 220 includes a know-how prompt definition program 221, a chat program 222, an operation target analysis program 223, and an operation target registration program 224.
[0019] The know-how prompt definition program 221 is a program for defining know-how prompt information 231. The chat program 222 is a program for interacting with the LLM 102. The operation target analysis program 223 is a program for analyzing operation targets. The operation target registration program 224 is a program for registering operation targets.
[0020] The storage device 203 stores know-how prompt information 231, a conversation history 233, and operation target information 232. The know-how prompt information 231 is information that defines the prompt 111. The know-how prompt information 231 is registered in the storage device 203 by the know-how prompt definition program 221. Details of the know-how prompt information 231 will be described later with reference to FIG.
[0021] The conversation history 233 is information that records the character strings sent and received between the creation support program 220 and the LLM 102, i.e., the history of the conversation. The conversation history 233 is registered in the storage device 203 by the chat program 222. The operation target information 232 is information about the operation target. The operation target information 232 is registered in the storage device 203 by the operation target registration program 224.
[0022] The operation target information 232 includes, for example, the name of a command (command name) to be input to the operation target to execute a work procedure, the format of output data (hereinafter referred to as data format) output from the operation target in response to the input of a command, and an example of the data format. The data format and the example of the data format are collectively referred to as the "output result."
[0023] Furthermore, the operation target information 232 includes, for example, a conversion rule for a module created in the operation target. The conversion rule is, for example, definition information for converting the module name before the change into the module name after the change when the name (module name) of the module is changed.
[0024] If the LLM 102 has not learned the operation target information 232, the LLM 102 may return an erroneous output result or the module name before the change as the response 112.
[0025] The memory 202 and storage device 203 may be, for example, a read-only memory (ROM), a random access memory (RAM), a hard disk drive (HDD), or a flash memory. The memory 202 and storage device 203 are collectively referred to as storage devices.
[0026] The communication interface 204 connects to the network 110 and transmits and receives data.
[0027] The bus 205 communicatively connects the processor 201, the memory 202, the storage device 203, and the communication interface 204.
[0028] The creation support device 101 is connected to an input device 206 and an output device 207 via a bus 205. The input device 206 inputs data. Examples of the input device 206 include a keyboard, a mouse, a touch panel, a numeric keypad, a scanner, a microphone, and a sensor. The output device 207 outputs data. Examples of the output device 207 include a display, a printer, and a speaker.
[0029] <Figure 3: Example of operation of network system 100> 3 is an explanatory diagram showing an example of the operation of the network system 100. The operations manager M refers to the operating procedure manual 300 and creates know-how prompt information 231 using the know-how prompt definition program 221. Here, the know-how prompt information 231 will be specifically described.
[0030] [Example of creating Know-how Prompt Information 231] <Figure 4 Know-how prompt definition screen> 4 is an explanatory diagram showing an example of a know-how prompt definition screen. The know-how prompt definition screen 400 is called by the know-how prompt definition program 221, displayed on the display screen of the output device 207, and text is input using the input device 206. The know-how prompt definition screen 400 has a prompt name input area 401, a description input area 402, a parameter input area 403, a fixed information input area 404, and a register button 405.
[0031] The prompt name input area 401, the description input area 402, the parameter input area 403, and the fixed information input area 404 are areas for accepting input of character strings. The register button 405 is a user interface for registering the character strings entered in the prompt name input area 401, the description input area 402, the parameter input area 403, and the fixed information input area 404 as know-how prompts.
[0032] <Figure 5 Know-how prompt information 231> 5 is an explanatory diagram showing an example of the know-how prompt information 231. The know-how prompt information 231 is a table that defines a know-how prompt by the know-how prompt definition program 221. The know-how prompt information 231 has the following fields: folder name 501, prompt name 502, description 503, parameters 504, and fixed information 505. A combination of values in each field on the same line defines one know-how prompt. In FIG. 5, two know-how prompts 510 and 520 are registered.
[0033] The folder name 501 is a character string indicating the name of the folder in which the know-how prompt is saved. The prompt name 502 is a character string indicating the name of the know-how prompt. The description 503 is a character string explaining the know-how prompt. The parameter 504 is a numeric value or character string indicating a variable related to the prompt name 502. The fixed information 505 is a character string that is fixed in the know-how prompt. In the know-how prompt 520, a character string 550 is registered as the fixed information 505.
[0034] When the register button 405 is pressed by operating the input device 206, the character string entered in the prompt name input area 401 is registered as a prompt name 502. When the register button 405 is pressed by operating the input device 206, the character string entered in the description input area 402 is registered as a description 503. When the register button 405 is pressed by operating the input device 206, the character string entered in the parameter input area 403 is registered as a parameter 504. When the register button 405 is pressed by operating the input device 206, the character string entered in the fixed information input area 404 is registered as fixed information 505.
[0035] <Figure 6 Know-how prompt input screen> Fig. 6 is an explanatory diagram showing an example of a know-how prompt input screen. The know-how prompt input screen 600 is called by specifying know-how prompt information 231 by the chat program 222, and is displayed on the display screen of the output device 207, and text is input by the input device 206. Fig. 6 shows the state in which the know-how prompt 520 has been called.
[0036] The know-how prompt input screen 600 has a prompt name display area 601 , a description display area 602 , a work input area 605 , and a create button 607 .
[0037] The prompt name display area 601 displays the prompt name 502. The explanation display area 602 displays the explanation 503. The work input area 605 is an area for accepting input of specific work procedures to be requested of the LLM 102 as additional information to be added to the fixed information 505. The create button 607 is a user interface for creating the prompt 111.
[0038] When the create button 607 is pressed by operating the input device 206, the prompt 111 is created using the character string 650 indicating the work procedure entered in the work input area 605 as additional information.
[0039] Returning to Figure 3, the chat program 222 sends the prompt 111 to the LLM 102 via the network 110. The monitoring device 103 receives the prompt 111 and records it in the prompt log 130.
[0040] The LLM 102 generates a response 112 to the prompt 111 and sends it to the creation support device 101. The response 112 may be code for an automation program created in an older version or in an incorrect data format.
[0041] The LLM 102 cannot answer questions about content that has not been learned. The version and data format of the operation target depend on the target to which the operation target is applied, so the LLM 102 may not be able to learn comprehensively. Therefore, the accuracy of the answer 112 depends on the learning accuracy of the LLM 102.
[0042] In the creation support device 101 , the operation target analysis program 223 receives the answer 112 , analyzes the operation target by referring to the answer 112 , creates a prompt 311 for the answer 112 , and transmits it to the LLM 102 via the network 110 .
[0043] The LLM 102 generates a response 312 to the prompt 311 and outputs it to the chat program 222. The content of the response 312 depends on whether or not there is an operation target in the response 112. Details of the response 312 will be described later. The chat program 222 outputs the response 312 to the output device 207.
[0044] The operation target registration program 224 references the prompt log 130 to generate operation target information 232. The operation target information 232 includes a module table 301 and a data format table 302. In addition, the conversation between the chat program 222 and the LLM 102 is registered in a conversation history 233.
[0045] <Figure 7 Conversation history 233> 7 is an explanatory diagram showing an example of the conversation history 233. The conversation history 233 has fields such as a folder name 701, a conversation name 702, a prompt content 703, and an answer content 704.
[0046] Folder name 701 is the name of the folder in which conversation history 233 is saved. Conversation name 702 is the name of the conversation saved in the folder of folder name 701. It is assumed that folder name 701 and conversation name 702 are embedded in prompt 111. Prompt content 703 is the content of prompt 111. In the case of entry 710 on the first line, prompt content 703 is a character string including character string 550 of fixed information 505 and character string 650 of additional information shown in FIG. 6.
[0047] The answer content 704 is the content of the answer 112. In the case of the entry 710, the answer content 704 is, for example, the code 714 of the playbook.
[0048] The entry 720 on the second line shows the prompt content 703 and answer content 704 when the chat program 222 sends a prompt 111 to the LLM 102 again in response to the answer content 704 of the entry 710 on the first line, as input by the operations manager M, and the LLM 102 answers again.
[0049] Suppose that operations manager M looks at the response content 704 of the first line entry 710 from the LLM 102 and finds an incorrect statement 741 in the playbook code 714 indicated by this response content 704. In this case, operations manager M enters, "The playbook you created is incorrect. The correct playbook is below," pastes the code 724 of the correct playbook, and enters, "Please tell me the difference between the two playbooks." The chat program 222 sends this entered character string 732 (including the code 724 of the correct playbook) to the LLM 102 as a new prompt 111.
[0050] In this case, the LLM 102 generates a character string 733 as the answer content 704. The character string 733 indicates the difference between the playbook code 714 and the correct playbook code 724, such as "The "xxxxxxxx" in the created playbook is incorrect. The correct value is "yyyyyyyy." In other words, it shows the correspondence between the incorrect description 741 in the playbook code 714 and the correct description 742 in the correct playbook code 724. This correspondence is stored in the module table 301 as a conversion rule 903.
[0051] <Figure 8 Prompt log 130> 8 is an explanatory diagram showing an example of the prompt log 130. The prompt log 130 has the following fields: folder name 701, conversation name 702, message ID 803, message 804, and time 805.
[0052] Message ID 803 is an identification number that uniquely identifies message 804. Message ID 803 is, for example, an integer in ascending order starting from 0. Message 804 is a combination of "role" and "content" identified by message ID 803. "Role" indicates the sender, and "content" indicates the transmitted content. Time 805 is a timestamp when message 804 was transmitted.
[0053] Among messages 804, a message 804 whose "role" is "system" indicates an overall definition. The "role" "user" indicates the user of chat program 222, i.e., operations manager M. Therefore, a message 804 whose "role" is "user" is a prompt 111, and its "content" is the prompt content 703.
[0054] On the other hand, the "role" "assistant" indicates the LLM 102. Therefore, the message 804 whose "role" is "assistant" is the answer 112, 312, and its "content" is the answer content 704.
[0055] <Operation target information 232> Next, a description will be given of the operation target information 232. The operation target information 232 includes a module table 301 and a data format table 302.
[0056] [Figure 9 Module Table 301] 9 is an explanatory diagram showing an example of the module table 301. The module table 301 has operation target 901, module name 902, and conversion rule 903 as fields.
[0057] The operation target 901 is a service operated by a playbook, which is an automation program, or a system that operates the service. "AWS" is the name of the operation target 901 (operation target name). The module name 902 is the name of a module within the operation target 901. The conversion rule 903 indicates the correspondence between the playbook before and after conversion, identified by the dialogue between the chat program 222 and the LLM 102.
[0058] [Figure 10 Data format table 302] 10 is an explanatory diagram showing an example of the data format table 302. The data format table 302 has fields such as an operation target 901, a command name 1002, a data format 1003, and a data format example 1004.
[0059] The command name 1002 is the name of a command for acquiring data from the operation target 901. The data format 1003 is the output result when the command with the command name 1002 is input to the operation target 901. The data format example 1004 is an example of the data format 1003.
[0060] The operation target information 232 is stored in the creation support device 101 and is accessible by the LLM 102. The operation target information 232 may be stored in a computer other than the creation support device 101, as long as it is accessible to the LLM 102. In this case, when the operation target information 232 is updated in the creation support device 101, the operation target information 232 stored in the other computer is also updated in synchronization with the update.
[0061] By accessing the operation object information 232, the LLM 102 can learn, specifically, for example, what is in the operation object 901, what is the module name 902 of the module used in the operation object 901, what is the module name 902 before and after conversion in the operation object 901, what is the command name 1002 of the command that obtains data in the operation object 901, and what format the output result (data format 1003 or data format example 1004) of the operation object 901 using that command is.
[0062] As a result, when a command with a command name 1002 is given, the LLM 102 can create an automation program in which data is converted according to the data format 1003 or the data format example 1004. The LLM 102 can also create an automation program in which the module name 902 is converted according to the conversion rule 903.
[0063] <Creation support screen> 11 is an explanatory diagram showing an example of a creation support screen. The creation support screen 1100 is displayed on the output device 207. The creation support screen 1100 has a conversation history display area 1101, a prompt log display area 1102, a chat display area 1103, and a know-how prompt display area 1104.
[0064] The conversation history display area 1101 is an area for displaying the conversation history 233. When the account management 1111, which is the folder name 701, is expanded, the inactive account 1112, which is the conversation name 702, is displayed.
[0065] The prompt log display area 1102 is an area that displays the prompt log 130. Expanding the folder name 701, Account Management 1111, displays the conversation name 702, Inactive Accounts 1112, and expanding the Inactive Accounts 1112 displays the messages 804 in the prompt log 130.
[0066] The conversation history 233 and the prompt log 130 are stored in the same folder (folder name 701: account management 1111), so that the conversation history 233 and the prompt log 130 can be associated with each other.
[0067] The chat display area 1103 allows the user to select the usage model and answer type of the LLM 102, and has a prompt content display area 1131 and an answer content display area 1132. The prompt content display area 1131 is an area where the prompt content 703 is input and displayed. The answer content display area 1132 is an area where the answer content 704 is displayed. When the send button 1130 is pressed, the prompt 111 of the prompt content 703 is sent to the LLM 102, and when the answer 112 from the LLM 102 is received, the answer content 704 is displayed. The know-how prompt display area 1104 is an area where the know-how prompt information 231 is displayed.
[0068] <Figure 12 Operation target analysis process> FIG. 12 is a flowchart showing an example of operation target analysis processing by the operation target analysis program 223.
[0069] The operations manager M refers to the operation procedure manual 300 and divides the operation work into steps, such as "1. Output a file of user accounts in the virtual network and the date and time of their last login. 2. Output a file of only user accounts whose last login date and time is more than 90 days ago.", and creates a prompt 111 using the know-how prompt information 231. Specifically, for example, the prompt content 703 is written in the prompt content display area 1131.
[0070] (Step S1201: Creation request process) As part of the creation request process, the chat program 222 sends a prompt 111 to the LLM 102. Specifically, for example, when the chat program 222 detects that the send button 1130 has been pressed, it sends the prompt 111, including the prompt content 703, to the LLM 102. Then, when the LLM 102 receives the prompt 111 from the chat program 222, it generates a response 112 to the prompt 111 and sends it to the operation target analysis program 223.
[0071] (Step S1202: Operation target identification request process) When the operation target analysis program 223 receives the answer 112 from the LLM 102, it executes an operation target identification request process. In the operation target identification request process, the operation target analysis program 223 requests the LLM 102 to identify the operation target 901. Specifically, for example, the operation target analysis program 223 sends a standard question in natural language (hereinafter, first question 1211) such as, "What is the operation target 901 of the automation program created as the answer 112? Also, what command will be used for the operation target 901 in the automation program created as the answer 112?" to the LLM 102 as a prompt to identify the operation target 901.
[0072] When the LLM 102 receives the first question, it scans the automation program created as the answer 112, attempts to identify the operation target 901 and its command name 1002, and sends the operation target 901 and command name 1002 to the operation target analysis program 223 as the identification result 1212.
[0073] (Step S1203: Operation target information search process) When the operation target analysis program 223 receives the identification result 1212 (operation target 901 and command name 1002) of step S1202 from the LLM 102, it requests a search for operation target information 232. Specifically, for example, the operation target analysis program 223 sends to the LLM 102 a fixed phrase question in natural language (hereinafter, second question 1221) such as "Do you know the identified operation target and the data format corresponding to its command?" At this time, the operation target analysis program 223 includes access information in the second question 1221 that specifies the computer having the operation target information 232 as the search destination.
[0074] When the LLM 102 receives the second question 1221, it accesses its own database to search for the operation target information 232. The LLM 102 also searches for the operation target information 232 based on the access information. For example, if the command name 1002 is "aws iam list-users," the LLM 102 extracts the data format 1003 or data format example 1004 corresponding to the command name 1002 of the identification result 1212 from its own database or the operation target information 232.
[0075] For example, if data format example 1004 is present in its own database or operation target information 232, LLM 102 extracts data format example 1004, and if data format example 1004 is not present, extracts data format 1003. Using data format example 1004 as the prompt 111 rather than data format 1003 improves the accuracy of the response by LLM 102. LLM 102 sends the extracted data format 1003 or data format example 1004 to operation target analysis program 223 as search result 1222.
[0076] Furthermore, if the conversion rule 903 for the operation target 901 identified in step S1202 is stored in its own database or module table 301, the LLM 102 extracts the conversion rule 903 from its own database or module table 301. For example, if the operation target 901 identified in step S1202 is "AWS," the LLM 102 extracts the following conversion rule 903 for the module whose module name 902 is "EC2": "The community.aws.ec2: module is being used, but this is not the correct module name. The correct module name should be ec2:. The parameter id: is being used, but this parameter does not exist. If an MI ID is to be specified, use image:."
[0077] (Step S1204) The operation target analysis program 223 determines whether or not operation target information 232 has been extracted from the search result 1222. If operation target information 232 has not been extracted (step S1204: No), the operation target analysis program 223 transmits a response 312A indicating this to the chat program 222 as the response 312. The response 312A may include the response content (automation program) of the response 112. The chat program 222 displays the response 312A on the output device 207.
[0078] If the operation target information 232 is extracted (step S1204: Yes), the process proceeds to step S1205.
[0079] (Step S1205: Operation target information addition process) The operation target analysis program 223 adds the operation target information 232 to the prompt 311 for requesting the re-creation of the automation program. Specifically, for example, the operation target analysis program 223 adds the command name 1002 used in the automation program described in the response 112, its output result (data format 1003 or data format example 1004), and the conversion rule 903 to the latest module to the prompt 311 for requesting the re-creation.
[0080] (Step S1206: Re-creation request process) The operation target analysis program 223 sends a prompt 311 requesting recreation to the LLM 102 in step S1205. Upon receiving the prompt 311 requesting recreation, the LLM 102 generates a response 312B and sends it to the chat program 222 as a response 312. The response 312B includes the code of the recreationd automation program. That is, the code of the recreationd automation program is generated using the command name 1002, output result (data format 1003 or data format example 1004), and conversion rule to latest module 903 that were added to the prompt 311 requesting recreation. The chat program 222 displays the response 312B on the output device 207.
[0081] In this way, according to the operation target analysis program 223, the data format 1003 or data format example 1004, and conversion rule 903 that the LLM 102 has not learned are automatically added to the prompt 311, thereby reducing the burden of manual prompt input and allowing the LLM 102 to generate a correct automation program.
[0082] <Figure 13 Operation target registration process> 13 is a flowchart showing an example of operation target registration processing by the operation target registration program 224. The operation target registration processing by the operation target registration program 224 is executed, for example, when a response 312A indicating that operation target information 232 was not extracted is obtained in the search result 1222 as a result of executing the creation request processing (step S1201) shown in FIG.
[0083] (Step S1301: First creation process) When the response 312A obtained as a result of executing the creation request process (step S1201) shown in Figure 12 is received, the operations manager M uses the input device 206 to input the command to be used in the automation program and the output result obtained by the command (data format 1003 or data format example 1004) into the prompt content display area 1131.
[0084] (Step S1302: Second creation process) Using the results of step S1301, the operations manager M creates an automation program in which the modules to be used have been updated to the latest versions by inputting them into the prompt content display area 1131.
[0085] Thereafter, when operations manager M presses send button 1130, chat program 222 sends a prompt containing a conversion rule creation request and automation program code to LLM 102. The conversion rule creation request is a request to create conversion rule 903. Specifically, for example, the conversion rule creation request includes operation target 901 and module name 902 of the latest version module.
[0086] When the LLM 102 receives a conversion rule creation request, it references its own learning content and creates a conversion rule 903. For example, if the LLM 102 has learned the module name "community.aws.ec2" for the module name 902:EC2 of the operation target 901:AWS, it creates a natural language conversion rule 903 such as "The community.aws.ec2: module is being used, but this is not the correct module name. The correct module name is EC2:," and registers this in the module table 301. The LLM 102 sends the created conversion rule 903 to the chat program 222 as a response.
[0087] In the first creation process (step S1301) and the second creation process (step S1302), the prompts and answers sent and received between the chat program 222 and the LLM 102 are saved in the conversation history 233. The operation target registration program 224 can also refer to the conversation history 233.
[0088] (Step S1303: Operation target identification process) The operation object registration program 224 transmits a prompt to the LLM 102 requesting the LLM 102 to identify the operation object 901. Specifically, for example, the prompt inquires about what operation object 901 the series of conversations in the conversation history 233 are about. Upon receiving the prompt, the LLM 102 generates a response that identifies the operation object 901 corresponding to the series of conversations in the conversation history 233 and transmits it to the operation object registration program 224. The operation object registration program 224 receives the response from the LLM 102.
[0089] (Step S1304: First registration process) When the operation target registration program 224 receives the response in step S1303 from the LLM 102, it creates a prompt inquiring about the command name 1002 used in the operation target 901 included in the response and the output result of the command (data format 1003 or data format example 1004), and sends it to the LLM 102.
[0090] When the LLM 102 receives the prompt, it generates a response including the command name 1002 and the output result (data format 1003 or data format example 1004) and sends it to the operation target registration program 224. The operation target registration program 224 registers the command name 1002, which is the response from the LLM 102, and the output result by the command (data format 1003 or data format example 1004), in the data format table 302.
[0091] (Step S1303: Operation target identification process) The operations manager M checks the output result (data format 1003 or data format example 1004) registered in step S1304. Then, the operation target registration program 224 generates a prompt inquiring about the difference between the automation program code using the output result (data format 1003 or data format example 1004) registered in step S1304 and the automation program code using the previous output result (for example, the automation program code obtained in response 112 in FIG. 12 ), and sends the prompt to the LLM 102.
[0092] Specifically, for example, the operation target registration program 224 creates a prompt including the character string 732 in the entry 720 of the conversation history 233 shown in FIG.
[0093] When the LLM 102 receives the prompt, it generates a natural sentence indicating the difference between the old and new automation programs (for example, the pair of codes 714 and 724 shown in FIG. 7 ) as a response and sends it to the operation target registration program 224. The operation target registration program 224 registers the natural sentence indicating the difference (for example, character string 733), which is the response from the LLM 102, in the conversion rule 903 of the data format table 302 in the operation target information 232.
[0094] In this way, the operation target registration program 224 sets in the LLM 102 the output results (data format 1003 or data format example 1004) and conversion rules 903 that the LLM 102 has not learned, improving the learning accuracy of the LLM 102 and facilitating the generation of correct automation programs in the LLM 102. This prevents the operation and maintenance work of the operation target 901 from becoming siloed.
[0095] As described above, according to this embodiment, instead of reusing an existing automation program, an automation program can be generated from a manual work procedure using a language generation AI that is a general-purpose model such as the LLM 102. In other words, by having the language generation AI learn the operation target information 232, it becomes possible to generate a correct automation program.
[0096] The present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the spirit and scope of the appended claims. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to configurations including all of the described configurations. Furthermore, part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Furthermore, the configuration of another embodiment may be added to the configuration of one embodiment. Furthermore, part of the configuration of each embodiment may be added to, deleted from, or replaced with other configurations.
[0097] Furthermore, the aforementioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole in hardware, for example by designing them as integrated circuits, or may be realized in software by a processor interpreting and executing a program that realizes each function.
[0098] Information such as programs, tables, and files that realize each function can be stored in storage devices such as memory, hard disks, and SSDs (Solid State Drives), or on recording media such as IC (Integrated Circuit) cards, SD cards, and DVDs (Digital Versatile Discs).
[0099] In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines that are necessary for implementation. In reality, it can be considered that almost all components are interconnected. [Explanation of symbols]
[0100] 100 Network Systems 101 Creation support device 102 LLM 103 Monitoring equipment 111,311 prompts 112,312 answers 201 processor 220 Creation Support Program 221 Know-how Prompt Definition Program 222 chat program 223 Operational Object Analysis Program 224 Operation target registration program 231 Know-how Prompt Information 232 Operation target information 233 Conversation History 301 Module Table 302 Data Format Table 901 Operation Target 902 Module Name 903 Conversion Rules 1002 Command Name 1003 Data Format 1004 Data format example 1211 Question 1 1212 Specific results 1221 Question 2 1222 results
Claims
1. A creation support device having a processor that executes a program, a storage device that stores the program, and a communication interface that can communicate with a computer that has been trained to generate answers to queries, The processor: a creation request process for sending a request to create an automation program for automating a work procedure to be operated to the computer and receiving a response to the creation request from the computer; a specific request process for transmitting to the computer a specific request for identifying the operation target and a command for executing the work procedure from a program code included in a response to the creation request, and receiving from the computer a response to the specific request; a search request process for transmitting to the computer a search request for an output result of data acquired by the command included in a response to the specific request, and receiving from the computer a response to the search request; a generation process for generating a re-creation request for re-creating the automation program using the output result included in the response to the search request; a recreate request process for transmitting the recreate request generated by the generation process to the computer and receiving a response to the recreate request from the computer; A creation support device that executes the above.
2. 2. The creation support device according to claim 1, In the generation process, the processor adds to the re-creation request a conversion rule from an old module name to a new module name of the module used in the operation target. A creation support device characterized by:
3. 2. The creation support device according to claim 1, In the search request process, the processor transmits the specific request to the computer, the specific request including access information for correspondence information between the command and the output result. A creation support device characterized by:
4. 2. The creation support device according to claim 1, In the re-creation request process, the processor transmits the specific request to the computer, the specific request including access information for a conversion rule from an old module name to a new module name of the module used in the operation target. A creation support device characterized by:
5. 2. The creation support device according to claim 1, The processor: an output process for outputting a non-existence response indicating that the output result is not included in the response to the search request, if the output result is not included in the response to the search request; A creation support device that executes the above.
6. 6. The creation support device according to claim 5, The processor: a first setting process for setting the computer so that the computer can access information on the correspondence between the command and the output result; A creation support device that executes the above.
7. 6. The creation support device according to claim 5, The processor: a second setting process for setting the computer to be able to access a conversion rule from an old module name to a new module name of a module used in the operation target; A creation support device that executes the above.
8. A creation support method executed by a creation support device having a processor that executes a program, a storage device that stores the program, and a communication interface that can communicate with a computer that has been trained to generate answers to inquiries, comprising: The processor: a creation request process for sending a request to create an automation program for automating a work procedure to be operated to the computer and receiving a response to the creation request from the computer; a specific request process for transmitting to the computer a specific request for identifying the operation target and a command for executing the work procedure from a program code included in a response to the creation request, and receiving from the computer a response to the specific request; a search request process for transmitting to the computer a search request for an output result of data acquired by the command included in a response to the specific request, and receiving from the computer a response to the search request; a generation process for generating a re-creation request for re-creating the automation program using the output result included in the response to the search request; a recreate request process for transmitting the recreate request generated by the generation process to the computer and receiving a response to the recreate request from the computer; A creation support method characterized by executing the above.
9. a processor of a creation assistance device capable of communicating with a computer trained to generate answers to queries; a creation request process for sending a request to create an automation program for automating a work procedure to be operated to the computer and receiving a response to the creation request from the computer; a specific request process for transmitting to the computer a specific request for identifying the operation target and a command for executing the work procedure from a program code included in a response to the creation request, and receiving from the computer a response to the specific request; a search request process for transmitting to the computer a search request for an output result of data acquired by the command included in a response to the specific request, and receiving from the computer a response to the search request; a generation process for generating a re-creation request for re-creating the automation program using the output result included in the response to the search request; a recreate request process for transmitting the recreate request generated by the generation process to the computer and receiving a response to the recreate request from the computer; A creation support program characterized by executing the above.
Citation Information
Patent Citations
Method and apparatus for protecting a load against an overcurrent
US20220029415A1