Scenario management device, scenario management program and recording medium

The scenario management device and program address the challenge of converting natural language inputs into RPA scenario source code by using a machine learning model with rule information, enabling efficient and accurate automation of computer-based processes.

JP2025076564APending Publication Date: 2025-05-16KEYENCE CORP

Patent Information

Application Number
JP2023188167
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-02
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

Users unfamiliar with RPA activities face difficulties in selecting and arranging appropriate activities to perform desired scenarios, and current machine learning models struggle to accurately convert natural language inputs into source code for scenarios.

Method used

A scenario management device and program that accepts user instructions in natural language, acquires rule information for writing scenarios in a general-purpose programming language, and inputs this information into a machine learning model to generate source code, which is then displayed in a user-friendly format.

Benefits of technology

Enables users to easily input appropriate prompts for generating scenario source code, improving the accuracy of converting natural language inputs into functional source code, and facilitating the automation of computer-based processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025076564000001_ABST
    Figure 2025076564000001_ABST
Patent Text Reader

Abstract

To make it possible to input an appropriate prompt according to a purpose of scenario generation, to a machine learning model in an easy mode for a user.SOLUTION: A user instruction Q in a natural language format by a user is inputted to an LLM 12 (machine learning model) which has learned natural language processing. Thus, the LLM 12 can grasp meaning of the user instruction Q. Moreover, rule information Rg for describing a scenario Sm by general programming language is inputted to the LLM 12. Thus, a source code SC corresponding to the meaning of the user instruction Q can be appropriately generated based on the rule information Rg. That is, an appropriate prompt P according to a purpose of generation of the scenario Sm can be input to the LLM 12 in an easy mode for the user.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to RPA (Robotic Process Automation) technology that aims to reduce the workload of users by automating tasks that users have previously performed using computers. [Background technology]

[0002] RPA can be used to automate tasks performed by a user by operating applications run by a computer. This RPA automates tasks by executing a scenario (sometimes called a "flow") that indicates the procedure for executing a process by a computer. As shown in Patent Document 1, this scenario is generated by combining multiple activities, each of which indicates a process to be executed by a computer. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2023-54409 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, for users who are not familiar with the contents of activities that can be used in RPA, it is not easy to select and arrange appropriate activities to execute a desired scenario. Therefore, there has been a demand for the development of a tool that can generate a scenario by inputting the user's desired function in natural language. To address this issue, it is possible to use a machine learning model that has learned natural language, such as LLM (Large Language Models). However, even with current machine learning models, it is difficult to accurately output source code of a scenario that realizes a function input in natural language. In other words, there is a problem in that it is difficult to convert the function indicated by the natural language input by the user into an appropriate prompt that is in line with the purpose of generating source code of the scenario.

[0005] The present invention has been made in consideration of the above-mentioned problems, and aims to enable a user to easily input appropriate prompts in line with the purpose of scenario generation into a machine learning model. [Means for solving the problem]

[0006] A scenario management device according to a first aspect of the present invention is a scenario management device that manages scenarios for automating operations on other application programs, and comprises a reception unit that receives user instructions in a natural language format from a user, a rule information acquisition unit that acquires rule information for describing a scenario in a general-purpose programming language from a memory unit, an input unit that inputs the user instructions received by the reception unit and the rule information acquired by the rule information acquisition unit into a machine learning model that has learned natural language processing, an output information acquisition unit that acquires output information including source code describing the scenario, which is generated by the machine learning model in a general-purpose programming language in accordance with the user instructions and the rule information, and a display generation unit that converts the source code included in the output information into display information to be displayed on a GUI.

[0007] A scenario management device according to a second aspect of the present invention is a scenario management device that manages scenarios for automating operations on other application programs, and comprises a reception unit that receives user instructions in a natural language format from a user, a rule information acquisition unit that acquires rule information for describing a scenario in a general-purpose programming language from a memory unit, an input unit that inputs the user instructions received by the reception unit and the rule information acquired by the rule information acquisition unit into a machine learning model that has learned natural language processing, an output information acquisition unit that acquires output information including source code describing the scenario that is generated by the machine learning model in a general-purpose programming language in accordance with the user instructions and the rule information, and an editing operation unit that causes the source code included in the output information to be stored in the memory unit in a form that can be edited by the user.

[0008] A scenario management program according to a first aspect of the present invention is a scenario management program that causes a computer to function as a scenario management device that manages scenarios for automating operations on other application programs, and causes the computer to execute the following steps: accepting user instructions in a natural language format from a user; obtaining rule information for describing a scenario using a general-purpose programming language from a memory unit; inputting the user instructions and the rule information into a machine learning model that has learned natural language processing; obtaining output information including source code describing the scenario that is generated by the machine learning model using a general-purpose programming language in accordance with the user instructions and the rule information; and converting the source code included in the output information into display information to be displayed on a GUI.

[0009] A scenario management program according to a second aspect of the present invention is a scenario management program that causes a computer to function as a scenario management device that manages scenarios for automating operations on other application programs, and causes the computer to execute the following steps: accepting user instructions in a natural language format from a user; acquiring rule information for describing a scenario using a general-purpose programming language from a memory unit; inputting the user instructions and the rule information into a machine learning model that has learned natural language processing; acquiring output information including source code describing the scenario that is generated by the machine learning model using a general-purpose programming language in accordance with the user instructions and the rule information; and storing the source code included in the output information in the memory unit in a form that can be edited by the user.

[0010] A recording medium according to the present invention stores the above-mentioned scenario management program in a computer-readable manner.

[0011] In the present invention configured as described above, a user instruction in the form of natural language is input to a machine learning model that has been trained to process natural language. Therefore, the machine learning model can grasp the meaning of the user instruction. Furthermore, rule information for describing a scenario in a general-purpose programming language is input to the machine learning model. Therefore, source code corresponding to the meaning of the user instruction can be appropriately generated based on the rule information. In other words, it is possible for the user to easily input an appropriate prompt in line with the purpose of scenario generation to the machine learning model. Effect of the Invention

[0012] As described above, according to the present invention, it is possible for a user to easily input appropriate prompts in line with the purpose of scenario generation into a machine learning model. [Brief description of the drawings]

[0013] [Figure 1]1 is a block diagram showing an example of a scenario management system including a scenario management device according to the present invention. [Diagram 2] FIG. 4 is a block diagram illustrating an example of functions configured in accordance with execution of a scenario management program by a calculation unit. [Diagram 3] FIG. 2 is a diagram showing an example of a scenario editor screen that the editor function unit displays on a UI display. [Figure 4] FIG. 2 is a diagram illustrating an example of a relationship between activities and source code that constitute a scenario. [Figure 5A] FIG. 2 is a diagram showing an example of a chat assistant screen that the chat function unit displays on the display of the UI. [Figure 5B] FIG. 2 is a diagram showing an example of a chat assistant screen that the chat function unit displays on the display of the UI. [Figure 5C] FIG. 2 is a diagram showing an example of a chat assistant screen that the chat function unit displays on the display of the UI. [Figure 6] FIG. 4 is a diagram illustrating an example of a system prompt used by the chat functionality. [Figure 7] FIG. 13 is a diagram showing an example of a flow of operation of the scenario management system in response to an input of a user prompt. [Figure 8] 6 is a flowchart showing an operation executed by a terminal device according to a scenario management program. [Figure 9A] FIG. 13 is a diagram illustrating a typical example of a chat assistant screen showing a history of user instructions and the LLM's responses to those instructions. [Figure 9B] FIG. 13 is a diagram illustrating a typical example of a chat assistant screen showing a history of user instructions and the LLM's responses to those instructions. [Figure 9C] FIG. 13 is a diagram illustrating a typical example of a chat assistant screen showing a history of user instructions and the LLM's responses to those instructions. [Figure 9D] FIG. 13 is a diagram illustrating a typical example of a chat assistant screen showing a history of user instructions and the LLM's responses to those instructions. [Figure 10]FIG. 13 is a diagram showing a modified example of the operational flow of the scenario management system in response to an input of a user prompt. [Figure 11A] FIG. 13 is a diagram showing a typical history display state on the chat assistant screen when a user prompt is input multiple times. [Figure 11B] FIG. 13 is a diagram showing a typical history display state on the chat assistant screen when a user prompt is input multiple times. [Figure 12] FIG. 13 is a diagram illustrating a modified example of the operation using the chat assistant screen. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] FIG. 1 is a block diagram showing an example of a scenario management system including a scenario management device according to the present invention. The scenario management system 1 includes a server 11 and a terminal device 2 that functions as a client of the server 11. The server 11 is a computer and includes a storage unit 111 configured with a hard disk drive (HDD) or a solid state drive (SSD), and the storage unit 111 stores a large language model (LLM) 12. The LLM 12 is a machine learning model that has previously learned natural languages, and has previously learned general-purpose programming languages ​​such as C# in addition to natural languages. A specific example of the LLM 12 is ChatGPT (Generative Pretrained Transformer) (chatgpt is currently pending trademark registration).

[0015] The terminal device 2 is a computer for managing scenarios used in RPA. The terminal device 2 includes a calculation unit 21, a storage unit 22, a UI (User Interface) 24, a communication unit 25, and a bus 26. The storage unit 22 is composed of a memory unit 221 and a storage unit 222, and transmission and reception of signals between the calculation unit 21, the memory unit 221, the storage unit 222, the UI 24, and the communication unit 25 are performed via the bus 26.

[0016] The calculation unit 21 is a processor such as a CPU (Central Processing Unit), and controls the memory unit 221, the storage unit 222, the UI 24, and the communication unit 25. The memory unit 221 has a main memory, a cache memory, etc., and volatilely stores data based on instructions from the calculation unit 21, and the calculation unit 21 executes calculations using data read from the memory unit 221.

