System
The system automates interactions with generative AI models by analyzing user specifications, generating and debugging program code, and providing feedback, addressing the inefficiencies of manual corrections and improving productivity.
Patent Information
- Application Number
- JP2024130346
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-06
- Publication Date
- 2026-02-19
AI Technical Summary
Generative AI models often generate incorrect information for complex requests, requiring significant user effort for corrections and bug fixes, leading to reduced convenience and productivity.
A system that automates interactions with generative AI models by allowing users to input specifications, analyzing them using natural language processing, generating and debugging program code in a sandbox environment, and providing feedback for corrections, reducing the user's burden through automated trial and error processes.
The system significantly reduces the user's burden by automating interactions and debugging, ensuring high-quality program code generation and delivery, tailored to user environments.
Smart Images

Figure 2026028048000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Although generative AI models have the ability to generate program code, they often generate incorrect information, especially for complex requests, resulting in a significant amount of time and effort required for users to achieve the desired results. Furthermore, frequent interaction is required for code modifications and bug fixes, placing a heavy burden on users. This reduces the convenience of generative AI and impedes user productivity. The objective of this invention is to systematize the trial-and-error process that accompanies interactions between users and generative AI models, thereby reducing the burden on users. [Means for solving the problem]
[0005] The present invention solves the above problems by using the following means.
[0006] The system includes a means for a user to input a completed specification, a means for analyzing the input specification and extracting requirements, a means for requesting the generation of program code based on the requirements, a means for receiving the generated program code, a means for debugging the received program code in a sandbox environment, a means for providing feedback on errors and improvements based on the debugging results and requesting that the program code be corrected, a means for re-debug the corrected program code, and a means for notifying the user when the program code in accordance with the specifications has been completed.
[0007] With this system, users simply input the completed specifications, and the system automatically handles interaction with the generative AI model and code debugging. This reduces the burden of trial and error on the user. In addition, users can choose between online and on-premise sandbox environments, allowing for debugging tailored to their environment. Furthermore, by using natural language processing technology as a means of analyzing specifications, the input specifications can be accurately analyzed and appropriate requirements can be extracted.
[0008] The following are definitions of important terms contained in the claims.
[0009] ---
[0010] A "user" is a person who uses the system to request the generation of program code.
[0011] A "specification" is a description in natural language of the requirements and detailed functions of the program desired by the user.
[0012] A "server" is a computer system that receives and analyzes the specification and manages the generation and debugging of program code in conjunction with the generative AI model.
[0013] A "generative AI model" is an artificial intelligence model that generates program code based on specified specifications.
[0014] "Analysis" is the process of extracting requirements and important information from the input specifications and converting them into a form that can be applied to a generative AI model.
[0015] A "sandbox environment" is a virtual environment for executing and verifying generated program code under safe and controlled conditions.
[0016] "Debugging" is the process of running generated program code, detecting defects or errors, and correcting them.
[0017] "Feedback" is the act of communicating errors and areas for improvement to the generative AI model based on the debugging results and requesting that it generate corrected code again.
[0018] "Online type" refers to a type in which the sandbox environment is provided on the cloud.
[0019] "On-premise" refers to a type in which the sandbox environment is provided on the user's own equipment or systems.
[0020] "Natural language processing technology" is a technology that analyzes natural language data (such as text or voice) and allows computers to understand and process it.
[0021] "Notification" refers to the act of notifying the user that the generation of the program code has been completed, and is done in the form of an email, a pop-up, or the like.
[0022] A "request for correction" is the act of requesting the generative AI model to correct its program code again based on the debugging results.
[0023] --- [Brief explanation of the drawings]
[0024] [Figure 1]1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0025] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0026] First, the terms used in the following description will be explained.
[0027] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0028] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0029] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0030] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0031] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0032] [First embodiment]
[0033] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0034] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0035] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0036] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0037] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0038] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0039] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0040] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0041] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0042] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0043] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0044] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0045] This invention is a system that uses a generative AI model to automatically generate program code requested by the user, reducing the burden of trial and error. This system automates all interactions between the user and the generative AI model, minimizing the operational burden on the user.
[0046] The main components of the system are as follows:
[0047] 1. Specification input method
[0048] 2. Specification Analysis Method
[0049] 3. Program Generation Request Method
[0050] 4. Means of receiving program code
[0051] 5. Sandbox environment debugging methods
[0052] 6. Feedback and Correction Request Mechanisms
[0053] 7. Re-debugging methods
[0054] 8. Notification of completed code
[0055] Specification input method
[0056] Users access the system through a terminal and enter a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might enter, "I want a calculator program that can perform basic arithmetic operations."
[0057] Specification analysis method
[0058] The server receives the specifications sent by the user and analyzes them using natural language processing technology. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. As a result of the analysis, specific requirements such as "calculator program" and "four arithmetic operations" are extracted.
[0059] Program generation request method
[0060] Based on the extracted requirements, the server creates a request to the generative AI model to generate program code. This request is sent to the generative AI model in a format that includes specific program requirements.
[0061] Program code receiving means
[0062] The generative AI model generates program code based on the request and sends it back to the server. For example, the generated code includes functions for performing arithmetic operations.
[0063] Sandbox environment debugging methods
[0064] The server executes the received program code in a sandbox environment to check its operation and debug it. The sandbox environment is a virtual environment where code can be safely executed, and can be either online or on-premise. In this step, multiple test cases are executed to verify that the code works as specified.
[0065] Feedback and correction requests
[0066] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if a division function lacks error handling for division by zero, the server will request an improvement.
[0067] Re-debug method
[0068] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[0069] Completed code notification method
[0070] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0071] As a concrete example, if a user requests a "calculator program that performs the four arithmetic operations," the server will request the generative AI model, debug the generated code, provide feedback as needed, and ultimately complete a calculator program that correctly performs addition, subtraction, multiplication, and division. As a result, the user only needs to input the program specifications, and the system will automatically interact with the generative AI model and debug the code, reducing the burden on the user.
[0072] The processing flow will be explained below.
[0073] Step 1:
[0074] A user logs in to a terminal and enters the specifications for the finished product in natural language, for example, "Create a calculator program that can perform the four basic arithmetic operations. It must include the functions of subtraction, multiplication, division, and addition."
[0075] Step 2:
[0076] The terminal sends the user's input specifications to the server.
[0077] Step 3:
[0078] The server analyzes the received specifications and extracts requirements using natural language processing technology. This analysis identifies keywords such as "calculator program" and "arithmetic operations" and creates a list of specific requirement statements for program generation.
[0079] Step 4:
[0080] The server creates and sends a request to the generative AI model to generate program code based on the specific requirements.
[0081] Step 5:
[0082] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server.
[0083] Step 6:
[0084] The server receives the generated program code and runs it in a sandbox environment for debugging. In this environment, multiple test cases are run to verify that the code works as specified. For example, tests are performed to verify whether add(2, 3) returns 5, whether subtract(5, 3) returns 2, etc.
[0085] Step 7:
[0086] The server analyzes the debugging results, and if any defects or errors are found, it feeds them back to the generative AI model and requests that they be corrected. For example, if the "divide" function does not handle division by zero properly, it requests that they be improved.
[0087] Step 8:
[0088] The generative AI model regenerates the modified program code and sends it back to the server.
[0089] Step 9:
[0090] The server debugs the modified program code again in the sandbox environment to verify that the modifications have been applied correctly. If necessary, repeat the feedback and modification request procedure in step 7.
[0091] Step 10:
[0092] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0093] Step 11:
[0094] The server will provide the completed program code to the user, who can then download or view the program code according to the notification.
[0095] ---
[0096] As described above, the system allows users to simply input specifications, and the server automatically handles communication with the generative AI model and debugging, ultimately providing the desired program code to the user, significantly reducing the burden of trial and error on the user.
[0097] Example 1
[0098] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0099] Currently, generating many program codes can require a great deal of time and effort from users. Therefore, there is a demand for a system that allows users to input desired specifications in natural language, automatically generate program code, and repeatedly debug and modify it. Furthermore, a secure execution environment is required to ensure the quality and security of the generated code. Furthermore, it is important to introduce a user-selectable debugging environment and natural language processing technology.
[0100] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0101] In this invention, the server includes: means for a user to input a completed specification in natural language; means for analyzing the input specification using natural language processing technology and extracting requirements; means for requesting a generative AI model to generate program code based on the requirements; means for receiving the program code generated by the generative AI model; means for executing and debugging the received program code in a sandbox environment; means for requesting corrections to the program code based on the debugging results and providing feedback on errors and improvements; means for debugging the corrected program code again in the sandbox environment; and means for notifying the user when the program code is completed in accordance with the specifications. This automatically generates high-quality program code based on the specifications entered by the user, streamlines the debugging and correction processes, and reduces the burden on the user.
[0102] A "user" is a person who uses the system to input program specifications and receives the final program code.
[0103] A "terminal" is a hardware device through which a user accesses the system and inputs specifications.
[0104] The "server" is a central device that manages the processing of the entire system, analyzes specifications, requests the generation of program code, receives program code, debugs program code, and requests program code modification.
[0105] A "specification" is a document that describes the purpose and functional requirements of a program, as well as specific operating conditions, entered by a user in natural language.
[0106] "Natural language processing technology" is a technology that analyzes input natural language text and extracts important requirements and keywords.
[0107] A "generative AI model" is an artificial intelligence model that automatically generates program code based on specified requirements.
[0108] "Program code" means a set of instructions generated by a generative AI model to achieve a specific function.
[0109] A "sandbox environment" is a virtual environment for executing and debugging received program code in a safe and isolated environment.
[0110] "Debugging" is the process of detecting and correcting errors or defects in program code.
[0111] "Feedback" is the act of communicating errors and areas for improvement to the generative AI model based on the debugging results and requesting corrections.
[0112] A "request for correction" is the act of requesting corrections to the program code of a generative AI model based on feedback errors and areas for improvement.
[0113] "Notification" refers to the act of notifying the user of the completion of program code when all debugging has been successful and the code conforms to the specifications.
[0114] This invention is a system that uses a generative AI model to automatically generate the program code desired by the user, reducing the burden on the user. This system automates the entire process from user input to program code generation, debugging, modification, and completion notification.
[0115] First, a user accesses the system via a terminal and inputs a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might input, "I want a calculator program that can perform basic arithmetic operations."
[0116] Next, the server receives the specifications sent by the user and analyzes them using natural language processing technology. During this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. For example, the analysis results in the extraction of specific requirements such as "calculator program" and "four arithmetic operations."
[0117] Next, the server creates a request to the generative AI model to generate program code based on the extracted requirements. This request is sent to the generative AI model in a format that includes specific program requirements. The generative AI model generates program code based on the request and returns the code to the server. For example, the generated code includes functions that perform arithmetic operations.
[0118] The server then executes the received program code in a sandbox environment to check its operation and debug it. The sandbox environment is a virtual environment where code can be safely executed, and can be selected as either an online or on-premise environment. In this step, multiple test cases, such as "1 + 1 = 2" and "4 / 2 = 2", are executed.
[0119] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if a division function lacks error handling for division by zero, the server will request a fix. The feedback is specific, detailing the problem and its improvement requirements.
[0120] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[0121] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0122] As a concrete example, consider the case where a user requests a "calculator program that performs the four arithmetic operations." The user uses a terminal to input "I want a calculator program that performs the four arithmetic operations" into the system. The server receives this specification, analyzes it using natural language processing technology, and sends a request to the generative AI model containing the requirements "calculator program" and "four arithmetic operations." The generative AI model generates program code and returns it to the server. The server then debugs the received code in a sandbox environment and checks its operation using test cases such as "1 + 1 = 2" and "4 / 2 = 2." If any defects are found, they are fed back to the generative AI model and requested to be corrected. This process is repeated until a working program is finally completed, at which point the server notifies the user. The user can then receive the completed calculator program from their terminal.
[0123] Example prompt sentence:
[0124] "I want a calculator program that can perform basic arithmetic operations."
[0125] "Create a calculator program that performs the four arithmetic operations."
[0126] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0127] Step 1:
[0128] Users access the system using a terminal and enter a complete specification in natural language, for example, "I want a calculator program that can perform basic arithmetic operations."
[0129] Input: Program specifications written in the user's natural language
[0130] Output: Unparsed specification data sent to the server
[0131] Step 2:
[0132] The server receives the specification data sent by the user. It then analyzes the specification using natural language processing technology and extracts important requirements and keywords. For example, requirements such as "calculator program" and "four arithmetic operations" are extracted.
[0133] Input: Unparsed specification data received from the user
[0134] Output: Extracted requirements list
[0135] Step 3:
[0136] The server creates a request to the generative AI model to generate program code based on the extracted requirements list. This request includes specific program requirements. The request is sent to the generative AI model.
[0137] Input: Extracted requirements list
[0138] Output: Request to the generative AI model
[0139] Step 4:
[0140] The generative AI model generates program code based on the request received from the server and returns the results to the server. For example, code containing functions that perform arithmetic operations is generated.
[0141] Input: Request to generative AI model
[0142] Output: Generated program code
[0143] Step 5:
[0144] The server receives the generated program code. It then runs the program code in a sandbox environment to check and debug its operation. Test cases such as "1 + 1 = 2" and "4 / 2 = 2" are executed to check whether the operation is correct.
[0145] Input: Generated program code
[0146] Output: Debug results
[0147] Step 6:
[0148] If the server finds an error or bug during debugging, it will feed the results back to the generative AI model and request a fix. For example, if a problem is discovered where a division function lacks error handling for division by zero, it will request a fix.
[0149] Input: Debug results
[0150] Output: Correction request feedback
[0151] Step 7:
[0152] The generative AI model receives feedback from the server, modifies the program code, and then sends the modified code back to the server.
[0153] Input: Request for correction Feedback
[0154] Output: Modified program code
[0155] Step 8:
[0156] The server then debugs the modified code again in the sandbox environment, repeating this process until the modifications are successfully applied and all test cases pass.
[0157] Input: modified program code
[0158] Output: Final debug result
[0159] Step 9:
[0160] After all debugging is successful, the server notifies the user that the program code conforming to the specifications has been completed. This notification is sent in the format selected by the user (email, a pop-up in the system, etc.). The user receives the completed program code using a terminal.
[0161] Input: Final debug result
[0162] Output: Completion notification to user
[0163] (Application example 1)
[0164] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0165] Currently, generating control programs for industrial machines requires specialized knowledge and a lot of time. Furthermore, when complex processes or real-time program changes are required, it is difficult for workers to respond immediately. This can reduce work efficiency and affect the quality of the final product. In particular, because program generation and debugging are done manually, trial and error occurs frequently, placing a heavy burden on workers. The aim of this project is to solve these problems.
[0166] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0167] In this invention, the server includes: means for a user to input a completed specification; means for analyzing the input specification and extracting requirements; means for requesting the generation of program code based on the requirements; means for receiving the generated program code; means for debugging the received program code in a sandbox environment; means for providing feedback on errors and improvements based on the debugging results and requesting the program code be modified; means for re-debugging the modified program code; means for notifying the user when the program code conforming to the specifications has been completed; and means for linking with a display device attached to a control device of an industrial machine and providing a robot control program that is instantly generated based on a process instructed by an operator. This allows an operator to instantly generate and debug the required robot control program and reflect it in work in real time simply by inputting instructions in natural language.
[0168] A "user" is a person who uses this system to request the generation of program code.
[0169] A "final specification" is natural language input that includes the user's desired program objectives, basic functional requirements, and specific operating conditions.
[0170] "Requirements" are specific conditions or keywords that are extracted from the final specifications and are necessary for program generation.
[0171] "Program code" means source code generated based on specified requirements.
[0172] A "sandbox environment" is a virtual environment in which generated program code can be safely executed and debugged.
[0173] "Debugging" is the process of executing program code, verifying its operation, and identifying and correcting errors.
[0174] "Feedback" is the act of returning errors and improvements discovered based on the debugging results to the generative AI model and requesting that they be corrected.
[0175] "Industrial machinery" refers to various types of machinery and equipment used in manufacturing.
[0176] A "control device" is an electronic device for controlling industrial machinery.
[0177] A "display device" is a device that provides information to workers, such as smart glasses or a head-mounted display.
[0178] A "generative AI model" is an artificial intelligence model that automatically generates program code based on specified requirements.
[0179] "Natural language" refers to words and written forms that are used by humans on a daily basis.
[0180] This invention relates to a system for generating control programs for industrial machines. This system is composed of a user, a terminal, a server, and a display device. Each element of this system and its operation will be described below.
[0181] 1. Users
[0182] The user inputs instructions in natural language to generate a control program. As a concrete example, let's say a worker wears smart glasses and inputs the instruction "tighten the screws." This natural language input is treated as a "finished specification" that the system uses to generate an appropriate program.
[0183] 2. Terminal
[0184] The terminal receives the completed specifications entered by the user and sends them to the server. The terminal is a computing device such as smart glasses or a tablet. This device acts as an interface between the user and the server.
[0185] 3. Server
[0186] The server analyzes the specifications sent from the device and extracts important requirements. Natural language processing technology is used for this analysis. Based on the extracted requirements, the server requests a generative AI model to generate program code. This generative AI model may be, for example, OpenAI's GPT-3.
[0187] After the generative AI model generates program code, the server receives the code and debugs it in a sandbox environment. This sandbox environment is a virtual environment where the code can be safely executed. Based on the debugging results, the server provides feedback to the generative AI model on errors and areas for improvement, requesting corrections. The corrected code is then debugged again, and finally, program code that meets the specifications is completed.
[0188] 4. Display device
[0189] A display device (e.g., smart glasses or a head-mounted display) attached to the control device of the industrial machine presents the generated program code to the user, who can then check, modify, and execute the generated program content through the display device.
[0190] Examples and prompts
[0191] As a concrete example, for the "screw tightening process," the user inputs the following into the smart glasses:
[0192] "Generate a program for a robot arm that executes the task 'tighten a screw'."
[0193] This prompt is sent to a generative AI model, which generates the appropriate program code, enabling fast and efficient control of industrial machinery.
[0194] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0195] Step 1: Enter your specifications
[0196] The user inputs the control program specifications in natural language through the smart glasses. For example, the user inputs the instruction "Tighten the screws." This input becomes the final specification.
[0197] Input: Natural language instructions from the user (e.g., "the process of tightening the screws")
[0198] Output: Complete specification (natural language format)
[0199] Step 2: Submit your spec
[0200] The terminal sends the completed specifications entered by the user to the server, and the terminal acts as an interface between the servers.
[0201] Input: Complete specification (natural language format)
[0202] Output: Sending the spec to the server
[0203] Step 3: Specification analysis and requirements extraction
[0204] The server analyzes the received specifications and extracts requirements using natural language processing technology, such as a "program that executes the action of tightening a screw."
[0205] Input: Finished specifications
[0206] Data processing: Natural language analysis and requirement extraction
[0207] Output: A list of specific requirements (e.g., "A program to tighten a screw")
[0208] Step 4: Program generation request
[0209] The server requests a generative AI model to generate program code based on the extracted requirements. For example, OpenAI's GPT-3 is used as the generative AI model.
[0210] Input: List of specific requirements
[0211] Data calculation: Input to generative AI model, program code generation
[0212] Output: Generated program code
[0213] Step 5: Receiving the program code
[0214] The server receives the program code generated from the generative AI model. At this stage, a simple robot control program is obtained.
[0215] Input: Program code from a generative AI model
[0216] Output: Received program code
[0217] Step 6: Debugging in a Sandbox Environment
[0218] The server executes and debugs the received program code in a sandbox environment. The sandbox environment, which can be online or on-premise, is a virtual environment for safely testing code. Debugging verifies whether the program operates as specified.
[0219] Input: Received program code
[0220] Data Calculation: Code execution and debugging in a sandbox environment
[0221] Output: Debug results (errors and improvements)
[0222] Step 7: Feedback and requests for revisions
[0223] Based on the debugging results, the server provides feedback to the generative AI model on errors and areas for improvement, requesting that the program code be modified.
[0224] Input: Debug results (errors and improvements)
[0225] Data calculation: Feedback and correction requests to generative AI models
[0226] Output: Modified program code
[0227] Step 8: Re-debug
[0228] The server debugs the modified program code from the generated AI model again in a sandbox environment to confirm that the modifications have been applied correctly.
[0229] Input: modified program code
[0230] Data Calculation: Re-debug in Sandbox Environment
[0231] Output: Final debug result (no errors)
[0232] Step 9: Notify users of the finished code
[0233] Once the program code is completed according to the specifications, the server notifies the user of the completion, which is displayed on the smart glasses display.
[0234] Input: Final debug result (no errors)
[0235] Output: Completion notification to user
[0236] This series of steps enables workers to instantly generate and debug the necessary robot control programs simply by entering instructions in natural language.
[0237] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0238] This invention combines a system that uses a generative AI model to automatically generate program code requested by the user, reducing the burden of trial and error, with an emotion engine that recognizes the user's emotions. This system automates all interactions between the user and the generative AI model, minimizing the burden on the user and providing feedback that takes the user's emotions into consideration.
[0239] The main components of the system are as follows:
[0240] 1. Specification input method
[0241] 2. Specification Analysis Method
[0242] 3. Program Generation Request Method
[0243] 4. Means of receiving program code
[0244] 5. Sandbox environment debugging methods
[0245] 6. Feedback and Correction Request Mechanisms
[0246] 7. Re-debugging methods
[0247] 8. Notification of completed code
[0248] 9. Emotion Engine
[0249] Specification input method
[0250] Users access the system through a terminal and enter a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might enter, "I want a calculator program that can perform basic arithmetic operations."
[0251] Specification analysis method
[0252] The server receives the specifications sent by the user and analyzes them using natural language processing technology. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. As a result of the analysis, specific requirements for a "calculator program" and "four arithmetic operations" are extracted.
[0253] Program generation request method
[0254] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code. This request is based on specific requirements.
[0255] Program code receiving means
[0256] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server. For example, the generated code includes functions that perform arithmetic operations.
[0257] Sandbox environment debugging methods
[0258] The server executes the received program code in a sandbox environment to check its operation and debug it. In this environment, multiple test cases are run to verify that the code operates as specified. The sandbox environment is a virtual environment in which code can be safely executed, and can be either online or on-premise.
[0259] Feedback and correction requests
[0260] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if the "divide" function does not handle division by zero properly, the server will request an improvement.
[0261] Re-debug method
[0262] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[0263] Completed code notification method
[0264] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0265] Emotion Engine
[0266] The emotion engine can recognize the emotion of a user's input and adjust the system's behavior accordingly. Specifically, it analyzes the user's facial expression and tone of voice when inputting to determine the user's emotion. For example, if the emotion engine determines that the user is frustrated, the system can adjust the feedback content and interface to reduce the user's stress.
[0267] ---
[0268] As a concrete example, if a user requests a "calculator program that performs the four arithmetic operations," the server requests the generative AI model, debugs the generated code, and provides feedback as needed, ultimately completing a calculator program that correctly performs addition, subtraction, multiplication, and division. During this process, the emotion engine recognizes the user's emotions and provides appropriate feedback and interface adjustments, improving the user experience. This means that the user only needs to input the program specifications, and the system automatically interacts with the generative AI model and debugs the code, reducing the burden on the user and providing emotionally sensitive support.
[0269] The processing flow will be explained below.
[0270] Step 1:
[0271] A user logs in to a terminal and enters the specifications for the finished product in natural language, for example, "Create a calculator program that can perform the four basic arithmetic operations. It must include the functions of subtraction, multiplication, division, and addition."
[0272] Step 2:
[0273] The terminal sends the user's input specifications to the server.
[0274] Step 3:
[0275] The server analyzes the received specifications and extracts requirements using natural language processing technology. This analysis identifies specific requirements such as "calculator program" and "four arithmetic operations."
[0276] Step 4:
[0277] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code.
[0278] Step 5:
[0279] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server.
[0280] Step 6:
[0281] The server receives the generated program code and executes and debugs it in a sandbox environment, where multiple test cases are run to verify that the code works as specified.
[0282] Step 7:
[0283] The server analyzes the debugging results, and if any defects or errors are found, it feeds the results back to the generative AI model and requests that they be corrected. For example, if the handling of division by zero errors is insufficient, it requests that they be improved.
[0284] Step 8:
[0285] The generative AI model regenerates the modified program code and sends it back to the server.
[0286] Step 9:
[0287] The server debugs the modified program code again in a sandbox environment to verify that the modifications have been applied correctly.
[0288] Step 10:
[0289] When the server has successfully completed all debugging and the program code has been completed according to the specifications, it will notify the user of the completion. This notification will be sent by email or as a pop-up in the system.
[0290] Step 11:
[0291] The server provides the completed program code to the user, who can then download or view the code through his / her terminal.
[0292] Step 12:
[0293] The emotion engine monitors the user's facial expressions and tone of voice as they type to recognize their emotions. For example, if the user is annoyed, the emotion engine will determine this.
[0294] Step 13:
[0295] Based on the emotions recognized by the emotion engine, the server can adjust the feedback content and interface. For example, if the user is frustrated, the server can change the feedback to more polite language or simplify the interface to reduce the user's stress.
[0296] ---
[0297] As described above, this system allows users to simply input specifications; the server automatically handles communication with the generative AI model and debugging, and the emotion engine recognizes the user's emotions and responds appropriately, thereby reducing the burden on the user and providing a comfortable user experience.
[0298] Example 2
[0299] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0300] In modern software development, creating the programs users desire requires a great deal of time and effort. The burden of trial and error is also significant, and the process of debugging and correcting programs can be particularly stressful. Furthermore, feedback systems that do not take into account the user's emotions and stress can potentially result in a poor user experience. There is a need for a system that solves these issues.
[0301] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for a user to input a completed specification; means for analyzing the input specification and extracting requirements; means for requesting the generation of program code based on the requirements; means for receiving the generated program code; means for debugging the received program code in a virtual environment; means for providing feedback on errors and improvements based on the debugging results and requesting the program code to be modified; means for re-debug the modified program code; means for notifying the user when the program code is completed in accordance with the specifications; and means for recognizing the user's emotions and adjusting the system operation. This allows the user to automatically generate high-quality program code simply by inputting specifications, reducing the burden of debugging and modification work, and receiving feedback that takes the user's emotions into consideration.
[0302] "User" refers to an individual or corporation that uses this system to request the generation of program code.
[0303] The "final specification" is information that describes in natural language the program functions and operating conditions that the user specifically desires.
[0304] "Input means" refers to the means by which the user transmits the completed specifications to the system, and includes a keyboard, a touch screen, etc.
[0305] "Analysis means" refers to technology that allows the system to analyze specifications entered by the user and extract necessary requirements, and includes natural language processing technology.
[0306] "Requirements" are elements and conditions that are important to the program to be generated and are extracted by the analysis means.
[0307] "Means for requesting the generation of program code" refers to the function by which the system requests the generative AI model to generate program code based on the user's specifications.
[0308] A "generative AI model" is an artificial intelligence technology that automatically generates program code based on requested requirements.
[0309] "Receiving means" is the function by which the system receives the program code sent from the generative AI model.
[0310] A "virtual environment" is an isolated execution environment within a system for safely debugging and testing program code.
[0311] "Means for debugging" refers to a function for executing received program code within a virtual environment and identifying errors or malfunctions.
[0312] "Means for providing feedback" is a function for reporting debugging results to the generative AI model and requesting code corrections.
[0313] "Means to request corrections" is a function that notifies the generative AI model of discovered errors and areas for improvement and requests that the program code be corrected.
[0314] The "means for debugging again" is a function for executing the test again in the virtual environment to confirm whether the corrected program code operates correctly again.
[0315] The "notification means" is a function for notifying the user that all debugging has been successful and that the program code has been completed, and includes email, pop-up notifications, and the like.
[0316] The "means for recognizing emotions" is a function for analyzing the user's facial expressions and tone of voice to determine the user's emotional state.
[0317] MODE FOR CARRYING OUT THE INVENTION
[0318] This invention is a system that uses a generative AI model to automatically generate the program code desired by the user, reducing the burden of trial and error. This system also incorporates an emotion engine that recognizes the user's emotions, reducing user stress and providing a better user experience.
[0319] Hardware and Software Use
[0320] Hardware:
[0321] Server: The device that plays the central role in this system, and performs functions such as generating, receiving, and debugging program code.
[0322] Terminal: The device used by the user to enter specifications, such as a PC, tablet, or smartphone.
[0323] software:
[0324] Generative AI model: An AI technology that automatically generates program code based on requests. An example of such a model is GPT-4.
[0325] Natural language processing technology: Technology for analyzing specifications entered by users. For example, models such as BERT and GPT-4 are used.
[0326] Emotion engine: Technology that recognizes emotions from user input and behavior and adjusts system behavior.
[0327] System Operation Overview
[0328] The operation of the system proceeds as follows.
[0329] 1. Specification input method:
[0330] A user accesses the system via a terminal and inputs the specifications of the desired program in natural language. For example, the user might input, "I want a calculator program that performs the four arithmetic operations."
[0331] 2. Specification analysis methods:
[0332] The server receives the specifications sent by the user and analyzes them using natural language processing techniques. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements is created for program generation.
[0333] 3. Program generation request method:
[0334] Based on the analyzed requirements list, the server creates and sends a request to the generative AI model to generate program code.
[0335] 4. Means of receiving the program code:
[0336] The generative AI model receives the request, generates program code that meets the specified specifications, and sends it back to the server.
[0337] 5. Sandbox environment debugging methods:
[0338] The server executes the received program code in a sandbox environment, and performs operation checks and debugging using test cases. The sandbox environment can be selected as either online or on-premise.
[0339] 6. Feedback and Correction Request Methods:
[0340] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request a correction.
[0341] 7. Re-debug method:
[0342] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to ensure the modifications have been applied correctly.
[0343] 8. Completed Code Notification Method:
[0344] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion via email or a pop-up notification within the system.
[0345] 9. Emotion Engine:
[0346] The emotion engine monitors user input and behavior, and by analyzing facial expressions and tone of voice, determines the user's emotions. If the system determines that the user is frustrated, it adjusts the feedback and interface to reduce the user's stress.
[0347] Specific examples
[0348] When a user requests a "calculator program that performs arithmetic operations," the following steps are executed.
[0349] 1. User: Enters into the system from a terminal, "I want a calculator program that performs arithmetic operations."
[0350] 2. Server: Receives the specifications and uses natural language processing technology to extract keywords such as "arithmetic operations" and "calculator."
[0351] 3. Server: Requests code generation from the generative AI model based on the extracted requirements.
[0352] 4. Generative AI model: Generates code for a calculator program with arithmetic functions and sends it back to the server.
[0353] 5. Server: Executes the received code in a sandbox environment to check its operation and debug it. For example, executes test cases such as 2+3, 10-4, etc.
[0354] 6. Server: If an error is found, it sends feedback to the generative AI model and requests that it be corrected. For example, if a division by zero error is found, it requests that it be corrected.
[0355] 7. Generative AI model: The modified code is resubmitted to the server, which debugs it again.
[0356] 8. Server: After all test cases are successful, notify the user by email or a pop-up message that the arithmetic calculator program is complete.
[0357] 9. Emotion Engine: If frustration is detected during user input, the feedback and interface are adjusted to optimize the user experience.
[0358] Example prompt:
[0359] "Create a calculator program that can perform the four basic arithmetic operations."
[0360] "I got a divide by zero error. Please suggest a fix."
[0361] In this way, users can generate high-quality programs simply by entering the desired program code, significantly reducing the burden of debugging and modification. In addition, the emotion engine improves the user experience and contributes to reducing stress.
[0362] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0363] Program processing steps
[0364] Step 1:
[0365] Specification input method
[0366] Input: The user opens a browser on the terminal, accesses a specified page of the system, and enters the specifications of the desired program in natural language.
[0367] Specific operation: The user enters "I want a calculator program that performs arithmetic operations" and presses the send button.
[0368] Output: The user's input data is sent to the server.
[0369] Step 2:
[0370] Specification analysis method
[0371] Input: The server receives specification data from the user.
[0372] Specific operation: The server launches a natural language processing engine (e.g., GPT-4) to analyze the input specifications. Through the analysis, keywords such as "arithmetic operations" and "calculator" are extracted.
[0373] Output: A list of extracted requirements is generated.
[0374] Step 3:
[0375] Program generation request method
[0376] Input: Extracted requirements list
[0377] Specific operation: The server creates and sends a request to the generative AI model to generate program code based on the requirements list.
[0378] Output: A request to generate program code is sent to the generative AI model.
[0379] Step 4:
[0380] Program code receiving means
[0381] Input: Program code returned by the generative AI model
[0382] Specific operation: The generative AI model generates program code based on the specified requirements and sends it back to the server.
[0383] Output: The server receives the generated program code.
[0384] Step 5:
[0385] Sandbox environment debugging methods
[0386] Input: Received program code
[0387] Specific operation: The server executes the received code in a sandbox environment and checks and debugs its operation using multiple test cases (e.g., 2+3, 10-4, etc.).
[0388] Output: Test results and error logs are generated.
[0389] Step 6:
[0390] Feedback and correction requests
[0391] Input: Test results and error log
[0392] Specific operation: If an error or bug is discovered during debugging, the server will feed the details back to the generative AI model and send a correction request, for example, if a division by zero error occurs, a request to correct it will be made.
[0393] Output: A revision request is sent to the generative AI model.
[0394] Step 7:
[0395] Re-debug method
[0396] Input: Modified program code
[0397] What happens: After receiving the modified code, the server will debug it again in the sandbox environment to verify that the modifications were applied correctly.
[0398] Output: Again, test results and an error log are generated.
[0399] Step 8:
[0400] Completed code notification method
[0401] Input: Complete program code
[0402] Specific operation: When all debugging is successful and the program code conforming to the specifications is completed, the server will notify the user of the completion, for example, by email or a pop-up notification within the system.
[0403] Output: A notification message is sent to the user.
[0404] Step 9:
[0405] Emotion Engine
[0406] Input: User input and behavioral data
[0407] How it works: The emotion engine analyzes user input and actions, interpreting facial expressions and tone of voice. If it detects that the user is frustrated, the system adjusts the feedback and interface to reduce the user's stress.
[0408] Output: Tailored feedback and interface is provided.
[0409] These are the specific processing steps of this system. Each step has a clear input and output, and processing proceeds based on this. This allows users to easily generate high-quality program code and reduces the burden of debugging and modification. In addition, the emotion engine reduces user stress and provides a good user experience.
[0410] (Application example 2)
[0411] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0412] There is a need in logistics centers to efficiently manage the operation of mobile robots and reduce the burden on users involved in creating and debugging robot operation programs. However, conventional systems require users to write program code directly, requiring a great deal of effort through trial and error. Furthermore, these systems do not take into consideration the user's feelings and do not provide a means to reduce stress or frustration. The objective of this invention is to solve these problems, minimize the operational burden on users, and provide an efficient, user-friendly robot management system.
[0413] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0414] In this invention, the server includes means for a user to input completed specifications, means for analyzing the input specifications and extracting requirements, means for requesting the generation of program code based on the requirements, means for receiving the generated program code, means for debugging the received program code in a sandbox environment, means for providing feedback on errors and improvements based on the debugging results and for requesting that the program code be modified, means for re-debug the modified program code, means for notifying the user when the program code has been completed in accordance with the specifications, and means for including an emotion engine that recognizes and analyzes the user's emotions and adjusting system operation and feedback based on the emotions analyzed by the emotion engine. This enables efficient management of mobile robots, reduces the operational burden on users, and provides an interface that takes user emotions into consideration.
[0415] A "user" is a person who operates the system and gives input and instructions.
[0416] "Specifications" are information that describes the user's desired finished program and its requirements.
[0417] The "means for inputting specifications" is an interface for the user to input the specifications of the desired program in natural language.
[0418] The "means for analyzing specifications" is a mechanism for analyzing input specifications and extracting requirements and keywords.
[0419] The "means for requesting the generation of program code" is a mechanism for requesting the generation of program code from a generative AI model based on the extracted requirements.
[0420] "Means for receiving generated program code" refers to a mechanism for receiving program code returned from a generative AI model.
[0421] A "sandbox environment" is a virtual environment for safely testing and debugging program code.
[0422] The "means for debugging" is a mechanism for executing the received program code in the sandbox environment to check its operation and detect errors.
[0423] The "means of providing feedback and requesting corrections" is a mechanism for feeding back errors and areas for improvement to the generative AI model based on the debugging results and requesting corrections to the program code.
[0424] The "means for re-debugging" is a mechanism for debugging modified program code again in a sandbox environment.
[0425] The "notification means" is a mechanism for notifying the user when the completed program code conforms to the specifications.
[0426] An "emotion engine" is a technology for recognizing and analyzing a user's emotions, and determines the user's emotions based on voice tone and facial expressions.
[0427] A "logistics center" is a facility where goods are stored, kept, sorted, and shipped.
[0428] A "mobile robot" is an automated device used to transport goods and luggage within a logistics center.
[0429] The present invention relates to a management system for mobile robots in logistics centers. This system recognizes user emotions and automatically generates robot operation programs using a generative AI model. Specific embodiments of the system are described below.
[0430] The main components of the system are:
[0431] 1. Specification input method
[0432] Users access the system through a terminal and input the desired robot behavior specifications in natural language. This specification includes the robot's purpose, basic functional requirements, and specific operating conditions. For example, an instruction might be "Go to aisle 5 and collect the package."
[0433] 2. Specification Analysis Method
[0434] The server receives the specifications sent by the user and analyzes them using natural language processing technology. During this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements is created for generating the robot program. As a result of the analysis, specific requirements such as "Aisle 5," "Movement," and "Package Collection" are extracted.
[0435] 3. Program Generation Request Method
[0436] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code. This request is based on specific requirements.
[0437] 4. Means of receiving program code
[0438] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server. For example, the generated code might include the action "Go to aisle 5 and collect the package."
[0439] 5. Sandbox environment debugging methods
[0440] The server executes the received program code in a sandbox environment, where it is checked for behavior and debugged. In this environment, multiple test cases are run to verify that the code works as specified.
[0441] 6. Feedback and Correction Request Mechanisms
[0442] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request corrections, such as requesting correction of an error in the "luggage collection" action.
[0443] 7. Re-debugging methods
[0444] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[0445] 8. Notification of completed code
[0446] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0447] 9. Emotion Engine
[0448] The emotion engine can recognize the emotion of a user's input and adjust the system's behavior accordingly. Specifically, it analyzes the user's facial expression and tone of voice when inputting to determine the user's emotion. For example, if the emotion engine determines that the user is frustrated, the system can adjust the feedback content and interface to reduce the user's stress.
[0449] (Example)
[0450] When a user instructs a robot to "go to aisle 5 and collect the package," the server sends the instruction to a generative AI model, debugs the generated code in a sandbox environment, and provides feedback as needed, ultimately completing a program that causes the robot to act as instructed. During this process, the emotion engine recognizes the user's emotions and provides appropriate feedback and interface adjustments, improving the user experience.
[0451] (Example of a prompt)
[0452] When a user requests code for a robot that moves to a specific location, you must generate the code based on the given specifications, debug it, ask for corrections for any errors or glitches, and assess the user's sentiment and provide feedback accordingly.
[0453] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0454] Step 1:
[0455] Users access the system via a terminal and input the desired robot behavior specifications in natural language. The input specifications include specific tasks the robot should perform. This input is sent in text format to the server.
[0456] Step 2:
[0457] The server analyzes the received specifications and uses natural language processing technology to extract requirements and keywords. Specifically, it uses a text analysis algorithm to generate a list of requirements such as "movement" and "baggage collection" as output.
[0458] Step 3:
[0459] Based on the extracted requirements, the server creates a request to the generative AI model to generate program code. This request includes a list of specific requirements. The server sends the request and waits for the generated program code to be returned.
[0460] Step 4:
[0461] Based on the received request, the generative AI model generates program code that meets the specified specifications. The generated code, which includes a robot action such as "move to aisle 5 and collect the package," is sent back to the server.
[0462] Step 5:
[0463] The server debugs the received program code in a sandbox environment, where multiple test cases are run to verify that the code works as intended. Specifically, the server tests whether the robot can move correctly and collect packages within the virtual environment.
[0464] Step 6:
[0465] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request that the program code be corrected. Specifically, the server will send error messages and suggestions for improvement to the generative AI model.
[0466] Step 7:
[0467] Based on the feedback received, the generative AI model modifies the program code and sends it back to the server, including, for example, improving error handling and algorithms.
[0468] Step 8:
[0469] The server debugs the modified program code again in the sandbox environment, runs the test cases again, and verifies that all errors have been fixed. If necessary, the server provides feedback and requests for modifications.
[0470] Step 9:
[0471] Once all debugging is successful and the program code is completed in accordance with the specifications, the server notifies the user of the completion. This notification is sent via email or a pop-up in the system, allowing the user to check the completed program.
[0472] Step 10:
[0473] The system analyzes the user's facial expressions and tone of voice when inputting information and uses an emotion engine to determine the user's emotions. For example, if the system senses that the user is frustrated, it will flexibly adjust the content of the feedback and take measures to reduce the user's stress.
[0474] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0475] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0476] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0477] [Second embodiment]
[0478] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0479] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0480] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0481] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0482] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0483] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0484] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0485] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0486] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0487] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0488] In the smart glasses 214, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0489] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0490] This invention is a system that uses a generative AI model to automatically generate program code requested by the user, reducing the burden of trial and error. This system automates all interactions between the user and the generative AI model, minimizing the operational burden on the user.
[0491] The main components of the system are as follows:
[0492] 1. Specification input method
[0493] 2. Specification Analysis Method
[0494] 3. Program Generation Request Method
[0495] 4. Means of receiving program code
[0496] 5. Sandbox environment debugging methods
[0497] 6. Feedback and Correction Request Mechanisms
[0498] 7. Re-debugging methods
[0499] 8. Notification of completed code
[0500] Specification input method
[0501] Users access the system through a terminal and enter a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might enter, "I want a calculator program that can perform basic arithmetic operations."
[0502] Specification analysis method
[0503] The server receives the specifications sent by the user and analyzes them using natural language processing technology. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. As a result of the analysis, specific requirements such as "calculator program" and "four arithmetic operations" are extracted.
[0504] Program generation request method
[0505] Based on the extracted requirements, the server creates a request to the generative AI model to generate program code. This request is sent to the generative AI model in a format that includes specific program requirements.
[0506] Program code receiving means
[0507] The generative AI model generates program code based on the request and sends it back to the server. For example, the generated code includes functions for performing arithmetic operations.
[0508] Sandbox environment debugging methods
[0509] The server executes the received program code in a sandbox environment to check its operation and debug it. The sandbox environment is a virtual environment where code can be safely executed, and can be either online or on-premise. In this step, multiple test cases are executed to verify that the code works as specified.
[0510] Feedback and correction requests
[0511] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if a division function lacks error handling for division by zero, the server will request an improvement.
[0512] Re-debug method
[0513] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[0514] Completed code notification method
[0515] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0516] As a concrete example, if a user requests a "calculator program that performs the four arithmetic operations," the server will request the generative AI model, debug the generated code, provide feedback as needed, and ultimately complete a calculator program that correctly performs addition, subtraction, multiplication, and division. As a result, the user only needs to input the program specifications, and the system will automatically interact with the generative AI model and debug the code, reducing the burden on the user.
[0517] The processing flow will be explained below.
[0518] Step 1:
[0519] A user logs in to a terminal and enters the specifications for the finished product in natural language, for example, "Create a calculator program that can perform the four basic arithmetic operations. It must include the functions of subtraction, multiplication, division, and addition."
[0520] Step 2:
[0521] The terminal sends the user's input specifications to the server.
[0522] Step 3:
[0523] The server analyzes the received specifications and extracts requirements using natural language processing technology. This analysis identifies keywords such as "calculator program" and "arithmetic operations" and creates a list of specific requirement statements for program generation.
[0524] Step 4:
[0525] The server creates and sends a request to the generative AI model to generate program code based on the specific requirements.
[0526] Step 5:
[0527] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server.
[0528] Step 6:
[0529] The server receives the generated program code and runs it in a sandbox environment for debugging. In this environment, multiple test cases are run to verify that the code works as specified. For example, tests are performed to verify whether add(2, 3) returns 5, whether subtract(5, 3) returns 2, etc.
[0530] Step 7:
[0531] The server analyzes the debugging results, and if any defects or errors are found, it feeds them back to the generative AI model and requests that they be corrected. For example, if the "divide" function does not handle division by zero properly, it requests that they be improved.
[0532] Step 8:
[0533] The generative AI model regenerates the modified program code and sends it back to the server.
[0534] Step 9:
[0535] The server debugs the modified program code again in the sandbox environment to verify that the modifications have been applied correctly. If necessary, repeat the feedback and modification request procedure in step 7.
[0536] Step 10:
[0537] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0538] Step 11:
[0539] The server will provide the completed program code to the user, who can then download or view the program code according to the notification.
[0540] ---
[0541] As described above, the system allows users to simply input specifications, and the server automatically handles communication with the generative AI model and debugging, ultimately providing the desired program code to the user, significantly reducing the burden of trial and error on the user.
[0542] Example 1
[0543] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0544] Currently, generating many program codes can require a great deal of time and effort from users. Therefore, there is a demand for a system that allows users to input desired specifications in natural language, automatically generate program code, and repeatedly debug and modify it. Furthermore, a secure execution environment is required to ensure the quality and security of the generated code. Furthermore, it is important to introduce a user-selectable debugging environment and natural language processing technology.
[0545] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0546] In this invention, the server includes: means for a user to input a completed specification in natural language; means for analyzing the input specification using natural language processing technology and extracting requirements; means for requesting a generative AI model to generate program code based on the requirements; means for receiving the program code generated by the generative AI model; means for executing and debugging the received program code in a sandbox environment; means for requesting corrections to the program code based on the debugging results and providing feedback on errors and improvements; means for debugging the corrected program code again in the sandbox environment; and means for notifying the user when the program code is completed in accordance with the specifications. This automatically generates high-quality program code based on the specifications entered by the user, streamlines the debugging and correction processes, and reduces the burden on the user.
[0547] A "user" is a person who uses the system to input program specifications and receives the final program code.
[0548] A "terminal" is a hardware device through which a user accesses the system and inputs specifications.
[0549] The "server" is a central device that manages the processing of the entire system, analyzes specifications, requests the generation of program code, receives program code, debugs program code, and requests program code modification.
[0550] A "specification" is a document that describes the purpose and functional requirements of a program, as well as specific operating conditions, entered by a user in natural language.
[0551] "Natural language processing technology" is a technology that analyzes input natural language text and extracts important requirements and keywords.
[0552] A "generative AI model" is an artificial intelligence model that automatically generates program code based on specified requirements.
[0553] "Program code" means a set of instructions generated by a generative AI model to achieve a specific function.
[0554] A "sandbox environment" is a virtual environment for executing and debugging received program code in a safe and isolated environment.
[0555] "Debugging" is the process of detecting and correcting errors or defects in program code.
[0556] "Feedback" is the act of communicating errors and areas for improvement to the generative AI model based on the debugging results and requesting corrections.
[0557] A "request for correction" is the act of requesting corrections to the program code of a generative AI model based on feedback errors and areas for improvement.
[0558] "Notification" refers to the act of notifying the user of the completion of program code when all debugging has been successful and the code conforms to the specifications.
[0559] This invention is a system that uses a generative AI model to automatically generate the program code desired by the user, reducing the burden on the user. This system automates the entire process from user input to program code generation, debugging, modification, and completion notification.
[0560] First, a user accesses the system via a terminal and inputs a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might input, "I want a calculator program that can perform basic arithmetic operations."
[0561] Next, the server receives the specifications sent by the user and analyzes them using natural language processing technology. During this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. For example, the analysis results in the extraction of specific requirements such as "calculator program" and "four arithmetic operations."
[0562] Next, the server creates a request to the generative AI model to generate program code based on the extracted requirements. This request is sent to the generative AI model in a format that includes specific program requirements. The generative AI model generates program code based on the request and returns the code to the server. For example, the generated code includes functions that perform arithmetic operations.
[0563] The server then executes the received program code in a sandbox environment to check its operation and debug it. The sandbox environment is a virtual environment where code can be safely executed, and can be selected as either an online or on-premise environment. In this step, multiple test cases, such as "1 + 1 = 2" and "4 / 2 = 2", are executed.
[0564] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if a division function lacks error handling for division by zero, the server will request a fix. The feedback is specific, detailing the problem and its improvement requirements.
[0565] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[0566] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0567] As a concrete example, consider the case where a user requests a "calculator program that performs the four arithmetic operations." The user uses a terminal to input "I want a calculator program that performs the four arithmetic operations" into the system. The server receives this specification, analyzes it using natural language processing technology, and sends a request to the generative AI model containing the requirements "calculator program" and "four arithmetic operations." The generative AI model generates program code and returns it to the server. The server then debugs the received code in a sandbox environment and checks its operation using test cases such as "1 + 1 = 2" and "4 / 2 = 2." If any defects are found, they are fed back to the generative AI model and requested to be corrected. This process is repeated until a working program is finally completed, at which point the server notifies the user. The user can then receive the completed calculator program from their terminal.
[0568] Example prompt sentence:
[0569] "I want a calculator program that can perform basic arithmetic operations."
[0570] "Create a calculator program that performs the four arithmetic operations."
[0571] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0572] Step 1:
[0573] Users access the system using a terminal and enter a complete specification in natural language, for example, "I want a calculator program that can perform basic arithmetic operations."
[0574] Input: Program specifications written in the user's natural language
[0575] Output: Unparsed specification data sent to the server
[0576] Step 2:
[0577] The server receives the specification data sent by the user. It then analyzes the specification using natural language processing technology and extracts important requirements and keywords. For example, requirements such as "calculator program" and "four arithmetic operations" are extracted.
[0578] Input: Unparsed specification data received from the user
[0579] Output: Extracted requirements list
[0580] Step 3:
[0581] The server creates a request to the generative AI model to generate program code based on the extracted requirements list. This request includes specific program requirements. The request is sent to the generative AI model.
[0582] Input: Extracted requirements list
[0583] Output: Request to the generative AI model
[0584] Step 4:
[0585] The generative AI model generates program code based on the request received from the server and returns the results to the server. For example, code containing functions that perform arithmetic operations is generated.
[0586] Input: Request to generative AI model
[0587] Output: Generated program code
[0588] Step 5:
[0589] The server receives the generated program code. It then runs the program code in a sandbox environment to check and debug its operation. Test cases such as "1 + 1 = 2" and "4 / 2 = 2" are executed to check whether the operation is correct.
[0590] Input: Generated program code
[0591] Output: Debug results
[0592] Step 6:
[0593] If the server finds an error or bug during debugging, it will feed the results back to the generative AI model and request a fix. For example, if a problem is discovered where a division function lacks error handling for division by zero, it will request a fix.
[0594] Input: Debug results
[0595] Output: Correction request feedback
[0596] Step 7:
[0597] The generative AI model receives feedback from the server, modifies the program code, and then sends the modified code back to the server.
[0598] Input: Request for correction Feedback
[0599] Output: Modified program code
[0600] Step 8:
[0601] The server then debugs the modified code again in the sandbox environment, repeating this process until the modifications are successfully applied and all test cases pass.
[0602] Input: modified program code
[0603] Output: Final debug result
[0604] Step 9:
[0605] After all debugging is successful, the server notifies the user that the program code conforming to the specifications has been completed. This notification is sent in the format selected by the user (email, a pop-up in the system, etc.). The user receives the completed program code using a terminal.
[0606] Input: Final debug result
[0607] Output: Completion notification to user
[0608] (Application example 1)
[0609] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0610] Currently, generating control programs for industrial machines requires specialized knowledge and a lot of time. Furthermore, when complex processes or real-time program changes are required, it is difficult for workers to respond immediately. This can reduce work efficiency and affect the quality of the final product. In particular, because program generation and debugging are done manually, trial and error occurs frequently, placing a heavy burden on workers. The aim of this project is to solve these problems.
[0611] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0612] In this invention, the server includes: means for a user to input a completed specification; means for analyzing the input specification and extracting requirements; means for requesting the generation of program code based on the requirements; means for receiving the generated program code; means for debugging the received program code in a sandbox environment; means for providing feedback on errors and improvements based on the debugging results and requesting the program code be modified; means for re-debugging the modified program code; means for notifying the user when the program code conforming to the specifications has been completed; and means for linking with a display device attached to a control device of an industrial machine and providing a robot control program that is instantly generated based on a process instructed by an operator. This allows an operator to instantly generate and debug the required robot control program and reflect it in work in real time simply by inputting instructions in natural language.
[0613] A "user" is a person who uses this system to request the generation of program code.
[0614] A "final specification" is natural language input that includes the user's desired program objectives, basic functional requirements, and specific operating conditions.
[0615] "Requirements" are specific conditions or keywords that are extracted from the final specifications and are necessary for program generation.
[0616] "Program code" means source code generated based on specified requirements.
[0617] A "sandbox environment" is a virtual environment in which generated program code can be safely executed and debugged.
[0618] "Debugging" is the process of executing program code, verifying its operation, and identifying and correcting errors.
[0619] "Feedback" is the act of returning errors and improvements discovered based on the debugging results to the generative AI model and requesting that they be corrected.
[0620] "Industrial machinery" refers to various types of machinery and equipment used in manufacturing.
[0621] A "control device" is an electronic device for controlling industrial machinery.
[0622] A "display device" is a device that provides information to workers, such as smart glasses or a head-mounted display.
[0623] A "generative AI model" is an artificial intelligence model that automatically generates program code based on specified requirements.
[0624] "Natural language" refers to words and written forms that are used by humans on a daily basis.
[0625] This invention relates to a system for generating control programs for industrial machines. This system is composed of a user, a terminal, a server, and a display device. Each element of this system and its operation will be described below.
[0626] 1. Users
[0627] The user inputs instructions in natural language to generate a control program. As a concrete example, let's say a worker wears smart glasses and inputs the instruction "tighten the screws." This natural language input is treated as a "finished specification" that the system uses to generate an appropriate program.
[0628] 2. Terminal
[0629] The terminal receives the completed specifications entered by the user and sends them to the server. The terminal is a computing device such as smart glasses or a tablet. This device acts as an interface between the user and the server.
[0630] 3. Server
[0631] The server analyzes the specifications sent from the device and extracts important requirements. Natural language processing technology is used for this analysis. Based on the extracted requirements, the server requests a generative AI model to generate program code. This generative AI model may be, for example, OpenAI's GPT-3.
[0632] After the generative AI model generates program code, the server receives the code and debugs it in a sandbox environment. This sandbox environment is a virtual environment where the code can be safely executed. Based on the debugging results, the server provides feedback to the generative AI model on errors and areas for improvement, requesting corrections. The corrected code is then debugged again, and finally, program code that meets the specifications is completed.
[0633] 4. Display device
[0634] A display device (e.g., smart glasses or a head-mounted display) attached to the control device of the industrial machine presents the generated program code to the user, who can then check, modify, and execute the generated program content through the display device.
[0635] Examples and prompts
[0636] As a concrete example, for the "screw tightening process," the user inputs the following into the smart glasses:
[0637] "Generate a program for a robot arm that executes the task 'tighten a screw'."
[0638] This prompt is sent to a generative AI model, which generates the appropriate program code, enabling fast and efficient control of industrial machinery.
[0639] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0640] Step 1: Enter your specifications
[0641] The user inputs the control program specifications in natural language through the smart glasses. For example, the user inputs the instruction "Tighten the screws." This input becomes the final specification.
[0642] Input: Natural language instructions from the user (e.g., "the process of tightening the screws")
[0643] Output: Complete specification (natural language format)
[0644] Step 2: Submit your spec
[0645] The terminal sends the completed specifications entered by the user to the server, and the terminal acts as an interface between the servers.
[0646] Input: Complete specification (natural language format)
[0647] Output: Sending the spec to the server
[0648] Step 3: Specification analysis and requirements extraction
[0649] The server analyzes the received specifications and extracts requirements using natural language processing technology, such as a "program that executes the action of tightening a screw."
[0650] Input: Finished specifications
[0651] Data processing: Natural language analysis and requirement extraction
[0652] Output: A list of specific requirements (e.g., "A program to tighten a screw")
[0653] Step 4: Program generation request
[0654] The server requests a generative AI model to generate program code based on the extracted requirements. For example, OpenAI's GPT-3 is used as the generative AI model.
[0655] Input: List of specific requirements
[0656] Data calculation: Input to generative AI model, program code generation
[0657] Output: Generated program code
[0658] Step 5: Receiving the program code
[0659] The server receives the program code generated from the generative AI model. At this stage, a simple robot control program is obtained.
[0660] Input: Program code from a generative AI model
[0661] Output: Received program code
[0662] Step 6: Debugging in a Sandbox Environment
[0663] The server executes and debugs the received program code in a sandbox environment. The sandbox environment, which can be online or on-premise, is a virtual environment for safely testing code. Debugging verifies whether the program operates as specified.
[0664] Input: Received program code
[0665] Data Calculation: Code execution and debugging in a sandbox environment
[0666] Output: Debug results (errors and improvements)
[0667] Step 7: Feedback and requests for revisions
[0668] Based on the debugging results, the server provides feedback to the generative AI model on errors and areas for improvement, requesting that the program code be modified.
[0669] Input: Debug results (errors and improvements)
[0670] Data calculation: Feedback and correction requests to generative AI models
[0671] Output: Modified program code
[0672] Step 8: Re-debug
[0673] The server debugs the modified program code from the generated AI model again in a sandbox environment to confirm that the modifications have been applied correctly.
[0674] Input: modified program code
[0675] Data Calculation: Re-debug in Sandbox Environment
[0676] Output: Final debug result (no errors)
[0677] Step 9: Notify users of the finished code
[0678] Once the program code is completed according to the specifications, the server notifies the user of the completion, which is displayed on the smart glasses display.
[0679] Input: Final debug result (no errors)
[0680] Output: Completion notification to user
[0681] This series of steps enables workers to instantly generate and debug the necessary robot control programs simply by entering instructions in natural language.
[0682] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0683] This invention combines a system that uses a generative AI model to automatically generate program code requested by the user, reducing the burden of trial and error, with an emotion engine that recognizes the user's emotions. This system automates all interactions between the user and the generative AI model, minimizing the burden on the user and providing feedback that takes the user's emotions into consideration.
[0684] The main components of the system are as follows:
[0685] 1. Specification input method
[0686] 2. Specification Analysis Method
[0687] 3. Program Generation Request Method
[0688] 4. Means of receiving program code
[0689] 5. Sandbox environment debugging methods
[0690] 6. Feedback and Correction Request Mechanisms
[0691] 7. Re-debugging methods
[0692] 8. Notification of completed code
[0693] 9. Emotion Engine
[0694] Specification input method
[0695] Users access the system through a terminal and enter a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might enter, "I want a calculator program that can perform basic arithmetic operations."
[0696] Specification analysis method
[0697] The server receives the specifications sent by the user and analyzes them using natural language processing technology. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. As a result of the analysis, specific requirements for a "calculator program" and "four arithmetic operations" are extracted.
[0698] Program generation request method
[0699] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code. This request is based on specific requirements.
[0700] Program code receiving means
[0701] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server. For example, the generated code includes functions that perform arithmetic operations.
[0702] Sandbox environment debugging methods
[0703] The server executes the received program code in a sandbox environment to check its operation and debug it. In this environment, multiple test cases are run to verify that the code operates as specified. The sandbox environment is a virtual environment in which code can be safely executed, and can be either online or on-premise.
[0704] Feedback and correction requests
[0705] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if the "divide" function does not handle division by zero properly, the server will request an improvement.
[0706] Re-debug method
[0707] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[0708] Completed code notification method
[0709] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0710] Emotion Engine
[0711] The emotion engine can recognize the emotion of a user's input and adjust the system's behavior accordingly. Specifically, it analyzes the user's facial expression and tone of voice when inputting to determine the user's emotion. For example, if the emotion engine determines that the user is frustrated, the system can adjust the feedback content and interface to reduce the user's stress.
[0712] ---
[0713] As a concrete example, if a user requests a "calculator program that performs the four arithmetic operations," the server requests the generative AI model, debugs the generated code, and provides feedback as needed, ultimately completing a calculator program that correctly performs addition, subtraction, multiplication, and division. During this process, the emotion engine recognizes the user's emotions and provides appropriate feedback and interface adjustments, improving the user experience. This means that the user only needs to input the program specifications, and the system automatically interacts with the generative AI model and debugs the code, reducing the burden on the user and providing emotionally sensitive support.
[0714] The processing flow will be explained below.
[0715] Step 1:
[0716] A user logs in to a terminal and enters the specifications for the finished product in natural language, for example, "Create a calculator program that can perform the four basic arithmetic operations. It must include the functions of subtraction, multiplication, division, and addition."
[0717] Step 2:
[0718] The terminal sends the user's input specifications to the server.
[0719] Step 3:
[0720] The server analyzes the received specifications and extracts requirements using natural language processing technology. This analysis identifies specific requirements such as "calculator program" and "four arithmetic operations."
[0721] Step 4:
[0722] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code.
[0723] Step 5:
[0724] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server.
[0725] Step 6:
[0726] The server receives the generated program code and executes and debugs it in a sandbox environment, where multiple test cases are run to verify that the code works as specified.
[0727] Step 7:
[0728] The server analyzes the debugging results, and if any defects or errors are found, it feeds the results back to the generative AI model and requests that they be corrected. For example, if the handling of division by zero errors is insufficient, it requests that they be improved.
[0729] Step 8:
[0730] The generative AI model regenerates the modified program code and sends it back to the server.
[0731] Step 9:
[0732] The server debugs the modified program code again in a sandbox environment to verify that the modifications have been applied correctly.
[0733] Step 10:
[0734] When the server has successfully completed all debugging and the program code has been completed according to the specifications, it will notify the user of the completion. This notification will be sent by email or as a pop-up in the system.
[0735] Step 11:
[0736] The server provides the completed program code to the user, who can then download or view the code through his / her terminal.
[0737] Step 12:
[0738] The emotion engine monitors the user's facial expressions and tone of voice as they type to recognize their emotions. For example, if the user is annoyed, the emotion engine will determine this.
[0739] Step 13:
[0740] Based on the emotions recognized by the emotion engine, the server can adjust the feedback content and interface. For example, if the user is frustrated, the server can change the feedback to more polite language or simplify the interface to reduce the user's stress.
[0741] ---
[0742] As described above, this system allows users to simply input specifications; the server automatically handles communication with the generative AI model and debugging, and the emotion engine recognizes the user's emotions and responds appropriately, thereby reducing the burden on the user and providing a comfortable user experience.
[0743] Example 2
[0744] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0745] In modern software development, creating the programs users desire requires a great deal of time and effort. The burden of trial and error is also significant, and the process of debugging and correcting programs can be particularly stressful. Furthermore, feedback systems that do not take into account the user's emotions and stress can potentially result in a poor user experience. There is a need for a system that solves these issues.
[0746] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for a user to input a completed specification; means for analyzing the input specification and extracting requirements; means for requesting the generation of program code based on the requirements; means for receiving the generated program code; means for debugging the received program code in a virtual environment; means for providing feedback on errors and improvements based on the debugging results and requesting the program code to be modified; means for re-debug the modified program code; means for notifying the user when the program code is completed in accordance with the specifications; and means for recognizing the user's emotions and adjusting the system operation. This allows the user to automatically generate high-quality program code simply by inputting specifications, reducing the burden of debugging and modification work, and receiving feedback that takes the user's emotions into consideration.
[0747] "User" refers to an individual or corporation that uses this system to request the generation of program code.
[0748] The "final specification" is information that describes in natural language the program functions and operating conditions that the user specifically desires.
[0749] "Input means" refers to the means by which the user transmits the completed specifications to the system, and includes a keyboard, a touch screen, etc.
[0750] "Analysis means" refers to technology that allows the system to analyze specifications entered by the user and extract necessary requirements, and includes natural language processing technology.
[0751] "Requirements" are elements and conditions that are important to the program to be generated and are extracted by the analysis means.
[0752] "Means for requesting the generation of program code" refers to the function by which the system requests the generative AI model to generate program code based on the user's specifications.
[0753] A "generative AI model" is an artificial intelligence technology that automatically generates program code based on requested requirements.
[0754] "Receiving means" is the function by which the system receives the program code sent from the generative AI model.
[0755] A "virtual environment" is an isolated execution environment within a system for safely debugging and testing program code.
[0756] "Means for debugging" refers to a function for executing received program code within a virtual environment and identifying errors or malfunctions.
[0757] "Means for providing feedback" is a function for reporting debugging results to the generative AI model and requesting code corrections.
[0758] "Means to request corrections" is a function that notifies the generative AI model of discovered errors and areas for improvement and requests that the program code be corrected.
[0759] The "means for debugging again" is a function for executing the test again in the virtual environment to confirm whether the corrected program code operates correctly again.
[0760] The "notification means" is a function for notifying the user that all debugging has been successful and that the program code has been completed, and includes email, pop-up notifications, and the like.
[0761] The "means for recognizing emotions" is a function for analyzing the user's facial expressions and tone of voice to determine the user's emotional state.
[0762] MODE FOR CARRYING OUT THE INVENTION
[0763] This invention is a system that uses a generative AI model to automatically generate the program code desired by the user, reducing the burden of trial and error. This system also incorporates an emotion engine that recognizes the user's emotions, reducing user stress and providing a better user experience.
[0764] Hardware and Software Use
[0765] Hardware:
[0766] Server: The device that plays the central role in this system, and performs functions such as generating, receiving, and debugging program code.
[0767] Terminal: The device used by the user to enter specifications, such as a PC, tablet, or smartphone.
[0768] software:
[0769] Generative AI model: An AI technology that automatically generates program code based on requests. An example of such a model is GPT-4.
[0770] Natural language processing technology: Technology for analyzing specifications entered by users. For example, models such as BERT and GPT-4 are used.
[0771] Emotion engine: Technology that recognizes emotions from user input and behavior and adjusts system behavior.
[0772] System Operation Overview
[0773] The operation of the system proceeds as follows.
[0774] 1. Specification input method:
[0775] A user accesses the system via a terminal and inputs the specifications of the desired program in natural language. For example, the user might input, "I want a calculator program that performs the four arithmetic operations."
[0776] 2. Specification analysis methods:
[0777] The server receives the specifications sent by the user and analyzes them using natural language processing techniques. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements is created for program generation.
[0778] 3. Program generation request method:
[0779] Based on the analyzed requirements list, the server creates and sends a request to the generative AI model to generate program code.
[0780] 4. Means of receiving the program code:
[0781] The generative AI model receives the request, generates program code that meets the specified specifications, and sends it back to the server.
[0782] 5. Sandbox environment debugging methods:
[0783] The server executes the received program code in a sandbox environment, and performs operation checks and debugging using test cases. The sandbox environment can be selected as either online or on-premise.
[0784] 6. Feedback and Correction Request Methods:
[0785] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request a correction.
[0786] 7. Re-debug method:
[0787] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to ensure the modifications have been applied correctly.
[0788] 8. Completed Code Notification Method:
[0789] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion via email or a pop-up notification within the system.
[0790] 9. Emotion Engine:
[0791] The emotion engine monitors user input and behavior, and by analyzing facial expressions and tone of voice, determines the user's emotions. If the system determines that the user is frustrated, it adjusts the feedback and interface to reduce the user's stress.
[0792] Specific examples
[0793] When a user requests a "calculator program that performs arithmetic operations," the following steps are executed.
[0794] 1. User: Enters into the system from a terminal, "I want a calculator program that performs arithmetic operations."
[0795] 2. Server: Receives the specifications and uses natural language processing technology to extract keywords such as "arithmetic operations" and "calculator."
[0796] 3. Server: Requests code generation from the generative AI model based on the extracted requirements.
[0797] 4. Generative AI model: Generates code for a calculator program with arithmetic functions and sends it back to the server.
[0798] 5. Server: Executes the received code in a sandbox environment to check its operation and debug it. For example, executes test cases such as 2+3, 10-4, etc.
[0799] 6. Server: If an error is found, it sends feedback to the generative AI model and requests that it be corrected. For example, if a division by zero error is found, it requests that it be corrected.
[0800] 7. Generative AI model: The modified code is resubmitted to the server, which debugs it again.
[0801] 8. Server: After all test cases are successful, notify the user by email or a pop-up message that the arithmetic calculator program is complete.
[0802] 9. Emotion Engine: If frustration is detected during user input, the feedback and interface are adjusted to optimize the user experience.
[0803] Example prompt:
[0804] "Create a calculator program that can perform the four basic arithmetic operations."
[0805] "I got a divide by zero error. Please suggest a fix."
[0806] In this way, users can generate high-quality programs simply by entering the desired program code, significantly reducing the burden of debugging and modification. In addition, the emotion engine improves the user experience and contributes to reducing stress.
[0807] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0808] Program processing steps
[0809] Step 1:
[0810] Specification input method
[0811] Input: The user opens a browser on the terminal, accesses a specified page of the system, and enters the specifications of the desired program in natural language.
[0812] Specific operation: The user enters "I want a calculator program that performs arithmetic operations" and presses the send button.
[0813] Output: The user's input data is sent to the server.
[0814] Step 2:
[0815] Specification analysis method
[0816] Input: The server receives specification data from the user.
[0817] Specific operation: The server launches a natural language processing engine (e.g., GPT-4) to analyze the input specifications. Through the analysis, keywords such as "arithmetic operations" and "calculator" are extracted.
[0818] Output: A list of extracted requirements is generated.
[0819] Step 3:
[0820] Program generation request method
[0821] Input: Extracted requirements list
[0822] Specific operation: The server creates and sends a request to the generative AI model to generate program code based on the requirements list.
[0823] Output: A request to generate program code is sent to the generative AI model.
[0824] Step 4:
[0825] Program code receiving means
[0826] Input: Program code returned by the generative AI model
[0827] Specific operation: The generative AI model generates program code based on the specified requirements and sends it back to the server.
[0828] Output: The server receives the generated program code.
[0829] Step 5:
[0830] Sandbox environment debugging methods
[0831] Input: Received program code
[0832] Specific operation: The server executes the received code in a sandbox environment and checks and debugs its operation using multiple test cases (e.g., 2+3, 10-4, etc.).
[0833] Output: Test results and error logs are generated.
[0834] Step 6:
[0835] Feedback and correction requests
[0836] Input: Test results and error log
[0837] Specific operation: If an error or bug is discovered during debugging, the server will feed the details back to the generative AI model and send a correction request, for example, if a division by zero error occurs, a request to correct it will be made.
[0838] Output: A revision request is sent to the generative AI model.
[0839] Step 7:
[0840] Re-debug method
[0841] Input: Modified program code
[0842] What happens: After receiving the modified code, the server will debug it again in the sandbox environment to verify that the modifications were applied correctly.
[0843] Output: Again, test results and an error log are generated.
[0844] Step 8:
[0845] Completed code notification method
[0846] Input: Complete program code
[0847] Specific operation: When all debugging is successful and the program code conforming to the specifications is completed, the server will notify the user of the completion, for example, by email or a pop-up notification within the system.
[0848] Output: A notification message is sent to the user.
[0849] Step 9:
[0850] Emotion Engine
[0851] Input: User input and behavioral data
[0852] How it works: The emotion engine analyzes user input and actions, interpreting facial expressions and tone of voice. If it detects that the user is frustrated, the system adjusts the feedback and interface to reduce the user's stress.
[0853] Output: Tailored feedback and interface is provided.
[0854] These are the specific processing steps of this system. Each step has a clear input and output, and processing proceeds based on this. This allows users to easily generate high-quality program code and reduces the burden of debugging and modification. In addition, the emotion engine reduces user stress and provides a good user experience.
[0855] (Application example 2)
[0856] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0857] There is a need in logistics centers to efficiently manage the operation of mobile robots and reduce the burden on users involved in creating and debugging robot operation programs. However, conventional systems require users to write program code directly, requiring a great deal of effort through trial and error. Furthermore, these systems do not take into consideration the user's feelings and do not provide a means to reduce stress or frustration. The objective of this invention is to solve these problems, minimize the operational burden on users, and provide an efficient, user-friendly robot management system.
[0858] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0859] In this invention, the server includes means for a user to input completed specifications, means for analyzing the input specifications and extracting requirements, means for requesting the generation of program code based on the requirements, means for receiving the generated program code, means for debugging the received program code in a sandbox environment, means for providing feedback on errors and improvements based on the debugging results and for requesting that the program code be modified, means for re-debug the modified program code, means for notifying the user when the program code has been completed in accordance with the specifications, and means for including an emotion engine that recognizes and analyzes the user's emotions and adjusting system operation and feedback based on the emotions analyzed by the emotion engine. This enables efficient management of mobile robots, reduces the operational burden on users, and provides an interface that takes user emotions into consideration.
[0860] A "user" is a person who operates the system and gives input and instructions.
[0861] "Specifications" are information that describes the user's desired finished program and its requirements.
[0862] The "means for inputting specifications" is an interface for the user to input the specifications of the desired program in natural language.
[0863] The "means for analyzing specifications" is a mechanism for analyzing input specifications and extracting requirements and keywords.
[0864] The "means for requesting the generation of program code" is a mechanism for requesting the generation of program code from a generative AI model based on the extracted requirements.
[0865] "Means for receiving generated program code" refers to a mechanism for receiving program code returned from a generative AI model.
[0866] A "sandbox environment" is a virtual environment for safely testing and debugging program code.
[0867] The "means for debugging" is a mechanism for executing the received program code in the sandbox environment to check its operation and detect errors.
[0868] The "means of providing feedback and requesting corrections" is a mechanism for feeding back errors and areas for improvement to the generative AI model based on the debugging results and requesting corrections to the program code.
[0869] The "means for re-debugging" is a mechanism for debugging modified program code again in a sandbox environment.
[0870] The "notification means" is a mechanism for notifying the user when the completed program code conforms to the specifications.
[0871] An "emotion engine" is a technology for recognizing and analyzing a user's emotions, and determines the user's emotions based on voice tone and facial expressions.
[0872] A "logistics center" is a facility where goods are stored, kept, sorted, and shipped.
[0873] A "mobile robot" is an automated device used to transport goods and luggage within a logistics center.
[0874] The present invention relates to a management system for mobile robots in logistics centers. This system recognizes user emotions and automatically generates robot operation programs using a generative AI model. Specific embodiments of the system are described below.
[0875] The main components of the system are:
[0876] 1. Specification input method
[0877] Users access the system through a terminal and input the desired robot behavior specifications in natural language. This specification includes the robot's purpose, basic functional requirements, and specific operating conditions. For example, an instruction might be "Go to aisle 5 and collect the package."
[0878] 2. Specification Analysis Method
[0879] The server receives the specifications sent by the user and analyzes them using natural language processing technology. During this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements is created for generating the robot program. As a result of the analysis, specific requirements such as "Aisle 5," "Movement," and "Package Collection" are extracted.
[0880] 3. Program Generation Request Method
[0881] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code. This request is based on specific requirements.
[0882] 4. Means of receiving program code
[0883] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server. For example, the generated code might include the action "Go to aisle 5 and collect the package."
[0884] 5. Sandbox environment debugging methods
[0885] The server executes the received program code in a sandbox environment, where it is checked for behavior and debugged. In this environment, multiple test cases are run to verify that the code works as specified.
[0886] 6. Feedback and Correction Request Mechanisms
[0887] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request corrections, such as requesting correction of an error in the "luggage collection" action.
[0888] 7. Re-debugging methods
[0889] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[0890] 8. Notification of completed code
[0891] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0892] 9. Emotion Engine
[0893] The emotion engine can recognize the emotion of a user's input and adjust the system's behavior accordingly. Specifically, it analyzes the user's facial expression and tone of voice when inputting to determine the user's emotion. For example, if the emotion engine determines that the user is frustrated, the system can adjust the feedback content and interface to reduce the user's stress.
[0894] (Example)
[0895] When a user instructs a robot to "go to aisle 5 and collect the package," the server sends the instruction to a generative AI model, debugs the generated code in a sandbox environment, and provides feedback as needed, ultimately completing a program that causes the robot to act as instructed. During this process, the emotion engine recognizes the user's emotions and provides appropriate feedback and interface adjustments, improving the user experience.
[0896] (Example of a prompt)
[0897] When a user requests code for a robot that moves to a specific location, you must generate the code based on the given specifications, debug it, ask for corrections for any errors or glitches, and assess the user's sentiment and provide feedback accordingly.
[0898] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0899] Step 1:
[0900] Users access the system via a terminal and input the desired robot behavior specifications in natural language. The input specifications include specific tasks the robot should perform. This input is sent in text format to the server.
[0901] Step 2:
[0902] The server analyzes the received specifications and uses natural language processing technology to extract requirements and keywords. Specifically, it uses a text analysis algorithm to generate a list of requirements such as "movement" and "baggage collection" as output.
[0903] Step 3:
[0904] Based on the extracted requirements, the server creates a request to the generative AI model to generate program code. This request includes a list of specific requirements. The server sends the request and waits for the generated program code to be returned.
[0905] Step 4:
[0906] Based on the received request, the generative AI model generates program code that meets the specified specifications. The generated code, which includes a robot action such as "move to aisle 5 and collect the package," is sent back to the server.
[0907] Step 5:
[0908] The server debugs the received program code in a sandbox environment, where multiple test cases are run to verify that the code works as intended. Specifically, the server tests whether the robot can move correctly and collect packages within the virtual environment.
[0909] Step 6:
[0910] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request that the program code be corrected. Specifically, the server will send error messages and suggestions for improvement to the generative AI model.
[0911] Step 7:
[0912] Based on the feedback received, the generative AI model modifies the program code and sends it back to the server, including, for example, improving error handling and algorithms.
[0913] Step 8:
[0914] The server debugs the modified program code again in the sandbox environment, runs the test cases again, and verifies that all errors have been fixed. If necessary, the server provides feedback and requests for modifications.
[0915] Step 9:
[0916] Once all debugging is successful and the program code is completed in accordance with the specifications, the server notifies the user of the completion. This notification is sent via email or a pop-up in the system, allowing the user to check the completed program.
[0917] Step 10:
[0918] The system analyzes the user's facial expressions and tone of voice when inputting information and uses an emotion engine to determine the user's emotions. For example, if the system senses that the user is frustrated, it will flexibly adjust the content of the feedback and take measures to reduce the user's stress.
[0919] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0920] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0921] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0922] [Third embodiment]
[0923] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0924] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0925] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0926] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0927] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0928] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0929] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0930] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0931] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0932] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0933] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0934] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0935] This invention is a system that uses a generative AI model to automatically generate program code requested by the user, reducing the burden of trial and error. This system automates all interactions between the user and the generative AI model, minimizing the operational burden on the user.
[0936] The main components of the system are as follows:
[0937] 1. Specification input method
[0938] 2. Specification Analysis Method
[0939] 3. Program Generation Request Method
[0940] 4. Means of receiving program code
[0941] 5. Sandbox environment debugging methods
[0942] 6. Feedback and Correction Request Mechanisms
[0943] 7. Re-debugging methods
[0944] 8. Notification of completed code
[0945] Specification input method
[0946] Users access the system through a terminal and enter a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might enter, "I want a calculator program that can perform basic arithmetic operations."
[0947] Specification analysis method
[0948] The server receives the specifications sent by the user and analyzes them using natural language processing technology. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. As a result of the analysis, specific requirements such as "calculator program" and "four arithmetic operations" are extracted.
[0949] Program generation request method
[0950] Based on the extracted requirements, the server creates a request to the generative AI model to generate program code. This request is sent to the generative AI model in a format that includes specific program requirements.
[0951] Program code receiving means
[0952] The generative AI model generates program code based on the request and sends it back to the server. For example, the generated code includes functions for performing arithmetic operations.
[0953] Sandbox environment debugging methods
[0954] The server executes the received program code in a sandbox environment to check its operation and debug it. The sandbox environment is a virtual environment where code can be safely executed, and can be either online or on-premise. In this step, multiple test cases are executed to verify that the code works as specified.
[0955] Feedback and correction requests
[0956] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if a division function lacks error handling for division by zero, the server will request an improvement.
[0957] Re-debug method
[0958] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[0959] Completed code notification method
[0960] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0961] As a concrete example, if a user requests a "calculator program that performs the four arithmetic operations," the server will request the generative AI model, debug the generated code, provide feedback as needed, and ultimately complete a calculator program that correctly performs addition, subtraction, multiplication, and division. As a result, the user only needs to input the program specifications, and the system will automatically interact with the generative AI model and debug the code, reducing the burden on the user.
[0962] The processing flow will be explained below.
[0963] Step 1:
[0964] A user logs in to a terminal and enters the specifications for the finished product in natural language, for example, "Create a calculator program that can perform the four basic arithmetic operations. It must include the functions of subtraction, multiplication, division, and addition."
[0965] Step 2:
[0966] The terminal sends the user's input specifications to the server.
[0967] Step 3:
[0968] The server analyzes the received specifications and extracts requirements using natural language processing technology. This analysis identifies keywords such as "calculator program" and "arithmetic operations" and creates a list of specific requirement statements for program generation.
[0969] Step 4:
[0970] The server creates and sends a request to the generative AI model to generate program code based on the specific requirements.
[0971] Step 5:
[0972] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server.
[0973] Step 6:
[0974] The server receives the generated program code and runs it in a sandbox environment for debugging. In this environment, multiple test cases are run to verify that the code works as specified. For example, tests are performed to verify whether add(2, 3) returns 5, whether subtract(5, 3) returns 2, etc.
[0975] Step 7:
[0976] The server analyzes the debugging results, and if any defects or errors are found, it feeds them back to the generative AI model and requests that they be corrected. For example, if the "divide" function does not handle division by zero properly, it requests that they be improved.
[0977] Step 8:
[0978] The generative AI model regenerates the modified program code and sends it back to the server.
[0979] Step 9:
[0980] The server debugs the modified program code again in the sandbox environment to verify that the modifications have been applied correctly. If necessary, repeat the feedback and modification request procedure in step 7.
[0981] Step 10:
[0982] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[0983] Step 11:
[0984] The server will provide the completed program code to the user, who can then download or view the program code according to the notification.
[0985] ---
[0986] As described above, the system allows users to simply input specifications, and the server automatically handles communication with the generative AI model and debugging, ultimately providing the desired program code to the user, significantly reducing the burden of trial and error on the user.
[0987] Example 1
[0988] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0989] Currently, generating many program codes can require a great deal of time and effort from users. Therefore, there is a demand for a system that allows users to input desired specifications in natural language, automatically generate program code, and repeatedly debug and modify it. Furthermore, a secure execution environment is required to ensure the quality and security of the generated code. Furthermore, it is important to introduce a user-selectable debugging environment and natural language processing technology.
[0990] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0991] In this invention, the server includes: means for a user to input a completed specification in natural language; means for analyzing the input specification using natural language processing technology and extracting requirements; means for requesting a generative AI model to generate program code based on the requirements; means for receiving the program code generated by the generative AI model; means for executing the received program code in a sandbox environment and debugging it; means for requesting corrections to the program code based on the debugging results and providing feedback on errors and improvements; means for debugging the corrected program code again in the sandbox environment; and means for notifying the user when the program code is completed in accordance with the specifications. This automatically generates high-quality program code based on the specifications entered by the user, streamlines the debugging and correction processes, and reduces the burden on the user.
[0992] A "user" is a person who uses the system to input program specifications and receives the final program code.
[0993] A "terminal" is a hardware device through which a user accesses the system and inputs specifications.
[0994] The "server" is a central device that manages the processing of the entire system, analyzes specifications, requests the generation of program code, receives program code, debugs program code, and requests program code modification.
[0995] A "specification" is a document that describes the purpose and functional requirements of a program, as well as specific operating conditions, entered by a user in natural language.
[0996] "Natural language processing technology" is a technology that analyzes input natural language text and extracts important requirements and keywords.
[0997] A "generative AI model" is an artificial intelligence model that automatically generates program code based on specified requirements.
[0998] "Program code" means a set of instructions generated by a generative AI model to achieve a specific function.
[0999] A "sandbox environment" is a virtual environment for executing and debugging received program code in a safe and isolated environment.
[1000] "Debugging" is the process of detecting and correcting errors or defects in program code.
[1001] "Feedback" is the act of communicating errors and areas for improvement to the generative AI model based on the debugging results and requesting corrections.
[1002] A "request for correction" is the act of requesting corrections to the program code of a generative AI model based on feedback errors and areas for improvement.
[1003] "Notification" refers to the act of notifying the user of the completion of program code when all debugging has been successful and the code conforms to the specifications.
[1004] This invention is a system that uses a generative AI model to automatically generate the program code desired by the user, reducing the burden on the user. This system automates the entire process from user input to program code generation, debugging, modification, and completion notification.
[1005] First, a user accesses the system via a terminal and inputs a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might input, "I want a calculator program that can perform basic arithmetic operations."
[1006] Next, the server receives the specifications sent by the user and analyzes them using natural language processing technology. During this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. For example, the analysis results in the extraction of specific requirements such as "calculator program" and "four arithmetic operations."
[1007] Next, the server creates a request to the generative AI model to generate program code based on the extracted requirements. This request is sent to the generative AI model in a format that includes specific program requirements. The generative AI model generates program code based on the request and returns the code to the server. For example, the generated code includes functions that perform arithmetic operations.
[1008] The server then executes the received program code in a sandbox environment to check its operation and debug it. The sandbox environment is a virtual environment where code can be safely executed, and can be selected as either an online or on-premise environment. In this step, multiple test cases, such as "1 + 1 = 2" and "4 / 2 = 2", are executed.
[1009] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if a division function lacks error handling for division by zero, the server will request a fix. The feedback is specific, detailing the problem and its improvement requirements.
[1010] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[1011] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[1012] As a concrete example, consider the case where a user requests a "calculator program that performs the four arithmetic operations." The user uses a terminal to input "I want a calculator program that performs the four arithmetic operations" into the system. The server receives this specification, analyzes it using natural language processing technology, and sends a request to the generative AI model containing the requirements "calculator program" and "four arithmetic operations." The generative AI model generates program code and returns it to the server. The server then debugs the received code in a sandbox environment and checks its operation using test cases such as "1 + 1 = 2" and "4 / 2 = 2." If any defects are found, they are fed back to the generative AI model and requested to be corrected. This process is repeated until a working program is finally completed, at which point the server notifies the user. The user can then receive the completed calculator program from their terminal.
[1013] Example prompt sentence:
[1014] "I want a calculator program that can perform basic arithmetic operations."
[1015] "Create a calculator program that performs the four arithmetic operations."
[1016] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1017] Step 1:
[1018] Users access the system using a terminal and enter a complete specification in natural language, for example, "I want a calculator program that can perform basic arithmetic operations."
[1019] Input: Program specifications written in the user's natural language
[1020] Output: Unparsed specification data sent to the server
[1021] Step 2:
[1022] The server receives the specification data sent by the user. It then analyzes the specification using natural language processing technology and extracts important requirements and keywords. For example, requirements such as "calculator program" and "four arithmetic operations" are extracted.
[1023] Input: Unparsed specification data received from the user
[1024] Output: Extracted requirements list
[1025] Step 3:
[1026] The server creates a request to the generative AI model to generate program code based on the extracted requirements list. This request includes specific program requirements. The request is sent to the generative AI model.
[1027] Input: Extracted requirements list
[1028] Output: Request to the generative AI model
[1029] Step 4:
[1030] The generative AI model generates program code based on the request received from the server and returns the results to the server. For example, code containing functions that perform arithmetic operations is generated.
[1031] Input: Request to generative AI model
[1032] Output: Generated program code
[1033] Step 5:
[1034] The server receives the generated program code. It then runs the program code in a sandbox environment to check and debug its operation. Test cases such as "1 + 1 = 2" and "4 / 2 = 2" are executed to check whether the operation is correct.
[1035] Input: Generated program code
[1036] Output: Debug results
[1037] Step 6:
[1038] If the server finds an error or bug during debugging, it will feed the results back to the generative AI model and request a fix. For example, if a problem is discovered where a division function lacks error handling for division by zero, it will request a fix.
[1039] Input: Debug results
[1040] Output: Correction request feedback
[1041] Step 7:
[1042] The generative AI model receives feedback from the server, modifies the program code, and then sends the modified code back to the server.
[1043] Input: Request for correction Feedback
[1044] Output: Modified program code
[1045] Step 8:
[1046] The server then debugs the modified code again in the sandbox environment, repeating this process until the modifications are successfully applied and all test cases pass.
[1047] Input: modified program code
[1048] Output: Final debug result
[1049] Step 9:
[1050] After all debugging is successful, the server notifies the user that the program code conforming to the specifications has been completed. This notification is sent in the format selected by the user (email, a pop-up in the system, etc.). The user receives the completed program code using a terminal.
[1051] Input: Final debug result
[1052] Output: Completion notification to user
[1053] (Application example 1)
[1054] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1055] Currently, generating control programs for industrial machines requires specialized knowledge and a lot of time. Furthermore, when complex processes or real-time program changes are required, it is difficult for workers to respond immediately. This can reduce work efficiency and affect the quality of the final product. In particular, because program generation and debugging are done manually, trial and error occurs frequently, placing a heavy burden on workers. The aim of this project is to solve these problems.
[1056] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1057] In this invention, the server includes: means for a user to input a completed specification; means for analyzing the input specification and extracting requirements; means for requesting the generation of program code based on the requirements; means for receiving the generated program code; means for debugging the received program code in a sandbox environment; means for providing feedback on errors and improvements based on the debugging results and requesting the program code be modified; means for re-debugging the modified program code; means for notifying the user when the program code conforming to the specifications has been completed; and means for linking with a display device attached to a control device of an industrial machine and providing a robot control program that is instantly generated based on a process instructed by an operator. This allows an operator to instantly generate and debug the required robot control program and reflect it in work in real time simply by inputting instructions in natural language.
[1058] A "user" is a person who uses this system to request the generation of program code.
[1059] A "final specification" is natural language input that includes the user's desired program objectives, basic functional requirements, and specific operating conditions.
[1060] "Requirements" are specific conditions or keywords that are extracted from the final specifications and are necessary for program generation.
[1061] "Program code" means source code generated based on specified requirements.
[1062] A "sandbox environment" is a virtual environment in which generated program code can be safely executed and debugged.
[1063] "Debugging" is the process of executing program code, verifying its operation, and identifying and correcting errors.
[1064] "Feedback" is the act of returning errors and improvements discovered based on the debugging results to the generative AI model and requesting that they be corrected.
[1065] "Industrial machinery" refers to various types of machinery and equipment used in manufacturing.
[1066] A "control device" is an electronic device for controlling industrial machinery.
[1067] A "display device" is a device that provides information to workers, such as smart glasses or a head-mounted display.
[1068] A "generative AI model" is an artificial intelligence model that automatically generates program code based on specified requirements.
[1069] "Natural language" refers to words and written forms that are used by humans on a daily basis.
[1070] This invention relates to a system for generating control programs for industrial machines. This system is composed of a user, a terminal, a server, and a display device. Each element of this system and its operation will be described below.
[1071] 1. Users
[1072] The user inputs instructions in natural language to generate a control program. As a concrete example, let's say a worker wears smart glasses and inputs the instruction "tighten the screws." This natural language input is treated as a "finished specification" that the system uses to generate an appropriate program.
[1073] 2. Terminal
[1074] The terminal receives the completed specifications entered by the user and sends them to the server. The terminal is a computing device such as smart glasses or a tablet. This device acts as an interface between the user and the server.
[1075] 3. Server
[1076] The server analyzes the specifications sent from the device and extracts important requirements. Natural language processing technology is used for this analysis. Based on the extracted requirements, the server requests a generative AI model to generate program code. This generative AI model may be, for example, OpenAI's GPT-3.
[1077] After the generative AI model generates program code, the server receives the code and debugs it in a sandbox environment. This sandbox environment is a virtual environment where the code can be safely executed. Based on the debugging results, the server provides feedback to the generative AI model on errors and areas for improvement, requesting corrections. The corrected code is then debugged again, and finally, program code that meets the specifications is completed.
[1078] 4. Display device
[1079] A display device (e.g., smart glasses or a head-mounted display) attached to the control device of the industrial machine presents the generated program code to the user, who can then check, modify, and execute the generated program content through the display device.
[1080] Examples and prompts
[1081] As a concrete example, for the "screw tightening process," the user inputs the following into the smart glasses:
[1082] "Generate a program for a robot arm that executes the task 'tighten a screw'."
[1083] This prompt is sent to a generative AI model, which generates the appropriate program code, enabling fast and efficient control of industrial machinery.
[1084] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1085] Step 1: Enter your specifications
[1086] The user inputs the control program specifications in natural language through the smart glasses. For example, the user inputs the instruction "Tighten the screws." This input becomes the final specification.
[1087] Input: Natural language instructions from the user (e.g., "the process of tightening the screws")
[1088] Output: Complete specification (natural language format)
[1089] Step 2: Submit your spec
[1090] The terminal sends the completed specifications entered by the user to the server, and the terminal acts as an interface between the servers.
[1091] Input: Complete specification (natural language format)
[1092] Output: Sending the spec to the server
[1093] Step 3: Specification analysis and requirements extraction
[1094] The server analyzes the received specifications and extracts requirements using natural language processing technology, such as a "program that executes the action of tightening a screw."
[1095] Input: Finished specifications
[1096] Data processing: Natural language analysis and requirement extraction
[1097] Output: A list of specific requirements (e.g., "A program to tighten a screw")
[1098] Step 4: Program generation request
[1099] The server requests a generative AI model to generate program code based on the extracted requirements. For example, OpenAI's GPT-3 is used as the generative AI model.
[1100] Input: List of specific requirements
[1101] Data calculation: Input to generative AI model, program code generation
[1102] Output: Generated program code
[1103] Step 5: Receiving the program code
[1104] The server receives the program code generated from the generative AI model. At this stage, a simple robot control program is obtained.
[1105] Input: Program code from a generative AI model
[1106] Output: Received program code
[1107] Step 6: Debugging in a Sandbox Environment
[1108] The server executes and debugs the received program code in a sandbox environment. The sandbox environment, which can be online or on-premise, is a virtual environment for safely testing code. Debugging verifies whether the program operates as specified.
[1109] Input: Received program code
[1110] Data Calculation: Code execution and debugging in a sandbox environment
[1111] Output: Debug results (errors and improvements)
[1112] Step 7: Feedback and requests for revisions
[1113] Based on the debugging results, the server provides feedback to the generative AI model on errors and areas for improvement, requesting that the program code be modified.
[1114] Input: Debug results (errors and improvements)
[1115] Data calculation: Feedback and correction requests to generative AI models
[1116] Output: Modified program code
[1117] Step 8: Re-debug
[1118] The server debugs the modified program code from the generated AI model again in a sandbox environment to confirm that the modifications have been applied correctly.
[1119] Input: modified program code
[1120] Data Calculation: Re-debug in Sandbox Environment
[1121] Output: Final debug result (no errors)
[1122] Step 9: Notify users of the finished code
[1123] Once the program code is completed according to the specifications, the server notifies the user of the completion, which is displayed on the smart glasses display.
[1124] Input: Final debug result (no errors)
[1125] Output: Completion notification to user
[1126] This series of steps enables workers to instantly generate and debug the necessary robot control programs simply by entering instructions in natural language.
[1127] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1128] This invention combines a system that uses a generative AI model to automatically generate program code requested by the user, reducing the burden of trial and error, with an emotion engine that recognizes the user's emotions. This system automates all interactions between the user and the generative AI model, minimizing the burden on the user and providing feedback that takes the user's emotions into consideration.
[1129] The main components of the system are as follows:
[1130] 1. Specification input method
[1131] 2. Specification Analysis Method
[1132] 3. Program Generation Request Method
[1133] 4. Means of receiving program code
[1134] 5. Sandbox environment debugging methods
[1135] 6. Feedback and Correction Request Mechanisms
[1136] 7. Re-debugging methods
[1137] 8. Notification of completed code
[1138] 9. Emotion Engine
[1139] Specification input method
[1140] Users access the system through a terminal and enter a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might enter, "I want a calculator program that can perform basic arithmetic operations."
[1141] Specification analysis method
[1142] The server receives the specifications sent by the user and analyzes them using natural language processing technology. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. As a result of the analysis, specific requirements for a "calculator program" and "four arithmetic operations" are extracted.
[1143] Program generation request method
[1144] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code. This request is based on specific requirements.
[1145] Program code receiving means
[1146] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server. For example, the generated code includes functions that perform arithmetic operations.
[1147] Sandbox environment debugging methods
[1148] The server executes the received program code in a sandbox environment to check its operation and debug it. In this environment, multiple test cases are run to verify that the code operates as specified. The sandbox environment is a virtual environment in which code can be safely executed, and can be either online or on-premise.
[1149] Feedback and correction requests
[1150] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if the "divide" function does not handle division by zero properly, the server will request an improvement.
[1151] Re-debug method
[1152] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[1153] Completed code notification method
[1154] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[1155] Emotion Engine
[1156] The emotion engine can recognize the emotion of a user's input and adjust the system's behavior accordingly. Specifically, it analyzes the user's facial expression and tone of voice when inputting to determine the user's emotion. For example, if the emotion engine determines that the user is frustrated, the system can adjust the feedback content and interface to reduce the user's stress.
[1157] ---
[1158] As a concrete example, if a user requests a "calculator program that performs the four arithmetic operations," the server requests the generative AI model, debugs the generated code, and provides feedback as needed, ultimately completing a calculator program that correctly performs addition, subtraction, multiplication, and division. During this process, the emotion engine recognizes the user's emotions and provides appropriate feedback and interface adjustments, improving the user experience. This means that the user only needs to input the program specifications, and the system automatically interacts with the generative AI model and debugs the code, reducing the burden on the user and providing emotionally sensitive support.
[1159] The processing flow will be explained below.
[1160] Step 1:
[1161] A user logs in to a terminal and enters the specifications for the finished product in natural language, for example, "Create a calculator program that can perform the four basic arithmetic operations. It must include the functions of subtraction, multiplication, division, and addition."
[1162] Step 2:
[1163] The terminal sends the user's input specifications to the server.
[1164] Step 3:
[1165] The server analyzes the received specifications and extracts requirements using natural language processing technology. This analysis identifies specific requirements such as "calculator program" and "four arithmetic operations."
[1166] Step 4:
[1167] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code.
[1168] Step 5:
[1169] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server.
[1170] Step 6:
[1171] The server receives the generated program code and executes and debugs it in a sandbox environment, where multiple test cases are run to verify that the code works as specified.
[1172] Step 7:
[1173] The server analyzes the debugging results, and if any defects or errors are found, it feeds the results back to the generative AI model and requests that they be corrected. For example, if the handling of division by zero errors is insufficient, it requests that they be improved.
[1174] Step 8:
[1175] The generative AI model regenerates the modified program code and sends it back to the server.
[1176] Step 9:
[1177] The server debugs the modified program code again in a sandbox environment to verify that the modifications have been applied correctly.
[1178] Step 10:
[1179] When the server has successfully completed all debugging and the program code has been completed according to the specifications, it will notify the user of the completion. This notification will be sent by email or as a pop-up in the system.
[1180] Step 11:
[1181] The server provides the completed program code to the user, who can then download or view the code through his / her terminal.
[1182] Step 12:
[1183] The emotion engine monitors the user's facial expressions and tone of voice as they type to recognize their emotions. For example, if the user is annoyed, the emotion engine will determine this.
[1184] Step 13:
[1185] Based on the emotions recognized by the emotion engine, the server can adjust the feedback content and interface. For example, if the user is frustrated, the server can change the feedback to more polite language or simplify the interface to reduce the user's stress.
[1186] ---
[1187] As described above, this system allows users to simply input specifications; the server automatically handles communication with the generative AI model and debugging, and the emotion engine recognizes the user's emotions and responds appropriately, thereby reducing the burden on the user and providing a comfortable user experience.
[1188] Example 2
[1189] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1190] In modern software development, creating the programs users desire requires a great deal of time and effort. The burden of trial and error is also significant, and the process of debugging and correcting programs can be particularly stressful. Furthermore, feedback systems that do not take into account the user's emotions and stress can potentially result in a poor user experience. There is a need for a system that solves these issues.
[1191] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for a user to input a completed specification; means for analyzing the input specification and extracting requirements; means for requesting the generation of program code based on the requirements; means for receiving the generated program code; means for debugging the received program code in a virtual environment; means for providing feedback on errors and improvements based on the debugging results and requesting the program code to be modified; means for re-debug the modified program code; means for notifying the user when the program code is completed in accordance with the specifications; and means for recognizing the user's emotions and adjusting the system operation. This allows the user to automatically generate high-quality program code simply by inputting specifications, reducing the burden of debugging and modification work, and receiving feedback that takes the user's emotions into consideration.
[1192] "User" refers to an individual or corporation that uses this system to request the generation of program code.
[1193] The "final specification" is information that describes in natural language the program functions and operating conditions that the user specifically desires.
[1194] "Input means" refers to the means by which the user transmits the completed specifications to the system, and includes a keyboard, a touch screen, etc.
[1195] "Analysis means" refers to technology that allows the system to analyze specifications entered by the user and extract necessary requirements, and includes natural language processing technology.
[1196] "Requirements" are elements and conditions that are important to the program to be generated and are extracted by the analysis means.
[1197] "Means for requesting the generation of program code" refers to the function by which the system requests the generative AI model to generate program code based on the user's specifications.
[1198] A "generative AI model" is an artificial intelligence technology that automatically generates program code based on requested requirements.
[1199] "Receiving means" is the function by which the system receives the program code sent from the generative AI model.
[1200] A "virtual environment" is an isolated execution environment within a system for safely debugging and testing program code.
[1201] "Means for debugging" refers to a function for executing received program code within a virtual environment and identifying errors or malfunctions.
[1202] "Means for providing feedback" is a function for reporting debugging results to the generative AI model and requesting code corrections.
[1203] "Means to request corrections" is a function that notifies the generative AI model of discovered errors and areas for improvement and requests that the program code be corrected.
[1204] The "means for debugging again" is a function for executing the test again in the virtual environment to confirm whether the corrected program code operates correctly again.
[1205] The "notification means" is a function for notifying the user that all debugging has been successful and that the program code has been completed, and includes email, pop-up notifications, and the like.
[1206] The "means for recognizing emotions" is a function for analyzing the user's facial expressions and tone of voice to determine the user's emotional state.
[1207] MODE FOR CARRYING OUT THE INVENTION
[1208] This invention is a system that uses a generative AI model to automatically generate the program code desired by the user, reducing the burden of trial and error. This system also incorporates an emotion engine that recognizes the user's emotions, reducing user stress and providing a better user experience.
[1209] Hardware and Software Use
[1210] Hardware:
[1211] Server: The device that plays the central role in this system, and performs functions such as generating, receiving, and debugging program code.
[1212] Terminal: The device used by the user to enter specifications, such as a PC, tablet, or smartphone.
[1213] software:
[1214] Generative AI model: An AI technology that automatically generates program code based on requests. An example of such a model is GPT-4.
[1215] Natural language processing technology: Technology for analyzing specifications entered by users. For example, models such as BERT and GPT-4 are used.
[1216] Emotion engine: Technology that recognizes emotions from user input and behavior and adjusts system behavior.
[1217] System Operation Overview
[1218] The operation of the system proceeds as follows.
[1219] 1. Specification input method:
[1220] A user accesses the system via a terminal and inputs the specifications of the desired program in natural language. For example, the user might input, "I want a calculator program that performs the four arithmetic operations."
[1221] 2. Specification analysis methods:
[1222] The server receives the specifications sent by the user and analyzes them using natural language processing techniques. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements is created for program generation.
[1223] 3. Program generation request method:
[1224] Based on the analyzed requirements list, the server creates and sends a request to the generative AI model to generate program code.
[1225] 4. Means of receiving the program code:
[1226] The generative AI model receives the request, generates program code that meets the specified specifications, and sends it back to the server.
[1227] 5. Sandbox environment debugging methods:
[1228] The server executes the received program code in a sandbox environment, and performs operation checks and debugging using test cases. The sandbox environment can be selected as either online or on-premise.
[1229] 6. Feedback and Correction Request Methods:
[1230] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request a correction.
[1231] 7. Re-debug method:
[1232] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to ensure the modifications have been applied correctly.
[1233] 8. Completed Code Notification Method:
[1234] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion via email or a pop-up notification within the system.
[1235] 9. Emotion Engine:
[1236] The emotion engine monitors user input and behavior, and by analyzing facial expressions and tone of voice, determines the user's emotions. If the system determines that the user is frustrated, it adjusts the feedback and interface to reduce the user's stress.
[1237] Specific examples
[1238] When a user requests a "calculator program that performs arithmetic operations," the following steps are executed.
[1239] 1. User: Enters into the system from a terminal, "I want a calculator program that performs arithmetic operations."
[1240] 2. Server: Receives the specifications and uses natural language processing technology to extract keywords such as "arithmetic operations" and "calculator."
[1241] 3. Server: Requests code generation from the generative AI model based on the extracted requirements.
[1242] 4. Generative AI model: Generates code for a calculator program with arithmetic functions and sends it back to the server.
[1243] 5. Server: Executes the received code in a sandbox environment to check its operation and debug it. For example, executes test cases such as 2+3, 10-4, etc.
[1244] 6. Server: If an error is found, it sends feedback to the generative AI model and requests that it be corrected. For example, if a division by zero error is found, it requests that it be corrected.
[1245] 7. Generative AI model: The modified code is resubmitted to the server, which debugs it again.
[1246] 8. Server: After all test cases are successful, notify the user by email or a pop-up message that the arithmetic calculator program is complete.
[1247] 9. Emotion Engine: If frustration is detected during user input, the feedback and interface are adjusted to optimize the user experience.
[1248] Example prompt:
[1249] "Create a calculator program that can perform the four basic arithmetic operations."
[1250] "I got a divide by zero error. Please suggest a fix."
[1251] In this way, users can generate high-quality programs simply by entering the desired program code, significantly reducing the burden of debugging and modification. In addition, the emotion engine improves the user experience and contributes to reducing stress.
[1252] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1253] Program processing steps
[1254] Step 1:
[1255] Specification input method
[1256] Input: The user opens a browser on the terminal, accesses a specified page of the system, and enters the specifications of the desired program in natural language.
[1257] Specific operation: The user enters "I want a calculator program that performs arithmetic operations" and presses the send button.
[1258] Output: The user's input data is sent to the server.
[1259] Step 2:
[1260] Specification analysis method
[1261] Input: The server receives specification data from the user.
[1262] Specific operation: The server launches a natural language processing engine (e.g., GPT-4) to analyze the input specifications. Through the analysis, keywords such as "arithmetic operations" and "calculator" are extracted.
[1263] Output: A list of extracted requirements is generated.
[1264] Step 3:
[1265] Program generation request method
[1266] Input: Extracted requirements list
[1267] Specific operation: The server creates and sends a request to the generative AI model to generate program code based on the requirements list.
[1268] Output: A request to generate program code is sent to the generative AI model.
[1269] Step 4:
[1270] Program code receiving means
[1271] Input: Program code returned by the generative AI model
[1272] Specific operation: The generative AI model generates program code based on the specified requirements and sends it back to the server.
[1273] Output: The server receives the generated program code.
[1274] Step 5:
[1275] Sandbox environment debugging methods
[1276] Input: Received program code
[1277] Specific operation: The server executes the received code in a sandbox environment and checks and debugs its operation using multiple test cases (e.g., 2+3, 10-4, etc.).
[1278] Output: Test results and error logs are generated.
[1279] Step 6:
[1280] Feedback and correction requests
[1281] Input: Test results and error log
[1282] Specific operation: If an error or bug is discovered during debugging, the server will feed the details back to the generative AI model and send a correction request, for example, if a division by zero error occurs, a request to correct it will be made.
[1283] Output: A revision request is sent to the generative AI model.
[1284] Step 7:
[1285] Re-debug method
[1286] Input: Modified program code
[1287] What happens: After receiving the modified code, the server will debug it again in the sandbox environment to verify that the modifications were applied correctly.
[1288] Output: Again, test results and an error log are generated.
[1289] Step 8:
[1290] Completed code notification method
[1291] Input: Complete program code
[1292] Specific operation: When all debugging is successful and the program code conforming to the specifications is completed, the server will notify the user of the completion, for example, by email or a pop-up notification within the system.
[1293] Output: A notification message is sent to the user.
[1294] Step 9:
[1295] Emotion Engine
[1296] Input: User input and behavioral data
[1297] How it works: The emotion engine analyzes user input and actions, interpreting facial expressions and tone of voice. If it detects that the user is frustrated, the system adjusts the feedback and interface to reduce the user's stress.
[1298] Output: Tailored feedback and interface is provided.
[1299] These are the specific processing steps of this system. Each step has a clear input and output, and processing proceeds based on this. This allows users to easily generate high-quality program code and reduces the burden of debugging and modification. In addition, the emotion engine reduces user stress and provides a good user experience.
[1300] (Application example 2)
[1301] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1302] There is a need in logistics centers to efficiently manage the operation of mobile robots and reduce the burden on users involved in creating and debugging robot operation programs. However, conventional systems require users to write program code directly, requiring a great deal of effort through trial and error. Furthermore, these systems do not take into consideration the user's feelings and do not provide a means to reduce stress or frustration. The objective of this invention is to solve these problems, minimize the operational burden on users, and provide an efficient, user-friendly robot management system.
[1303] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1304] In this invention, the server includes means for a user to input completed specifications, means for analyzing the input specifications and extracting requirements, means for requesting the generation of program code based on the requirements, means for receiving the generated program code, means for debugging the received program code in a sandbox environment, means for providing feedback on errors and improvements based on the debugging results and for requesting that the program code be modified, means for re-debug the modified program code, means for notifying the user when the program code has been completed in accordance with the specifications, and means for including an emotion engine that recognizes and analyzes the user's emotions and adjusting system operation and feedback based on the emotions analyzed by the emotion engine. This enables efficient management of mobile robots, reduces the operational burden on users, and provides an interface that takes user emotions into consideration.
[1305] A "user" is a person who operates the system and gives input and instructions.
[1306] "Specifications" are information that describes the user's desired finished program and its requirements.
[1307] The "means for inputting specifications" is an interface for the user to input the specifications of the desired program in natural language.
[1308] The "means for analyzing specifications" is a mechanism for analyzing input specifications and extracting requirements and keywords.
[1309] The "means for requesting the generation of program code" is a mechanism for requesting the generation of program code from a generative AI model based on the extracted requirements.
[1310] "Means for receiving generated program code" refers to a mechanism for receiving program code returned from a generative AI model.
[1311] A "sandbox environment" is a virtual environment for safely testing and debugging program code.
[1312] The "means for debugging" is a mechanism for executing the received program code in the sandbox environment to check its operation and detect errors.
[1313] The "means of providing feedback and requesting corrections" is a mechanism for feeding back errors and areas for improvement to the generative AI model based on the debugging results and requesting corrections to the program code.
[1314] The "means for re-debugging" is a mechanism for debugging modified program code again in a sandbox environment.
[1315] The "notification means" is a mechanism for notifying the user when the completed program code conforms to the specifications.
[1316] An "emotion engine" is a technology for recognizing and analyzing a user's emotions, and determines the user's emotions based on voice tone and facial expressions.
[1317] A "logistics center" is a facility where goods are stored, kept, sorted, and shipped.
[1318] A "mobile robot" is an automated device used to transport goods and luggage within a logistics center.
[1319] The present invention relates to a management system for mobile robots in logistics centers. This system recognizes user emotions and automatically generates robot operation programs using a generative AI model. Specific embodiments of the system are described below.
[1320] The main components of the system are:
[1321] 1. Specification input method
[1322] Users access the system through a terminal and input the desired robot behavior specifications in natural language. This specification includes the robot's purpose, basic functional requirements, and specific operating conditions. For example, an instruction might be "Go to aisle 5 and collect the package."
[1323] 2. Specification Analysis Method
[1324] The server receives the specifications sent by the user and analyzes them using natural language processing technology. During this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements is created for generating the robot program. As a result of the analysis, specific requirements such as "Aisle 5," "Movement," and "Package Collection" are extracted.
[1325] 3. Program Generation Request Method
[1326] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code. This request is based on specific requirements.
[1327] 4. Means of receiving program code
[1328] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server. For example, the generated code might include the action "Go to aisle 5 and collect the package."
[1329] 5. Sandbox environment debugging methods
[1330] The server executes the received program code in a sandbox environment, where it is checked for behavior and debugged. In this environment, multiple test cases are run to verify that the code works as specified.
[1331] 6. Feedback and Correction Request Mechanisms
[1332] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request corrections, such as requesting correction of an error in the "luggage collection" action.
[1333] 7. Re-debugging methods
[1334] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[1335] 8. Notification of completed code
[1336] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[1337] 9. Emotion Engine
[1338] The emotion engine can recognize the emotion of a user's input and adjust the system's behavior accordingly. Specifically, it analyzes the user's facial expression and tone of voice when inputting to determine the user's emotion. For example, if the emotion engine determines that the user is frustrated, the system can adjust the feedback content and interface to reduce the user's stress.
[1339] (Example)
[1340] When a user instructs a robot to "go to aisle 5 and collect the package," the server sends the instruction to a generative AI model, debugs the generated code in a sandbox environment, and provides feedback as needed, ultimately completing a program that causes the robot to act as instructed. During this process, the emotion engine recognizes the user's emotions and provides appropriate feedback and interface adjustments, improving the user experience.
[1341] (Example of a prompt)
[1342] When a user requests code for a robot that moves to a specific location, you must generate the code based on the given specifications, debug it, ask for corrections for any errors or glitches, and assess the user's sentiment and provide feedback accordingly.
[1343] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1344] Step 1:
[1345] Users access the system via a terminal and input the desired robot behavior specifications in natural language. The input specifications include specific tasks the robot should perform. This input is sent in text format to the server.
[1346] Step 2:
[1347] The server analyzes the received specifications and uses natural language processing technology to extract requirements and keywords. Specifically, it uses a text analysis algorithm to generate a list of requirements such as "movement" and "baggage collection" as output.
[1348] Step 3:
[1349] Based on the extracted requirements, the server creates a request to the generative AI model to generate program code. This request includes a list of specific requirements. The server sends the request and waits for the generated program code to be returned.
[1350] Step 4:
[1351] Based on the received request, the generative AI model generates program code that meets the specified specifications. The generated code, which includes a robot action such as "move to aisle 5 and collect the package," is sent back to the server.
[1352] Step 5:
[1353] The server debugs the received program code in a sandbox environment, where multiple test cases are run to verify that the code works as intended. Specifically, the server tests whether the robot can move correctly and collect packages within the virtual environment.
[1354] Step 6:
[1355] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request that the program code be corrected. Specifically, the server will send error messages and suggestions for improvement to the generative AI model.
[1356] Step 7:
[1357] Based on the feedback received, the generative AI model modifies the program code and sends it back to the server, including, for example, improving error handling and algorithms.
[1358] Step 8:
[1359] The server debugs the modified program code again in the sandbox environment, runs the test cases again, and verifies that all errors have been fixed. If necessary, the server provides feedback and requests for modifications.
[1360] Step 9:
[1361] Once all debugging is successful and the program code is completed in accordance with the specifications, the server notifies the user of the completion. This notification is sent via email or a pop-up in the system, allowing the user to check the completed program.
[1362] Step 10:
[1363] The system analyzes the user's facial expressions and tone of voice when inputting information and uses an emotion engine to determine the user's emotions. For example, if the system senses that the user is frustrated, it will flexibly adjust the content of the feedback and take measures to reduce the user's stress.
[1364] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1365] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1366] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1367] [Fourth embodiment]
[1368] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1369] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1370] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1371] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1372] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1373] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1374] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1375] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1376] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1377] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1378] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1379] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1380] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1381] This invention is a system that uses a generative AI model to automatically generate program code requested by the user, reducing the burden of trial and error. This system automates all interactions between the user and the generative AI model, minimizing the operational burden on the user.
[1382] The main components of the system are as follows:
[1383] 1. Specification input method
[1384] 2. Specification Analysis Method
[1385] 3. Program Generation Request Method
[1386] 4. Means of receiving program code
[1387] 5. Sandbox environment debugging methods
[1388] 6. Feedback and Correction Request Mechanisms
[1389] 7. Re-debugging methods
[1390] 8. Notification of completed code
[1391] Specification input method
[1392] Users access the system through a terminal and enter a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might enter, "I want a calculator program that can perform basic arithmetic operations."
[1393] Specification analysis method
[1394] The server receives the specifications sent by the user and analyzes them using natural language processing technology. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. As a result of the analysis, specific requirements such as "calculator program" and "four arithmetic operations" are extracted.
[1395] Program generation request method
[1396] Based on the extracted requirements, the server creates a request to the generative AI model to generate program code. This request is sent to the generative AI model in a format that includes specific program requirements.
[1397] Program code receiving means
[1398] The generative AI model generates program code based on the request and sends it back to the server. For example, the generated code includes functions for performing arithmetic operations.
[1399] Sandbox environment debugging methods
[1400] The server executes the received program code in a sandbox environment to check its operation and debug it. The sandbox environment is a virtual environment where code can be safely executed, and can be either online or on-premise. In this step, multiple test cases are executed to verify that the code works as specified.
[1401] Feedback and correction requests
[1402] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if a division function lacks error handling for division by zero, the server will request an improvement.
[1403] Re-debug method
[1404] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[1405] Completed code notification method
[1406] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[1407] As a concrete example, if a user requests a "calculator program that performs the four arithmetic operations," the server will request the generative AI model, debug the generated code, provide feedback as needed, and ultimately complete a calculator program that correctly performs addition, subtraction, multiplication, and division. As a result, the user only needs to input the program specifications, and the system will automatically interact with the generative AI model and debug the code, reducing the burden on the user.
[1408] The processing flow will be explained below.
[1409] Step 1:
[1410] A user logs in to a terminal and enters the specifications for the finished product in natural language, for example, "Create a calculator program that can perform the four basic arithmetic operations. It must include the functions of subtraction, multiplication, division, and addition."
[1411] Step 2:
[1412] The terminal sends the user's input specifications to the server.
[1413] Step 3:
[1414] The server analyzes the received specifications and extracts requirements using natural language processing technology. This analysis identifies keywords such as "calculator program" and "arithmetic operations" and creates a list of specific requirement statements for program generation.
[1415] Step 4:
[1416] The server creates and sends a request to the generative AI model to generate program code based on the specific requirements.
[1417] Step 5:
[1418] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server.
[1419] Step 6:
[1420] The server receives the generated program code and runs it in a sandbox environment for debugging. In this environment, multiple test cases are run to verify that the code works as specified. For example, tests are performed to verify whether add(2, 3) returns 5, whether subtract(5, 3) returns 2, etc.
[1421] Step 7:
[1422] The server analyzes the debugging results, and if any defects or errors are found, it feeds them back to the generative AI model and requests that they be corrected. For example, if the "divide" function does not handle division by zero properly, it requests that they be improved.
[1423] Step 8:
[1424] The generative AI model regenerates the modified program code and sends it back to the server.
[1425] Step 9:
[1426] The server debugs the modified program code again in the sandbox environment to verify that the modifications have been applied correctly. If necessary, repeat the feedback and modification request procedure in step 7.
[1427] Step 10:
[1428] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[1429] Step 11:
[1430] The server will provide the completed program code to the user, who can then download or view the program code according to the notification.
[1431] ---
[1432] As described above, the system allows users to simply input specifications, and the server automatically handles communication with the generative AI model and debugging, ultimately providing the desired program code to the user, significantly reducing the burden of trial and error on the user.
[1433] Example 1
[1434] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1435] Currently, generating many program codes can require a great deal of time and effort from users. Therefore, there is a demand for a system that allows users to input desired specifications in natural language, automatically generate program code, and repeatedly debug and modify it. Furthermore, a secure execution environment is required to ensure the quality and security of the generated code. Furthermore, it is important to introduce a user-selectable debugging environment and natural language processing technology.
[1436] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1437] In this invention, the server includes: means for a user to input a completed specification in natural language; means for analyzing the input specification using natural language processing technology and extracting requirements; means for requesting a generative AI model to generate program code based on the requirements; means for receiving the program code generated by the generative AI model; means for executing the received program code in a sandbox environment and debugging it; means for requesting corrections to the program code based on the debugging results and providing feedback on errors and improvements; means for debugging the corrected program code again in the sandbox environment; and means for notifying the user when the program code is completed in accordance with the specifications. This automatically generates high-quality program code based on the specifications entered by the user, streamlines the debugging and correction processes, and reduces the burden on the user.
[1438] A "user" is a person who uses the system to input program specifications and receives the final program code.
[1439] A "terminal" is a hardware device through which a user accesses the system and inputs specifications.
[1440] The "server" is a central device that manages the processing of the entire system, analyzes specifications, requests the generation of program code, receives program code, debugs program code, and requests program code modification.
[1441] A "specification" is a document that describes the purpose and functional requirements of a program, as well as specific operating conditions, entered by a user in natural language.
[1442] "Natural language processing technology" is a technology that analyzes input natural language text and extracts important requirements and keywords.
[1443] A "generative AI model" is an artificial intelligence model that automatically generates program code based on specified requirements.
[1444] "Program code" means a set of instructions generated by a generative AI model to achieve a specific function.
[1445] A "sandbox environment" is a virtual environment for executing and debugging received program code in a safe and isolated environment.
[1446] "Debugging" is the process of detecting and correcting errors or defects in program code.
[1447] "Feedback" is the act of communicating errors and areas for improvement to the generative AI model based on the debugging results and requesting corrections.
[1448] A "request for correction" is the act of requesting corrections to the program code of a generative AI model based on feedback errors and areas for improvement.
[1449] "Notification" refers to the act of notifying the user of the completion of program code when all debugging has been successful and the code conforms to the specifications.
[1450] This invention is a system that uses a generative AI model to automatically generate the program code desired by the user, reducing the burden on the user. This system automates the entire process from user input to program code generation, debugging, modification, and completion notification.
[1451] First, a user accesses the system via a terminal and inputs a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might input, "I want a calculator program that can perform basic arithmetic operations."
[1452] Next, the server receives the specifications sent by the user and analyzes them using natural language processing technology. During this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. For example, the analysis results in the extraction of specific requirements such as "calculator program" and "four arithmetic operations."
[1453] Next, the server creates a request to the generative AI model to generate program code based on the extracted requirements. This request is sent to the generative AI model in a format that includes specific program requirements. The generative AI model generates program code based on the request and returns the code to the server. For example, the generated code includes functions that perform arithmetic operations.
[1454] The server then executes the received program code in a sandbox environment to check its operation and debug it. The sandbox environment is a virtual environment where code can be safely executed, and can be selected as either an online or on-premise environment. In this step, multiple test cases, such as "1 + 1 = 2" and "4 / 2 = 2", are executed.
[1455] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if a division function lacks error handling for division by zero, the server will request a fix. The feedback is specific, detailing the problem and its improvement requirements.
[1456] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[1457] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[1458] As a concrete example, consider the case where a user requests a "calculator program that performs the four arithmetic operations." The user uses a terminal to input "I want a calculator program that performs the four arithmetic operations" into the system. The server receives this specification, analyzes it using natural language processing technology, and sends a request to the generative AI model containing the requirements "calculator program" and "four arithmetic operations." The generative AI model generates program code and returns it to the server. The server then debugs the received code in a sandbox environment and checks its operation using test cases such as "1 + 1 = 2" and "4 / 2 = 2." If any defects are found, they are fed back to the generative AI model and requested to be corrected. This process is repeated until a working program is finally completed, at which point the server notifies the user. The user can then receive the completed calculator program from their terminal.
[1459] Example prompt sentence:
[1460] "I want a calculator program that can perform basic arithmetic operations."
[1461] "Create a calculator program that performs the four arithmetic operations."
[1462] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1463] Step 1:
[1464] Users access the system using a terminal and enter a complete specification in natural language, for example, "I want a calculator program that can perform basic arithmetic operations."
[1465] Input: Program specifications written in the user's natural language
[1466] Output: Unparsed specification data sent to the server
[1467] Step 2:
[1468] The server receives the specification data sent by the user. It then analyzes the specification using natural language processing technology and extracts important requirements and keywords. For example, requirements such as "calculator program" and "four arithmetic operations" are extracted.
[1469] Input: Unparsed specification data received from the user
[1470] Output: Extracted requirements list
[1471] Step 3:
[1472] The server creates a request to the generative AI model to generate program code based on the extracted requirements list. This request includes specific program requirements. The request is sent to the generative AI model.
[1473] Input: Extracted requirements list
[1474] Output: Request to the generative AI model
[1475] Step 4:
[1476] The generative AI model generates program code based on the request received from the server and returns the results to the server. For example, code containing functions that perform arithmetic operations is generated.
[1477] Input: Request to generative AI model
[1478] Output: Generated program code
[1479] Step 5:
[1480] The server receives the generated program code. It then runs the program code in a sandbox environment to check and debug its operation. Test cases such as "1 + 1 = 2" and "4 / 2 = 2" are executed to check whether the operation is correct.
[1481] Input: Generated program code
[1482] Output: Debug results
[1483] Step 6:
[1484] If the server finds an error or bug during debugging, it will feed the results back to the generative AI model and request a fix. For example, if a problem is discovered where error handling for division by zero is missing in a division function, it will request a fix.
[1485] Input: Debug results
[1486] Output: Correction request feedback
[1487] Step 7:
[1488] The generative AI model receives feedback from the server, modifies the program code, and then sends the modified code back to the server.
[1489] Input: Request for correction Feedback
[1490] Output: Modified program code
[1491] Step 8:
[1492] The server then debugs the modified code again in the sandbox environment, repeating this process until the modifications are successfully applied and all test cases pass.
[1493] Input: modified program code
[1494] Output: Final debug result
[1495] Step 9:
[1496] After all debugging is successful, the server notifies the user that the program code conforming to the specifications has been completed. This notification is sent in the format selected by the user (email, a pop-up in the system, etc.). The user receives the completed program code using a terminal.
[1497] Input: Final debug result
[1498] Output: Completion notification to user
[1499] (Application example 1)
[1500] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1501] Currently, generating control programs for industrial machines requires specialized knowledge and a lot of time. Furthermore, when complex processes or real-time program changes are required, it is difficult for workers to respond immediately. This can reduce work efficiency and affect the quality of the final product. In particular, because program generation and debugging are done manually, trial and error occurs frequently, placing a heavy burden on workers. The aim of this project is to solve these problems.
[1502] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1503] In this invention, the server includes: means for a user to input a completed specification; means for analyzing the input specification and extracting requirements; means for requesting the generation of program code based on the requirements; means for receiving the generated program code; means for debugging the received program code in a sandbox environment; means for providing feedback on errors and improvements based on the debugging results and requesting the program code be modified; means for re-debugging the modified program code; means for notifying the user when the program code conforming to the specifications has been completed; and means for linking with a display device attached to a control device of an industrial machine and providing a robot control program that is instantly generated based on a process instructed by an operator. This allows an operator to instantly generate and debug the required robot control program and reflect it in work in real time simply by inputting instructions in natural language.
[1504] A "user" is a person who uses this system to request the generation of program code.
[1505] A "final specification" is natural language input that includes the user's desired program objectives, basic functional requirements, and specific operating conditions.
[1506] "Requirements" are specific conditions or keywords that are extracted from the final specifications and are necessary for program generation.
[1507] "Program code" means source code generated based on specified requirements.
[1508] A "sandbox environment" is a virtual environment in which generated program code can be safely executed and debugged.
[1509] "Debugging" is the process of executing program code, verifying its operation, and identifying and correcting errors.
[1510] "Feedback" is the act of returning errors and improvements discovered based on the debugging results to the generative AI model and requesting that they be corrected.
[1511] "Industrial machinery" refers to various types of machinery and equipment used in manufacturing.
[1512] A "control device" is an electronic device for controlling industrial machinery.
[1513] A "display device" is a device that provides information to workers, such as smart glasses or a head-mounted display.
[1514] A "generative AI model" is an artificial intelligence model that automatically generates program code based on specified requirements.
[1515] "Natural language" refers to words and written forms that are used by humans on a daily basis.
[1516] This invention relates to a system for generating control programs for industrial machines. This system is composed of a user, a terminal, a server, and a display device. Each element of this system and its operation will be described below.
[1517] 1. Users
[1518] The user inputs instructions in natural language to generate a control program. As a concrete example, let's say a worker wears smart glasses and inputs the instruction "tighten the screws." This natural language input is treated as a "finished specification" that the system uses to generate an appropriate program.
[1519] 2. Terminal
[1520] The terminal receives the completed specifications entered by the user and sends them to the server. The terminal is a computing device such as smart glasses or a tablet. This device acts as an interface between the user and the server.
[1521] 3. Server
[1522] The server analyzes the specifications sent from the device and extracts important requirements. Natural language processing technology is used for this analysis. Based on the extracted requirements, the server requests a generative AI model to generate program code. This generative AI model may be, for example, OpenAI's GPT-3.
[1523] After the generative AI model generates program code, the server receives the code and debugs it in a sandbox environment. This sandbox environment is a virtual environment where the code can be safely executed. Based on the debugging results, the server provides feedback to the generative AI model on errors and areas for improvement, requesting corrections. The corrected code is then debugged again, and finally, program code that meets the specifications is completed.
[1524] 4. Display device
[1525] A display device (e.g., smart glasses or a head-mounted display) attached to the control device of the industrial machine presents the generated program code to the user, who can then check, modify, and execute the generated program content through the display device.
[1526] Examples and prompts
[1527] As a concrete example, for the "screw tightening process," the user inputs the following into the smart glasses:
[1528] "Generate a program for a robot arm that executes the task 'tighten a screw'."
[1529] This prompt is sent to a generative AI model, which generates the appropriate program code, enabling fast and efficient control of industrial machinery.
[1530] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1531] Step 1: Enter your specifications
[1532] The user inputs the control program specifications in natural language through the smart glasses. For example, the user inputs the instruction "Tighten the screws." This input becomes the final specification.
[1533] Input: Natural language instructions from the user (e.g., "the process of tightening the screws")
[1534] Output: Complete specification (natural language format)
[1535] Step 2: Submit your spec
[1536] The terminal sends the completed specifications entered by the user to the server, and the terminal acts as an interface between the servers.
[1537] Input: Complete specification (natural language format)
[1538] Output: Sending the spec to the server
[1539] Step 3: Specification analysis and requirements extraction
[1540] The server analyzes the received specifications and extracts requirements using natural language processing technology, such as a "program that executes the action of tightening a screw."
[1541] Input: Finished specifications
[1542] Data processing: Natural language analysis and requirement extraction
[1543] Output: A list of specific requirements (e.g., "A program to tighten a screw")
[1544] Step 4: Program generation request
[1545] The server requests a generative AI model to generate program code based on the extracted requirements. For example, OpenAI's GPT-3 is used as the generative AI model.
[1546] Input: List of specific requirements
[1547] Data calculation: Input to generative AI model, program code generation
[1548] Output: Generated program code
[1549] Step 5: Receiving the program code
[1550] The server receives the program code generated from the generative AI model. At this stage, a simple robot control program is obtained.
[1551] Input: Program code from a generative AI model
[1552] Output: Received program code
[1553] Step 6: Debugging in a Sandbox Environment
[1554] The server executes and debugs the received program code in a sandbox environment. The sandbox environment, which can be online or on-premise, is a virtual environment for safely testing code. Debugging verifies whether the program operates as specified.
[1555] Input: Received program code
[1556] Data Calculation: Code execution and debugging in a sandbox environment
[1557] Output: Debug results (errors and improvements)
[1558] Step 7: Feedback and requests for revisions
[1559] Based on the debugging results, the server provides feedback to the generative AI model on errors and areas for improvement, requesting that the program code be modified.
[1560] Input: Debug results (errors and improvements)
[1561] Data calculation: Feedback and correction requests to generative AI models
[1562] Output: Modified program code
[1563] Step 8: Re-debug
[1564] The server debugs the modified program code from the generated AI model again in a sandbox environment to confirm that the modifications have been applied correctly.
[1565] Input: modified program code
[1566] Data Calculation: Re-debug in Sandbox Environment
[1567] Output: Final debug result (no errors)
[1568] Step 9: Notify users of the finished code
[1569] Once the program code is completed according to the specifications, the server notifies the user of the completion, which is displayed on the smart glasses display.
[1570] Input: Final debug result (no errors)
[1571] Output: Completion notification to user
[1572] This series of steps enables workers to instantly generate and debug the necessary robot control programs simply by entering instructions in natural language.
[1573] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1574] This invention combines a system that uses a generative AI model to automatically generate program code requested by the user, reducing the burden of trial and error, with an emotion engine that recognizes the user's emotions. This system automates all interactions between the user and the generative AI model, minimizing the burden on the user and providing feedback that takes the user's emotions into consideration.
[1575] The main components of the system are as follows:
[1576] 1. Specification input method
[1577] 2. Specification Analysis Method
[1578] 3. Program Generation Request Method
[1579] 4. Means of receiving program code
[1580] 5. Sandbox environment debugging methods
[1581] 6. Feedback and Correction Request Mechanisms
[1582] 7. Re-debugging methods
[1583] 8. Notification of completed code
[1584] 9. Emotion Engine
[1585] Specification input method
[1586] Users access the system through a terminal and enter a "finished specification" of the desired program in natural language. This specification includes the program's purpose, basic functional requirements, and specific operating conditions. For example, a user might enter, "I want a calculator program that can perform basic arithmetic operations."
[1587] Specification analysis method
[1588] The server receives the specifications sent by the user and analyzes them using natural language processing technology. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements for program generation is created. As a result of the analysis, specific requirements for a "calculator program" and "four arithmetic operations" are extracted.
[1589] Program generation request method
[1590] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code. This request is based on specific requirements.
[1591] Program code receiving means
[1592] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server. For example, the generated code includes functions that perform arithmetic operations.
[1593] Sandbox environment debugging methods
[1594] The server executes the received program code in a sandbox environment to check its operation and debug it. In this environment, multiple test cases are run to verify that the code operates as specified. The sandbox environment is a virtual environment in which code can be safely executed, and can be either online or on-premise.
[1595] Feedback and correction requests
[1596] If an error or bug is discovered during debugging, the server will feed the results back to the generative AI model and request a fix. For example, if the "divide" function does not handle division by zero properly, the server will request an improvement.
[1597] Re-debug method
[1598] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[1599] Completed code notification method
[1600] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[1601] Emotion Engine
[1602] The emotion engine can recognize the emotion of a user's input and adjust the system's behavior accordingly. Specifically, it analyzes the user's facial expression and tone of voice when inputting to determine the user's emotion. For example, if the emotion engine determines that the user is frustrated, the system can adjust the feedback content and interface to reduce the user's stress.
[1603] ---
[1604] As a concrete example, if a user requests a "calculator program that performs the four arithmetic operations," the server requests the generative AI model, debugs the generated code, and provides feedback as needed, ultimately completing a calculator program that correctly performs addition, subtraction, multiplication, and division. During this process, the emotion engine recognizes the user's emotions and provides appropriate feedback and interface adjustments, improving the user experience. This means that users only need to input the program specifications, and the system automatically interacts with the generative AI model and debugs the code, reducing the burden on the user and providing emotionally sensitive support.
[1605] The processing flow will be explained below.
[1606] Step 1:
[1607] A user logs in to a terminal and enters the specifications for the finished product in natural language, for example, "Create a calculator program that can perform the four basic arithmetic operations. It must include the functions of subtraction, multiplication, division, and addition."
[1608] Step 2:
[1609] The terminal sends the user's input specifications to the server.
[1610] Step 3:
[1611] The server analyzes the received specifications and extracts requirements using natural language processing technology. This analysis identifies specific requirements such as "calculator program" and "four arithmetic operations."
[1612] Step 4:
[1613] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code.
[1614] Step 5:
[1615] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server.
[1616] Step 6:
[1617] The server receives the generated program code and executes and debugs it in a sandbox environment, where multiple test cases are run to verify that the code works as specified.
[1618] Step 7:
[1619] The server analyzes the debugging results, and if any defects or errors are found, it feeds the results back to the generative AI model and requests that they be corrected. For example, if the handling of division by zero errors is insufficient, it requests that they be improved.
[1620] Step 8:
[1621] The generative AI model regenerates the modified program code and sends it back to the server.
[1622] Step 9:
[1623] The server debugs the modified program code again in a sandbox environment to verify that the modifications have been applied correctly.
[1624] Step 10:
[1625] When the server has successfully completed all debugging and the program code has been completed according to the specifications, it will notify the user of the completion. This notification will be sent via email or a pop-up in the system.
[1626] Step 11:
[1627] The server provides the completed program code to the user, who can then download or view the code through his / her terminal.
[1628] Step 12:
[1629] The emotion engine monitors the user's facial expressions and tone of voice as they type to recognize their emotions. For example, if the user is annoyed, the emotion engine will determine this.
[1630] Step 13:
[1631] Based on the emotions recognized by the emotion engine, the server can adjust the feedback content and interface. For example, if the user is frustrated, the server can change the feedback to more polite language or simplify the interface to reduce the user's stress.
[1632] ---
[1633] As described above, this system allows users to simply input specifications; the server automatically handles communication with the generative AI model and debugging, and the emotion engine recognizes the user's emotions and responds appropriately, thereby reducing the burden on the user and providing a comfortable user experience.
[1634] Example 2
[1635] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1636] In modern software development, creating the programs users desire requires a great deal of time and effort. The burden of trial and error is also significant, and the process of debugging and correcting programs can be particularly stressful. Furthermore, feedback systems that do not take into account the user's emotions and stress can potentially worsen the user experience. There is a need for a system that solves these issues.
[1637] The specification processing by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for a user to input a completed specification; means for analyzing the input specification and extracting requirements; means for requesting the generation of program code based on the requirements; means for receiving the generated program code; means for debugging the received program code in a virtual environment; means for providing feedback on errors and improvements based on the debugging results and requesting the program code to be modified; means for re-debug the modified program code; means for notifying the user when the program code is completed in accordance with the specification; and means for recognizing the user's emotions and adjusting the system operation. This allows the user to automatically generate high-quality program code simply by inputting specifications, reducing the burden of debugging and modification work, and receiving feedback that takes the user's emotions into consideration.
[1638] "User" refers to an individual or corporation that uses this system to request the generation of program code.
[1639] The "final specification" is information that describes in natural language the program functions and operating conditions that the user specifically desires.
[1640] "Input means" refers to the means by which the user transmits the completed specifications to the system, and includes a keyboard, a touch screen, etc.
[1641] "Analysis means" refers to technology that allows the system to analyze specifications entered by the user and extract necessary requirements, and includes natural language processing technology.
[1642] "Requirements" are elements and conditions that are important to the program to be generated and are extracted by the analysis means.
[1643] "Means for requesting the generation of program code" refers to the function by which the system requests the generative AI model to generate program code based on the user's specifications.
[1644] A "generative AI model" is an artificial intelligence technology that automatically generates program code based on requested requirements.
[1645] "Receiving means" is the function by which the system receives the program code sent from the generative AI model.
[1646] A "virtual environment" is an isolated execution environment within a system for safely debugging and testing program code.
[1647] "Means for debugging" refers to a function for executing received program code within a virtual environment and identifying errors or malfunctions.
[1648] "Means for providing feedback" is a function for reporting debugging results to the generative AI model and requesting code corrections.
[1649] "Means to request corrections" is a function that notifies the generative AI model of discovered errors and areas for improvement and requests that the program code be corrected.
[1650] The "means for debugging again" is a function for executing tests again in a virtual environment to confirm whether the corrected program code operates correctly again.
[1651] The "notification means" is a function for notifying the user that all debugging has been successful and that the program code has been completed, and includes email, pop-up notifications, and the like.
[1652] The "means for recognizing emotions" is a function for analyzing the user's facial expressions and tone of voice to determine the user's emotional state.
[1653] MODE FOR CARRYING OUT THE INVENTION
[1654] This invention is a system that uses a generative AI model to automatically generate the program code desired by the user, reducing the burden of trial and error. This system also incorporates an emotion engine that recognizes the user's emotions, reducing user stress and providing a better user experience.
[1655] Hardware and Software Use
[1656] Hardware:
[1657] Server: The device that plays the central role in this system, and performs functions such as generating, receiving, and debugging program code.
[1658] Terminal: The device used by the user to enter specifications, such as a PC, tablet, or smartphone.
[1659] software:
[1660] Generative AI model: An AI technology that automatically generates program code based on requests. An example of such a model is GPT-4.
[1661] Natural language processing technology: Technology for analyzing specifications entered by users. For example, models such as BERT and GPT-4 are used.
[1662] Emotion engine: Technology that recognizes emotions from user input and behavior and adjusts system behavior.
[1663] System Operation Overview
[1664] The operation of the system proceeds as follows.
[1665] 1. Specification input method:
[1666] A user accesses the system via a terminal and inputs the specifications of the desired program in natural language. For example, the user might input, "I want a calculator program that performs the four arithmetic operations."
[1667] 2. Specification analysis methods:
[1668] The server receives the specifications sent by the user and analyzes them using natural language processing techniques. In this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements is created for program generation.
[1669] 3. Program generation request method:
[1670] Based on the analyzed requirements list, the server creates and sends a request to the generative AI model to generate program code.
[1671] 4. Means of receiving the program code:
[1672] The generative AI model receives the request, generates program code that meets the specified specifications, and sends it back to the server.
[1673] 5. Sandbox environment debugging methods:
[1674] The server executes the received program code in a sandbox environment, and performs operation checks and debugging using test cases. The sandbox environment can be selected as either online or on-premise.
[1675] 6. Feedback and Correction Request Methods:
[1676] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request a correction.
[1677] 7. Re-debug method:
[1678] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to ensure the modifications have been applied correctly.
[1679] 8. Completed Code Notification Method:
[1680] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion via email or a pop-up notification within the system.
[1681] 9. Emotion Engine:
[1682] The emotion engine monitors user input and behavior, and by analyzing facial expressions and tone of voice, determines the user's emotions. If the system determines that the user is frustrated, it adjusts the feedback and interface to reduce the user's stress.
[1683] Specific examples
[1684] When a user requests a "calculator program that performs arithmetic operations," the following steps are executed.
[1685] 1. User: Enters into the system from a terminal, "I want a calculator program that performs arithmetic operations."
[1686] 2. Server: Receives the specifications and uses natural language processing technology to extract keywords such as "arithmetic operations" and "calculator."
[1687] 3. Server: Requests code generation from the generative AI model based on the extracted requirements.
[1688] 4. Generative AI model: Generates code for a calculator program with arithmetic functions and sends it back to the server.
[1689] 5. Server: Executes the received code in a sandbox environment to check its operation and debug it. For example, executes test cases such as 2+3, 10-4, etc.
[1690] 6. Server: If an error is found, it sends feedback to the generative AI model and requests that it be corrected. For example, if a division by zero error is found, it requests that it be corrected.
[1691] 7. Generative AI model: The modified code is resubmitted to the server, which debugs it again.
[1692] 8. Server: After all test cases are successful, notify the user by email or a pop-up message that the arithmetic calculator program is complete.
[1693] 9. Emotion Engine: If frustration is detected during user input, the feedback and interface are adjusted to optimize the user experience.
[1694] Example prompt:
[1695] "Create a calculator program that can perform the four basic arithmetic operations."
[1696] "I got a divide by zero error. Please suggest a fix."
[1697] In this way, users can generate high-quality programs simply by entering the desired program code, significantly reducing the burden of debugging and modification. In addition, the emotion engine improves the user experience and contributes to reducing stress.
[1698] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1699] Program processing steps
[1700] Step 1:
[1701] Specification input method
[1702] Input: The user opens a browser on the terminal, accesses a specified page of the system, and enters the specifications of the desired program in natural language.
[1703] Specific operation: The user enters "I want a calculator program that performs arithmetic operations" and presses the send button.
[1704] Output: The user's input data is sent to the server.
[1705] Step 2:
[1706] Specification analysis method
[1707] Input: The server receives specification data from the user.
[1708] Specific operation: The server launches a natural language processing engine (e.g., GPT-4) to analyze the input specifications. Through the analysis, keywords such as "arithmetic operations" and "calculator" are extracted.
[1709] Output: A list of extracted requirements is generated.
[1710] Step 3:
[1711] Program generation request method
[1712] Input: Extracted requirements list
[1713] Specific operation: The server creates and sends a request to the generative AI model to generate program code based on the requirements list.
[1714] Output: A request to generate program code is sent to the generative AI model.
[1715] Step 4:
[1716] Program code receiving means
[1717] Input: Program code returned by the generative AI model
[1718] Specific operation: The generative AI model generates program code based on the specified requirements and sends it back to the server.
[1719] Output: The server receives the generated program code.
[1720] Step 5:
[1721] Sandbox environment debugging methods
[1722] Input: Received program code
[1723] Specific operation: The server executes the received code in a sandbox environment and checks and debugs its operation using multiple test cases (e.g., 2+3, 10-4, etc.).
[1724] Output: Test results and error logs are generated.
[1725] Step 6:
[1726] Feedback and correction requests
[1727] Input: Test results and error log
[1728] Specific operation: If an error or bug is discovered during debugging, the server will feed the details back to the generative AI model and send a correction request, for example, if a division by zero error occurs, a request to correct it will be made.
[1729] Output: A revision request is sent to the generative AI model.
[1730] Step 7:
[1731] Re-debug method
[1732] Input: Modified program code
[1733] What happens: After receiving the modified code, the server will debug it again in the sandbox environment to verify that the modifications were applied correctly.
[1734] Output: Again, test results and an error log are generated.
[1735] Step 8:
[1736] Completed code notification method
[1737] Input: Complete program code
[1738] Specific operation: When all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion, for example, by email or a pop-up notification within the system.
[1739] Output: A notification message is sent to the user.
[1740] Step 9:
[1741] Emotion Engine
[1742] Input: User input and behavioral data
[1743] How it works: The emotion engine analyzes user input and behavior, interpreting facial expressions and tone of voice. If it detects that the user is frustrated, the system adjusts the feedback and interface to reduce the user's stress.
[1744] Output: Tailored feedback and interface is provided.
[1745] These are the specific processing steps of this system. Each step has a clear input and output, and processing proceeds based on this. This allows users to easily generate high-quality program code and reduces the burden of debugging and modification. In addition, the emotion engine reduces user stress and provides a good user experience.
[1746] (Application example 2)
[1747] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1748] There is a need in logistics centers to efficiently manage the operation of mobile robots and reduce the burden on users involved in creating and debugging robot operation programs. However, conventional systems require users to write program code directly, requiring a great deal of effort through trial and error. Furthermore, these systems do not take into consideration the user's feelings and do not provide a means to reduce stress or frustration. The objective of this invention is to solve these problems, minimize the operational burden on users, and provide an efficient, user-friendly robot management system.
[1749] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1750] In this invention, the server includes means for a user to input completed specifications, means for analyzing the input specifications and extracting requirements, means for requesting the generation of program code based on the requirements, means for receiving the generated program code, means for debugging the received program code in a sandbox environment, means for providing feedback on errors and improvements based on the debugging results and for requesting that the program code be modified, means for re-debug the modified program code, means for notifying the user when the program code has been completed in accordance with the specifications, and means for including an emotion engine that recognizes and analyzes the user's emotions and adjusting system operation and feedback based on the emotions analyzed by the emotion engine. This enables efficient management of mobile robots, reduces the operational burden on users, and provides an interface that takes user emotions into consideration.
[1751] A "user" is a person who operates the system and gives input and instructions.
[1752] "Specifications" are information that describes the user's desired finished program and its requirements.
[1753] The "means for inputting specifications" is an interface for the user to input the specifications of the desired program in natural language.
[1754] The "means for analyzing specifications" is a mechanism for analyzing input specifications and extracting requirements and keywords.
[1755] The "means for requesting the generation of program code" is a mechanism for requesting the generation of program code from a generative AI model based on the extracted requirements.
[1756] "Means for receiving generated program code" refers to a mechanism for receiving program code returned from a generative AI model.
[1757] A "sandbox environment" is a virtual environment for safely testing and debugging program code.
[1758] The "means for debugging" is a mechanism for executing the received program code in the sandbox environment to check its operation and detect errors.
[1759] The "means of providing feedback and requesting corrections" is a mechanism for feeding back errors and areas for improvement to the generative AI model based on the debugging results and requesting corrections to the program code.
[1760] The "means for re-debugging" is a mechanism for debugging modified program code again in a sandbox environment.
[1761] The "notification means" is a mechanism for notifying the user when the completed program code conforms to the specifications.
[1762] An "emotion engine" is a technology for recognizing and analyzing a user's emotions, and determines the user's emotions based on voice tone and facial expressions.
[1763] A "logistics center" is a facility where goods are stored, kept, sorted, and shipped.
[1764] A "mobile robot" is an automated device used to transport goods and luggage within a logistics center.
[1765] The present invention relates to a management system for mobile robots in logistics centers. This system recognizes user emotions and automatically generates robot operation programs using a generative AI model. Specific embodiments of the system are described below.
[1766] The main components of the system are:
[1767] 1. Specification input method
[1768] Users access the system through a terminal and input the desired robot specifications in natural language. This specification includes the robot's purpose, basic functional requirements, and specific operating conditions. For example, an instruction might be "Go to aisle 5 and collect the package."
[1769] 2. Specification Analysis Method
[1770] The server receives the specifications sent by the user and analyzes them using natural language processing technology. During this analysis process, important requirements and keywords are extracted from the specifications, and a list of specific requirements is created for generating the robot program. As a result of the analysis, specific requirements such as "Aisle 5," "Movement," and "Package Collection" are extracted.
[1771] 3. Program Generation Request Method
[1772] Based on the extracted requirements, the server creates and sends a request to the generative AI model to generate program code. This request is based on specific requirements.
[1773] 4. Means of receiving program code
[1774] Based on the request, the generative AI model generates program code that meets the specified specifications and returns it to the server. For example, the generated code might include the action "move to aisle 5 and collect the package."
[1775] 5. Sandbox environment debugging methods
[1776] The server executes the received program code in a sandbox environment, where it is checked for behavior and debugged. In this environment, multiple test cases are run to verify that the code operates as specified.
[1777] 6. Feedback and Correction Request Mechanisms
[1778] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request corrections, such as requesting correction of an error in the "luggage collection" action.
[1779] 7. Re-debugging methods
[1780] After the modified code is returned from the generative AI model, the server again debugs it in the sandbox environment to verify that the modifications have been applied correctly. If necessary, the feedback and modification request steps are repeated.
[1781] 8. Notification of completed code
[1782] Once all debugging is successful and the program code is completed in accordance with the specifications, the server will notify the user of the completion in the form selected by the user, such as email or a pop-up in the system.
[1783] 9. Emotion Engine
[1784] The emotion engine can recognize the emotion of a user's input and adjust the system's behavior accordingly. Specifically, it analyzes the user's facial expression and tone of voice when inputting to determine the user's emotion. For example, if the emotion engine determines that the user is frustrated, the system can adjust the feedback content and interface to reduce the user's stress.
[1785] (Example)
[1786] When a user instructs a robot to "go to aisle 5 and collect the package," the server sends the instruction to a generative AI model, debugs the generated code in a sandbox environment, and provides feedback as needed, ultimately completing a program that causes the robot to act as instructed. During this process, the emotion engine recognizes the user's emotions and provides appropriate feedback and interface adjustments, improving the user experience.
[1787] (Example of a prompt)
[1788] When a user requests code for a robot that moves to a specific location, you must generate the code based on the given specifications, debug it, ask for corrections if there are any errors or glitches, and assess the user's sentiment and provide feedback accordingly.
[1789] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1790] Step 1:
[1791] Users access the system via a terminal and input the desired robot behavior specifications in natural language. The input specifications include specific tasks the robot should perform. This input is sent to the server in text format.
[1792] Step 2:
[1793] The server analyzes the received specifications and uses natural language processing technology to extract requirements and keywords. Specifically, it uses a text analysis algorithm to generate a list of requirements such as "movement" and "baggage collection" as output.
[1794] Step 3:
[1795] Based on the extracted requirements, the server creates a request to the generative AI model to generate program code. This request includes a list of specific requirements. The server sends the request and waits for the generated program code to be returned.
[1796] Step 4:
[1797] Based on the received request, the generative AI model generates program code that meets the specified specifications. The generated code, which includes a robot action such as "move to aisle 5 and collect the package," is sent back to the server.
[1798] Step 5:
[1799] The server debugs the received program code in a sandbox environment, where multiple test cases are run to verify that the code works as intended. Specifically, the server tests whether the robot can move correctly and collect packages within the virtual environment.
[1800] Step 6:
[1801] If an error or defect is discovered during debugging, the server will feed the results back to the generative AI model and request that the program code be modified. Specifically, it will send error messages and suggestions for improvement to the generative AI model.
[1802] Step 7:
[1803] Based on the feedback received, the generative AI model modifies the program code and sends it back to the server, including, for example, improving error handling and algorithms.
[1804] Step 8:
[1805] The server debugs the modified program code again in the sandbox environment, runs the test cases again, and verifies that all errors have been fixed. If necessary, the server provides feedback and requests for modifications.
[1806] Step 9:
[1807] Once all debugging is successful and the program code is completed in accordance with the specifications, the server notifies the user of the completion. This notification is sent via email or a pop-up in the system, allowing the user to check the completed program.
[1808] Step 10:
[1809] The system analyzes the user's facial expressions and tone of voice when inputting information and uses an emotion engine to determine the user's emotions. For example, if the system senses that the user is frustrated, it will flexibly adjust the content of the feedback and take measures to reduce the user's stress.
[1810] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1811] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1812] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1813] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1814] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1815] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1816] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1817] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1818] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1819] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1820] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1821] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1822] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1823] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1824] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1825] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1826] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1827] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1828] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1829] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1830] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1831] The following is further disclosed regarding the above embodiment.
[1832] (Claim 1)
[1833] a means for a user to input specifications for the finished product;
[1834] means for analyzing the input specifications and extracting requirements;
[1835] a means for requesting the generation of a program code based on the requirements;
[1836] means for receiving the generated program code;
[1837] means for debugging the received program code in a sandbox environment;
[1838] a means for providing feedback on errors and improvements based on the debugging results and requesting correction of the program code;
[1839] a means for re-debugging the modified program code;
[1840] means for notifying a user when a program code conforming to said specifications has been completed;
[1841] Including system.
[1842] (Claim 2)
[1843] The system according to claim 1, further comprising means for allowing the sandbox environment to be selected from either an online type or an on-premise type.
[1844] (Claim 3)
[1845] 10. The system of claim 1, wherein the means for analyzing the specification includes means for using natural language processing techniques.
[1846] "Example 1"
[1847] (Claim 1)
[1848] a means for a user to input a finished specification in natural language;
[1849] means for analyzing the input specifications using natural language processing technology and extracting requirements;
[1850] A means for requesting a generative AI model to generate program code based on the requirements;
[1851] A means for receiving program code generated by the generative AI model;
[1852] means for executing and debugging the received program code in a sandbox environment;
[1853] a means for requesting correction of the program code by feeding back errors and improvements based on the debugging results;
[1854] A means for debugging the modified program code again in a sandbox environment;
[1855] means for notifying a user when a program code conforming to said specifications has been completed;
[1856] Including system.
[1857] (Claim 2)
[1858] The system according to claim 1, further comprising means for allowing the sandbox environment to be selected from either an online type or an on-premise type.
[1859] (Claim 3)
[1860] 2. The system according to claim 1, wherein the means for analyzing the requirements included in the specification includes means for extracting important requirements and keywords using natural language processing techniques.
[1861] "Application Example 1"
[1862] (Claim 1)
[1863] a means for a user to input specifications for the finished product;
[1864] means for analyzing the input specifications and extracting requirements;
[1865] a means for requesting the generation of a program code based on the requirements;
[1866] means for receiving the generated program code;
[1867] means for debugging the received program code in a sandbox environment;
[1868] a means for providing feedback on errors and improvements based on the debugging results and requesting correction of the program code;
[1869] a means for re-debugging the modified program code;
[1870] means for notifying a user when a program code conforming to said specifications has been completed;
[1871] a means for providing a robot control program that is instantly generated based on a process instructed by an operator in cooperation with a display device attached to a control device of the industrial machine;
[1872] Including system.
[1873] (Claim 2)
[1874] The system according to claim 1, further comprising means for allowing the sandbox environment to be selected from either an online type or an on-premise type.
[1875] (Claim 3)
[1876] 10. The system of claim 1, wherein the means for analyzing the specification includes means for using natural language processing techniques.
[1877] "Example 2: Combining Emotion Engines"
[1878] (Claim 1)
[1879] a means for a user to input specifications for the finished product;
[1880] means for analyzing the input specifications and extracting requirements;
[1881] a means for requesting the generation of a program code based on the requirements;
[1882] means for receiving the generated program code;
[1883] means for debugging the received program code in a virtual environment;
[1884] a means for providing feedback on errors and improvements based on the debugging results and requesting correction of the program code;
[1885] a means for re-debugging the modified program code;
[1886] means for notifying a user when program code conforming to said specifications has been completed;
[1887] means for recognizing user emotions and adjusting system behavior;
[1888] A system including:
[1889] (Claim 2)
[1890] The system according to claim 1, further comprising means for allowing the virtual environment to be selected from either an online type or an on-premise type.
[1891] (Claim 3)
[1892] 10. The system of claim 1, wherein the means for analyzing the specification includes means for using natural language processing techniques.
[1893] "Application example 2 when combining emotion engines"
[1894] (Claim 1)
[1895] a means for a user to input specifications for the finished product;
[1896] means for analyzing the input specifications and extracting requirements;
[1897] a means for requesting the generation of a program code based on the requirements;
[1898] means for receiving the generated program code;
[1899] means for debugging the received program code in a sandbox environment;
[1900] a means for providing feedback on errors and improvements based on the debugging results and requesting correction of the program code;
[1901] a means for re-debugging the modified program code;
[1902] means for notifying a user when program code conforming to said specifications has been completed;
[1903] an emotion engine that recognizes and analyzes the user's emotions, and means for adjusting the system's operation a...
Claims
1. a means for a user to input specifications for the finished product; means for analyzing the input specifications and extracting requirements; a means for requesting the generation of a program code based on the requirements; means for receiving the generated program code; means for debugging the received program code in a sandbox environment; a means for providing feedback on errors and improvements based on the debugging results and requesting correction of the program code; a means for re-debugging the modified program code; means for notifying a user when a program code conforming to said specifications has been completed; Including system.
2. The system according to claim 1 , further comprising means for allowing the sandbox environment to be selected from either an online type or an on-premise type.
3. 2. The system of claim 1, wherein the means for analyzing the specification includes means for using natural language processing techniques.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A