system
The system addresses inefficiencies in generative AI code generation by analyzing user specifications, using a generative AI model, and verifying code in a virtual environment to automate and integrate code effectively, reducing user interaction and manual corrections.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-15
- Publication Date
- 2026-04-27
AI Technical Summary
Existing systems for generating program code using generative AI models face challenges such as incorrect code generation, manual correction needs, and inefficient development processes due to numerous interactions with the AI, which increase user burden and hinder efficient development.
A system that receives specification information from a user, analyzes it to create multiple code generation requests, uses a generative AI model to generate code, verifies the code in a virtual execution environment, and integrates the verified code, reducing user interaction and manual corrections.
This system streamlines the code generation process, reducing user burden and enabling efficient development by automating code verification and integration, ensuring high-quality code delivery.
Smart Images

Figure 2026070099000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, the method including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] When generating program code using a generative AI model, especially in the case of a particularly complex specification, there are problems such as the generation of incorrect code and the need for manual correction, which impose a great deal of time and effort on the user. Also, as a result of the need for many interactions with the AI, there is a problem that it is difficult to maintain an efficient development process.
Means for Solving the Problems
[0005] This invention provides a means for receiving specification information registered by a user using a terminal, analyzing the specification information, breaking it down into multiple code generation requests, and sending requests to a generation AI model. The generated program code is verified in a virtual execution environment to identify defects. This process allows for rapid response even if corrections are needed, and by providing the final integrated program code to the user, it reduces the burden on the user and enables efficient development.
[0006] A "user" refers to an entity that requests the generation of program code using the system.
[0007] A "terminal" refers to a device used by a user to access the system and register or receive specification information.
[0008] "Specification information" refers to information that describes the detailed requirements and conditions of the program code desired by the user.
[0009] A "code generation request" refers to a specific instruction that asks the AI model to generate program code based on the specifications.
[0010] A "generative AI model" refers to an artificial intelligence system that automatically generates program code in response to a given code generation request.
[0011] "Program code" refers to the source code generated by the generative AI model based on the request.
[0012] A "virtual execution environment" refers to a secure test environment for executing generated program code and testing and verifying its operation.
[0013] "Integrated program code" refers to the final source code created by integrating the individual program codes generated from multiple code generation requests into a single file. [Brief explanation of the drawing]
[0014] [Figure 1]It is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] It is a conceptual diagram showing an example of the main functions of a data processing device and a smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] It is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] It is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] It is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when an emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when an emotion engine is combined.
MODE FOR CARRYING OUT THE INVENTION
[0015] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0016] First, the terms used in the following description will be explained.
[0017] In the following embodiments, the labeled processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0018] In the following embodiments, the labeled RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0019] In the following embodiments, the labeled storage is one or more non-volatile storage devices that store various programs and various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, and the like.
[0020] In the following embodiments, the labeled communication I / F (Interface) is an interface including a communication processor and 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), or Bluetooth (registered trademark), and the like.
[0021] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0022] [First Embodiment]
[0023] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0024] As shown in Figure 1, the 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.
[0025] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0026] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0027] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.
[0028] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0029] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0030] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0031] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0032] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0033] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0034] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0035] This invention provides an embodiment of a system that efficiently generates program code using a generative AI model, thereby reducing the burden on users. The specific operation and examples of the system are shown below.
[0036] First, the user registers detailed specifications for the program they wish to generate using their terminal. These specifications include the program's purpose, requirements, and constraints. The terminal then sends this information to the server, and processing begins.
[0037] The server analyzes the received specification information. As a result of the analysis, the specification information is divided into multiple smaller code generation requests, each containing instructions necessary to generate a specific part of the program. This enables efficient code generation for each individual task.
[0038] Next, the server sends each code generation request to the generation AI model. The generation AI model follows the instructions and automatically generates the corresponding program code. The generated code fragments are sent to the server and moved to the virtual execution environment.
[0039] The server tests and verifies each piece of program code received within the virtual execution environment. If a defect is found at this stage, the server analyzes it and, if necessary, requests corrections from the generated AI model. This ensures the quality of the code.
[0040] Once all tasks are successfully completed, the server integrates each generated code fragment into a single program code. The integrated program code is then validated again, and after passing the final checks, it is sent to the user's terminal.
[0041] As a concrete example, let's consider a case where a user wants to implement a specific algorithm in Python. The user registers the detailed specifications of the algorithm on their device and uploads them to the system. The server analyzes this and breaks it down into "data input processing," "algorithm calculation part," and "result output processing." The generated AI model generates code for each of these parts, and the server verifies it. The verified program is sent to the user and becomes available for use in the actual project.
[0042] Thus, the present invention streamlines the trial-and-error process with the generated AI model and eliminates the need for users to directly manage their interactions with the AI, thereby facilitating the program generation process.
[0043] The following describes the processing flow.
[0044] Step 1:
[0045] The user uses a terminal to create specification information for program generation and uploads it to the system. The user enters concise and accurate information, and describes the program's purpose and requirements in detail.
[0046] Step 2:
[0047] The terminal sends the specification information received from the user to the server. Based on this specification information, the terminal requests the server to start a new project.
[0048] Step 3:
[0049] The server analyzes the received specification information and divides it into tasks necessary for generating program code. The server manages these divided tasks as a list and sets the priority of each task.
[0050] Step 4:
[0051] The server selects a task from the task list and requests the generative AI model to generate code. The server provides the generative AI model with detailed information about the task to support appropriate code generation.
[0052] Step 5:
[0053] The generative AI model generates program code based on instructions from the server and sends the generated code back to the server.
[0054] Step 6:
[0055] The server receives the generated code and performs initial validation on its contents. The server verifies that the code does not contain basic syntax errors.
[0056] Step 7:
[0057] The server deploys the code to a virtual execution environment and verifies that the program works as intended. The server records the test results and collects error logs.
[0058] Step 8:
[0059] The server evaluates the verification results and, if necessary, provides feedback to the generated AI model, repeating this process until the corrections are complete.
[0060] Step 9:
[0061] After all tasks have been successfully completed, the server integrates the code and assembles the whole into a single executable program.
[0062] Step 10:
[0063] The server performs a final check on the integrated program code to ensure consistent operation.
[0064] Step 11:
[0065] The final version of the program code is sent to the terminal. The terminal notifies the user that the code is ready.
[0066] Step 12:
[0067] Users receive the completed program code from their terminal, download it, and apply it to their own projects. This allows users to acquire and utilize the program with minimal effort.
[0068] (Example 1)
[0069] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0070] Conventional program generation systems require users to directly interact with the generated AI model while creating programs, and the trial-and-error process involved is cumbersome. Furthermore, the verification process of the generated code and the request for bug fixes involve a lot of manual work, hindering efficient development. The aim is to solve these problems, generate program code quickly and effectively, and reduce the burden on users.
[0071] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0072] In this invention, the server includes means for receiving specification information registered by the user using an information processing device and decomposing the specification information into multiple program generation requests; means for sending the program generation requests to a generation AI model and receiving the generated application software code; and means for verifying the generated application software code in a virtual execution environment and identifying defects. This enables rapid and automatic generation, verification, and modification of program code as needed, thereby reducing the burden on the user and facilitating efficient program development.
[0073] An "information processing device" is a device used to process data and perform calculations and information management.
[0074] "Specification information" refers to information that details the objectives, requirements, and constraints that a program should achieve.
[0075] A "program generation request" is an instruction to divide a large program task into smaller parts according to its purpose and generate specific program code.
[0076] A "generative AI model" is a model that uses artificial intelligence technology to automatically generate program code.
[0077] "Application software code" is a set of program instructions generated for a specific purpose.
[0078] A "virtual execution environment" is a virtualized platform for safely verifying and debugging generated program code.
[0079] A "defect" is an unintended error or malfunction that occurs during the design or execution of a program.
[0080] "Hierarchical processing" is a method of structuring information and tasks hierarchically to make them easier to manage.
[0081] This invention relates to an embodiment of a system for efficiently generating program code using a generative AI model. This system primarily consists of a user, a terminal, and a server, and its specific operation and usage examples are described below.
[0082] The user uses an information processing device to input the specification information necessary for program generation and register it with the system. The registered specification information is sent to the server via the terminal. The server analyzes this specification information and divides the program generation request into several smaller tasks. Each task consists of instructions for generating a specific part of the program code.
[0083] The server uses a generative AI model to process each program generation request and automatically generates the associated program code. The generated code is returned to the server and transferred to a virtual execution environment. In this environment, the server tests each code fragment and verifies its correct operation. If any defects are found, the server requests additional corrections from the generative AI model to maintain code quality.
[0084] After all code fragments have been generated and verified without any issues, the server integrates them and combines them into the final program code. This completed program code undergoes a final check before being sent to the user's information processing device.
[0085] As a concrete example, consider a case where a user wants to implement a specific sorting algorithm in Python. The user registers the requirement in the system as specification information: "I need to implement an ascending sorting algorithm." Based on this information, the server divides the task into "data input processing," "algorithm calculation part," and "result output processing." The generated AI model generates Python code corresponding to each task, and its operation is verified on the server. The verified code is provided to the user and can be used in actual projects.
[0086] An example of a prompt might be, "Implement an ascending bubble sort algorithm in Python. The data input should be in list format, and the result should be returned as a sorted list." By having a generative AI model process based on this prompt, efficient program development can be achieved.
[0087] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0088] Step 1:
[0089] The user uses an information processing device to input and register the specification information necessary for program generation into the system. This specification information includes the program's purpose, required specifications, and constraints. The input specification information forms the basis of the program code. Based on this input information, the user communicates the required functions and specifications in detail to the system.
[0090] Step 2:
[0091] The terminal sends the specification information entered by the user to the server. The transmitted data arrives at the server via the network, and the server begins processing based on that information. The output at this step prepares the server for the specification information to reach and proceed to the next analysis step.
[0092] Step 3:
[0093] The server analyzes the received specification information and divides each task into specific program generation requests. The analysis involves understanding what functions the program should have and dividing tasks into "data input processing," "algorithm implementation," and "result output processing." At this stage, data processing is performed using the analysis results, enabling efficient program generation.
[0094] Step 4:
[0095] The server sends a program generation request to the AI model, which then generates the necessary program code for each task according to the instructions. The AI model performs natural language processing based on the input request and outputs appropriate code snippets. This automatically generates individual program parts.
[0096] Step 5:
[0097] The server receives the program code fragments returned from the generated AI model and transfers them to a virtual execution environment. Testing in this virtual environment is a process to verify that the code can be executed safely. The output of this step is an analysis result indicating whether the code executes without errors.
[0098] Step 6:
[0099] The server verifies each code fragment within the virtual execution environment to confirm the accuracy of its operation. If a bug is found during this process, the server analyzes its details and, if necessary, requests a correction from the generated AI model. Identifying bugs and submitting correction requirements improves the quality of the program.
[0100] Step 7:
[0101] After all code fragments have been successfully generated and verified, the server integrates them into a single program. The integrated program is then re-verified. The output at this stage is the completed program code, free of errors.
[0102] Step 8:
[0103] The completed program code is sent by the server to the user's information processing device. The user can receive this code and apply it to actual projects and tasks. This process allows users to freely use automatically generated, high-quality code.
[0104] (Application Example 1)
[0105] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0106] In modern factories, efficiently operating machinery requires the rapid and accurate creation of program code. However, program creation requires specialized knowledge, and there is a demand for increased speed and precision. Furthermore, it is crucial to simplify the process from intuitively inputting specification information to implementing it in the machinery. Solving these challenges can significantly improve work efficiency.
[0107] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0108] In this invention, the server includes means for receiving specification information registered by a user using an information terminal and decomposing the specification information into multiple code generation instructions, means for transmitting the code generation instructions to a generation AI model and receiving the generated program code, and means for verifying the generated program code in a virtual execution environment and identifying defects. This makes it possible to quickly generate operating programs for machinery and equipment in a factory and implement them on the machinery and equipment while ensuring accuracy.
[0109] An "information terminal" is an electronic device used by users to input data and register specification information, and includes devices such as personal computers, tablets, and smartphones.
[0110] "Specification information" refers to data that includes detailed instructions, requirements, and constraints regarding the program the user wants to create.
[0111] "Code generation instructions" refer to information that has been broken down into individual instructions for the generation AI model to create program code based on the specification information.
[0112] A "generative AI model" is an artificial intelligence algorithm that has the ability to automatically generate program code with high accuracy based on specified specifications and instructions.
[0113] "Program code" is code that describes a series of instructions and processing procedures necessary for a machine or information system to operate.
[0114] A "virtual execution environment" is a virtualized space on a computer system used to simulate a real environment and verify the operation and defects of program code.
[0115] "Mechanical equipment" refers to automated devices and robots designed to perform specific tasks or processes in a factory.
[0116] The system realizing this invention provides a process for users to efficiently generate operating programs for mechanical devices using an information terminal. The user inputs specification information related to the program using the information terminal. This specification information includes the purpose of operation and required setting conditions. This information is transmitted to a server via the internet or other means.
[0117] The server analyzes the received specification information and breaks it down into a format that is easy for the generating AI model to handle. The analysis results are organized into several clear code generation instructions. These instructions are sent from the server to the generating AI model, and the AI automatically generates individual program code based on the specified specifications.
[0118] The generated program code is validated in a virtual execution environment on the server. Here, the code's behavior is verified to ensure it is accurate and as intended, and potential bugs are identified. This process ensures the reliability of the generated program.
[0119] The verified program code is then implemented into machinery in the factory. This generated code is used to automate robot operations and manufacturing process management in the factory. For example, when designing a robot operation to move a package from a conveyor belt to a shelf, the user inputs a prompt such as "move package from conveyor belt to shelf" into an information terminal. Following this prompt, the AI model generates the appropriate code, which can then be executed immediately.
[0120] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0121] Step 1:
[0122] The user inputs program specification information using an information terminal. This specification information includes the program's purpose and operating conditions, specifically the task details, such as moving a package from a conveyor belt to a shelf. This information is sent to the server, and processing begins as input data.
[0123] Step 2:
[0124] The server analyzes the received specification information and converts it into a format that is easy for the generating AI model to process. During the analysis process, it is broken down into multiple code generation instructions. For example, it is broken down into specific operations such as "lift the package" or "move to the coordinates." This is then sent as input to the next step.
[0125] Step 3:
[0126] The server sends the decomposed code generation instructions to the AI model. The AI model generates the optimal program code and sends that code to the server. Examples of generated code include program instructions such as "rotate the robot arm 90 degrees" and "set the travel distance." In this step, the input is the code generation instructions, and the output is the specific program code.
[0127] Step 4:
[0128] The server executes the generated program code in a virtual execution environment to verify that there are no defects. In this environment, the server performs operational checks and identifies parts that do not function as intended. If a defect is found, it analyzes the details and sends correction instructions to the AI model. The input for this step is the program code, and the output is a defect report and correction instructions.
[0129] Step 5:
[0130] After all code generation instructions have been processed and verification is complete, the server generates integrated program code and provides it to the user's information terminal. This final code is intended for direct implementation into the machine. The output is integrated, verified program code.
[0131] Step 6:
[0132] The user implements the provided program code into the factory machinery and initiates its operation in actual work. At this stage, the process is complete when the code functions correctly and the intended task is performed. The input is the generated program code, and the output is the successful operation of the machinery.
[0133] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0134] This invention provides a specific example of a system that provides efficient code generation that takes into account the user's emotions in the process of generating program code using a generative AI model. This system incorporates an emotion engine that recognizes the user's emotions, thereby achieving flexible responses tailored to individual situations.
[0135] The user uses a terminal to register the specifications of the program they want to generate into the system. These specifications include the program's purpose, requirements, and constraints. Based on the user's input, the terminal's emotion engine analyzes the user's emotional state. This emotion engine determines emotions using parameters such as the user's voice, facial expressions, and keystroke speed.
[0136] The server considers the emotional state received from the emotion engine and divides the specification information into multiple code generation requests. If the emotional state is stable, the task division is performed as usual; if it is determined that the user is experiencing stress, the task is broken down into smaller parts to reduce the burden on the user.
[0137] The generation AI model receives a code generation request from the server and automatically generates the specified program code. Meanwhile, the server moves the generated code to a virtual execution environment where its operation is verified. Based on the verification results, the server sends a correction request to the generation AI model as needed.
[0138] Once all tasks have been processed and the integrated program code is complete, the server sends this code to the terminal. The terminal then notifies the user that the completed code is ready.
[0139] As a concrete example, consider a scenario where a user wants to implement a specific data analysis algorithm. Once the user registers the specifications, the sentiment engine begins the analysis. If the user encounters difficulties, the system breaks down the task further, providing detailed feedback at each stage. The appropriately generated program code is sent to the terminal, which the user downloads and uses in their work.
[0140] Thus, by using an emotion engine, the present invention aims to provide a personalized experience tailored to the user's situation and to make interaction with the generated AI model efficient and comfortable.
[0141] The following describes the processing flow.
[0142] Step 1:
[0143] The user uses a terminal to input specification information about the program they want to generate and uploads it to the system. The specification information includes detailed descriptions of the program's purpose and main requirements.
[0144] Step 2:
[0145] The device transmits user input to the emotion engine in real time. The device records the user's keystroke speed, operation patterns, and, if voice input is present, the tone of voice as emotion data.
[0146] Step 3:
[0147] The emotion engine analyzes data received from the device to determine the user's emotional state. If the user is showing signs of stress, the emotion engine sends a result reflecting that state to the server.
[0148] Step 4:
[0149] The server analyzes the received specification information and sentiment data, and divides the program generation task into multiple code generation requests. Based on the sentiment data, it adjusts the complexity of the task and subdivides it if necessary to reduce the user's burden.
[0150] Step 5:
[0151] The server sends the divided code generation requests to the generation AI model. By providing the generation AI model with specific information related to each task, the server achieves optimal code generation.
[0152] Step 6:
[0153] The generative AI model generates program code according to instructions from the server and sends the generated code back to the server.
[0154] Step 7:
[0155] The server tests the program code received from the generated AI model in a virtual execution environment and verifies its operation. The server logs any detected defects and, if necessary, sends a correction request to the generated AI model.
[0156] Step 8:
[0157] After all code generation requests have been successfully processed, the server integrates the individual program code and combines it into a final unified program code.
[0158] Step 9:
[0159] The server performs a final check on the integrated program code to ensure consistent operation. Code that passes this check is then prepared for the user.
[0160] Step 10:
[0161] The server sends the prepared integrated program code to the terminal. The terminal notifies the user that the code is available for download.
[0162] Step 11:
[0163] Users receive the completed program code via their device and utilize it in their actual work and projects. Through adjustments by an emotion engine, users can use the program efficiently and with minimal stress.
[0164] (Example 2)
[0165] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0166] Traditionally, automated program code generation has suffered from increased user stress and burden due to uniform processing without considering the user's emotional state. Furthermore, while there is a demand for improved performance and accuracy in the generated code, there is a need for a method to generate code efficiently without increasing the user's burden.
[0167] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0168] In this invention, the server includes means for receiving specification information registered by the user using a terminal and decomposing said specification information into multiple code generation requests; means including an emotion judgment device that analyzes the user's input information in order to determine the user's emotional state; and means for sending said code generation requests to a generation AI model and receiving the generated program code. This enables flexible code generation according to the user's emotional state, reducing stress and burden while efficiently generating high-quality program code.
[0169] A "terminal" is an electronic device used by users to input information and interface with a system.
[0170] "Specification information" refers to information that includes the conditions necessary for generating program code, such as the program's purpose, requirements, and constraints.
[0171] An "emotion assessment device" is a device that analyzes the user's voice, facial expressions, keystroke speed, etc., and has the function of inferring the user's emotional state.
[0172] A "generative AI model" is an artificial intelligence model that automatically generates program code based on input specification information and prompt statements.
[0173] A "virtual execution environment" is an environment that allows for simulation to test whether the generated program code works correctly.
[0174] A "code generation request" is a command sent to a generation AI model to instruct it to generate program code.
[0175] A "correction request" is a request to instruct the generating AI model to correct any defects in the generated program code.
[0176] This invention relates to a system for generating and verifying program code that takes into account the emotional state of the user. This system utilizes software including an emotion judgment device and a generation AI model to achieve efficient and high-quality code generation.
[0177] The user registers specification information, including the program's purpose, requirements, and constraints, using a terminal. During this process, the terminal analyzes voice input, facial recognition, and keystroke speed and pattern, and uses an emotion assessment device to determine the user's emotional state. The emotion assessment is configured to dynamically adjust processing within the system when a specific emotional pattern is detected.
[0178] The server, based on emotional data from the emotion judgment device, performs more flexible task division than before, breaking down specification information into multiple code generation requests. For example, if the user is experiencing stress, the task is further subdivided. These requests are then sent to the generative AI model, which automatically generates the specified program code. The hardware used by the generative AI model in this process is a high-performance computer cluster.
[0179] The generated program code is verified by the server in a virtual execution environment. The virtual execution environment provides the data processing capabilities necessary to test the code for performance and functionality. If any defects are found after this verification, the server sends a correction request to the generated AI model.
[0180] After all code generation requests are completed without issue, the integrated program code is processed again by the server and provided to the user's terminal. The terminal notifies the user that the code is ready and allows them to use the final product.
[0181] For example, if a user enters a prompt such as, "I need to implement a data analysis algorithm. The input data should be in CSV format, and the output results should be displayed as a graph," this system will generate algorithm code based on that requirement, verify its operation, and then provide the final code.
[0182] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0183] Step 1:
[0184] The user uses a terminal to input program specification information and register it with the system. This input includes the program's purpose, requirements, and constraints. This information forms the basis for the system's subsequent processing.
[0185] Step 2:
[0186] The terminal transmits user input information to an emotion assessment device, which analyzes voice, facial expressions, keystroke speed, and other data. Based on this data, the emotion assessment device determines the user's emotional state and sends it to the server. Here, the input is the user's biometric data, and the output is the analyzed emotional state.
[0187] Step 3:
[0188] The server divides the specification information into multiple code generation requests based on the specification information and the received emotional state. If the emotional state is stable, the task is divided as usual; if stress is judged to be high, it is divided into smaller parts. This ensures that each individual task is generated at a size appropriate for the AI model. The output is the corresponding code generation request.
[0189] Step 4:
[0190] The server sends a code generation request to the generative AI model and receives the program code generated by the model. In this process, the generative AI model generates code based on the input code generation request, and that code becomes the output.
[0191] Step 5:
[0192] The server transfers the generated program code to a virtual execution environment and verifies whether it works correctly. The input here is the generated program code, and the output is the verification result of whether the code worked as expected. If there are any problems, a correction request is sent to the generating AI model based on these results.
[0193] Step 6:
[0194] After all generation requests have been successfully processed, the server sends the integrated program code to the terminal. The terminal receives this code and notifies the user that the completed code is available. The final output is the program code, formatted for use.
[0195] (Application Example 2)
[0196] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0197] Conventional systems fail to consider user emotions when generating or modifying program code, resulting in inadequate consideration of workload. Furthermore, there is a lack of means to efficiently generate and adjust code while reducing user stress. Consequently, a significant challenge is the decline in user productivity, particularly in stressful environments or when performing complex tasks.
[0198] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0199] In this invention, the server includes means for receiving specification information registered by the user using an information processing device and decomposing the specification information into multiple code generation requests; means for sending the code generation requests to a generation AI model and receiving the generated program code; means for verifying the generated program code in a virtual execution environment and identifying defects; means for determining the user's emotional state with an emotion engine and adjusting tasks based on the determination; and means for providing the integrated program code to the user's terminal after all code generation requests have been processed. This makes it possible to efficiently generate and adjust program code while being attentive to the user's emotions.
[0200] An "information processing device" is a hardware device that allows users to register specification information and request the generation of program code, and has the capability to process the input data.
[0201] "Specification information" refers to information that includes the purpose, requirements, and constraints of the program code to be generated, and is the design information that forms the basis of code generation.
[0202] A "code generation request" is a request that includes instructions for a generation AI model to generate specific program code.
[0203] A "generative AI model" is a data processing model that uses artificial intelligence technology to automatically generate program code based on user requests.
[0204] A "virtual execution environment" is a simulation environment within a computer that mimics an actual execution environment, and is used to verify the performance and defects of program code.
[0205] An "emotion engine" is software that determines the emotional state of a user based on data such as their voice, facial expressions, and keystrokes, and then incorporates the results into the code generation process.
[0206] "Task adjustment" is a technique that optimizes the workload by appropriately dividing the code generation process while taking into account the user's emotional state.
[0207] "Integrated program code" refers to a completed software or program formed by combining individual program code generated by multiple code generation requests into a single entity.
[0208] To realize this invention, it is necessary to construct a system that integrates the user's terminal, server, generation AI model, and virtual execution environment. The user registers the specification information of the program they wish to generate using the terminal. This specification information includes the program's purpose, requirements, constraints, etc. The registered specification information is sent to the server.
[0209] The server breaks down the specification information received from the terminal into multiple code generation requests. Next, the server sends the code generation requests to the generation AI model and receives the generated program code. At this time, the server uses an emotion engine to determine the user's emotional state and adjusts the task according to that state. For example, if the user is feeling stressed, the task will be broken down further.
[0210] The generated program code is validated in a virtual execution environment on the server. This virtual execution environment simulates the actual operating environment and is used to check the performance of the program code and detect any defects. Based on the validation results, correction requests are sent to the generated AI model as needed.
[0211] Once all tasks have been processed and the integrated program code is complete, the server provides this code to the user's terminal. The terminal then notifies the user that the completed code is ready.
[0212] A concrete example is when a user creates a program to optimize the movements of a specific robot. The user enters prompt text into the terminal. For example, they might clearly state their requirements, such as, "I want to create a program to optimize the movements of a robot arm. I need to improve accuracy, but I want to maintain the current speed." This allows the emotion engine to analyze the user's emotions while the generative AI model efficiently generates program code.
[0213] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0214] Step 1:
[0215] The user inputs program specification information using a terminal. This specification information includes the program's purpose, requirements, and constraints. This specification information is then sent from the terminal to the server. The input consists of user prompts, and the output consists of the specification information being sent to the server.
[0216] Step 2:
[0217] The server analyzes the received specification information and breaks it down into multiple code generation requests. The analysis identifies each task required for code generation and processes the data to convert it into specific instructions. The output is an individual code generation request.
[0218] Step 3:
[0219] The server uses an emotion engine to evaluate the user's emotional state. Input data includes the user's voice, facial expressions, and keystrokes. Based on this data, the emotion engine analyzes the emotions and outputs an emotional state score. Specifically, it uses microphones and cameras to acquire data in real time and processes it with an emotion recognition algorithm.
[0220] Step 4:
[0221] The server adjusts the code generation request task based on the obtained emotional state score. If the emotional state indicates stress, the server breaks down the task and makes adjustments to reduce the user's burden. The input is the emotional state score, and the output is the adjusted task.
[0222] Step 5:
[0223] The server sends a tailored code generation request to the generative AI model and receives the program code generated from the model. In this step, the generative AI model generates code based on the specified task and returns the program code to the server as output.
[0224] Step 6:
[0225] The server verifies the generated program code in a virtual execution environment. The input is the generated program code, and by performing a simulation in the virtual execution environment, the server obtains verification results and defect information as output.
[0226] Step 7:
[0227] The server sends correction requests to the generated AI model as needed. If a bug is detected during verification, it sends a correction request with that information as input and receives the revised program code again as output.
[0228] Step 8:
[0229] After all code generation requests have been processed, the server generates the integrated program code and provides it to the terminal. The input is the modified program code, and the output is the completed program code sent to the user's terminal.
[0230] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0231] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0232] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0233] [Second Embodiment]
[0234] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0235] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0236] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0237] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0238] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0239] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0240] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0241] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0242] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0243] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0244] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0245] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0246] This invention provides an embodiment of a system that efficiently generates program code using a generative AI model, thereby reducing the burden on users. The specific operation and examples of the system are shown below.
[0247] First, the user registers detailed specifications for the program they wish to generate using their terminal. These specifications include the program's purpose, requirements, and constraints. The terminal then sends this information to the server, and processing begins.
[0248] The server analyzes the received specification information. As a result of the analysis, the specification information is divided into multiple smaller code generation requests, each containing instructions necessary to generate a specific part of the program. This enables efficient code generation for each individual task.
[0249] Next, the server sends each code generation request to the generation AI model. The generation AI model follows the instructions and automatically generates the corresponding program code. The generated code fragments are sent to the server and moved to the virtual execution environment.
[0250] The server tests and verifies each piece of program code received within the virtual execution environment. If a defect is found at this stage, the server analyzes it and, if necessary, requests corrections from the generated AI model. This ensures the quality of the code.
[0251] Once all tasks are successfully completed, the server integrates each generated code fragment into a single program code. The integrated program code is then validated again, and after passing the final checks, it is sent to the user's terminal.
[0252] As a concrete example, let's consider a case where a user wants to implement a specific algorithm in Python. The user registers the detailed specifications of the algorithm on their device and uploads them to the system. The server analyzes this and breaks it down into "data input processing," "algorithm calculation part," and "result output processing." The generated AI model generates code for each of these parts, and the server verifies it. The verified program is sent to the user and becomes available for use in the actual project.
[0253] Thus, the present invention streamlines the trial-and-error process with the generated AI model and eliminates the need for users to directly manage their interactions with the AI, thereby facilitating the program generation process.
[0254] The following describes the processing flow.
[0255] Step 1:
[0256] The user uses a terminal to create specification information for program generation and uploads it to the system. The user enters concise and accurate information, and describes the program's purpose and requirements in detail.
[0257] Step 2:
[0258] The terminal sends the specification information received from the user to the server. Based on this specification information, the terminal requests the server to start a new project.
[0259] Step 3:
[0260] The server analyzes the received specification information and divides it into tasks necessary for generating program code. The server manages these divided tasks as a list and sets the priority of each task.
[0261] Step 4:
[0262] The server selects a task from the task list and requests the generative AI model to generate code. The server provides the generative AI model with detailed information about the task to support appropriate code generation.
[0263] Step 5:
[0264] The generative AI model generates program code based on instructions from the server and sends the generated code back to the server.
[0265] Step 6:
[0266] The server receives the generated code and performs initial validation on its contents. The server verifies that the code does not contain basic syntax errors.
[0267] Step 7:
[0268] The server deploys the code to a virtual execution environment and verifies that the program works as intended. The server records the test results and collects error logs.
[0269] Step 8:
[0270] The server evaluates the verification results and, if necessary, provides feedback to the generated AI model, repeating this process until the corrections are complete.
[0271] Step 9:
[0272] After all tasks have been successfully completed, the server integrates the code and assembles the whole into a single executable program.
[0273] Step 10:
[0274] The server performs a final check on the integrated program code to ensure consistent operation.
[0275] Step 11:
[0276] The final version of the program code is sent to the terminal. The terminal notifies the user that the code is ready.
[0277] Step 12:
[0278] Users receive the completed program code from their terminal, download it, and apply it to their own projects. This allows users to acquire and utilize the program with minimal effort.
[0279] (Example 1)
[0280] Next, we will describe Example 1. 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."
[0281] In a conventional program generation system, the user has to create a program while directly interacting with the generation AI model, and the trial and error in the process has been time-consuming. Furthermore, the verification process of the generated code and the request for fixing bugs involve a lot of manual work, which has hindered efficient development. The purpose is to solve these problems, generate program code quickly and effectively, and reduce the burden on the user.
[0282] The specific processing by the specific processing unit 290 of the data processing device 12 in Embodiment 1 is realized by the following means.
[0283] In this invention, the server includes means for receiving the specification information registered by the user using the information processing device, decomposing the specification information into a plurality of program generation requests, transmitting the program generation requests to the generation AI model, and receiving the generated application software code; and means for verifying the generated application software code in a virtual execution environment and identifying bugs. Thereby, by quickly and automatically generating, verifying, and correcting the program code as necessary, the burden on the user is reduced, and efficient program development becomes possible.
[0284] The "information processing device" is a device for processing data and performing calculations and information management.
[0285] The "specification information" is information that details the purposes, requirements, and constraints that the program should achieve.
[0286] The "program generation request" is an instruction for dividing a large program task into small parts according to the purpose and generating specific program code.
[0287] The "generation AI model" is a model for automatically generating program code using artificial intelligence technology.
[0288] The "application software code" is a series of program instructions generated for a specific purpose.
[0289] A "virtual execution environment" is a virtualized platform for safely verifying and debugging generated program code.
[0290] A "defect" is an unintended error or malfunction that occurs during the design or execution of a program.
[0291] "Hierarchical processing" is a method of structuring information and tasks hierarchically to make them easier to manage.
[0292] This invention relates to an embodiment of a system for efficiently generating program code using a generative AI model. This system primarily consists of a user, a terminal, and a server, and its specific operation and usage examples are described below.
[0293] The user uses an information processing device to input the specification information necessary for program generation and register it with the system. The registered specification information is sent to the server via the terminal. The server analyzes this specification information and divides the program generation request into several smaller tasks. Each task consists of instructions for generating a specific part of the program code.
[0294] The server uses a generative AI model to process each program generation request and automatically generates the associated program code. The generated code is returned to the server and transferred to a virtual execution environment. In this environment, the server tests each code fragment and verifies its correct operation. If any defects are found, the server requests additional corrections from the generative AI model to maintain code quality.
[0295] After all code fragments have been generated and verified without any issues, the server integrates them and combines them into the final program code. This completed program code undergoes a final check before being sent to the user's information processing device.
[0296] As a concrete example, consider a case where a user wants to implement a specific sorting algorithm in Python. The user registers the requirement in the system as specification information: "I need to implement an ascending sorting algorithm." Based on this information, the server divides the task into "data input processing," "algorithm calculation part," and "result output processing." The generated AI model generates Python code corresponding to each task, and its operation is verified on the server. The verified code is provided to the user and can be used in actual projects.
[0297] An example of a prompt might be, "Implement an ascending bubble sort algorithm in Python. The data input should be in list format, and the result should be returned as a sorted list." By having a generative AI model process based on this prompt, efficient program development can be achieved.
[0298] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0299] Step 1:
[0300] The user uses an information processing device to input and register the specification information necessary for program generation into the system. This specification information includes the program's purpose, required specifications, and constraints. The input specification information forms the basis of the program code. Based on this input information, the user communicates the required functions and specifications in detail to the system.
[0301] Step 2:
[0302] The terminal sends the specification information entered by the user to the server. The transmitted data arrives at the server via the network, and the server begins processing based on that information. The output at this step prepares the server for the specification information to reach and proceed to the next analysis step.
[0303] Step 3:
[0304] The server analyzes the received specification information and divides each task into specific program generation requests. In the analysis, it understands what functions the program should have and differentiates the tasks into "data input processing", "algorithm implementation", "result output processing", etc. At this stage, data processing is performed using the analysis results, enabling efficient program generation.
[0305] Step 4:
[0306] The server sends the program generation requests to the generation AI model, and the AI model generates the program code required for each task according to the instructions. The AI model performs natural language processing based on the input requests and outputs appropriate code fragments. As a result, individual program parts are automatically generated.
[0307] Step 5:
[0308] The server receives the program code fragments returned from the generation AI model and transfers them to the virtual execution environment. Testing in this virtual environment is a process to confirm whether the code can be executed safely. As the output of this step, an analysis result of whether the code is executed normally is obtained.
[0309] Step 6:
[0310] The server verifies each code fragment in the virtual execution environment and checks the accuracy of the operation. If a defect is discovered during this process, the server analyzes the details and, if necessary, requests a correction from the generation AI model. By identifying the defects and sending the correction requirements, the quality of the program is improved.
[0311] Step 7:
[0312] After all the code fragments are successfully generated and verified, the server integrates them into one program. The integrated program is finally re-verified. The output at this stage is the completed and error-free program code.
[0313] Step 8:
[0314] The completed program code is sent by the server to the user's information processing device. The user can receive this code and apply it to actual projects and tasks. This process allows users to freely use automatically generated, high-quality code.
[0315] (Application Example 1)
[0316] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0317] In modern factories, efficiently operating machinery requires the rapid and accurate creation of program code. However, program creation requires specialized knowledge, and there is a demand for increased speed and precision. Furthermore, it is crucial to simplify the process from intuitively inputting specification information to implementing it in the machinery. Solving these challenges can significantly improve work efficiency.
[0318] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0319] In this invention, the server includes means for receiving specification information registered by a user using an information terminal and decomposing the specification information into multiple code generation instructions, means for transmitting the code generation instructions to a generation AI model and receiving the generated program code, and means for verifying the generated program code in a virtual execution environment and identifying defects. This makes it possible to quickly generate operating programs for machinery and equipment in a factory and implement them on the machinery and equipment while ensuring accuracy.
[0320] An "information terminal" is an electronic device used by users to input data and register specification information, and includes devices such as personal computers, tablets, and smartphones.
[0321] "Specification information" refers to data that includes detailed instructions, requirements, and constraints regarding the program the user wants to create.
[0322] "Code generation instructions" refer to information that has been broken down into individual instructions for the generation AI model to create program code based on the specification information.
[0323] A "generative AI model" is an artificial intelligence algorithm that has the ability to automatically generate program code with high accuracy based on specified specifications and instructions.
[0324] "Program code" is code that describes a series of instructions and processing procedures necessary for a machine or information system to operate.
[0325] A "virtual execution environment" is a virtualized space on a computer system used to simulate a real environment and verify the operation and defects of program code.
[0326] "Mechanical equipment" refers to automated devices and robots designed to perform specific tasks or processes in a factory.
[0327] The system realizing this invention provides a process for users to efficiently generate operating programs for mechanical devices using an information terminal. The user inputs specification information related to the program using the information terminal. This specification information includes the purpose of operation and required setting conditions. This information is transmitted to a server via the internet or other means.
[0328] The server analyzes the received specification information and breaks it down into a format that is easy for the generating AI model to handle. The analysis results are organized into several clear code generation instructions. These instructions are sent from the server to the generating AI model, and the AI automatically generates individual program code based on the specified specifications.
[0329] The generated program code is validated in a virtual execution environment on the server. Here, the code's behavior is verified to ensure it is accurate and as intended, and potential bugs are identified. This process ensures the reliability of the generated program.
[0330] The verified program code is then implemented into machinery in the factory. This generated code is used to automate robot operations and manufacturing process management in the factory. For example, when designing a robot operation to move a package from a conveyor belt to a shelf, the user inputs a prompt such as "move package from conveyor belt to shelf" into an information terminal. Following this prompt, the AI model generates the appropriate code, which can then be executed immediately.
[0331] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0332] Step 1:
[0333] The user inputs program specification information using an information terminal. This specification information includes the program's purpose and operating conditions, specifically the task details, such as moving a package from a conveyor belt to a shelf. This information is sent to the server, and processing begins as input data.
[0334] Step 2:
[0335] The server analyzes the received specification information and converts it into a format that is easy for the generating AI model to process. During the analysis process, it is broken down into multiple code generation instructions. For example, it is broken down into specific operations such as "lift the package" or "move to the coordinates." This is then sent as input to the next step.
[0336] Step 3:
[0337] The server sends the decomposed code generation instructions to the AI model. The AI model generates the optimal program code and sends that code to the server. Examples of generated code include program instructions such as "rotate the robot arm 90 degrees" and "set the travel distance." In this step, the input is the code generation instructions, and the output is the specific program code.
[0338] Step 4:
[0339] The server executes the generated program code in a virtual execution environment to verify that there are no defects. In this environment, the server performs operational checks and identifies parts that do not function as intended. If a defect is found, it analyzes the details and sends correction instructions to the AI model. The input for this step is the program code, and the output is a defect report and correction instructions.
[0340] Step 5:
[0341] After all code generation instructions have been processed and verification is complete, the server generates integrated program code and provides it to the user's information terminal. This final code is intended for direct implementation into the machine. The output is integrated, verified program code.
[0342] Step 6:
[0343] The user implements the provided program code into the factory machinery and initiates its operation in actual work. At this stage, the process is complete when the code functions correctly and the intended task is performed. The input is the generated program code, and the output is the successful operation of the machinery.
[0344] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0345] This invention provides a specific example of a system that provides efficient code generation that takes into account the user's emotions in the process of generating program code using a generative AI model. This system incorporates an emotion engine that recognizes the user's emotions, thereby achieving flexible responses tailored to individual situations.
[0346] The user uses a terminal to register the specifications of the program they want to generate into the system. These specifications include the program's purpose, requirements, and constraints. Based on the user's input, the terminal's emotion engine analyzes the user's emotional state. This emotion engine determines emotions using parameters such as the user's voice, facial expressions, and keystroke speed.
[0347] The server considers the emotional state received from the emotion engine and divides the specification information into multiple code generation requests. If the emotional state is stable, the task division is performed as usual; if it is determined that the user is experiencing stress, the task is broken down into smaller parts to reduce the burden on the user.
[0348] The generation AI model receives a code generation request from the server and automatically generates the specified program code. Meanwhile, the server moves the generated code to a virtual execution environment where its operation is verified. Based on the verification results, the server sends a correction request to the generation AI model as needed.
[0349] Once all tasks have been processed and the integrated program code is complete, the server sends this code to the terminal. The terminal then notifies the user that the completed code is ready.
[0350] As a concrete example, consider a scenario where a user wants to implement a specific data analysis algorithm. Once the user registers the specifications, the sentiment engine begins the analysis. If the user encounters difficulties, the system breaks down the task further, providing detailed feedback at each stage. The appropriately generated program code is sent to the terminal, which the user downloads and uses in their work.
[0351] Thus, by using an emotion engine, the present invention aims to provide a personalized experience tailored to the user's situation and to make interaction with the generated AI model efficient and comfortable.
[0352] The following describes the processing flow.
[0353] Step 1:
[0354] The user uses a terminal to input specification information about the program they want to generate and uploads it to the system. The specification information includes detailed descriptions of the program's purpose and main requirements.
[0355] Step 2:
[0356] The device transmits user input to the emotion engine in real time. The device records the user's keystroke speed, operation patterns, and, if voice input is present, the tone of voice as emotion data.
[0357] Step 3:
[0358] The emotion engine analyzes data received from the device to determine the user's emotional state. If the user is showing signs of stress, the emotion engine sends a result reflecting that state to the server.
[0359] Step 4:
[0360] The server analyzes the received specification information and sentiment data, and divides the program generation task into multiple code generation requests. Based on the sentiment data, it adjusts the complexity of the task and subdivides it if necessary to reduce the user's burden.
[0361] Step 5:
[0362] The server sends the divided code generation requests to the generation AI model. By providing the generation AI model with specific information related to each task, the server achieves optimal code generation.
[0363] Step 6:
[0364] The generative AI model generates program code according to instructions from the server and sends the generated code back to the server.
[0365] Step 7:
[0366] The server tests the program code received from the generated AI model in a virtual execution environment and verifies its operation. The server logs any detected defects and, if necessary, sends a correction request to the generated AI model.
[0367] Step 8:
[0368] After all code generation requests have been successfully processed, the server integrates the individual program code and combines it into a final unified program code.
[0369] Step 9:
[0370] The server performs a final check on the integrated program code to ensure consistent operation. Code that passes this check is then prepared for the user.
[0371] Step 10:
[0372] The server sends the prepared integrated program code to the terminal. The terminal notifies the user that the code is available for download.
[0373] Step 11:
[0374] Users receive the completed program code via their device and utilize it in their actual work and projects. Through adjustments by an emotion engine, users can use the program efficiently and with minimal stress.
[0375] (Example 2)
[0376] Next, we will describe Example 2. 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".
[0377] Traditionally, automated program code generation has suffered from increased user stress and burden due to uniform processing without considering the user's emotional state. Furthermore, while there is a demand for improved performance and accuracy in the generated code, there is a need for a method to generate code efficiently without increasing the user's burden.
[0378] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0379] In this invention, the server includes means for receiving specification information registered by the user using a terminal and decomposing said specification information into multiple code generation requests; means including an emotion judgment device that analyzes the user's input information in order to determine the user's emotional state; and means for sending said code generation requests to a generation AI model and receiving the generated program code. This enables flexible code generation according to the user's emotional state, reducing stress and burden while efficiently generating high-quality program code.
[0380] A "terminal" is an electronic device used by users to input information and interface with a system.
[0381] "Specification information" refers to information that includes the conditions necessary for generating program code, such as the program's purpose, requirements, and constraints.
[0382] An "emotion assessment device" is a device that analyzes the user's voice, facial expressions, keystroke speed, etc., and has the function of inferring the user's emotional state.
[0383] A "generative AI model" is an artificial intelligence model that automatically generates program code based on input specification information and prompt statements.
[0384] A "virtual execution environment" is an environment that allows for simulation to test whether the generated program code works correctly.
[0385] A "code generation request" is a command sent to a generation AI model to instruct it to generate program code.
[0386] A "correction request" is a request to instruct the generating AI model to correct any defects in the generated program code.
[0387] This invention relates to a system for generating and verifying program code that takes into account the emotional state of the user. This system utilizes software including an emotion judgment device and a generation AI model to achieve efficient and high-quality code generation.
[0388] The user registers specification information, including the program's purpose, requirements, and constraints, using a terminal. During this process, the terminal analyzes voice input, facial recognition, and keystroke speed and pattern, and uses an emotion assessment device to determine the user's emotional state. The emotion assessment is configured to dynamically adjust processing within the system when a specific emotional pattern is detected.
[0389] The server, based on emotional data from the emotion judgment device, performs more flexible task division than before, breaking down specification information into multiple code generation requests. For example, if the user is experiencing stress, the task is further subdivided. These requests are then sent to the generative AI model, which automatically generates the specified program code. The hardware used by the generative AI model in this process is a high-performance computer cluster.
[0390] The generated program code is verified by the server in a virtual execution environment. The virtual execution environment provides the data processing capabilities necessary to test the code for performance and functionality. If any defects are found after this verification, the server sends a correction request to the generated AI model.
[0391] After all code generation requests are completed without issue, the integrated program code is processed again by the server and provided to the user's terminal. The terminal notifies the user that the code is ready and allows them to use the final product.
[0392] For example, if a user enters a prompt such as, "I need to implement a data analysis algorithm. The input data should be in CSV format, and the output results should be displayed as a graph," this system will generate algorithm code based on that requirement, verify its operation, and then provide the final code.
[0393] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0394] Step 1:
[0395] The user uses a terminal to input program specification information and register it with the system. This input includes the program's purpose, requirements, and constraints. This information forms the basis for the system's subsequent processing.
[0396] Step 2:
[0397] The terminal transmits user input information to an emotion assessment device, which analyzes voice, facial expressions, keystroke speed, and other data. Based on this data, the emotion assessment device determines the user's emotional state and sends it to the server. Here, the input is the user's biometric data, and the output is the analyzed emotional state.
[0398] Step 3:
[0399] The server divides the specification information into multiple code generation requests based on the specification information and the received emotional state. If the emotional state is stable, the task is divided as usual; if stress is judged to be high, it is divided into smaller parts. This ensures that each individual task is generated at a size appropriate for the AI model. The output is the corresponding code generation request.
[0400] Step 4:
[0401] The server sends a code generation request to the generative AI model and receives the program code generated by the model. In this process, the generative AI model generates code based on the input code generation request, and that code becomes the output.
[0402] Step 5:
[0403] The server transfers the generated program code to a virtual execution environment and verifies whether it works correctly. The input here is the generated program code, and the output is the verification result of whether the code worked as expected. If there are any problems, a correction request is sent to the generating AI model based on these results.
[0404] Step 6:
[0405] After all generation requests have been successfully processed, the server sends the integrated program code to the terminal. The terminal receives this code and notifies the user that the completed code is available. The final output is the program code, formatted for use.
[0406] (Application Example 2)
[0407] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0408] Conventional systems fail to consider user emotions when generating or modifying program code, resulting in inadequate consideration of workload. Furthermore, there is a lack of means to efficiently generate and adjust code while reducing user stress. Consequently, a significant challenge is the decline in user productivity, particularly in stressful environments or when performing complex tasks.
[0409] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0410] In this invention, the server includes means for receiving specification information registered by the user using an information processing device and decomposing the specification information into multiple code generation requests; means for sending the code generation requests to a generation AI model and receiving the generated program code; means for verifying the generated program code in a virtual execution environment and identifying defects; means for determining the user's emotional state with an emotion engine and adjusting tasks based on the determination; and means for providing the integrated program code to the user's terminal after all code generation requests have been processed. This makes it possible to efficiently generate and adjust program code while being attentive to the user's emotions.
[0411] An "information processing device" is a hardware device that allows users to register specification information and request the generation of program code, and has the capability to process the input data.
[0412] "Specification information" refers to information that includes the purpose, requirements, and constraints of the program code to be generated, and is the design information that forms the basis of code generation.
[0413] A "code generation request" is a request that includes instructions for a generation AI model to generate specific program code.
[0414] A "generative AI model" is a data processing model that uses artificial intelligence technology to automatically generate program code based on user requests.
[0415] A "virtual execution environment" is a simulation environment within a computer that mimics an actual execution environment, and is used to verify the performance and defects of program code.
[0416] An "emotion engine" is software that determines the emotional state of a user based on data such as their voice, facial expressions, and keystrokes, and then incorporates the results into the code generation process.
[0417] "Task adjustment" is a technique that optimizes the workload by appropriately dividing the code generation process while taking into account the user's emotional state.
[0418] "Integrated program code" refers to a completed software or program formed by combining individual program code generated by multiple code generation requests into a single entity.
[0419] To realize this invention, it is necessary to construct a system that integrates the user's terminal, server, generation AI model, and virtual execution environment. The user registers the specification information of the program they wish to generate using the terminal. This specification information includes the program's purpose, requirements, constraints, etc. The registered specification information is sent to the server.
[0420] The server breaks down the specification information received from the terminal into multiple code generation requests. Next, the server sends the code generation requests to the generation AI model and receives the generated program code. At this time, the server uses an emotion engine to determine the user's emotional state and adjusts the task according to that state. For example, if the user is feeling stressed, the task will be broken down further.
[0421] The generated program code is validated in a virtual execution environment on the server. This virtual execution environment simulates the actual operating environment and is used to check the performance of the program code and detect any defects. Based on the validation results, correction requests are sent to the generated AI model as needed.
[0422] Once all tasks have been processed and the integrated program code is complete, the server provides this code to the user's terminal. The terminal then notifies the user that the completed code is ready.
[0423] A concrete example is when a user creates a program to optimize the movements of a specific robot. The user enters prompt text into the terminal. For example, they might clearly state their requirements, such as, "I want to create a program to optimize the movements of a robot arm. I need to improve accuracy, but I want to maintain the current speed." This allows the emotion engine to analyze the user's emotions while the generative AI model efficiently generates program code.
[0424] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0425] Step 1:
[0426] The user inputs program specification information using a terminal. This specification information includes the program's purpose, requirements, and constraints. This specification information is then sent from the terminal to the server. The input consists of user prompts, and the output consists of the specification information being sent to the server.
[0427] Step 2:
[0428] The server analyzes the received specification information and breaks it down into multiple code generation requests. The analysis identifies each task required for code generation and processes the data to convert it into specific instructions. The output is an individual code generation request.
[0429] Step 3:
[0430] The server uses an emotion engine to evaluate the user's emotional state. Input data includes the user's voice, facial expressions, and keystrokes. Based on this data, the emotion engine analyzes the emotions and outputs an emotional state score. Specifically, it uses microphones and cameras to acquire data in real time and processes it with an emotion recognition algorithm.
[0431] Step 4:
[0432] The server adjusts the code generation request task based on the obtained emotional state score. If the emotional state indicates stress, the server breaks down the task and makes adjustments to reduce the user's burden. The input is the emotional state score, and the output is the adjusted task.
[0433] Step 5:
[0434] The server sends a tailored code generation request to the generative AI model and receives the program code generated from the model. In this step, the generative AI model generates code based on the specified task and returns the program code to the server as output.
[0435] Step 6:
[0436] The server verifies the generated program code in a virtual execution environment. The input is the generated program code, and by performing a simulation in the virtual execution environment, the server obtains verification results and defect information as output.
[0437] Step 7:
[0438] The server sends correction requests to the generated AI model as needed. If a bug is detected during verification, it sends a correction request with that information as input and receives the revised program code again as output.
[0439] Step 8:
[0440] After all code generation requests have been processed, the server generates the integrated program code and provides it to the terminal. The input is the modified program code, and the output is the completed program code sent to the user's terminal.
[0441] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0442] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0443] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0444] [Third Embodiment]
[0445] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0446] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0447] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0448] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0449] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0450] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0451] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0452] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0453] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0454] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0455] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0456] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0457] This invention provides an embodiment of a system that efficiently generates program code using a generative AI model, thereby reducing the burden on users. The specific operation and examples of the system are shown below.
[0458] First, the user registers detailed specifications for the program they wish to generate using their terminal. These specifications include the program's purpose, requirements, and constraints. The terminal then sends this information to the server, and processing begins.
[0459] The server analyzes the received specification information. As a result of the analysis, the specification information is divided into multiple smaller code generation requests, each containing instructions necessary to generate a specific part of the program. This enables efficient code generation for each individual task.
[0460] Next, the server sends each code generation request to the generation AI model. The generation AI model follows the instructions and automatically generates the corresponding program code. The generated code fragments are sent to the server and moved to the virtual execution environment.
[0461] The server tests and verifies each piece of program code received within the virtual execution environment. If a defect is found at this stage, the server analyzes it and, if necessary, requests corrections from the generated AI model. This ensures the quality of the code.
[0462] Once all tasks are successfully completed, the server integrates each generated code fragment into a single program code. The integrated program code is then validated again, and after passing the final checks, it is sent to the user's terminal.
[0463] As a concrete example, let's consider a case where a user wants to implement a specific algorithm in Python. The user registers the detailed specifications of the algorithm on their device and uploads them to the system. The server analyzes this and breaks it down into "data input processing," "algorithm calculation part," and "result output processing." The generated AI model generates code for each of these parts, and the server verifies it. The verified program is sent to the user and becomes available for use in the actual project.
[0464] Thus, the present invention streamlines the trial-and-error process with the generated AI model and eliminates the need for users to directly manage their interactions with the AI, thereby facilitating the program generation process.
[0465] The following describes the processing flow.
[0466] Step 1:
[0467] The user uses a terminal to create specification information for program generation and uploads it to the system. The user enters concise and accurate information, and describes the program's purpose and requirements in detail.
[0468] Step 2:
[0469] The terminal sends the specification information received from the user to the server. Based on this specification information, the terminal requests the server to start a new project.
[0470] Step 3:
[0471] The server analyzes the received specification information and divides it into tasks necessary for generating program code. The server manages these divided tasks as a list and sets the priority of each task.
[0472] Step 4:
[0473] The server selects a task from the task list and requests the generative AI model to generate code. The server provides the generative AI model with detailed information about the task to support appropriate code generation.
[0474] Step 5:
[0475] The generative AI model generates program code based on instructions from the server and sends the generated code back to the server.
[0476] Step 6:
[0477] The server receives the generated code and performs initial validation on its contents. The server verifies that the code does not contain basic syntax errors.
[0478] Step 7:
[0479] The server deploys the code to a virtual execution environment and verifies that the program works as intended. The server records the test results and collects error logs.
[0480] Step 8:
[0481] The server evaluates the verification results and, if necessary, provides feedback to the generated AI model, repeating this process until the corrections are complete.
[0482] Step 9:
[0483] After all tasks have been successfully completed, the server integrates the code and assembles the whole into a single executable program.
[0484] Step 10:
[0485] The server performs a final check on the integrated program code to ensure consistent operation.
[0486] Step 11:
[0487] The final version of the program code is sent to the terminal. The terminal notifies the user that the code is ready.
[0488] Step 12:
[0489] Users receive the completed program code from their terminal, download it, and apply it to their own projects. This allows users to acquire and utilize the program with minimal effort.
[0490] (Example 1)
[0491] Next, we will describe Example 1. 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."
[0492] Conventional program generation systems require users to directly interact with the generated AI model while creating programs, and the trial-and-error process involved is cumbersome. Furthermore, the verification process of the generated code and the request for bug fixes involve a lot of manual work, hindering efficient development. The aim is to solve these problems, generate program code quickly and effectively, and reduce the burden on users.
[0493] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0494] In this invention, the server includes means for receiving specification information registered by the user using an information processing device and decomposing the specification information into multiple program generation requests; means for sending the program generation requests to a generation AI model and receiving the generated application software code; and means for verifying the generated application software code in a virtual execution environment and identifying defects. This enables rapid and automatic generation, verification, and modification of program code as needed, thereby reducing the burden on the user and facilitating efficient program development.
[0495] An "information processing device" is a device used to process data and perform calculations and information management.
[0496] "Specification information" refers to information that details the objectives, requirements, and constraints that a program should achieve.
[0497] A "program generation request" is an instruction to divide a large program task into smaller parts according to its purpose and generate specific program code.
[0498] A "generative AI model" is a model that uses artificial intelligence technology to automatically generate program code.
[0499] "Application software code" is a set of program instructions generated for a specific purpose.
[0500] A "virtual execution environment" is a virtualized platform for safely verifying and debugging generated program code.
[0501] A "defect" is an unintended error or malfunction that occurs during the design or execution of a program.
[0502] "Hierarchical processing" is a method of structuring information and tasks hierarchically to make them easier to manage.
[0503] This invention relates to an embodiment of a system for efficiently generating program code using a generative AI model. This system primarily consists of a user, a terminal, and a server, and its specific operation and usage examples are described below.
[0504] The user uses an information processing device to input the specification information necessary for program generation and register it with the system. The registered specification information is sent to the server via the terminal. The server analyzes this specification information and divides the program generation request into several smaller tasks. Each task consists of instructions for generating a specific part of the program code.
[0505] The server uses a generative AI model to process each program generation request and automatically generates the associated program code. The generated code is returned to the server and transferred to a virtual execution environment. In this environment, the server tests each code fragment and verifies its correct operation. If any defects are found, the server requests additional corrections from the generative AI model to maintain code quality.
[0506] After all code fragments have been generated and verified without any issues, the server integrates them and combines them into the final program code. This completed program code undergoes a final check before being sent to the user's information processing device.
[0507] As a concrete example, consider a case where a user wants to implement a specific sorting algorithm in Python. The user registers the requirement in the system as specification information: "I need to implement an ascending sorting algorithm." Based on this information, the server divides the task into "data input processing," "algorithm calculation part," and "result output processing." The generated AI model generates Python code corresponding to each task, and its operation is verified on the server. The verified code is provided to the user and can be used in actual projects.
[0508] An example of a prompt might be, "Implement an ascending bubble sort algorithm in Python. The data input should be in list format, and the result should be returned as a sorted list." By having a generative AI model process based on this prompt, efficient program development can be achieved.
[0509] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0510] Step 1:
[0511] The user uses an information processing device to input and register the specification information necessary for program generation into the system. This specification information includes the program's purpose, required specifications, and constraints. The input specification information forms the basis of the program code. Based on this input information, the user communicates the required functions and specifications in detail to the system.
[0512] Step 2:
[0513] The terminal sends the specification information entered by the user to the server. The transmitted data arrives at the server via the network, and the server begins processing based on that information. The output at this step prepares the server for the specification information to reach and proceed to the next analysis step.
[0514] Step 3:
[0515] The server analyzes the received specification information and divides each task into specific program generation requests. The analysis involves understanding what functions the program should have and dividing tasks into "data input processing," "algorithm implementation," and "result output processing." At this stage, data processing is performed using the analysis results, enabling efficient program generation.
[0516] Step 4:
[0517] The server sends a program generation request to the AI model, which then generates the necessary program code for each task according to the instructions. The AI model performs natural language processing based on the input request and outputs appropriate code snippets. This automatically generates individual program parts.
[0518] Step 5:
[0519] The server receives the program code fragments returned from the generated AI model and transfers them to a virtual execution environment. Testing in this virtual environment is a process to verify that the code can be executed safely. The output of this step is an analysis result indicating whether the code executes without errors.
[0520] Step 6:
[0521] The server verifies each code fragment within the virtual execution environment to confirm the accuracy of its operation. If a bug is found during this process, the server analyzes its details and, if necessary, requests a correction from the generated AI model. Identifying bugs and submitting correction requirements improves the quality of the program.
[0522] Step 7:
[0523] After all code fragments have been successfully generated and verified, the server integrates them into a single program. The integrated program is then re-verified. The output at this stage is the completed program code, free of errors.
[0524] Step 8:
[0525] The completed program code is sent by the server to the user's information processing device. The user can receive this code and apply it to actual projects and tasks. This process allows users to freely use automatically generated, high-quality code.
[0526] (Application Example 1)
[0527] Next, we will explain Application Example 1. In the following explanation, 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."
[0528] In modern factories, efficiently operating machinery requires the rapid and accurate creation of program code. However, program creation requires specialized knowledge, and there is a demand for increased speed and precision. Furthermore, it is crucial to simplify the process from intuitively inputting specification information to implementing it in the machinery. Solving these challenges can significantly improve work efficiency.
[0529] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0530] In this invention, the server includes means for receiving specification information registered by a user using an information terminal and decomposing the specification information into multiple code generation instructions, means for transmitting the code generation instructions to a generation AI model and receiving the generated program code, and means for verifying the generated program code in a virtual execution environment and identifying defects. This makes it possible to quickly generate operating programs for machinery and equipment in a factory and implement them on the machinery and equipment while ensuring accuracy.
[0531] An "information terminal" is an electronic device used by users to input data and register specification information, and includes devices such as personal computers, tablets, and smartphones.
[0532] "Specification information" refers to data that includes detailed instructions, requirements, and constraints regarding the program the user wants to create.
[0533] "Code generation instructions" refer to information that has been broken down into individual instructions for the generation AI model to create program code based on the specification information.
[0534] A "generative AI model" is an artificial intelligence algorithm that has the ability to automatically generate program code with high accuracy based on specified specifications and instructions.
[0535] "Program code" is code that describes a series of instructions and processing procedures necessary for a machine or information system to operate.
[0536] A "virtual execution environment" is a virtualized space on a computer system used to simulate a real environment and verify the operation and defects of program code.
[0537] "Mechanical equipment" refers to automated devices and robots designed to perform specific tasks or processes in a factory.
[0538] The system realizing this invention provides a process for users to efficiently generate operating programs for mechanical devices using an information terminal. The user inputs specification information related to the program using the information terminal. This specification information includes the purpose of operation and required setting conditions. This information is transmitted to a server via the internet or other means.
[0539] The server analyzes the received specification information and breaks it down into a format that is easy for the generating AI model to handle. The analysis results are organized into several clear code generation instructions. These instructions are sent from the server to the generating AI model, and the AI automatically generates individual program code based on the specified specifications.
[0540] The generated program code is validated in a virtual execution environment on the server. Here, the code's behavior is verified to ensure it is accurate and as intended, and potential bugs are identified. This process ensures the reliability of the generated program.
[0541] The verified program code is then implemented into machinery in the factory. This generated code is used to automate robot operations and manufacturing process management in the factory. For example, when designing a robot operation to move a package from a conveyor belt to a shelf, the user inputs a prompt such as "move package from conveyor belt to shelf" into an information terminal. Following this prompt, the AI model generates the appropriate code, which can then be executed immediately.
[0542] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0543] Step 1:
[0544] The user inputs program specification information using an information terminal. This specification information includes the program's purpose and operating conditions, specifically the task details, such as moving a package from a conveyor belt to a shelf. This information is sent to the server, and processing begins as input data.
[0545] Step 2:
[0546] The server analyzes the received specification information and converts it into a format that is easy for the generating AI model to process. During the analysis process, it is broken down into multiple code generation instructions. For example, it is broken down into specific operations such as "lift the package" or "move to the coordinates." This is then sent as input to the next step.
[0547] Step 3:
[0548] The server sends the decomposed code generation instructions to the AI model. The AI model generates the optimal program code and sends that code to the server. Examples of generated code include program instructions such as "rotate the robot arm 90 degrees" and "set the travel distance." In this step, the input is the code generation instructions, and the output is the specific program code.
[0549] Step 4:
[0550] The server executes the generated program code in a virtual execution environment to verify that there are no defects. In this environment, the server performs operational checks and identifies parts that do not function as intended. If a defect is found, it analyzes the details and sends correction instructions to the AI model. The input for this step is the program code, and the output is a defect report and correction instructions.
[0551] Step 5:
[0552] After all code generation instructions have been processed and verification is complete, the server generates integrated program code and provides it to the user's information terminal. This final code is intended for direct implementation into the machine. The output is integrated, verified program code.
[0553] Step 6:
[0554] The user implements the provided program code into the factory machinery and initiates its operation in actual work. At this stage, the process is complete when the code functions correctly and the intended task is performed. The input is the generated program code, and the output is the successful operation of the machinery.
[0555] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0556] This invention provides a specific example of a system that provides efficient code generation that takes into account the user's emotions in the process of generating program code using a generative AI model. This system incorporates an emotion engine that recognizes the user's emotions, thereby achieving flexible responses tailored to individual situations.
[0557] The user uses a terminal to register the specifications of the program they want to generate into the system. These specifications include the program's purpose, requirements, and constraints. Based on the user's input, the terminal's emotion engine analyzes the user's emotional state. This emotion engine determines emotions using parameters such as the user's voice, facial expressions, and keystroke speed.
[0558] The server considers the emotional state received from the emotion engine and divides the specification information into multiple code generation requests. If the emotional state is stable, the task division is performed as usual; if it is determined that the user is experiencing stress, the task is broken down into smaller parts to reduce the burden on the user.
[0559] The generation AI model receives a code generation request from the server and automatically generates the specified program code. Meanwhile, the server moves the generated code to a virtual execution environment where its operation is verified. Based on the verification results, the server sends a correction request to the generation AI model as needed.
[0560] Once all tasks have been processed and the integrated program code is complete, the server sends this code to the terminal. The terminal then notifies the user that the completed code is ready.
[0561] As a concrete example, consider a scenario where a user wants to implement a specific data analysis algorithm. Once the user registers the specifications, the sentiment engine begins the analysis. If the user encounters difficulties, the system breaks down the task further, providing detailed feedback at each stage. The appropriately generated program code is sent to the terminal, which the user downloads and uses in their work.
[0562] Thus, by using an emotion engine, the present invention aims to provide a personalized experience tailored to the user's situation and to make interaction with the generated AI model efficient and comfortable.
[0563] The following describes the processing flow.
[0564] Step 1:
[0565] The user uses a terminal to input specification information about the program they want to generate and uploads it to the system. The specification information includes detailed descriptions of the program's purpose and main requirements.
[0566] Step 2:
[0567] The device transmits user input to the emotion engine in real time. The device records the user's keystroke speed, operation patterns, and, if voice input is present, the tone of voice as emotion data.
[0568] Step 3:
[0569] The emotion engine analyzes data received from the device to determine the user's emotional state. If the user is showing signs of stress, the emotion engine sends a result reflecting that state to the server.
[0570] Step 4:
[0571] The server analyzes the received specification information and sentiment data, and divides the program generation task into multiple code generation requests. Based on the sentiment data, it adjusts the complexity of the task and subdivides it if necessary to reduce the user's burden.
[0572] Step 5:
[0573] The server sends the divided code generation requests to the generation AI model. By providing the generation AI model with specific information related to each task, the server achieves optimal code generation.
[0574] Step 6:
[0575] The generative AI model generates program code according to instructions from the server and sends the generated code back to the server.
[0576] Step 7:
[0577] The server tests the program code received from the generated AI model in a virtual execution environment and verifies its operation. The server logs any detected defects and, if necessary, sends a correction request to the generated AI model.
[0578] Step 8:
[0579] After all code generation requests have been successfully processed, the server integrates the individual program code and combines it into a final unified program code.
[0580] Step 9:
[0581] The server performs a final check on the integrated program code to ensure consistent operation. Code that passes this check is then prepared for the user.
[0582] Step 10:
[0583] The server sends the prepared integrated program code to the terminal. The terminal notifies the user that the code is available for download.
[0584] Step 11:
[0585] Users receive the completed program code via their device and utilize it in their actual work and projects. Through adjustments by an emotion engine, users can use the program efficiently and with minimal stress.
[0586] (Example 2)
[0587] Next, we will describe Example 2. 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."
[0588] Traditionally, automated program code generation has suffered from increased user stress and burden due to uniform processing without considering the user's emotional state. Furthermore, while there is a demand for improved performance and accuracy in the generated code, there is a need for a method to generate code efficiently without increasing the user's burden.
[0589] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0590] In this invention, the server includes means for receiving specification information registered by the user using a terminal and decomposing said specification information into multiple code generation requests; means including an emotion judgment device that analyzes the user's input information in order to determine the user's emotional state; and means for sending said code generation requests to a generation AI model and receiving the generated program code. This enables flexible code generation according to the user's emotional state, reducing stress and burden while efficiently generating high-quality program code.
[0591] A "terminal" is an electronic device used by users to input information and interface with a system.
[0592] "Specification information" refers to information that includes the conditions necessary for generating program code, such as the program's purpose, requirements, and constraints.
[0593] An "emotion assessment device" is a device that analyzes the user's voice, facial expressions, keystroke speed, etc., and has the function of inferring the user's emotional state.
[0594] A "generative AI model" is an artificial intelligence model that automatically generates program code based on input specification information and prompt statements.
[0595] A "virtual execution environment" is an environment that allows for simulation to test whether the generated program code works correctly.
[0596] A "code generation request" is a command sent to a generation AI model to instruct it to generate program code.
[0597] A "correction request" is a request to instruct the generating AI model to correct any defects in the generated program code.
[0598] This invention relates to a system for generating and verifying program code that takes into account the emotional state of the user. This system utilizes software including an emotion judgment device and a generation AI model to achieve efficient and high-quality code generation.
[0599] The user registers specification information, including the program's purpose, requirements, and constraints, using a terminal. During this process, the terminal analyzes voice input, facial recognition, and keystroke speed and pattern, and uses an emotion assessment device to determine the user's emotional state. The emotion assessment is configured to dynamically adjust processing within the system when a specific emotional pattern is detected.
[0600] The server, based on emotional data from the emotion judgment device, performs more flexible task division than before, breaking down specification information into multiple code generation requests. For example, if the user is experiencing stress, the task is further subdivided. These requests are then sent to the generative AI model, which automatically generates the specified program code. The hardware used by the generative AI model in this process is a high-performance computer cluster.
[0601] The generated program code is verified by the server in a virtual execution environment. The virtual execution environment provides the data processing capabilities necessary to test the code for performance and functionality. If any defects are found after this verification, the server sends a correction request to the generated AI model.
[0602] After all code generation requests are completed without issue, the integrated program code is processed again by the server and provided to the user's terminal. The terminal notifies the user that the code is ready and allows them to use the final product.
[0603] For example, if a user enters a prompt such as, "I need to implement a data analysis algorithm. The input data should be in CSV format, and the output results should be displayed as a graph," this system will generate algorithm code based on that requirement, verify its operation, and then provide the final code.
[0604] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0605] Step 1:
[0606] The user uses a terminal to input program specification information and register it with the system. This input includes the program's purpose, requirements, and constraints. This information forms the basis for the system's subsequent processing.
[0607] Step 2:
[0608] The terminal transmits user input information to an emotion assessment device, which analyzes voice, facial expressions, keystroke speed, and other data. Based on this data, the emotion assessment device determines the user's emotional state and sends it to the server. Here, the input is the user's biometric data, and the output is the analyzed emotional state.
[0609] Step 3:
[0610] The server divides the specification information into multiple code generation requests based on the specification information and the received emotional state. If the emotional state is stable, the task is divided as usual; if stress is judged to be high, it is divided into smaller parts. This ensures that each individual task is generated at a size appropriate for the AI model. The output is the corresponding code generation request.
[0611] Step 4:
[0612] The server sends a code generation request to the generative AI model and receives the program code generated by the model. In this process, the generative AI model generates code based on the input code generation request, and that code becomes the output.
[0613] Step 5:
[0614] The server transfers the generated program code to a virtual execution environment and verifies whether it works correctly. The input here is the generated program code, and the output is the verification result of whether the code worked as expected. If there are any problems, a correction request is sent to the generating AI model based on these results.
[0615] Step 6:
[0616] After all generation requests have been successfully processed, the server sends the integrated program code to the terminal. The terminal receives this code and notifies the user that the completed code is available. The final output is the program code, formatted for use.
[0617] (Application Example 2)
[0618] Next, we will explain application example 2. In the following explanation, 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."
[0619] Conventional systems fail to consider user emotions when generating or modifying program code, resulting in inadequate consideration of workload. Furthermore, there is a lack of means to efficiently generate and adjust code while reducing user stress. Consequently, a significant challenge is the decline in user productivity, particularly in stressful environments or when performing complex tasks.
[0620] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0621] In this invention, the server includes means for receiving specification information registered by the user using an information processing device and decomposing the specification information into multiple code generation requests; means for sending the code generation requests to a generation AI model and receiving the generated program code; means for verifying the generated program code in a virtual execution environment and identifying defects; means for determining the user's emotional state with an emotion engine and adjusting tasks based on the determination; and means for providing the integrated program code to the user's terminal after all code generation requests have been processed. This makes it possible to efficiently generate and adjust program code while being attentive to the user's emotions.
[0622] An "information processing device" is a hardware device that allows users to register specification information and request the generation of program code, and has the capability to process the input data.
[0623] "Specification information" refers to information that includes the purpose, requirements, and constraints of the program code to be generated, and is the design information that forms the basis of code generation.
[0624] A "code generation request" is a request that includes instructions for a generation AI model to generate specific program code.
[0625] A "generative AI model" is a data processing model that uses artificial intelligence technology to automatically generate program code based on user requests.
[0626] A "virtual execution environment" is a simulation environment within a computer that mimics an actual execution environment, and is used to verify the performance and defects of program code.
[0627] An "emotion engine" is software that determines the emotional state of a user based on data such as their voice, facial expressions, and keystrokes, and then incorporates the results into the code generation process.
[0628] "Task adjustment" is a technique that optimizes the workload by appropriately dividing the code generation process while taking into account the user's emotional state.
[0629] "Integrated program code" refers to a completed software or program formed by combining individual program code generated by multiple code generation requests into a single entity.
[0630] To realize this invention, it is necessary to construct a system that integrates the user's terminal, server, generation AI model, and virtual execution environment. The user registers the specification information of the program they wish to generate using the terminal. This specification information includes the program's purpose, requirements, constraints, etc. The registered specification information is sent to the server.
[0631] The server breaks down the specification information received from the terminal into multiple code generation requests. Next, the server sends the code generation requests to the generation AI model and receives the generated program code. At this time, the server uses an emotion engine to determine the user's emotional state and adjusts the task according to that state. For example, if the user is feeling stressed, the task will be broken down further.
[0632] The generated program code is validated in a virtual execution environment on the server. This virtual execution environment simulates the actual operating environment and is used to check the performance of the program code and detect any defects. Based on the validation results, correction requests are sent to the generated AI model as needed.
[0633] Once all tasks have been processed and the integrated program code is complete, the server provides this code to the user's terminal. The terminal then notifies the user that the completed code is ready.
[0634] A concrete example is when a user creates a program to optimize the movements of a specific robot. The user enters prompt text into the terminal. For example, they might clearly state their requirements, such as, "I want to create a program to optimize the movements of a robot arm. I need to improve accuracy, but I want to maintain the current speed." This allows the emotion engine to analyze the user's emotions while the generative AI model efficiently generates program code.
[0635] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0636] Step 1:
[0637] The user inputs program specification information using a terminal. This specification information includes the program's purpose, requirements, and constraints. This specification information is then sent from the terminal to the server. The input consists of user prompts, and the output consists of the specification information being sent to the server.
[0638] Step 2:
[0639] The server analyzes the received specification information and breaks it down into multiple code generation requests. The analysis identifies each task required for code generation and processes the data to convert it into specific instructions. The output is an individual code generation request.
[0640] Step 3:
[0641] The server uses an emotion engine to evaluate the user's emotional state. Input data includes the user's voice, facial expressions, and keystrokes. Based on this data, the emotion engine analyzes the emotions and outputs an emotional state score. Specifically, it uses microphones and cameras to acquire data in real time and processes it with an emotion recognition algorithm.
[0642] Step 4:
[0643] The server adjusts the code generation request task based on the obtained emotional state score. If the emotional state indicates stress, the server breaks down the task and makes adjustments to reduce the user's burden. The input is the emotional state score, and the output is the adjusted task.
[0644] Step 5:
[0645] The server sends a tailored code generation request to the generative AI model and receives the program code generated from the model. In this step, the generative AI model generates code based on the specified task and returns the program code to the server as output.
[0646] Step 6:
[0647] The server verifies the generated program code in a virtual execution environment. The input is the generated program code, and by performing a simulation in the virtual execution environment, the server obtains verification results and defect information as output.
[0648] Step 7:
[0649] The server sends correction requests to the generated AI model as needed. If a bug is detected during verification, it sends a correction request with that information as input and receives the revised program code again as output.
[0650] Step 8:
[0651] After all code generation requests have been processed, the server generates the integrated program code and provides it to the terminal. The input is the modified program code, and the output is the completed program code sent to the user's terminal.
[0652] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0653] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0654] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0655] [Fourth Embodiment]
[0656] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0657] As shown in Figure 7, the 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.
[0658] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0659] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0660] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0661] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0662] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0663] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0664] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0665] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0666] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0667] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0668] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0669] This invention provides an embodiment of a system that efficiently generates program code using a generative AI model, thereby reducing the burden on users. The specific operation and examples of the system are shown below.
[0670] First, the user registers detailed specifications for the program they wish to generate using their terminal. These specifications include the program's purpose, requirements, and constraints. The terminal then sends this information to the server, and processing begins.
[0671] The server analyzes the received specification information. As a result of the analysis, the specification information is divided into multiple smaller code generation requests, each containing instructions necessary to generate a specific part of the program. This enables efficient code generation for each individual task.
[0672] Next, the server sends each code generation request to the generation AI model. The generation AI model follows the instructions and automatically generates the corresponding program code. The generated code fragments are sent to the server and moved to the virtual execution environment.
[0673] The server tests and verifies each piece of program code received within the virtual execution environment. If a defect is found at this stage, the server analyzes it and, if necessary, requests corrections from the generated AI model. This ensures the quality of the code.
[0674] Once all tasks are successfully completed, the server integrates each generated code fragment into a single program code. The integrated program code is then validated again, and after passing the final checks, it is sent to the user's terminal.
[0675] As a concrete example, let's consider a case where a user wants to implement a specific algorithm in Python. The user registers the detailed specifications of the algorithm on their device and uploads them to the system. The server analyzes this and breaks it down into "data input processing," "algorithm calculation part," and "result output processing." The generated AI model generates code for each of these parts, and the server verifies it. The verified program is sent to the user and becomes available for use in the actual project.
[0676] Thus, the present invention streamlines the trial-and-error process with the generated AI model and eliminates the need for users to directly manage their interactions with the AI, thereby facilitating the program generation process.
[0677] The following describes the processing flow.
[0678] Step 1:
[0679] The user uses a terminal to create specification information for program generation and uploads it to the system. The user enters concise and accurate information, and describes the program's purpose and requirements in detail.
[0680] Step 2:
[0681] The terminal sends the specification information received from the user to the server. Based on this specification information, the terminal requests the server to start a new project.
[0682] Step 3:
[0683] The server analyzes the received specification information and divides it into tasks necessary for generating program code. The server manages these divided tasks as a list and sets the priority of each task.
[0684] Step 4:
[0685] The server selects a task from the task list and requests the generative AI model to generate code. The server provides the generative AI model with detailed information about the task to support appropriate code generation.
[0686] Step 5:
[0687] The generative AI model generates program code based on instructions from the server and sends the generated code back to the server.
[0688] Step 6:
[0689] The server receives the generated code and performs initial validation on its contents. The server verifies that the code does not contain basic syntax errors.
[0690] Step 7:
[0691] The server deploys the code to a virtual execution environment and verifies that the program works as intended. The server records the test results and collects error logs.
[0692] Step 8:
[0693] The server evaluates the verification results and, if necessary, provides feedback to the generated AI model, repeating this process until the corrections are complete.
[0694] Step 9:
[0695] After all tasks have been successfully completed, the server integrates the code and assembles the whole into a single executable program.
[0696] Step 10:
[0697] The server performs a final check on the integrated program code to ensure consistent operation.
[0698] Step 11:
[0699] The final version of the program code is sent to the terminal. The terminal notifies the user that the code is ready.
[0700] Step 12:
[0701] Users receive the completed program code from their terminal, download it, and apply it to their own projects. This allows users to acquire and utilize the program with minimal effort.
[0702] (Example 1)
[0703] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0704] Conventional program generation systems require users to directly interact with the generated AI model while creating programs, and the trial-and-error process involved is cumbersome. Furthermore, the verification process of the generated code and the request for bug fixes involve a lot of manual work, hindering efficient development. The aim is to solve these problems, generate program code quickly and effectively, and reduce the burden on users.
[0705] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0706] In this invention, the server includes means for receiving specification information registered by the user using an information processing device and decomposing the specification information into multiple program generation requests; means for sending the program generation requests to a generation AI model and receiving the generated application software code; and means for verifying the generated application software code in a virtual execution environment and identifying defects. This enables rapid and automatic generation, verification, and modification of program code as needed, thereby reducing the burden on the user and facilitating efficient program development.
[0707] An "information processing device" is a device used to process data and perform calculations and information management.
[0708] "Specification information" refers to information that details the objectives, requirements, and constraints that a program should achieve.
[0709] A "program generation request" is an instruction to divide a large program task into smaller parts according to its purpose and generate specific program code.
[0710] A "generative AI model" is a model that uses artificial intelligence technology to automatically generate program code.
[0711] "Application software code" is a set of program instructions generated for a specific purpose.
[0712] A "virtual execution environment" is a virtualized platform for safely verifying and debugging generated program code.
[0713] A "defect" is an unintended error or malfunction that occurs during the design or execution of a program.
[0714] "Hierarchical processing" is a method of structuring information and tasks hierarchically to make them easier to manage.
[0715] This invention relates to an embodiment of a system for efficiently generating program code using a generative AI model. This system primarily consists of a user, a terminal, and a server, and its specific operation and usage examples are described below.
[0716] The user uses an information processing device to input the specification information necessary for program generation and register it with the system. The registered specification information is sent to the server via the terminal. The server analyzes this specification information and divides the program generation request into several smaller tasks. Each task consists of instructions for generating a specific part of the program code.
[0717] The server uses a generative AI model to process each program generation request and automatically generates the associated program code. The generated code is returned to the server and transferred to a virtual execution environment. In this environment, the server tests each code fragment and verifies its correct operation. If any defects are found, the server requests additional corrections from the generative AI model to maintain code quality.
[0718] After all code fragments have been generated and verified without any issues, the server integrates them and combines them into the final program code. This completed program code undergoes a final check before being sent to the user's information processing device.
[0719] As a concrete example, consider a case where a user wants to implement a specific sorting algorithm in Python. The user registers the requirement in the system as specification information: "I need to implement an ascending sorting algorithm." Based on this information, the server divides the task into "data input processing," "algorithm calculation part," and "result output processing." The generated AI model generates Python code corresponding to each task, and its operation is verified on the server. The verified code is provided to the user and can be used in actual projects.
[0720] An example of a prompt might be, "Implement an ascending bubble sort algorithm in Python. The data input should be in list format, and the result should be returned as a sorted list." By having a generative AI model process based on this prompt, efficient program development can be achieved.
[0721] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0722] Step 1:
[0723] The user uses an information processing device to input and register the specification information necessary for program generation into the system. This specification information includes the program's purpose, required specifications, and constraints. The input specification information forms the basis of the program code. Based on this input information, the user communicates the required functions and specifications in detail to the system.
[0724] Step 2:
[0725] The terminal sends the specification information entered by the user to the server. The transmitted data arrives at the server via the network, and the server begins processing based on that information. The output at this step prepares the server for the specification information to reach and proceed to the next analysis step.
[0726] Step 3:
[0727] The server analyzes the received specification information and divides each task into specific program generation requests. The analysis involves understanding what functions the program should have and dividing tasks into "data input processing," "algorithm implementation," and "result output processing." At this stage, data processing is performed using the analysis results, enabling efficient program generation.
[0728] Step 4:
[0729] The server sends a program generation request to the AI model, which then generates the necessary program code for each task according to the instructions. The AI model performs natural language processing based on the input request and outputs appropriate code snippets. This automatically generates individual program parts.
[0730] Step 5:
[0731] The server receives the program code fragments returned from the generated AI model and transfers them to a virtual execution environment. Testing in this virtual environment is a process to verify that the code can be executed safely. The output of this step is an analysis result indicating whether the code executes without errors.
[0732] Step 6:
[0733] The server verifies each code fragment within the virtual execution environment to confirm the accuracy of its operation. If a bug is found during this process, the server analyzes its details and, if necessary, requests a correction from the generated AI model. Identifying bugs and submitting correction requirements improves the quality of the program.
[0734] Step 7:
[0735] After all code fragments have been successfully generated and verified, the server integrates them into a single program. The integrated program is then re-verified. The output at this stage is the completed program code, free of errors.
[0736] Step 8:
[0737] The completed program code is sent by the server to the user's information processing device. The user can receive this code and apply it to actual projects and tasks. This process allows users to freely use automatically generated, high-quality code.
[0738] (Application Example 1)
[0739] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0740] In modern factories, efficiently operating machinery requires the rapid and accurate creation of program code. However, program creation requires specialized knowledge, and there is a demand for increased speed and precision. Furthermore, it is crucial to simplify the process from intuitively inputting specification information to implementing it in the machinery. Solving these challenges can significantly improve work efficiency.
[0741] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0742] In this invention, the server includes means for receiving specification information registered by a user using an information terminal and decomposing the specification information into multiple code generation instructions, means for transmitting the code generation instructions to a generation AI model and receiving the generated program code, and means for verifying the generated program code in a virtual execution environment and identifying defects. This makes it possible to quickly generate operating programs for machinery and equipment in a factory and implement them on the machinery and equipment while ensuring accuracy.
[0743] An "information terminal" is an electronic device used by users to input data and register specification information, and includes devices such as personal computers, tablets, and smartphones.
[0744] "Specification information" refers to data that includes detailed instructions, requirements, and constraints regarding the program the user wants to create.
[0745] "Code generation instructions" refer to information that has been broken down into individual instructions for the generation AI model to create program code based on the specification information.
[0746] A "generative AI model" is an artificial intelligence algorithm that has the ability to automatically generate program code with high accuracy based on specified specifications and instructions.
[0747] "Program code" is code that describes a series of instructions and processing procedures necessary for a machine or information system to operate.
[0748] A "virtual execution environment" is a virtualized space on a computer system used to simulate a real environment and verify the operation and defects of program code.
[0749] "Mechanical equipment" refers to automated devices and robots designed to perform specific tasks or processes in a factory.
[0750] The system realizing this invention provides a process for users to efficiently generate operating programs for mechanical devices using an information terminal. The user inputs specification information related to the program using the information terminal. This specification information includes the purpose of operation and required setting conditions. This information is transmitted to a server via the internet or other means.
[0751] The server analyzes the received specification information and breaks it down into a format that is easy for the generating AI model to handle. The analysis results are organized into several clear code generation instructions. These instructions are sent from the server to the generating AI model, and the AI automatically generates individual program code based on the specified specifications.
[0752] The generated program code is validated in a virtual execution environment on the server. Here, the code's behavior is verified to ensure it is accurate and as intended, and potential bugs are identified. This process ensures the reliability of the generated program.
[0753] The verified program code is then implemented into machinery in the factory. This generated code is used to automate robot operations and manufacturing process management in the factory. For example, when designing a robot operation to move a package from a conveyor belt to a shelf, the user inputs a prompt such as "move package from conveyor belt to shelf" into an information terminal. Following this prompt, the AI model generates the appropriate code, which can then be executed immediately.
[0754] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0755] Step 1:
[0756] The user inputs program specification information using an information terminal. This specification information includes the program's purpose and operating conditions, specifically the task details, such as moving a package from a conveyor belt to a shelf. This information is sent to the server, and processing begins as input data.
[0757] Step 2:
[0758] The server analyzes the received specification information and converts it into a format that is easy for the generating AI model to process. During the analysis process, it is broken down into multiple code generation instructions. For example, it is broken down into specific operations such as "lift the package" or "move to the coordinates." This is then sent as input to the next step.
[0759] Step 3:
[0760] The server sends the decomposed code generation instructions to the AI model. The AI model generates the optimal program code and sends that code to the server. Examples of generated code include program instructions such as "rotate the robot arm 90 degrees" and "set the travel distance." In this step, the input is the code generation instructions, and the output is the specific program code.
[0761] Step 4:
[0762] The server executes the generated program code in a virtual execution environment to verify that there are no defects. In this environment, the server performs operational checks and identifies parts that do not function as intended. If a defect is found, it analyzes the details and sends correction instructions to the AI model. The input for this step is the program code, and the output is a defect report and correction instructions.
[0763] Step 5:
[0764] After all code generation instructions have been processed and verification is complete, the server generates integrated program code and provides it to the user's information terminal. This final code is intended for direct implementation into the machine. The output is integrated, verified program code.
[0765] Step 6:
[0766] The user implements the provided program code into the factory machinery and initiates its operation in actual work. At this stage, the process is complete when the code functions correctly and the intended task is performed. The input is the generated program code, and the output is the successful operation of the machinery.
[0767] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0768] This invention provides a specific example of a system that provides efficient code generation that takes into account the user's emotions in the process of generating program code using a generative AI model. This system incorporates an emotion engine that recognizes the user's emotions, thereby achieving flexible responses tailored to individual situations.
[0769] The user uses a terminal to register the specifications of the program they want to generate into the system. These specifications include the program's purpose, requirements, and constraints. Based on the user's input, the terminal's emotion engine analyzes the user's emotional state. This emotion engine determines emotions using parameters such as the user's voice, facial expressions, and keystroke speed.
[0770] The server considers the emotional state received from the emotion engine and divides the specification information into multiple code generation requests. If the emotional state is stable, the task division is performed as usual; if it is determined that the user is experiencing stress, the task is broken down into smaller parts to reduce the burden on the user.
[0771] The generation AI model receives a code generation request from the server and automatically generates the specified program code. Meanwhile, the server moves the generated code to a virtual execution environment where its operation is verified. Based on the verification results, the server sends a correction request to the generation AI model as needed.
[0772] Once all tasks have been processed and the integrated program code is complete, the server sends this code to the terminal. The terminal then notifies the user that the completed code is ready.
[0773] As a concrete example, consider a scenario where a user wants to implement a specific data analysis algorithm. Once the user registers the specifications, the sentiment engine begins the analysis. If the user encounters difficulties, the system breaks down the task further, providing detailed feedback at each stage. The appropriately generated program code is sent to the terminal, which the user downloads and uses in their work.
[0774] Thus, by using an emotion engine, the present invention aims to provide a personalized experience tailored to the user's situation and to make interaction with the generated AI model efficient and comfortable.
[0775] The following describes the processing flow.
[0776] Step 1:
[0777] The user uses a terminal to input specification information about the program they want to generate and uploads it to the system. The specification information includes detailed descriptions of the program's purpose and main requirements.
[0778] Step 2:
[0779] The device transmits user input to the emotion engine in real time. The device records the user's keystroke speed, operation patterns, and, if voice input is present, the tone of voice as emotion data.
[0780] Step 3:
[0781] The emotion engine analyzes data received from the device to determine the user's emotional state. If the user is showing signs of stress, the emotion engine sends a result reflecting that state to the server.
[0782] Step 4:
[0783] The server analyzes the received specification information and sentiment data, and divides the program generation task into multiple code generation requests. Based on the sentiment data, it adjusts the complexity of the task and subdivides it if necessary to reduce the user's burden.
[0784] Step 5:
[0785] The server sends the divided code generation requests to the generation AI model. By providing the generation AI model with specific information related to each task, the server achieves optimal code generation.
[0786] Step 6:
[0787] The generative AI model generates program code according to instructions from the server and sends the generated code back to the server.
[0788] Step 7:
[0789] The server tests the program code received from the generated AI model in a virtual execution environment and verifies its operation. The server logs any detected defects and, if necessary, sends a correction request to the generated AI model.
[0790] Step 8:
[0791] After all code generation requests have been successfully processed, the server integrates the individual program code and combines it into a final unified program code.
[0792] Step 9:
[0793] The server performs a final check on the integrated program code to ensure consistent operation. Code that passes this check is then prepared for the user.
[0794] Step 10:
[0795] The server sends the prepared integrated program code to the terminal. The terminal notifies the user that the code is available for download.
[0796] Step 11:
[0797] Users receive the completed program code via their device and utilize it in their actual work and projects. Through adjustments by an emotion engine, users can use the program efficiently and with minimal stress.
[0798] (Example 2)
[0799] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0800] Traditionally, automated program code generation has suffered from increased user stress and burden due to uniform processing without considering the user's emotional state. Furthermore, while there is a demand for improved performance and accuracy in the generated code, there is a need for a method to generate code efficiently without increasing the user's burden.
[0801] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0802] In this invention, the server includes means for receiving specification information registered by the user using a terminal and decomposing said specification information into multiple code generation requests; means including an emotion judgment device that analyzes the user's input information in order to determine the user's emotional state; and means for sending said code generation requests to a generation AI model and receiving the generated program code. This enables flexible code generation according to the user's emotional state, reducing stress and burden while efficiently generating high-quality program code.
[0803] A "terminal" is an electronic device used by users to input information and interface with a system.
[0804] "Specification information" refers to information that includes the conditions necessary for generating program code, such as the program's purpose, requirements, and constraints.
[0805] An "emotion assessment device" is a device that analyzes the user's voice, facial expressions, keystroke speed, etc., and has the function of inferring the user's emotional state.
[0806] A "generative AI model" is an artificial intelligence model that automatically generates program code based on input specification information and prompt statements.
[0807] A "virtual execution environment" is an environment that allows for simulation to test whether the generated program code works correctly.
[0808] A "code generation request" is a command sent to a generation AI model to instruct it to generate program code.
[0809] A "correction request" is a request to instruct the generating AI model to correct any defects in the generated program code.
[0810] This invention relates to a system for generating and verifying program code that takes into account the emotional state of the user. This system utilizes software including an emotion judgment device and a generation AI model to achieve efficient and high-quality code generation.
[0811] The user registers specification information, including the program's purpose, requirements, and constraints, using a terminal. During this process, the terminal analyzes voice input, facial recognition, and keystroke speed and pattern, and uses an emotion assessment device to determine the user's emotional state. The emotion assessment is configured to dynamically adjust processing within the system when a specific emotional pattern is detected.
[0812] The server, based on emotional data from the emotion judgment device, performs more flexible task division than before, breaking down specification information into multiple code generation requests. For example, if the user is experiencing stress, the task is further subdivided. These requests are then sent to the generative AI model, which automatically generates the specified program code. The hardware used by the generative AI model in this process is a high-performance computer cluster.
[0813] The generated program code is verified by the server in a virtual execution environment. The virtual execution environment provides the data processing capabilities necessary to test the code for performance and functionality. If any defects are found after this verification, the server sends a correction request to the generated AI model.
[0814] After all code generation requests are completed without issue, the integrated program code is processed again by the server and provided to the user's terminal. The terminal notifies the user that the code is ready and allows them to use the final product.
[0815] For example, if a user enters a prompt such as, "I need to implement a data analysis algorithm. The input data should be in CSV format, and the output results should be displayed as a graph," this system will generate algorithm code based on that requirement, verify its operation, and then provide the final code.
[0816] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0817] Step 1:
[0818] The user uses a terminal to input program specification information and register it with the system. This input includes the program's purpose, requirements, and constraints. This information forms the basis for the system's subsequent processing.
[0819] Step 2:
[0820] The terminal transmits user input information to an emotion assessment device, which analyzes voice, facial expressions, keystroke speed, and other data. Based on this data, the emotion assessment device determines the user's emotional state and sends it to the server. Here, the input is the user's biometric data, and the output is the analyzed emotional state.
[0821] Step 3:
[0822] The server divides the specification information into multiple code generation requests based on the specification information and the received emotional state. If the emotional state is stable, the task is divided as usual; if stress is judged to be high, it is divided into smaller parts. This ensures that each individual task is generated at a size appropriate for the AI model. The output is the corresponding code generation request.
[0823] Step 4:
[0824] The server sends a code generation request to the generative AI model and receives the program code generated by the model. In this process, the generative AI model generates code based on the input code generation request, and that code becomes the output.
[0825] Step 5:
[0826] The server transfers the generated program code to a virtual execution environment and verifies whether it works correctly. The input here is the generated program code, and the output is the verification result of whether the code worked as expected. If there are any problems, a correction request is sent to the generating AI model based on these results.
[0827] Step 6:
[0828] After all generation requests have been successfully processed, the server sends the integrated program code to the terminal. The terminal receives this code and notifies the user that the completed code is available. The final output is the program code, formatted for use.
[0829] (Application Example 2)
[0830] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0831] Conventional systems fail to consider user emotions when generating or modifying program code, resulting in inadequate consideration of workload. Furthermore, there is a lack of means to efficiently generate and adjust code while reducing user stress. Consequently, a significant challenge is the decline in user productivity, particularly in stressful environments or when performing complex tasks.
[0832] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0833] In this invention, the server includes means for receiving specification information registered by the user using an information processing device and decomposing the specification information into multiple code generation requests; means for sending the code generation requests to a generation AI model and receiving the generated program code; means for verifying the generated program code in a virtual execution environment and identifying defects; means for determining the user's emotional state with an emotion engine and adjusting tasks based on the determination; and means for providing the integrated program code to the user's terminal after all code generation requests have been processed. This makes it possible to efficiently generate and adjust program code while being attentive to the user's emotions.
[0834] An "information processing device" is a hardware device that allows users to register specification information and request the generation of program code, and has the capability to process the input data.
[0835] "Specification information" refers to information that includes the purpose, requirements, and constraints of the program code to be generated, and is the design information that forms the basis of code generation.
[0836] A "code generation request" is a request that includes instructions for a generation AI model to generate specific program code.
[0837] A "generative AI model" is a data processing model that uses artificial intelligence technology to automatically generate program code based on user requests.
[0838] A "virtual execution environment" is a simulation environment within a computer that mimics an actual execution environment, and is used to verify the performance and defects of program code.
[0839] An "emotion engine" is software that determines the emotional state of a user based on data such as their voice, facial expressions, and keystrokes, and then incorporates the results into the code generation process.
[0840] "Task adjustment" is a technique that optimizes the workload by appropriately dividing the code generation process while taking into account the user's emotional state.
[0841] "Integrated program code" refers to a completed software or program formed by combining individual program code generated by multiple code generation requests into a single entity.
[0842] To realize this invention, it is necessary to construct a system that integrates the user's terminal, server, generation AI model, and virtual execution environment. The user registers the specification information of the program they wish to generate using the terminal. This specification information includes the program's purpose, requirements, constraints, etc. The registered specification information is sent to the server.
[0843] The server breaks down the specification information received from the terminal into multiple code generation requests. Next, the server sends the code generation requests to the generation AI model and receives the generated program code. At this time, the server uses an emotion engine to determine the user's emotional state and adjusts the task according to that state. For example, if the user is feeling stressed, the task will be broken down further.
[0844] The generated program code is validated in a virtual execution environment on the server. This virtual execution environment simulates the actual operating environment and is used to check the performance of the program code and detect any defects. Based on the validation results, correction requests are sent to the generated AI model as needed.
[0845] Once all tasks have been processed and the integrated program code is complete, the server provides this code to the user's terminal. The terminal then notifies the user that the completed code is ready.
[0846] A concrete example is when a user creates a program to optimize the movements of a specific robot. The user enters prompt text into the terminal. For example, they might clearly state their requirements, such as, "I want to create a program to optimize the movements of a robot arm. I need to improve accuracy, but I want to maintain the current speed." This allows the emotion engine to analyze the user's emotions while the generative AI model efficiently generates program code.
[0847] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0848] Step 1:
[0849] The user inputs program specification information using a terminal. This specification information includes the program's purpose, requirements, and constraints. This specification information is then sent from the terminal to the server. The input consists of user prompts, and the output consists of the specification information being sent to the server.
[0850] Step 2:
[0851] The server analyzes the received specification information and breaks it down into multiple code generation requests. The analysis identifies each task required for code generation and processes the data to convert it into specific instructions. The output is an individual code generation request.
[0852] Step 3:
[0853] The server uses an emotion engine to evaluate the user's emotional state. Input data includes the user's voice, facial expressions, and keystrokes. Based on this data, the emotion engine analyzes the emotions and outputs an emotional state score. Specifically, it uses microphones and cameras to acquire data in real time and processes it with an emotion recognition algorithm.
[0854] Step 4:
[0855] The server adjusts the code generation request task based on the obtained emotional state score. If the emotional state indicates stress, the server breaks down the task and makes adjustments to reduce the user's burden. The input is the emotional state score, and the output is the adjusted task.
[0856] Step 5:
[0857] The server sends a tailored code generation request to the generative AI model and receives the program code generated from the model. In this step, the generative AI model generates code based on the specified task and returns the program code to the server as output.
[0858] Step 6:
[0859] The server verifies the generated program code in a virtual execution environment. The input is the generated program code, and by performing a simulation in the virtual execution environment, the server obtains verification results and defect information as output.
[0860] Step 7:
[0861] The server sends correction requests to the generated AI model as needed. If a bug is detected during verification, it sends a correction request with that information as input and receives the revised program code again as output.
[0862] Step 8:
[0863] After all code generation requests have been processed, the server generates the integrated program code and provides it to the terminal. The input is the modified program code, and the output is the completed program code sent to the user's terminal.
[0864] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0865] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0866] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0867] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0868] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0869] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0870] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0871] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0872] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0873] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0874] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[0875] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[0876] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0877] 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.
[0878] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0879] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0880] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0881] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0882] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0883] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0884] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[0885] The following is further disclosed regarding the embodiments described above.
[0886] (Claim 1)
[0887] A means for receiving specification information registered by a user using a terminal and for breaking down said specification information into multiple code generation requests,
[0888] A means for sending a code generation request to a generation AI model and receiving the generated program code,
[0889] A means for verifying the generated program code in a virtual execution environment and identifying defects,
[0890] A means of providing the integrated program code to the user's terminal after all code generation requests have been processed,
[0891] A system that includes this.
[0892] (Claim 2)
[0893] The system according to claim 1, further comprising means for analyzing specification information from users and assigning priorities to tasks.
[0894] (Claim 3)
[0895] The system according to claim 1, further comprising means for sending a modification request to the generated AI model based on the verification results in the virtual execution environment.
[0896] "Example 1"
[0897] (Claim 1)
[0898] A means for receiving specification information registered by a user using an information processing device and for breaking down said specification information into multiple program generation requests,
[0899] A means for sending a program generation request to a generation AI model and receiving the generated application software code,
[0900] A means for verifying the generated application software code in a virtual execution environment and identifying defects,
[0901] A means for providing the integrated application software code to the user's information processing device after all program generation requests have been processed,
[0902] A hierarchical processing method for structuring and managing program generation requests,
[0903] A system that includes this.
[0904] (Claim 2)
[0905] The system according to claim 1, further comprising means for analyzing specification information from users and assigning priorities to processing tasks.
[0906] (Claim 3)
[0907] The system according to claim 1, further comprising means for sending a correction request to the generated AI model based on the verification results in the virtual execution environment to improve code quality.
[0908] "Application Example 1"
[0909] (Claim 1)
[0910] A means for receiving specification information registered by a user using an information terminal and for decomposing said specification information into multiple code generation instructions,
[0911] A means for sending a code generation instruction to a generating AI model and receiving the generated program code,
[0912] A means for verifying the generated program code in a virtual execution environment and identifying defects,
[0913] A means for providing the integrated program code to the user's information terminal after all code generation instructions have been processed,
[0914] A means for generating an operating program for machinery and equipment in a factory, and for implementing the generated operating program in the machinery and equipment,
[0915] A system that includes this.
[0916] (Claim 2)
[0917] The system according to claim 1, further comprising means for analyzing specification information from users and assigning priorities to processes.
[0918] (Claim 3)
[0919] The system according to claim 1, further comprising means for sending correction instructions to the generated AI model based on the verification results in the virtual execution environment.
[0920] "Example 2 of combining an emotion engine"
[0921] (Claim 1)
[0922] A means for receiving specification information registered by a user using a terminal and for breaking down said specification information into multiple code generation requests,
[0923] A means including an emotion determination device that analyzes user input information in order to determine the user's emotional state,
[0924] A means for sending a code generation request to a generation AI model and receiving the generated program code,
[0925] A means for verifying the generated program code in a virtual execution environment and identifying defects,
[0926] A means of providing the integrated program code to the user's terminal after all code generation requests have been processed,
[0927] A system that includes this.
[0928] (Claim 2)
[0929] The system according to claim 1, further comprising means for analyzing specification information from users and assigning priorities to tasks.
[0930] (Claim 3)
[0931] The system according to claim 1, further comprising means for sending a modification request to the generated AI model based on the verification results in the virtual execution environment.
[0932] "Application example 2 when combining with an emotional engine"
[0933] (Claim 1)
[0934] A means for receiving specification information registered by a user using an information processing device and for breaking down said specification information into multiple code generation requests,
[0935] A means for sending a code generation request to a generation AI model and receiving the generated program code,
[0936] A means for verifying the generated program code in a virtual execution environment and identifying defects,
[0937] A means for determining the user's emotional state using an emotion engine and adjusting tasks based on that determination,
[0938] A means of providing the integrated program code to the user's terminal after all code generation requests have been processed,
[0939] A system that includes this.
[0940] (Claim 2)
[0941] The system according to claim 1, further comprising means for analyzing specification information from users and assigning priorities to tasks.
[0942] (Claim 3)
[0943] The system according to claim 1, further comprising means for sending a modification request to the generated AI model based on the verification results in the virtual execution environment. [Explanation of Symbols]
[0944] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for receiving specification information registered by a user using a terminal and for breaking down said specification information into multiple code generation requests, A means for sending a code generation request to a generation AI model and receiving the generated program code, A means for verifying the generated program code in a virtual execution environment and identifying defects, A means of providing the integrated program code to the user's terminal after all code generation requests have been processed, A system that includes this.
2. The system according to claim 1, further comprising means for analyzing specification information from users and assigning priorities to tasks.
3. The system according to claim 1, further comprising means for sending a modification request to the generated AI model based on the verification results in the virtual execution environment.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A