[0017] The storage unit 222 includes an HDD and an SSD, and stores data in a non-volatile manner. The UI 24 includes input devices such as a keyboard 241, a mouse 242, and a microphone 243, and an output device such as a display 244 as a GUI (Graphical User Interface). Thus, the user can perform input operations on the terminal device 2 by operating the keyboard 241, the mouse 242, or the microphone 243, and can check various data stored in the memory unit 221 or the storage unit 222 by checking the display on the display 244. Note that the input device and the output device do not need to be configured separately, and may be configured integrally using a touch panel display. The communication unit 25 also executes communication with the server 11. The communication unit 25 transmits input information Ii corresponding to the input operation from the user received by the UI 24 to the LLM 12 of the server 11, and receives output information Io, which is the response of the LLM 12 to the input information Ii, from the LLM 12.

[0018] The storage unit 222 also stores a scenario management program G. This scenario management program G is downloaded from, for example, an external server via the communication unit 25 and stored in the storage unit 222. However, the manner in which the scenario management program G is provided to the terminal device 2 is not limited to being downloaded from an external server. Therefore, the scenario management program G may be provided on an optical disk such as a DVD (Digital Versatile Disc) or a USB (Universal The scenario management program G may be provided by another recording medium such as a USB (Serial Bus) memory. The terminal device 2 can store the scenario management program G read from such a recording medium in the storage unit 222. When the calculation unit 21 executes the scenario management program G, the respective functional units in FIG. 2 for executing scenario management are configured in the calculation unit 21.

[0019] In this embodiment, the scenario used in the RPA managed by the terminal device 2 is a scenario for automating operations performed by the user of the terminal device 2 or other human beings on application programs other than the scenario management program G. The operations include an operation of acquiring a value from an application program other than the scenario management program G, an operation of processing a value, and an operation of inputting a value into an application program other than the scenario management program G. The operation of acquiring a value from an application program other than the scenario management program G includes a human operating an application program other than the scenario management program G to output information to be referenced from an output device such as the display 244. The operation of inputting a value into an application program other than the scenario management program G includes a human operating an input device such as the keyboard 241 or the mouse 242 so that a value is input into an application program other than the scenario management program G. For example, the operation includes directly inputting a value using the keyboard 241, or selecting a value to be input from options displayed by the application program using an input device.

[0020] As described later, a scenario is composed of multiple activities, and each activity specifies the operation to be performed by the computer. Specific examples of activities are: Activity showing the acquisition of a table written in CSV (Comma-Separated Values) format, etc. - Activity to narrow down the values ​​in the table based on given conditions An activity to extract values ​​from the table -An activity that outputs the value to a destination (table, web page, email address, etc.) Activity of accessing certain web pages - Activities to get images and text from web pages Various specific examples include the above. The user can then arrange the activities in a desired order using the UI 24, thereby creating a scenario in which the activities are executed in that order.

[0021] FIG. 2 is a block diagram showing an example of functions configured with the execution of a scenario management program by the calculation unit. When the calculation unit 21 executes the scenario management program G, an editor function unit 4 and a chat function unit 5 are configured in the calculation unit 21. The editor function unit 4 receives an editing operation by a user on the UI 24 and creates and edits a scenario in response to the editing operation. The editor function unit 4 has an editing operation unit 41, a scenario acquisition unit 42, and an editor display information generation unit 43. The chat function unit 5 has a function of interacting with a user in a chat format. The chat function unit 5 has a user instruction acceptance unit 51, an input information generation unit 52, an output information acquisition unit 53, an acquisition unit 54, a violation check unit 55, and a chat display information generation unit 56. In addition, when the calculation unit 21 executes the scenario management program G, a scenario storage area 61, a rule information storage area 62, a check rule storage area 63, a short-term history storage area 64 and a conversion table storage area 65 are secured in the memory unit 221, and a long-term history storage area 69 is secured in the storage unit 222.

[0022] The editor function unit 4 will be described with reference to Fig. 3. Here, Fig. 3 is a diagram showing a schematic example of a scenario editor screen that the editor function unit displays on the display of the UI. The editor display information generation unit 43 generates the scenario editor screen 8 of Fig. 3 for creating and editing a scenario Sm, and displays it on the display 244. This scenario editor screen 8 has an operation button display section 81, a creation method presentation section 82, and a main scenario screen 83.

[0023] The editor display information generation unit 43 displays the scenario Sm on the main scenario screen 83 of the scenario editor screen 8. This scenario Sm is stored in the scenario storage area 61, and the scenario acquisition unit 42 reads the scenario Sm from the scenario storage area 61 and passes it to the editor display information generation unit 43. The editor display information generation unit 43 then displays the scenario Sm received from the scenario acquisition unit 42 on the main scenario screen 83. The editing operation unit 41 creates and edits the scenario Sm based on the user's operations on the scenario editor screen 8 accepted by the UI 24. The scenario Sm created in this manner is saved in the scenario storage area 61.

[0024] This scenario Sm is composed of a number of activities A11-A14 arranged in execution order. On the main scenario screen 83, each of the activities A11-A14 is represented by an icon B showing a combination of activity type information C indicating the type of the activity A and definition information D defining the details of the activity A. The user edits activity A by specifying a value E of the definition information D.

[0025] Activity A11 is an activity that opens a spreadsheet file, and creates a character string type variable V11 (spreadsheet file) and opens the spreadsheet file specified by the path input to variable V11. Definition information D11 includes definition information D111 that specifies the name of the variable V11 to be created, and definition information D112 that specifies the value to be acquired as the entity value of variable V11. Specifically, in activity A11, the character string "spreadsheet file" is input as the value E111 specified in definition information D111. Therefore, a variable V11 having the name "spreadsheet file" is created. Also, in activity A11, a character string that is the path of the file is input as the value E112 specified in definition information D112. Therefore, by executing activity A11, the path of the file is acquired as the entity value of variable V11 (spreadsheet file), and "test" specified by the path is opened.

[0026] Activity A12 is an activity that deletes a specific sheet of a spreadsheet file that is active at the time when activity A12 is executed according to definition information D12. Definition information D12 includes definition information D121 that specifies a method for identifying a sheet to be deleted, and definition information D122 that specifies a key for identifying the sheet. In this example, activity A11 is executed immediately before activity A12, so "test" that is opened by the execution of activity A11 is the active spreadsheet file. Also, in this example, "sheet name" is selected as the value E121 specified in definition information D121, so the sheet is identified by the sheet name. Also, in this example, the character string "summary" is input as the value E122 specified in definition information D121, so the sheet with the sheet name "summary" is identified as the sheet to be deleted. Therefore, the sheet "summary" included in the spreadsheet file "test" is deleted by executing activity A12.

[0027] Activity A13 is an activity that saves a spreadsheet file that is active at the time that activity A13 is executed, in accordance with definition information D13. Definition information D13 includes definition information D131 that specifies the method of saving the spreadsheet file. In this example, activity A12 is executed immediately before activity A13, so "test", whose sheet is deleted by activity A12, is the active spreadsheet file. Also, in this example, "save over" is selected as the value E131 specified in definition information D131. Therefore, when activity A13 is executed, the spreadsheet file "test" is saved over.

[0028] Activity A14 is an activity that closes the active spreadsheet file at the time that activity A14 is executed, according to definition information D14. In this example, activity A13 is executed immediately before activity A14, so "test" saved by activity A14 is the active spreadsheet file. Therefore, the spreadsheet file "test" is closed by executing activity A14.

[0029] Incidentally, the scenario Sm consisting of a plurality of activities A11 to A14 as described above is written in source code in a general-purpose programming language such as C#, and is saved in the scenario save area 61. Fig. 4 is a diagram showing an example of the relationship between the activities constituting a scenario and the source code. In the example of Fig. 4, the relationship between each of the activities A21 and A22 and the code describing the activities A21 and A22 is shown.

[0030] The activities A21 and A22 are activities that create a string-type variable V2 and output characters input to the variable V2. The definition information D of each of the activities A21 and A22 specifies a value to be acquired as an entity value of the created variable V2. In the activity A21, "Hello" is input as the value E2 specified in the definition information D, and in the activity A22, "World" is input as the value E2 specified in the definition information D. Therefore, when the activity A21 is executed, the string "Hello" is output, and when the activity A22 is executed, the string "World" is output. As shown in FIG. 4, in the source code SC, the activity A21 is described by a code such as "System.Console.WriteLine("Hello")", and the activity A22 is described by a code such as "System.Console.WriteLine("World")".

[0031] In response to this, the editor display information generating unit 43 displays each activity included in the source code SC describing the scenario Sm on the main scenario screen 83 using an icon B indicating the activity. That is, when the scenario acquiring unit 42 reads out the scenario Sm described in the source code SC from the scenario saving area 61, the editor display information generating unit 43 receives this source code SC from the scenario acquiring unit 42. Then, the editor display information generating unit 43 converts the code corresponding to the activity included in the source code SC into an icon B corresponding to the activity, and displays this icon B on the main scenario screen 83. Specifically, a conversion table T for converting the code indicating each activity included in the source code SC describing the scenario Sm into an icon B indicating the activity is saved in the conversion table saving area 65. That is, this conversion table T is a table indicating the correspondence between the code indicating the activity and the icon B. Then, the editor display information generating unit 43 converts each of the multiple activities A11 to A14 constituting the scenario Sm into an icon B based on this conversion table T, and displays it on the main scenario screen 83.

[0032] The creation method presenting section 82 displays a plurality of method selection buttons 821A-821D indicating methods for creating the scenario Sm, and the editing operation section 41 confirms one method selection button 821 selected by a user's operation on the UI24 from among the method selection buttons 821A-821D. When the method selection button 821A labeled "Create by recording app operations" is selected, the editing operation section 41 records the user's operations on other applications accepted by the UI24, and creates source code SC for the scenario Sm based on the recorded results of those operations. When the method selection button 821B labeled "Create by recording browser operations" is selected, the editing operation section 41 records the user's operations on the browser accepted by the UI24, and creates source code SC for the scenario Sm based on the recorded results of those operations.

[0033] When the method selection button 821C labeled "Create with flow navigation" is selected, the editing operation unit 41 records the user's operation on the flow navigation accepted by the UI 24, and creates source code SC for the scenario Sm based on the recorded results of the operation. Here, flow navigation is a function that supports the user in creating the scenario Sm by displaying the creation procedure of the scenario Sm on the display 244. When the editing operation unit 41 confirms the selection of the method selection button 821C based on the operation performed on the UI 24, it requests the editor display information generation unit 43 to display the flow navigation, and the editor display information generation unit 43 displays the flow navigation on the display 244 in accordance with this request.

[0034] When the method selection button 821D labeled "Make with activity" is selected, the editing operation unit 41 records the operation of selecting the user's activity received by the UI 24, and creates the source code SC of the scenario Sm based on the recorded result of the operation. Specifically, when the editing operation unit 41 confirms the selection of the method selection button 821D based on the operation performed on the UI 24, it requests the editor display information generation unit 43 to display a list showing various available activities, and the editor display information generation unit 43 displays the list on the creation method presentation unit 82 in accordance with this request. The user can create the scenario Sm by, for example, performing an operation on the UI 24 to drag and drop a desired activity from the list on the creation method presentation unit 82 onto the main scenario screen 83. In other words, the editing operation unit 41 creates the source code SC of the scenario Sm based on such a user's operation.

[0035] The operation button display unit 81 has various operation buttons 811A to 811J. When the editing operation unit 41 confirms that the UI24 has accepted an operation to select the operation button 811A labeled "Save", it saves the source code SC of the scenario Sm being displayed on the main scenario screen 83 in the scenario saving area 61. When the editing operation unit 41 confirms that the UI24 has accepted an operation to select the operation button 811B labeled "Undo", it returns the scenario Sm being displayed on the main scenario screen 83 to the state before the execution of the most recent editing operation performed on the scenario Sm being displayed on the main scenario screen 83. When the editing operation unit 41 confirms that the UI24 has accepted an operation to select the operation button 811C labeled "Redo", it returns the scenario Sm being displayed on the main scenario screen 83 to the state before the execution of the most recent "Undo" operation performed on the scenario Sm being displayed on the main scenario screen 83.

[0036] When the editing operation unit 41 confirms that the UI24 has accepted an operation to select the operation button 811D labeled "Execute", it executes the scenario Sm being displayed on the main scenario screen 83. When the editing operation unit 41 confirms that the UI24 has accepted an operation to select the operation button 811E labeled "Stop" during the execution of the scenario Sm, it stops the scenario Sm being executed. When the editing operation unit 41 confirms that the UI24 has accepted an operation to select the operation button 811F labeled "Execute Option", it displays a screen for setting options for executing the scenario Sm being displayed on the main scenario screen 83. When the editing operation unit 41 confirms that the UI24 has accepted an operation to select the operation button 811G labeled "Partial Execution", it executes a part of the activities selected from the scenario Sm being displayed on the main scenario screen 83. When the editing operation unit 41 confirms that the UI24 has accepted an operation to select the operation button 811H labeled "Execute Line by Line", it executes the activities of the scenario Sm being displayed on the main scenario screen 83 one by one.

[0037] When the editing operation unit 41 confirms that the UI 24 has accepted the operation of selecting the operation button 811I labeled "Step In" during debugging, it executes the scenario Sm being displayed on the main scenario screen 83. When the editing operation unit 41 confirms that the UI 24 has accepted the operation of selecting the operation button 811J labeled "Step Out" during debugging, it stops the scenario Sm being executed.

[0038] Next, the chat function unit 5 will be described with reference to Figures 5A to 5C. Here, Figures 5A to 5C are diagrams that typically show an example of a chat assistant screen that the chat function unit displays on the display of the UI.

[0039] The chat display information generating unit 56 displays the chat assistant screen 9 of Fig. 5A on the display 244. This chat assistant screen 9 is a screen provided separately from the above-mentioned scenario editor screen 8, and is provided so that the user can specify in natural language the content that he or she wishes to execute using the scenario editor screen 8. This chat assistant screen 9 has a chat input section 91 and a history display section 92.

[0040] The user can input user instructions Q in natural language to the chat input section 91 by selecting the chat input section 91 by operating the mouse 242 and inputting text to the chat input section 91 by operating the keyboard 241. Note that input of text to the chat input section 91 may be performed by voice input to the microphone 243 instead of operating the keyboard 241. The user instruction acceptance section 51 accepts the user instructions Q input to the chat input section 91 and transfers the user instructions Q to each of the short-term history storage area 64 and the input information generation section 52. The short-term history storage area 64 stores the user instructions Q received from the user instruction acceptance section 51. Furthermore, the user instructions Q stored in the short-term history storage area 64 is also stored in the long-term history storage area 69.

[0041] The input information generating unit 52 generates input information Ii for the LLM 12 based on the user instruction Q received from the user instruction receiving unit 51. In particular, the input information generating unit 52 generates the input information Ii including rule information Rg indicating a rule for generating a response to the input information Ii and the user instruction Q. This rule information Rg is information that is also used as meta information embedded in the input information Ii in order to obtain desirable output information Io from the LLM 12, that is, to improve the performance of the LLM 12 used in combination with the chat function unit 5. This rule information Rg is stored in the rule information storage area 62, and the acquisition unit 54 passes the rule information Rg acquired from the rule information storage area 62 to the input information generating unit 52, and the input information generating unit 52 creates input information Ii including the rule information Rg and the user instruction Q received from the acquisition unit 54. The input information Ii created in this way is transmitted from the input information generating unit 52 to the LLM 12 via the communication unit 25.

[0042] The output information acquisition unit 53 acquires the output information Io output by the LLM 12 as a response to the user instruction Q via the communication unit 25. The output information acquisition unit 53 passes the output information Io acquired from the LLM 12 to each of the short-term history storage area 64 and the violation check unit 55. The short-term history storage area 64 stores the output information Io received from the output information acquisition unit 53 in association with the user instruction Q received from the user instruction acceptance unit 51. As a result, the user instruction Q and the output information Io, which is a response to the user instruction Q, are associated with each other and stored in the short-term history storage area 64. The output information Io stored in the short-term history storage area 64 is also stored in the long-term history storage area 69 in a similar manner in association with the user instruction Q.

[0043] The violation checking unit 55 checks whether the output information Io received from the output information acquiring unit 53 violates the rule information Rg. Specifically, a check rule Rc for checking the output information Io is stored in the check rule storage area 63, and the violation checking unit 55 checks the output information Io based on the check rule Rc. The output information Io and the result of the check of the output information Io by the violation checking unit 55 are then passed from the violation checking unit 55 to the chat display information generating unit 56.

[0044] The chat display information generating unit 56 converts the output information Io received from the violation checking unit 55 into chat display information Ic to be displayed on the display 244, and displays the chat display information Ic on the display 244. Furthermore, if the check result of the violation checking unit 55 indicates that the output information Io violates the check rule Rc, the chat display information generating unit 56 displays information indicating that the output information Io violates the check rule Rc on the display 244. The information indicating the violation can be displayed, for example, by blinking the relevant portion.

[0045] The explanation will be continued by adding FIG. 6 to FIG. 5A to FIG. 5C. Here, FIG. 6 is a diagram showing an example of a system prompt used by the chat function unit. The system prompt referred to here refers to information embedded in input information Ii input to LLM 12 based on user instructions Q in order to improve the performance of LLM 12, written in a language format that can be interpreted by LLM 12. Since LLM 12 in this embodiment can interpret natural languages ​​and C#, which is a general-purpose programming language, the system prompt shown in FIG. 6 is written in these formats.

[0046] 5A shows an example in which a user prompt Pu indicating a user instruction Q, "I would like to open the spreadsheet file "C\Users\Desktop\test.xlsx", delete the "Summary" sheet in it, and overwrite and save it. Is that possible?", is input to chat input unit 91. When the user, for example, presses the Enter key on keyboard 241, user instruction accepting unit 51 passes the input user prompt Pu to chat display information generating unit 56, and chat display information generating unit 56 displays the user prompt Pu received from user instruction accepting unit 51 in history display unit 92 and erases the user prompt Pu from chat input unit 91 (FIG. 5B).

[0047] Furthermore, the user instruction receiving unit 51 passes the user prompt Pu to the input information generating unit 52. At this time, the acquiring unit 54 acquires the rule information Rg from the rule information storage area 62, and the input information generating unit 52 acquires the system prompt Ps shown in FIG. 6 from the acquiring unit 54. In this embodiment, the system prompt Ps is stored as the rule information Rg in the rule information storage area 62, but information in a format different from the system prompt Ps may be stored as the rule information Rg in the rule information storage area 62, and the acquiring unit 54 may generate the system prompt Ps. This system prompt Ps includes natural language information Psa, function definition information Psb, and sample code Psc. In the natural language information Psa, a description of the role of the LLM 12 "RPA tool assistant" and rules for creating the scenario Sm are described in natural language. In the function definition information Psb, methods and enums (these are appropriately referred to as "functions") of a general-purpose programming language supported by the scenario management program G (in other words, the terminal device 2 in which the scenario management program G is installed) are described. The sample code Psc shows a method for reading the methods and enums described in the function definition information Psb using a general-purpose programming language. In this way, the system prompt Ps shows the rules for writing the scenario Sm using a general-purpose programming language.

[0048] The input information generation unit 52 then creates input information Ii including a user prompt Pu in which a user instruction Q is described and a system prompt Ps in which rule information Rg is described, and inputs the input information Ii to the LLM 12. The LLM 12 outputs output information Io as a response to the input information Ii to the output information acquisition unit 53. The output information Io received by the output information acquisition unit 53 is then passed to the chat display information generation unit 56 after being checked by the violation check unit 55.

[0049] This output information Io includes natural language answer information Ioa that answers in natural language to the user instruction Q indicated by the user prompt Pu. In the example of FIG. 5C, the natural language answer information Ioa indicates, in response to the user instruction Q, "Yes, you can. Using the following scenario, you can open the table file "C\Users\Desktop\test.xlsx", delete the "Summary" sheet, and overwrite and save it."

[0050] Furthermore, the output information Io includes scenario information Iob indicating a scenario Sm responding to a user instruction Q indicated by a user prompt Pu, and natural language explanation information Ioc explaining in natural language the operation executed by the scenario Sm indicated by the scenario information Iob. That is, the LLM 12 has learned a general-purpose programming language, whereas the input information Ii to the LLM 12 indicates rules for describing the scenario Sm in a general-purpose programming language. Therefore, the LLM 12 creates source code SC of the scenario Sm responding to the user instruction Q indicated by the user prompt Pu according to the rules indicated by the system prompt Ps. Then, this source code SC is included in the output information Io as scenario information Iob and is output from the LLM 12 to the output information acquisition unit 53, and the output information Io is passed to the editor display information generation unit 43.

[0051] In response to this, the editor display information generating unit 43 converts the code indicating each activity included in the source code SC describing the scenario Sm into an icon B indicating the activity based on the conversion table T read from the conversion table saving area 65. This generates chat display information Ic indicating each activity constituting the scenario Sm with an icon B. This chat display information Ic also includes natural language answer information Ioa and natural language explanatory information Ioc, each of which is written in a natural language. Then, the chat display information generating unit 56 transmits the chat display information Ic to the display 244 to display it on the history display unit 92. As a result, the natural language answer information Ioa, the scenario information Iob, and the natural language explanatory information Ioc are displayed on the history display unit 92 (FIG. 5C). In the example of FIG. 5C, the scenario Sm indicated in the scenario information Iob is the same as the scenario Sm in FIG. 3, and therefore a detailed description thereof will be omitted.

[0052] In this way, by inputting a user prompt Pu indicating a user instruction Q into the chat input section 91 of the chat assistant screen 9, the user can obtain output information Io that is the response of the LLM 12 to the user instruction Q. Furthermore, the user can check the history of the user instruction Q and the output information Io corresponding to the user instruction Q in the history display section 92 of the chat assistant screen 9.

[0053] Furthermore, the user can import a part or all of the scenario Sm displayed on the history display section 92 into the scenario editor screen 8. With the history display section 92 displayed, the user instruction accepting section 51 accepts the selection of an activity by an operation accepted by the UI 24. When the user instruction accepting section 51 accepts an instruction to reflect the selected activity after the activity is selected, the user instruction Q is passed to the editor display information generating section 43. Then, the editor display information generating section 43 reads out the source code SC corresponding to the selected activity of the scenario Sm from the history short-term storage area 64. Furthermore, the editor display information generating section 43 converts the source code SC of the scenario Sm into icons B of each activity that displays the scenario Sm according to the code icon conversion rule, and displays the scenario Sm on the main scenario screen 83 of the scenario editor screen 8 using these icons B. This allows the scenario Sm that executes the operation of the user instruction Q to be loaded into the scenario editor screen 8. Note that the method of importing the scenario Sm included in the output information Io into the scenario editor screen 8 is not limited to this. For example, the user may operate the mouse 242 of the UI 24 to select (click) a user instruction Q displayed in the history display section 92, thereby importing the scenario Sm contained in the output information Io for this user instruction Q into the scenario editor screen 8.

[0054] 7 is a diagram showing a schematic diagram of an example of the operation flow of the scenario management system in response to the input of a user prompt. When the user instruction accepting unit 51 accepts the first user prompt Pu(1) (i.e., user instruction Q), the input information generating unit 52 acquires the user prompt Pu(1) from the user instruction accepting unit 51. The input information generating unit 52 then generates the first prompt P(1) (i.e., input information Ii) including the user prompt Pu(1) and the system prompt Ps (i.e., rule information Rg) acquired from the rule information storage area 62 via the acquiring unit 54, and inputs the prompt P to the LLM 12.

[0055] When the LLM 12 outputs an answer W to the prompt P (i.e., output information Io), the output information acquisition unit 53 acquires this answer W. This answer W includes source code SC of a scenario Sm that executes the operation requested by the user prompt Pu(1), and natural language explanation information Ioc that explains the operation of the scenario Sm. Then, the output information acquisition unit 53 associates the user prompt Pu(1) with the answer W to the user prompt Pu(1), and stores it as history information H in the short-term history storage area 64. This history information H is also stored in the long-term history storage area 69.

[0056] When the user instruction accepting unit 51 accepts the second user prompt Pu(2) (i.e., user instruction Q), the input information generating unit 52 acquires the user prompt Pu(2) from the user instruction accepting unit 51. Then, the input information generating unit 52 generates the second prompt P(2) (i.e., input information Ii) including the user prompt Pu(2) and the system prompt Ps (i.e., rule information Rg) acquired from the rule information storage area 62 via the acquiring unit 54. At this time, the acquiring unit 54 acquires an answer W to the first (i.e., previous) user prompt Pu(1) from the short-term history storage area 64, and the input information generating unit 52 includes the answer W in the prompt P(2) as an auxiliary prompt Pa for the LLM 12. In other words, the input information generation unit 52 generates a prompt P(2) that includes the current user prompt Pu(2), the system prompt Ps, and the answer W to the previous user prompt Pu(1) as an auxiliary prompt Pa, and inputs the prompt P(2) to the LLM 12.

[0057] 8 is a flowchart showing the operation executed by the terminal device in accordance with the scenario management program. In step S201, the chat display information generating unit 56 displays the chat assistant screen 9 (chat window) on the display 244. When the user instruction accepting unit 51 accepts a user instruction Q input to the chat input unit 91 (step S202), the input information generating unit 52 writes the user instruction Q received from the user instruction accepting unit 51 into the prompt P as a user prompt Pu (step S203).

[0058] In step S204, the input information generating unit 52 checks whether or not the history information H (chat history) exists in the short-term history storage area 64. If the history information H exists (if "YES" in step S204), the acquiring unit 54 acquires the rule information Rg and the history information H (step S205), and the input information generating unit 52 writes the rule information Rg into the prompt P as a system prompt Ps, and writes the answer W indicated by the history information H into the prompt P as an auxiliary prompt Pa, thereby generating the prompt P (step S207). If the history information H does not exist (if "NO" in step S204), the acquiring unit 54 acquires the rule information Rg (step S206), and the input information generating unit 52 writes the rule information Rg into the prompt P as a system prompt Ps, thereby generating the prompt P (step S207).

[0059] In step S208, the input information generation unit 52 inputs the prompt P generated in step S207 to the LLM 12. In step S209, the output information acquisition unit 53 acquires the output information Io output by the LLM 12 as a response to the prompt P. Then, the short-term history storage area 64 acquires and stores the output information Io (i.e., the answer W) from the output information acquisition unit 53 as history information H (step S210).

[0060] Also, the output information acquisition unit 53 writes the output information Io to the violation check unit 55 (step S211), and the violation check unit 55 checks whether the output information Io has a violation with respect to the rule information Rg based on the check rule Rc (step S212). If the output information Io has a violation (YES in step S212), the chat display information generation unit 56 acquires violation information indicating the content of the violation of the output information Io (step S213), and generates chat display information Ic (display information) based on the output information Io and the violation information (step S214). Specifically, as described above with reference to FIG. 5C, the chat display information generation unit 56 converts the activities A11 to A14 included in the source code SC into the corresponding icons B to generate the chat display information Ic. Also, the chat display information Ic is generated so as to include a display indicating an activity that violates the rule information Rg (such as a blinking display of activity A). If the output information Io does not contain a violation (NO in step S212), the chat display information generating unit 56 generates chat display information Ic (display information) based on the output information Io (step S214).

[0061] In step S215, the chat display information generation unit 56 displays the chat display information Ic generated in step S214 on the display 244. If a user instruction Q is input to the chat input unit 91 (if "YES" in step S216), the process returns to step S202. If a user instruction Q is not input to the chat input unit 91 (if "YES" in step S216), the editor display information generation unit 43 reads the source code SC of the scenario Sm stored in the short-term history storage area 64, and displays the scenario Sm on the display 244 using an icon B. As a result, the scenario editor screen 8 illustrated in FIG. 3 is displayed on the display 244.

[0062] In the embodiment described above, a user instruction Q in the form of natural language by a user is input to the LLM 12 (machine learning model) that has learned natural language processing. Therefore, the LLM 12 can grasp the meaning of the user instruction Q. Furthermore, rule information Rg for describing a scenario Sm in a general-purpose programming language is input to the LLM 12. Therefore, source code SC corresponding to the meaning of the user instruction Q can be appropriately generated based on the rule information Rg. In other words, it is possible for the user to easily input an appropriate prompt P in line with the purpose of generating the scenario Sm to the LLM 12.

[0063] Furthermore, output information Io is acquired, which includes source code SC describing the scenario Sm that is generated by the LLM 12 in a general-purpose programming language according to the user instructions Q and the rule information Rg. Then, the source code SC included in this output information Io is converted into an icon B (display information) to be displayed on the display 244 (GUI). Therefore, even a user who has not mastered a general-purpose programming language can understand the scenario Sm indicated by the source code SC output from the LLM 12 by the icon B displayed on the display 244.

[0064] Also, output information Io is acquired, which includes source code SC describing a scenario Sm that is generated by the LLM 12 in a general-purpose programming language according to user instructions Q and rule information Rg. Then, the source code SC included in the output information Io is stored in the short-term history storage area 64 in a form that can be edited by the user (in other words, stored in a state that can be read by the editor function unit 4). Therefore, the scenario Sm indicated by the output source code SC is not executed as is, but can be modified as necessary before execution.

[0065] Furthermore, the natural language information Psa of the system prompt Ps (rule information Rg) states that "The scenario is output as C# code." In other words, the rule information Rg includes language designation information that designates the general-purpose programming language (C#) in which the scenario Sm included in the output information Io is written. This makes it possible to generate a scenario Sm written in source code SC in the designated general-purpose programming language.

[0066] Furthermore, the function definition information Psb of the system prompt Ps (rule information Rg) describes supported methods and enums. In other words, the rule information Rg includes function definition information Psb (usable function information) that specifies functions that can be used to write a scenario Sm, among functions in a programming interface in a general-purpose programming language specified by the language specification information. This makes it possible to generate a scenario Sm written using the functions specified in the function definition information Psb.

[0067] Furthermore, the rule information Rg includes a sample code Psc that indicates how to read the available functions indicated by the function definition information Psb. In this configuration, the LLM 12 can accurately read the available functions by referring to the sample code Psc.

[0068] The rule information Rg also includes information that specifies how to write the scenario Sm in a general-purpose programming language (the "rules for creating a scenario" in the natural language information Psa). This makes it possible to create a scenario Sm written in the specified way.

[0069] The output information acquisition unit 53 also acquires output information Io including natural language explanatory information Ioc (explanation) that explains the scenario Sm in natural language. The chat display information generation unit 56 (display generation unit) then distinguishes the source code SC of the scenario Sm from the natural language explanatory information Ioc from the output information Io, and generates chat display information Ic including an explanatory text display based on the natural language explanatory information Ioc (FIG. 5C). This allows the user to check the contents of the scenario Sm using the natural language explanatory information Ioc.

[0070] Furthermore, the chat display information generating unit 56 (display generating unit) generates chat display information Ic that includes an input sentence display (user instructions Q in FIG. 5C) based on the user instructions Q accepted by the user instruction accepting unit 51 (accepting unit) and associates the input sentence display with the scenario Sm. This allows the user to confirm the user instructions Q entered when generating the scenario Sm through the input sentence display.

[0071] The scenario Sm also includes a plurality of activities A11 to A14 each of which executes a predetermined process defined in a general-purpose programming language. The user instruction receiving unit 51 (receiving unit) stores a user prompt Pu(1) (first user instruction) as a user instruction Q in the short-term history storage area 64 (storage unit). The output information acquiring unit 53 stores an answer W (first output information) as output information Io in the short-term history storage area 64. After the output information acquiring unit 53 acquires the answer W, when the user instruction receiving unit 51 accepts a user prompt Pu(2) (second user instruction) as a user instruction Q, the chat display information generating unit 56 generates chat display information Ic in which a history display (a display including the user prompt Pu, natural language answer information Ioa, and scenario information Iob in FIG. 5C) based on the user prompt Pu(1) and the answer W stored in the short-term history storage area 64, an input sentence display (user instruction Q in FIG. 5C), and an icon B (activity block) indicating the activities A11 to A14 are associated with each other. This allows the user to see a history showing their interactions with the LLM12.

[0072] Furthermore, the chat display information generating unit 56 and the editor display information generating unit 43 (display generating unit) display on the display 244 (GUI) a chat assistant screen 9 (first window) that accepts input of user instructions Q by the user, and a scenario editor screen 8 (second window) that is different from the chat assistant screen 9 and displays icons B (display information) of activities converted from the source code SC by the editor display information generating unit 43. This allows the user to properly perform the work of creating a scenario Sm by using each window (chat display information generating unit 56 and editor display information generating unit 43) appropriately according to their respective functions.

[0073] Furthermore, the editing operation unit 41 holds only a part of the source code SC describing the scenario Sm (for example, values ​​E112, E121, E122, and E131 in FIG. 3) in an editable form, which makes it possible to prevent parts of the source code SC that should not be edited from being edited by mistake.

[0074] Also provided is a violation checking unit 55 that checks whether the source code SC included in the output information Io acquired by the output information acquiring unit 53 violates the rule information Rg. When the violation checking unit 55 determines that the source code SC violates the rule information Rg, the chat display information generating unit 56 (display generating unit) generates information (for example, blinking display of an activity) for displaying on the display 244 (GUI) that the source code SC violates the rule information Rg. This allows the user to accurately manage whether the source code SC indicating the scenario Sm was generated in accordance with the rule information Rg.

[0075] As described above, in this embodiment, the terminal device 2 corresponds to an example of a "scenario management device" of the present invention, the LLM 12 corresponds to an example of a "machine learning model" of the present invention, the memory unit 221 corresponds to an example of a "memory unit" of the present invention, the storage unit 222 corresponds to an example of a "recording medium" of the present invention, the scenario management program G corresponds to an example of a "scenario management program" of the present invention, the user instruction receiving unit 51 corresponds to an example of a "receiving unit" of the present invention, the input information generation unit 52 corresponds to an example of an "input unit" of the present invention, the acquisition unit 54 corresponds to an example of a "rule information acquisition unit" of the present invention, the user instruction Q corresponds to an example of a "user instruction" of the present invention, and the rule information Rg corresponds to an example of "rule information" of the present invention.

[0076] The present invention is not limited to the above embodiment, and various modifications can be made to the above without departing from the spirit of the present invention. For example, various user instructions Q that the user can input to the chat assistant screen 9 are assumed. Specifically, the user instructions Q shown in Figs. 9A to 9D may be input to the chat assistant screen 9. Here, Figs. 9A to 9D are diagrams that typically illustrate chat assistant screens that show a history of user instructions and the LLM's responses to those instructions.

[0077] 9A, a history of a user instruction Q, "I want to get the current date and time and write only the date part into cell B1 of a spreadsheet file. Is that possible?", input into the chat assistant screen 9 is displayed in the history display section 92. In response to this, the answer (natural language answer information Ioa) of LLM 12, "Yes, you can. Using the following scenario, you can get the current date and time and write only the date part into cell B1 of a spreadsheet file," is displayed in the history display section 92 by the chat display information generation section 56.

[0078] Furthermore, the chat display information generating unit 56 converts the source code SC of the scenario Sm (scenario information Iob) that meets the request of the user instruction Q into an icon B and displays it in the history display unit 92. This scenario Sm is composed of a plurality of activities A31 to A34 that are arranged in the execution order.

[0079] Activity A31 is an activity that obtains the current date and time, creates a character string type variable V31 (currentDateTime), and executes an operation (obtaining the current date and time) indicated by the character string input as the value of variable V31. Definition information D31 of activity A31 includes definition information D311 that specifies the name of variable V31 to be created, and definition information D312 that specifies the value to be obtained as the entity value of variable V31. Specifically, in activity A31, the character string "currentDateTime" is input as value E311 specified in definition information D311. Therefore, a variable V31 having the name "currentDateTime" is created. Also, in activity A31, the character string "obtain current date and time" is input as value E312 specified in definition information D312. Therefore, by executing activity A31, the current date and time is obtained as the entity value of variable V31 (currentDateTime).

[0080] Activity A32 is an activity that obtains a date from a date and time, creates a character string type variable V32 (currentDate), and executes an operation indicated by the character string input to variable V32 (obtaining the time of date and time currentDateTime set to 0 o'clock). Definition information D32 of activity A32 includes definition information D321 that specifies the name of variable V32 to be created, and definition information D322 that specifies the value to be obtained as the entity value of variable V32. Specifically, in activity A32, the character string "currentDate" is input as value E321 specified in definition information D321. Therefore, a variable V32 having the name "currentDate" is created. Also, in activity A32, an operation "obtaining the time of date and time currentDateTime set to 0 o'clock" is input to obtain value E312 specified in definition information D322. Therefore, by executing activity A32, the current date and time currentDateTime set to 0 o'clock is obtained as the entity value of variable V32 (currentDate).

[0081] Activity A33 is an activity that converts the value of variable V32 (currentDate) into a character string. Definition information D33 of activity A33 includes definition information D331 that specifies the name of the variable V33 to be created, and definition information D332 that specifies the format for conversion. Activity A33 creates a character string type variable V33 (dateString), converts the value input into variable V32 into a character string in the format (short date format (yyyy / MM / dd)) indicated by value E332 input into definition information D33, and obtains the value converted into the character string as the entity value of variable V33 (dateString).

[0082] Activity A44 is an activity that writes the entity value of variable V33 (dateString) in a sheet of a spreadsheet file that is active at the time when activity A44 is executed, according to definition information D44. Definition information D34 includes definition information D341 that specifies the number of cells to which values ​​are written, definition information D342 that specifies the column in which the cell is located, definition information D343 that specifies the row in which the cell is located, definition information D344 that specifies the format in which the value is written, and definition information D345 that specifies the value to be written. In this example, "single cell" is selected as value E341 of definition information D341, "A1 format specification" is selected as value E342 of definition information D342, "B1" is selected as value E343 of definition information D343, "character string" is selected as value E344 of definition information D344, and "dataString" is specified as value E345 of definition information D345. Therefore, when activity A34 is executed, the actual value of variable V33 (dataString), which is a string, is written into a single cell identified by "A1 format specification" and "B1".

[0083] Furthermore, in the example of Figure 9A, the explanation (natural language explanation information Ioc) of LLM12 stating "This scenario is to use the RK-10 RPA tool to obtain the current date and time and write only the date portion into cell B1 of the table. First, the current date and time is obtained and only the date portion is obtained. Next, the date is converted into a character string and written into cell B1 of the table" is displayed in the history display unit 92 by the chat display information generation unit 56.

[0084] In the example of FIG. 9B, the history of a user instruction Q "Is there an activity to ZIP compress a folder?" input to the chat assistant screen 9 is displayed in the history display section 92. In response to this, the answer of the LLM 12 (natural language answer information Ioa) "Yes, to ZIP compress a folder, use the 'ZIP file compression' activity" is displayed in the history display section 92 by the chat display information generating section 56. In this embodiment, the name of an activity that meets the request of the user instruction Q is answered as the natural language answer information Ioa, but a text in which a method corresponding to the activity is written in a general-purpose programming language may be answered. Although the text written in a general-purpose programming language may not be easy for a user to understand, after an answer to a user instruction Q that asks about the existence of an activity, a user instruction Q that requests creation of a scenario using the answered activity is likely to be input, and the user does not necessarily need to understand the answer of the LLM 12.

[0085] Furthermore, the chat display information generating unit 56 converts the source code SC of the scenario Sm (scenario information Iob) that responds to the request of the user instruction Q into an icon B and displays it in the history display unit 92. This scenario Sm is composed of a plurality of activities A41 arranged in the execution order.

[0086] Activity A41 is an activity that ZIP-compresses a folder. This activity A41 creates a character string type variable V411 (folder), ZIP-compresses a folder at a path indicated by a character string input to variable V411, and saves the ZIP-compressed folder at a path indicated by a character string input to variable V412. Definition information D41 of activity A41 includes definition information D4111 that specifies the name of variable V411 to be created, definition information D4112 that specifies the value acquired as the entity value of variable V411, and definition information D412 that specifies the value acquired as the entity value of variable V412 to be created. Specifically, in activity A41, the character string "folder" is input as value E4111 specified in definition information D4111. Therefore, a variable V411 having the name "folder" is created. Also, in activity A41, the path input as value E4112 specified in definition information D4112 is acquired as the entity value of variable V411. Furthermore, in activity A41, the path input as value E412 specified in definition information D412 is acquired as the actual value of variable V412. Therefore, by executing activity A41, the folder of the path input as value E412 is ZIP compressed and saved in the path input as value E412. Furthermore, definition information D41 of activity A41 includes definition information D413 that specifies the method of saving the file, and definition information D414 that specifies the encoding method. In the example of FIG. 9B, "overwrite file" is input as value E413 specified in definition information D413, and "locale dependent" is input as value E414 specified in definition information D414.

[0087] Furthermore, in the example of Figure 9B, the explanation (natural language explanation information Ioc) of LLM12 stating "This scenario ZIPs the folder in 'C:\Users\User\SourceFolder' and saves it in 'C:\Users\User\DestinationFolder'. 'true' means overwrite is allowed, and '**' means no password is set. The last argument 'KeyenceFileSystemActions.EncodingType.ShiftJis' sets the encoding type of the ZIP file to ShiftJis" is displayed in the history display unit 92 by the chat display information generation unit 56.

[0088] In the example of FIG. 9C, the history of inputting the user instruction Q, "Can you change all the variable names in the following scenario to Japanese?" and the scenario Sm, which is the target of the user instruction Q, into the chat assistant screen 9 is displayed in the history display section 92. The contents of the scenario Sm are the same as those illustrated in FIG. 9A. In response to this, the chat display information generating unit 56 displays the answer (natural language answer information Ioa) of the LLM 12, "Of course you can. I changed the variable names to Japanese as follows," in the history display section 92. The chat display information generating unit 56 also converts the source code SC of the scenario Sm (scenario information Iob) that meets the request of the user instruction Q into an icon B and displays it in the history display section 92. Furthermore, in the example of FIG. 9C, the chat display information generating unit 56 displays the explanation (natural language explanation information Ioc) of the LLM 12, "However, please note that Japanese variable names may not be supported in some environments or editors, so please use them with caution." in the history display section 92.

[0089] In the example of Fig. 9D, a user instruction Q such as "In the following scenario, almost the same process appears twice. Can the process be standardized by using repetition?" and a scenario Sm that is the subject of the user instruction Q are input to the chat assistant screen 9, and the input history is displayed in the history display section 92. This scenario Sm is composed of activities A51 to A62 arranged in the execution order.

[0090] Activity A51 is an activity that starts a mailer, and definition information D51 for activity A51 defines that the mailer is to be started. Therefore, when activity A51 is executed, the mailer is started.

[0091] Activity A52 is an activity that creates a character string type variable V52 and acquires a character string input to the variable V52. The definition information D52 of activity A52 includes definition information D521 that specifies the name of the variable V52 to be created, and definition information D522 that specifies the value to be acquired as the entity value of the variable V52. Specifically, in activity A52, the character string "email address" is input as the value E521 specified in definition information D521. Therefore, a variable V52 having the name "email address" is created. Also, in activity A52, the character string "taro-tanaka@example.co.jp" is input as the value E522 specified in definition information D522. Therefore, by executing activity A52, the value E522, " “taro-tanaka@example.co.jp” is obtained as the actual value of variable V52.

[0092] Activity A53 is an activity that converts a character string into a list. The definition information D53 of this activity A53 includes definition information D531 that creates a variable V53 and specifies the name of the variable V53, and definition information D532, D533 that defines the contents to be input to the variable V53. The definition information D532 specifies a delimiter for converting an email address, which is a character string, into a list, and the definition information D533 specifies whether or not to use a custom format. Specifically, in activity A53, the character string "splitEmail" is input as the value E531 specified in the definition information D531. Therefore, a variable V53 having the name "splitEmail" is created. Also, in activity A53, "@" is input as the value E532 specified as the delimiter by the definition information D532, and the character string email address separated by "@" is converted into a list. Therefore, when activity A53 is executed, a list of character string email addresses separated by "@" is created. In addition, in the definition information D533, the use of a custom format is specified in the value E533. In more detail, if the use of a custom format is not specified in the value E533, one of "space", "tab", "line feed" or "comma" can be selected from a pull-down menu and input into the value E532. On the other hand, if the use of a custom format is not specified in the value E533, "@" set as the custom format can be input into the value E532.

[0093] Activity A54 is an activity that obtains an item from a list. Definition information D54 of this activity A54 includes definition information D541 that creates a variable V54 and specifies the name of the variable V54, and definition information D542 that specifies the content to be obtained as the value of the variable V54. In activity A54, a character string "extractedString" is input as a value E541 specified in definition information D541. Therefore, a variable V54 having the name "extractedString" is created. Also, in activity A54, the list definition information D542 specifies the 0th item as the item to be obtained from the list splitEmail. Therefore, when activity A54 is executed, the 0th item of splitEmail is obtained and input to variable V54.

[0094] Activity A55 is an activity that creates a draft of an email using a mailer. Definition information D55 of activity A55 includes definition information D551 that specifies the destination of the email, definition information D552 that specifies the subject of the email, definition information D553 that specifies the body of the email, and definition information D554 that specifies an attachment to the email. In definition information D551, an email address that is variable V52 is specified as the destination of the email, and in definition information D552, "Contact (ExtractedString)" that includes extractedString that is variable V54 is specified as the subject of the email. Therefore, when activity A55 is executed, a draft of an email is created with the email address as the destination and "Contact (ExtractedString)" as the subject.

[0095] Activity A56 is an activity that closes a mailer, and definition information D56 for activity A56 defines that the mailer is to be closed, so that when activity A56 is executed, the mailer is closed.

[0096] Activity A57 is an activity that starts a mailer, and definition information D57 of activity A57 defines that the mailer is to be started. Therefore, when activity A57 is executed, the mailer is started.

[0097] Activity A58 is an activity that creates a string-type variable V58 and acquires the string entered into the variable V58. Definition information D58 for activity A58 includes definition information D581 that specifies the name of the variable V58 to be created, and definition information D582 that specifies the value to be acquired as the entity value of variable V58. Specifically, in activity A58, the string "email address 1" is entered as value E581 specified in definition information D581. Therefore, a variable V58 having the name "email address 1" is created. Also, in activity A58, the string ""jiro-tanaka@example.co.jp"" is entered as value E582 specified in definition information D582. Therefore, by executing activity A58, the value E582, "" “jiro-tanaka@example.co.jp” is obtained as the actual value of variable V58.

[0098] Activity A59 is an activity that converts a character string into a list. The definition information D59 of this activity A59 includes definition information D591 that creates a variable V59 and specifies the name of the variable V59, and definition information D592 and D593 that define the contents to be input to the variable V59. The definition information D592 specifies a delimiter for converting an email address, which is a character string, into a list, and the definition information D593 specifies whether or not to use a custom format. Specifically, in activity A59, the character string "splitEmail1" is input as value E591 specified in definition information D591. Therefore, a variable V59 with the name "splitEmail1" is created. Also, in activity A59, "@" is input as value E592 specified as a delimiter by definition information D592, and the character string email address separated by "@" is converted into a list. Therefore, when activity A59 is executed, a list of character string email addresses separated by "@" is created. In addition, in the definition information D593, the use of the custom format is specified in the value E593. The operation according to the selection of whether or not to use the custom format is the same as described above.

[0099] Activity A60 is an activity that obtains an item from a list. Definition information D60 of this activity A60 includes definition information D601 that creates a variable V60 and specifies the name of the variable V60, and definition information D602 that specifies the content to be obtained as the value of the variable V60. In activity A60, a string "extractedString1" is input as a value E601 specified in definition information D601. Therefore, a variable V60 having the name "extractedString1" is created. Also, in activity A60, the list definition information D602 specifies the 0th item as the item to be obtained from list splitEmail1. Therefore, when activity A60 is executed, the 0th item of splitEmail is obtained and input to variable V60.

[0100] Activity A61 is an activity that creates a draft of an email using a mailer. Definition information D61 of activity A61 includes definition information D611 that specifies the destination of the email, definition information D612 that specifies the subject of the email, definition information D613 that specifies the body of the email, and definition information D614 that specifies an attachment to the email. In definition information D611, email address 1, which is variable V61, is specified as the destination of the email, and in definition information D612, "Contact (ExtractedString1)", which includes extractedString1, which is variable V61, is specified as the subject of the email. Therefore, when activity A61 is executed, a draft of an email is created with email address 1 as the destination and "Contact (ExtractedString1)" as the subject.

[0101] Activity A62 is an activity that closes a mailer, and definition information D62 for activity A62 defines that the mailer is closed, so when activity A62 is executed, the mailer is closed.

[0102] In response to the above user instruction Q, the answer from LLM12 (natural language answer information Ioa) is displayed in the history display unit 92 by the chat display information generation unit 56, which is "You can standardize scenarios by using repetitive processing. In the following scenario, a list of email addresses is created and then processed repeatedly."

[0103] Furthermore, the chat display information generating unit 56 converts the source code SC of the scenario Sm (scenario information Iob) that meets the request of the user instruction Q into an icon B and displays it in the history display unit 92. This scenario Sm is composed of a number of activities A71 to A77 that are arranged in the order of execution.

[0104] Activity A71 is an activity that creates a variable V71 and acquires a list input to the variable V71. Definition information D71 of activity A71 includes definition information D711 that specifies the name of the variable V71 to be created, and definition information D712 that specifies the value (list) to be acquired as the entity value of variable V71. Specifically, in activity A71, the character string "emailAddresses" is input as value E711 specified in definition information D711. Therefore, a variable V71 having the name "emailAddresses" is created. Also, in activity A71, "newList <string>" taro-tanaka@example.co.jp ", " jiro-tanaka@example.co.jp Therefore, when activity A71 is executed, the value E712, "newList <string> "taro-tanaka@example.co.jp", "jiro-tanaka@example.co.jp" are obtained as the actual values ​​of variable V71.

[0105] Activity A72 is an activity that repeatedly executes activities A73 to A77. Definition information D72 for activity A72 defines the element to be repeated. In the definition information D72, "emailAddresses" input to variable V71 is specified as value E72 indicating the element to be repeated. Therefore, when activity A71 is executed, activities A73 to A77 are repeatedly executed for each element of "emailAddresses".

[0106] Activity A73 is an activity that starts a mailer, and definition information D73 for activity A73 defines that the mailer is to be started. Therefore, when activity A73 is executed, the mailer is started.

[0107] Activity A74 is an activity that converts a character string into a list. The definition information D74 of this activity A74 includes definition information D741 that creates a variable V74 and specifies the name of the variable V74, and definition information D742 and D743 that define the contents to be input to the variable V74. The definition information D742 specifies a delimiter for converting the elements of emailAddresses, which are character strings, into a list, and the definition information D743 specifies whether or not to use a custom format. Specifically, in activity A74, the character string "splitEmail" is input as the value E741 specified in the definition information D741. Therefore, a variable V74 having the name "splitEmail" is created. Also, in activity A74, "@" is input as the value E742 specified as the delimiter by the definition information D742, and the elements of emailAddresses separated by "@" are converted into a list. Therefore, when activity A74 is executed, a list of the elements of emailAddresses separated by "@" is created. In addition, in the definition information D743, the use of the custom format is specified in the value E743. The operation according to the selection of whether or not to use the custom format is the same as described above.

[0108] Activity A75 is an activity that obtains an item from a list. Definition information D75 of this activity A75 includes definition information D751 that creates a variable V75 and specifies the name of the variable V75, and definition information D752 that specifies the content to be obtained as the value of the variable V75. In activity A75, a character string "extractedString" is input as value E751 specified in definition information D751. Therefore, a variable V75 having the name "extractedString" is created. Also, in activity A75, list definition information D752 specifies the 0th item as the item to be obtained from list splitEmail. Therefore, when activity A75 is executed, the 0th item of splitEmail is obtained and input to variable V75.

[0109] Activity A76 is an activity that creates a draft of an email using a mailer. Definition information D76 of activity A76 includes definition information D761 that specifies the destination of the email, definition information D762 that specifies the subject of the email, definition information D763 that specifies the body of the email, and definition information D764 that specifies an attachment to the email. In definition information D761, the element of emailAddresses, which is variable V72, is specified as the destination of the email, and in definition information D762, "Contact (ExtractedString)" that includes extractedString, which is variable V75, is specified as the subject of the email. Therefore, when activity A76 is executed, a draft of an email is created with the element of emailAddresses as the destination and "Contact (ExtractedString)" as the subject.

[0110] Activity A77 is an activity that closes a mailer, and definition information D77 for activity A77 defines that the mailer is closed, so when activity A77 is executed, the mailer is closed.

[0111] As in the examples of FIG. 9C and FIG. 9D, when the user instruction Q includes a scenario Sm, the input information generating unit 52 performs anonymization of the entity value of the variable V set to anonymity in the scenario Sm to generate a user prompt Pu. For example, the scenario Sm shown in FIG. 9D includes a variable V52 whose entity value is an email address, which is information related to an individual, and the user can set anonymity for this variable V52. When anonymity is set for the variable V of the scenario Sm included in the user instruction Q, the input information generating unit 52 replaces the entity value acquired as the variable V with a dummy value to generate a user prompt Pu. In the case of the variable V52 in FIG. 9D, the entity value E522 is replaced with "xxxx@example.jp" to generate a user prompt Pu. According to this, when the value acquired as the entity value is information related to security such as a password or information related to an individual, the user can prevent the information from being sent to the LLM provider, which is a third party between the user and the RPA provider. In the present application, the input information generation unit 52 conceals the variable V that the user has set as confidential, but the configuration may also be such that variables that are determined to be confidential on a rule basis based on the name of the variable or variables that are determined to be confidential by a specific machine learning model are concealed.

[0112] 10 is a diagram showing a schematic diagram of a modified example of the operation flow of the scenario management system in response to input of a user prompt. In this modified example, a plurality of user prompts Pu (i.e., user instructions Q) are input to the LLM 12, and the LLM 12 responds to each user prompt Pu. For example, the first time, a user prompt Pu of "What activities are required to create a scenario using a spreadsheet?" is input to the LLM 12. The second time, a user prompt Pu of "Create a scenario using a spreadsheet" is input to the LLM 12. In this case, when the second user prompt Pu is input to the LLM 12, the system prompt Ps to be input to the LLM 12 is limited based on the response of the LLM 12 to the first user prompt Pu.

[0113] When the user instruction accepting unit 51 accepts the first user prompt Pu(1) (i.e., user instruction Q), the input information generating unit 52 acquires the user prompt Pu(1) from the user instruction accepting unit 51. Then, the input information generating unit 52 generates a first prompt P(1) (i.e., input information Ii) that includes the user prompt Pu(1) and the system prompt Ps (i.e., rule information Rg) acquired from the rule information storage area 62 via the acquiring unit 54, and inputs the prompt P to the LLM 12.

[0114] When the LLM 12 outputs an answer W (i.e., output information Io) to the prompt P, the output information acquisition unit 53 acquires this answer W(1). This answer W(1) includes, for example, an answer to a user prompt Pu(1) of "What activity is required to create a scenario using a spreadsheet software?", i.e., the relevant activity. This answer W(1) is passed from the output information acquisition unit 53 to the input information generation unit 52, which creates a system prompt Psl by extracting a description related to the relevant activity from the system prompt Ps illustrated in FIG. 6.

[0115] When the user instruction accepting unit 51 accepts the second user prompt Pu(2) (i.e., user instruction Q), the input information generating unit 52 acquires the user prompt Pu(2) from the user instruction accepting unit 51. Then, the input information generating unit 52 generates the second prompt P(2) (i.e., input information Ii) including the user prompt Pu(2) and the system prompt Psl. At this time, the input information generating unit 52 includes the answer W to the first (i.e., previous) user prompt Pu(1) in the prompt P(2) as an auxiliary prompt Pa for the LLM 12.

[0116] When the LLM 12 outputs an answer W(2) (i.e., output information Io) to the prompt P(2), the output information acquisition unit 53 acquires this answer W(2). This answer W includes source code SC of a scenario Sm that executes the operation requested by the user prompt Pu(2), and natural language explanation information Ioc that explains the operation of the scenario Sm. Then, the output information acquisition unit 53 associates the user prompt Pu(2) with the answer W(2) to the user prompt Pu(2), and stores them as history information H in the short-term history storage area 64. This history information H is also stored in the long-term history storage area 69.

[0117] 11A and 11B are diagrams showing a typical display mode of the history on the chat assistant screen when multiple user prompts are input. Explaining this by specifically using the flow in FIG. 10, in FIG. 11A, the first user prompt Pu(1), the second user prompt Pu(2), and the second answer W(2) are displayed in the history display section 92. That is, in order to preferentially display the final user prompt Pu(2) and the answer W(2) thereto, the answer W(1) to the final user prompt Pu(1) is omitted. On the other hand, in FIG. 11B, the first user prompt Pu(1) is not displayed in the history display section 92, and only the final user prompt Pu(2) and the answer W(2) thereto are displayed. Which of FIG. 11A and FIG. 11B is displayed can be determined according to, for example, the user's input to the chat input section 91. That is, if a command to display only the final prompt has been input in advance in chat input section 91, it can be displayed in the format shown in FIG. 11B, and if not, it can be displayed in the format shown in FIG. 11A.

[0118] That is, in this example, the chat display information generating unit 56 generates chat display information Ic that does not include at least a part of the history display in response to the user's operation accepted by the user instruction accepting unit 51. This allows the user to selectively display information that he or she requires.

[0119] FIG. 12 is a diagram showing a schematic diagram of a modified example of the operation using the chat assistant screen. In the history display section 92 of the chat assistant screen 9 in FIG. 12, a plurality of scenarios Sm(1) and Sm(2) answered by the LLM 12 are shown. When the user instruction accepting section 51 accepts a user operation on the UI24 to select one of the plurality of scenarios Sm(1) and Sm(2) shown in the history display section 92, the user instruction accepting section 51 notifies the editor display information generating section 43 of the selected scenario Sm. Then, the editor display information generating section 43 displays the selected scenario Sm on the main scenario screen 83 of the scenario editor screen 8. As a result, the selected scenario Sm is edited in accordance with the user operation on the UI24 accepted by the editing operation section 41.

[0120] Furthermore, the chat assistant screen 9 in FIG. 12 is provided with a correction instruction button 93. This correction instruction button 93 is provided to request the LLM 12 to execute a predetermined correction to the activity A. That is, a correction template indicating a predetermined correction such as duplicating or deleting the activity A or changing a variable name is stored in the memory unit 221. Then, when the user instruction receiving unit 51 receives a user operation on the UI 24 to select one of the activities A displayed in the history display unit 92, the acquisition unit 54 acquires the correction template from the memory unit 221 when the user operation on the UI 24 to select the correction instruction button 93 is received in a state where the user operation on the UI 24 to select one of the activities A displayed in the history display unit 92 is received, the input information generating unit 52 generates input information Ii requesting the user to execute the correction indicated by the correction template acquired from the acquisition unit 54 on the one activity A and to return the source code SC as a result, and inputs the input information Ii to the LLM 12.

[0121] In this example, an edit operation unit 41 is provided that holds the source code SC included in the output information Io in an editable form. The history display unit 92 also displays scenario Sm(1) (first source code) and scenario Sm(2) (second source code) included in the output information Io acquired by the output information acquisition unit 53 after scenario Sm(1). When the user instruction acceptance unit 51 accepts an operation to select one of scenarios Sm(1) and Sm(2), the edit operation unit 41 holds the selected scenario Sm in an editable form. This allows the user to edit the selected one of scenarios Sm(1) and Sm(2) acquired in the history of interactions with the LLM 12.

[0122] Furthermore, the memory unit 221 (storage unit) holds a correction instruction template that instructs correction of the source code SC. Then, when the user instruction receiving unit 51 (receiving unit) receives an operation input for selecting a correction instruction template in association with an activity block (i.e., an operation for selecting the correction instruction button 93), the acquisition unit 54 (rule information acquisition unit) acquires the correction instruction template from the memory unit 221, and the input information generation unit 52 (input unit) inputs the source code SC (i.e., the source code SC displayed in the history display unit 92), the correction instruction template, and the rule information Rg included in the output information Io to the LLM 12. This allows the user to cause the LLM 12 to correct the source code SC by a simple operation input such as selecting the correction instruction template.

[0123] The number of correction templates is not limited to one. In other words, a plurality of correction templates showing different correction contents may be stored in the memory unit 221, and a plurality of correction instruction buttons 93 corresponding to the plurality of correction templates may be provided on the chat assistant screen 9.

[0124] Furthermore, the scenario Sm to be modified by the modification instruction button 93 is not limited to one generated by the LLM 12. Therefore, a configuration may be adopted in which a modification of a scenario Sm created by an operation on the scenario editor screen 8 can be requested from the LLM 12 using a modification template corresponding to the modification instruction button 93.

[0125] 12 is provided with a select and transfer button 94 and a transfer all button 95. That is, when the user instruction accepting unit 51 accepts a user operation on the UI24 to select one of the scenarios Sm displayed in the history display unit 92 and then accepts a user operation on the UI24 to select the select and transfer button 94, the user instruction accepting unit 51 notifies the editor display information generating unit 43 of the one scenario Sm. Then, the editor display information generating unit 43 displays the scenario Sm on the main scenario screen 83 of the scenario editor screen 8. When the user instruction accepting unit 51 accepts a user operation on the UI24 to select the transfer all button 95, the user instruction accepting unit 51 notifies the editor display information generating unit 43 of all the scenarios Sm to be displayed in the history display unit 92. Then, the editor display information generating unit 43 displays all the scenarios Sm on the main scenario screen 83 of the scenario editor screen 8.

[0126] Furthermore, as shown in the following modified example, if an error occurs in the scenario Sm, the chat function may be used. In this modified example, when the editing operation unit 41 (FIG. 2) confirms the occurrence of an error when executing the scenario Sm by execution, partial execution, line-by-line execution, or the like, it saves error information indicating the error in the scenario storage area 61. Here, the error information includes the source code SC of the executed scenario Sm and the contents of the error that has occurred. Furthermore, the editing operation unit 41 displays an error screen on the display 244. In particular, the editing operation unit 41 displays a button reading "Consult AI Navigation" on this error screen.

[0127] In response to this, when the user instruction acceptance unit 51 confirms that the UI 24 has accepted the operation of selecting the button, it notifies the chat display information generation unit 56 of this fact, and the chat display information generation unit 56 displays the chat assistant screen 9 on the display 244. In particular, the chat display information generation unit 56 displays a user prompt Pu requesting an answer as to the cause of the error or a solution in the chat input unit 91 of the chat assistant screen 9 in advance. For example, when the user presses the enter key on the keyboard 241, the user instruction acceptance unit 51 passes the user prompt Pu to the input information generation unit 52. At this time, the acquisition unit 54 acquires error information from the scenario storage area 61 and passes it to the input information generation unit 52, and the input information generation unit 52 generates input information Ii including the user prompt Pu and the error information, and inputs the input information Ii to the LLM 12 via the communication unit 25.

[0128] The output information acquisition unit 53 acquires the output information Io output by the LLM 12 as a response to the input information Ii via the communication unit 25. The output information acquisition unit 53 passes the output information Io acquired from the LLM 12 to the violation check unit 55. The violation check unit 55 checks whether the output information Io received from the output information acquisition unit 53 violates the rule information Rg. The output information Io and the result of the check on the output information Io by the violation check unit 55 are passed from the violation check unit 55 to the chat display information generation unit 56. The chat display information generation unit 56 converts the output information Io received from the violation check unit 55 into chat display information Ic to be displayed on the display 244, and displays the chat display information Ic on the display 244. [Industrial Applicability]

[0129] The present invention can be applied to RPA technology in general, which aims to reduce the workload of users by automating tasks that users have previously performed using a computer. [Explanation of symbols]

[0130] 2...Terminal device (scenario management device) 12...LLM (machine learning model) 221...Memory section (storage section) 222...Storage unit (recording medium) G…Scenario management program 51...User instruction reception unit (reception unit) 52...input information generation unit (input unit) 54... Acquisition unit (rule information acquisition unit) Q: User instructions Rg…Rule information Io…Output information SC: source code Ic…Chat display information (display information)< / string> < / string>

Claims

1. A scenario management device for managing a scenario for automating an operation on another application program, comprising: a reception unit for receiving a user instruction in a natural language format from a user; a rule information acquisition unit that acquires rule information for describing the scenario in a general-purpose programming language from a storage unit; an input unit that inputs the user instruction accepted by the accepting unit and the rule information acquired by the rule information acquiring unit into a machine learning model that has learned natural language processing; an output information acquisition unit that acquires output information including a source code describing the scenario, the output information being generated by the machine learning model in accordance with the user instructions and the rule information using the general-purpose programming language; a display generation unit that converts the source code included in the output information into display information to be displayed on a GUI; A scenario management device comprising:

2. A scenario management device for managing a scenario for automating an operation on another application program, comprising: a reception unit for receiving a user instruction in a natural language format from a user; a rule information acquisition unit that acquires rule information for describing the scenario in a general-purpose programming language from a storage unit; an input unit that inputs the user instruction accepted by the accepting unit and the rule information acquired by the rule information acquiring unit into a machine learning model that has learned natural language processing; an output information acquisition unit that acquires output information including a source code describing the scenario, the output information being generated by the machine learning model in accordance with the user instructions and the rule information using the general-purpose programming language; an editing operation unit that causes a storage unit to store the source code included in the output information in a form that allows a user to edit the source code; A scenario management device comprising:

3. 3. The scenario management device according to claim 1, wherein the rule information includes language designation information that designates the general-purpose programming language in which the scenario included in the output information is written.

4. A scenario management device according to claim 3 , wherein the rule information includes usable function information that specifies functions that can be used in describing the scenario, among functions of a programming interface in the general-purpose programming language specified by the language specification information.

5. 5. The scenario management device according to claim 4, wherein the rule information includes a sample code indicating a method of reading out the usable functions indicated by the usable function information.

6. 3. The scenario management device according to claim 1, wherein the rule information includes information that specifies a method of describing the scenario in the general-purpose programming language.

7. the output information acquisition unit acquires the output information including an explanatory text that explains the scenario in a natural language; The scenario management device according to claim 1 , wherein the display generation unit distinguishes between the source code of the scenario and the explanatory text from the output information, and generates the display information including an explanatory text display based on the explanatory text.

8. The scenario management device according to claim 1 , wherein the display generation unit generates the display information including an input sentence display based on the user instruction accepted by the acceptance unit, and which associates the input sentence display with the scenario.

9. the scenario includes a plurality of activities each of which executes a predetermined process defined in the general-purpose programming language; The reception unit causes the storage unit to store a first user instruction as the user instruction, The output information acquisition unit causes the storage unit to store first output information as the output information, When the reception unit receives a second user instruction as the user instruction after the output information acquisition unit acquires the first output information, A scenario management device as described in claim 8, wherein the display generation unit generates the display information that associates a history display based on the first user instruction and the first output information stored in the memory unit, the input sentence display, and an activity block indicating the activity.

10. The scenario management device according to claim 9 , wherein the display generation unit generates the display information that does not include at least a portion of the history display in response to a user operation accepted by the acceptance unit.

11. an editing operation unit that holds the source code included in the output information in an editable form; the history display includes a first source code that is the source code included in the first output information, and a second source code that is the source code included in the output information acquired by the output information acquisition unit after the first output information, A scenario management device as described in claim 9, wherein when the receiving unit receives an operation to select one of the first source code and the second source code, the editing operation unit holds the one of the scenarios in an editable state.

12. the storage unit holds a modification instruction template for instructing modification of the source code; When the reception unit receives an operation input for selecting the correction instruction template in association with the activity block, the rule information acquisition unit acquires the correction instruction template from the storage unit, The scenario management device according to claim 9 , wherein the input unit inputs the source code, the modification instruction template, and the rule information contained in the output information to the machine learning model.

13. A scenario management device as described in claim 1, wherein the display generation unit displays on the GUI a first window that accepts input of the user instructions by a user and a second window different from the first window that displays the display information converted from the source code by the display generation unit.

14. 3. The scenario management device according to claim 2, wherein the editing operation unit holds only a part of the scenario described by the source code in an editable form.

15. a violation checking unit that checks whether the source code included in the output information acquired by the output information acquisition unit violates the rule information, A scenario management device as described in claim 1 , wherein when the violation checking unit determines that the source code is in violation, the display generation unit generates information for displaying on the GUI that the source code is in violation.

16. A scenario management program that causes a computer to function as a scenario management device that manages scenarios for automating operations on other application programs, accepting user instructions in natural language form from a user; acquiring rule information for describing the scenario in a general-purpose programming language from a storage unit; inputting the user instruction and the rule information into a machine learning model that has been trained in natural language processing; acquiring output information, the output information including source code describing the scenario, generated by the machine learning model in the general-purpose programming language according to the user instructions and the rule information; converting the source code included in the output information into display information to be displayed on a GUI; A scenario management program that causes the computer to execute the above.

17. A scenario management program that causes a computer to function as a scenario management device that manages scenarios for automating operations on other application programs, accepting user instructions in natural language form from a user; acquiring rule information for describing the scenario in a general-purpose programming language from a storage unit; inputting the user instruction and the rule information into a machine learning model that has been trained in natural language processing; acquiring output information, the output information including source code describing the scenario, generated by the machine learning model in the general-purpose programming language according to the user instructions and the rule information; storing the source code included in the output information in a storage unit in a manner that allows the source code to be edited by a user; A scenario management program that causes the computer to execute the above.

18. A recording medium for storing the scenario management program according to claim 16 or 17 in a computer-readable manner.

Citation Information

Patent Citations

  • Automation program generation apparatus, automation program generation method, automation program generation program, computer-readable recording medium, and recorded device

    JP2023054409A

Cited By

  • Artificial intelligence with automatic programming capabilities

    JP7927276B1