Method for supporting program creation, program, and program creation support system
The program creation support system, leveraging AI agents and generative AI, allows non-experts to create IoT device utilization processes without requiring specialized programming knowledge.
Patent Information
- Application Number
- JP2025150450
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-09-10
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2045-09-10
AI Technical Summary
Creating programs for IoT systems requires specialized knowledge of programming languages and device communication specifications, making it difficult for non-experts to build device utilization processes.
A program creation support system that utilizes an AI agent and a generative AI system to generate programs for device utilization processes, supported by device and AI agent information, enabling non-experts to create programs through a user-friendly interface.
Enables non-experts to easily construct device utilization processes in IoT systems, reducing the need for specialized engineering knowledge.
Smart Images

Figure 0007794517000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method for supporting program creation, a program, and a program creation support system. [Background technology]
[0002] Conventionally, in order to realize processing using devices such as sensors and equipment in IoT systems (hereinafter sometimes referred to as "device-based processing"), developers had to create programs based on the specifications of the devices. Specifically, the developers wrote programs to acquire data transmitted from the devices, make judgments about the data, and control the devices based on the judgment results, and then incorporated the programs into the information processing system. For example, JP2019-502993A describes an IoT integrated development tool that allows developers to manually specify configurations for IoT devices using a GUI and generates device profiles, user experience (UX) profiles, and API profiles based on the specified configurations. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Special Publication No. 2019-502993 Summary of the Invention [Problem to be solved by the invention]
[0004] However, creating programs for IoT systems requires knowledge of programming languages and an understanding of device communication specifications, so it has been necessary to rely on specialized engineers. This has made it difficult for non-experts to easily build device utilization processes, which has been a major barrier to introducing device utilization processes into IoT systems.
[0005] The present invention has been made in consideration of the above circumstances, and its purpose is to provide a method, a program, and a program creation support system for supporting program creation so that even non-experts can easily build device utilization processes. [Means for solving the problem]
[0006] A method according to a first aspect of the present invention is a method performed by a program creation support system that supports the creation of a program for causing an information processing system to perform a process, the method being performed by the information processing system being capable of transmitting information between the information processing system and one or more devices, and a process performed by the information processing system using a function of at least one of the devices being called a device-utilizing process; The information processing system is accessible to an AI agent system that performs processing as a predefined AI agent, the AI agent processing including inputting one or more predetermined variables and outputting a response of the generated AI to a predetermined instruction including the one or more variables, the device utilization processing including processing performed by the information processing system using the function of at least one device and the function of at least one AI agent, the program creation support system is accessible to a storage device, and the storage device stores one or more device function information each including information about the function of one device, one or more device specification information each including information about specifications for utilizing the function of one device, one or more AI agent function information each including information about the function of one AI agent, and one or more AI agent specification information each including information about specifications for utilizing the function of one AI agent, Obtaining a description that explains the content of the device use process; Device function information and device specification information for each device, and AI agent function information and AI agent specification information for each AI agent, Obtained description and This method includes instructing a generation AI to generate a program for causing an information processing system to perform device utilization processing based on the above, and obtaining the program generated in response to the instruction from the generation AI.
[0007] A program according to a second aspect of the present invention is a program including instructions for causing a program creation support system to perform processing to assist in the creation of a program for causing an information processing system to perform processing, and the processing performed by the program creation support system in accordance with the instructions includes each step of the method according to the first aspect.
[0008] A program creation support system according to a third aspect of the present invention is a program creation support system that supports the creation of a program for causing an information processing system to perform processing, and has a processing unit and a memory unit that stores instructions for causing the processing unit to perform processing, and the processing performed by the processing unit in accordance with the instructions includes each step of the method according to the first aspect above.
[0009] A program creation support system according to a fourth aspect of the present invention is a program creation support system that supports the creation of a program for causing an information processing system to perform processing, and is a program creation support system having means for performing each step of the method according to the first aspect described above. [Effects of the Invention]
[0010] According to the present invention, it is possible to provide a method, a program, and a program creation support system for supporting the creation of a program so that even a non-expert can easily construct a device utilization process. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a system according to this embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the configuration of the program creation support device. [Figure 3] Fig. 3A is a diagram for explaining device information, Fig. 3B is a diagram for explaining AI agent information, and Fig. 3C is a diagram for explaining functional element template information. [Figure 4] FIG. 4 is a diagram showing an example of device information (device function information, device specification information) when the device is a sensor. [Figure 5] FIG. 5 is a diagram showing an example of device information (device function information, device specification information) when the device is a control device. [Figure 6] FIG. 6 is a diagram showing an example of AI agent information. [Figure 7] FIG. 7 is a flowchart illustrating an example of a program creation support process according to this embodiment. [Figure 8] FIG. 8 is a diagram showing an example of the explanation input screen. [Figure 9] FIG. 9 is a diagram illustrating an example of functional elements that configure the device usage process. [Figure 10] FIG. 10 is a diagram showing an example of functional element information corresponding to the functional elements shown in FIG. [Figure 11] FIG. 11 is a flowchart for explaining a modified example of the program creation support process according to this embodiment. [Figure 12] FIG. 12 is a diagram showing a modified example of the explanation input screen. [Figure 13] FIG. 13 is a diagram showing another modified example of the explanation input screen. DETAILED DESCRIPTION OF THE INVENTION
[0012] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The present embodiment is an example, and the present invention is not limited to this embodiment.
[0013] Fig. 1 shows an example of the configuration of a system according to this embodiment. The system shown in Fig. 1 includes a program creation support device 1, a user terminal device 2, an IoT device 3, a gateway device 4, an IoT device management system 5, an information processing device 6, an AI agent system 7, a generation AI system 8, and a communication tool providing system 9. The information processing device 6 is an example of an information processing system of the present invention.
[0014] 1, multiple IoT devices 3 are connected to a gateway device 4 via a communication network 92, and are then connected to a communication network 91 via the gateway device 4. The communication network 92 includes, for example, a local area network (LAN) or a low power wide area network (LPWAN), and the communication network 91 includes, for example, the Internet.
[0015] [IoT device 3] The IoT device 3 is a device with a predetermined function and is capable of transmitting and receiving information (at least one of sending and receiving) with other devices (e.g., information processing device 6). The IoT device 3 includes, for example, at least one of a sensor that collects predetermined information and a control device (a device with an actuator, a device with an information processing function, etc.) that performs a predetermined operation or process in response to a control command. The sensor included in the IoT device 3 may be, for example, a sensor that detects temperature, humidity, illuminance, infrared rays, acceleration, water leakage, etc. The control device included in the IoT device 3 may be, for example, a fan, a pump, a valve, lighting, an air conditioner, etc.
[0016] The IoT device 3 has a communication function (wired or wireless) that can connect to the communication network 92. The IoT device 3 has, for example, a function to transmit data or status information obtained by a sensor or the like in a predetermined data format, and a function to receive control commands and execute operations according to the commands. The communication method of the IoT device 3 may include, for example, MQTT, HTTP / HTTPS, or a protocol for LPWA. The format of data communicated by the IoT device 3 may be, for example, JSON, CBOR, or binary format.
[0017] [Gateway device 4] The gateway device 4 relays communication between the IoT device 3 over the communication network 92 and communication with an external system over the communication network 91. For example, the gateway device 4 receives data from the IoT device 3 via the communication network 92 and transmits the received data to other devices (such as the IoT device management system 5 and the information processing device 6) connected to the communication network 91. The gateway device 4 may also receive control commands for the IoT device 3 from other devices over the communication network 91 and transmit the control commands to the IoT device 3 connected to the communication network 92. The gateway device 4 may be an edge device that receives data from the IoT device 3 using a communication method such as LPWA and transfers the data to a higher-level device via MQTT or HTTP / HTTPS. In its communication relay function, the gateway device 4 may perform at least some of the following: communication protocol conversion, message aggregation and distribution, data encryption and decryption, authentication and authorization, time synchronization, retry control, and buffering.
[0018] The gateway device 4 may determine relay destination information, authentication information, etc. by referring to registration information related to the IoT device 3, and at least a part of the registration information may be acquired from the IoT device management system 5 or the storage device 15, which will be described later. These specific examples are merely examples, and other configurations having equivalent functions may also be employed.
[0019] [IoT Device Management System 5] The IoT device management system 5 is a system that manages information related to the IoT devices 3, and may manage at least some of the IoT devices 3's identification information, device attributes, communication destination addresses, authentication information, data formats, and command specifications, for example. The IoT device management system 5 may also have functions such as monitoring the status of the IoT devices 3, storing data collected by the IoT devices 3, providing data to applications via APIs, and triggering notification or control processes based on predefined rules. The IoT device management system 5 may also be a platform that receives data from the IoT devices 3, stores it in the cloud, and provides the stored data in response to a request from the information processing device 6. The communication interface with the IoT device management system 5 may include, for example, MQTT, HTTP / HTTPS (REST), or WebSocket.
[0020] The IoT device management system 5 may cooperate with the storage device 15 described below as necessary and provide an API for referring to or updating the device information 151 (at least a part of the device function information and device specification information).
[0021] [AI Agent System 7] The AI agent system 7 is a system having the functionality of an AI agent that receives predetermined input variables and generates a response to an instruction that includes the input variables. The AI agent system 7 may generate a response that includes at least a portion of a summary, classification, extraction, advice, or explanation based on the natural language instruction and the input variables. The response may be in the form of natural language text or structured data (e.g., JSON). The AI agent system 7 may hold an agent definition (prompt template, input variable definition, output schema, tool usage settings, etc.) and execute processing according to the agent definition. For example, the AI agent system 7 may be an execution environment provided on an agent building platform (e.g., an agent execution environment provided by Dify (registered trademark)). At least some of the input variables, such as measurement values, equipment status, time information, thresholds, notification destinations, and procedure parameters, are specified, and a response is generated in response to an instruction that embeds the input variables. As an example, the AI agent system 7 may generate a response that summarizes recent measurement values and, if a measurement value exceeds a threshold, suggests a course of action.
[0022] Collaboration with the AI agent system 7 may be performed, for example, via an HTTP / HTTPS API. The API may include specifications for authentication information (e.g., API key), rate control, timeout, and error handling. Responses may be obtained synchronously, or may be received via asynchronous callback or WebSocket as needed. Responses may include, for example, at least part of the output text, output data (JSON), and meta information (generation time, token usage, version, etc.). The AI agent system 7 may allow the use of external tools or knowledge sources as necessary (for example, calling an external API, querying an external database, or referencing a set of documents stored externally). Furthermore, functional information and specification information related to the AI agent system 7 is managed in AI agent information 152 stored in storage device 15, which will be described later. The AI agent information 152 may include at least some of the input variables, output format, calling method, endpoint, authentication method, etc.
[0023] [Communication Tool Providing System 9] The communication tool providing system 9 is a system that provides a service for sending and receiving messages and displaying sent and received messages. The communication tool providing system 9 may be, for example, a system that enables the transmission of notifications, alerts, inquiries, or responses. For example, the communication tool providing system 9 may manage an identifier for identifying a conversation unit (channel, thread, chat, room, email address, etc.) with a user or group, and may use the identifier to specify a destination, send a message body, obtain a delivery status, etc. Messages sent and received may include, for example, at least a portion of text, structured data (e.g., JSON), attachments (e.g., images, PDFs), and action elements (e.g., buttons, options). The communication tool providing system 9 may be, for example, a system that provides a messaging service such as Slack (registered trademark), LINE (registered trademark), or Chatwork (registered trademark), or may be an email server. The collaboration with the communication tool providing system 9 may be performed, for example, by HTTP / HTTPS (REST) or email transmission (SMTP). When collaborating, management of authentication information, control of transmission rate, settings related to timeout, retransmission control, settings related to error handling, etc. may be performed as appropriate.
[0024] [Information processing device 6] The information processing device 6 executes device usage processing using the functions of one or more IoT devices 3 in accordance with a program created with the support of the program creation support device 1, which will be described later. The device usage processing includes, for example, at least a portion of acquiring data from the IoT devices 3, making a judgment based on the data, controlling the device in accordance with the judgment result, and notifying the judgment result, etc. The information processing device 6 is capable of transmitting information to and from each IoT device 3. The information processing device 6 performs device usage processing in cooperation with the user terminal device 2, the IoT device management system 5, the AI agent system 7, and the communication tool provision system 9 as necessary.
[0025] In the data acquisition process, the information processing device 6 may receive data from the IoT device 3 via the gateway device 4. Alternatively, the information processing device 6 may acquire data collected in the IoT device management system 5 from the IoT device management system 5 via the gateway device 4. The data acquisition method may be, for example, a push type (e.g., reception based on a subscription) or a pull type (e.g., acquisition request at a predetermined interval). In the data acquisition process, the information processing device 6 performs processing in accordance with the connection destination, qualification information, and data format described in the program.
[0026] In the determination process, the information processing device 6 may compare the acquired data with a threshold value, determine the range of the data, calculate statistics based on the data, add time conditions to the data, and combine data detected by multiple sensors. The determination logic may be based on a single condition or multiple conditions. The results of the determination process are stored in temporary memory or as a log, and are referenced as a branch or trigger for subsequent processes (control processes, notification processes).
[0027] In the control process, the information processing device 6 may send a control command to the IoT device 3 via the gateway device 4 or the IoT device management system 5 depending on the results of the data acquisition process or the determination process. The content of the control may include, for example, turning the device on / off, changing a setting value, switching the operation mode, etc. After sending the control command, the information processing device 6 may check whether there is a response, a result code, whether retransmission is possible, etc., and may retry sending the command as necessary, select an alternative transmission path, record an error log, etc.
[0028] In the notification process, the information processing device 6 may generate a notification message based on the results of the determination process and control process, and transmit it to the communication tool providing system 9. The notification destination may be a contact or a predetermined group associated with the user of the user terminal device 2. The content of the notification may include, for example, at least some of the time of occurrence, related devices, measurement results, determination results, recommended actions, etc. If necessary, the information processing device 6 may save a history of notifications so that it can be referenced later.
[0029] The information processing device 6 may send input variables (e.g., recent measurement values, equipment status, time information, etc.) to the AI agent system 7 as needed, and obtain responses (e.g., risk assessments, summaries, countermeasures, etc.) to instructions that include the input variables. The obtained responses may be used to assist in the judgment process, generate notification content, format dashboard displays, etc. This process may be incorporated as part of the device usage process, or may be omitted depending on the conditions.
[0030] In each of the above processes, the information processing device 6 may record the processing results, communication results, error information, etc. The recording destination may be a local storage area, a storage area of the IoT device management system 5, or an external data accumulation service. The recorded information may be referenced for auditing, ensuring reproducibility, subsequent visualization, and operational improvement.
[0031] [Generative AI System 8] The generative AI system 8 is a system that provides the functions of one or more generative AIs (generative artificial intelligence) that can generate at least documents (e.g., programs, configuration files, etc.), and is capable of communicating with the program creation support device 1 via a communication network 91. The generative AI is an artificial intelligence configured to generate sentences, etc. in response to given prompts by having an artificial neural network with a large number of parameters (e.g., billions to hundreds of billions) learn a large amount of data (text data, image data, etc.).
[0032] In this embodiment, the generation AI system 8 receives a natural language description or instructions created based on the description, and generates a program that can be used in a predetermined execution environment. The program to be generated may be a program for executing device utilization processing in the information processing device 6, and the output format may include program code, a script, a configuration file, a workflow description, or a combination of these. The generation AI system 8 may generate a program that conforms to the constraints based on reference information provided by the program creation support device 1 (e.g., at least one of device information 151, AI agent information 152, functional element template information 153, constraints related to the output language or execution environment, coding conventions, etc.).
[0033] For example, the generative AI system 8 may use a general-purpose large-scale language model such as ChatGPT (registered trademark), Gemini (registered trademark), or Claude (registered trademark) to automatically generate a program including functional elements such as data acquisition, judgment, control, or notification from the IoT device 3. The program generated by the generative AI system 8 may include, for example, a workflow description (e.g., Node-RED compatible JSON), a script (e.g., JavaScript, Python, etc.), and a configuration file (e.g., JSON, YAML, etc.). The names listed are registered trademarks of the respective companies.
[0034] Cooperation with the generation AI system 8 may be performed, for example, via an HTTP / HTTPS API. A request to the generation AI system 8 may include, for example, an outline (instructions) of the object to be generated, an identifier (link) of reference information, a specification regarding the output format, and at least some of the generation parameters (e.g., settings regarding output length, temperature, reproducibility, etc.). A response from the generation AI system 8 may include, for example, the generated program (text or structured data) as well as at least some of the meta-information (e.g., generation time, model identifier, version, and description of compliance with constraints, etc.).
[0035] [User terminal device 2] The user terminal device 2 is a device operated by a user involved in creating a program for device use processing in the information processing device 6, and is, for example, a device equipped with information communication functions, such as a smartphone, tablet, or personal computer. The user terminal device 2 may include, for example, at least some of the following: a communication unit for communicating with other devices; a processing unit for performing processing according to program instructions; a memory unit for storing the program; an input unit (touch panel, mouse, keyboard, microphone, etc.) for inputting user instructions; a display unit (liquid crystal display, etc.) for displaying information; and a speaker for outputting sound. While one user terminal device 2 is shown in FIG. 1 as an example, multiple user terminal devices 2 may be used.
[0036] The user terminal device 2 provides a user interface for inputting an explanatory text, displaying information that is lacking in the explanatory text, inputting additional explanatory text to compensate for the lacking information, and checking the generated program. The user terminal device 2 may transmit the input explanatory text or additional explanatory text to the program creation support device 1 and display information provided as a result (such as an overview of the generated results).
[0037] The user terminal device 2 may also be operated by a user viewing information related to the execution of device use processing in the information processing device 6. In this case, the user terminal device 2 may access the information processing device 6 and perform processing to display the execution results of the device use processing on the display unit. Furthermore, the user terminal device 2 may display information notified by the communication tool providing system 9 in conjunction with the execution of the device use processing on the display unit.
[0038] [Programming Support Device 1: Overview (Figure 1)] The program creation support device 1 receives an explanatory text explaining the contents of the device usage processing from the user terminal device 2, instructs the generation AI system 8 to generate a program for causing the information processing device 6 to perform the device usage processing based on the explanatory text, and performs a process of acquiring the program for the device usage processing generated in response to the instruction from the generation AI system 8. The acquired program may be stored in the memory unit 12 and provided to the information processing device 6. If necessary, the program creation support device 1 may instruct the generation AI system 8 to generate a program based on device information 151, AI agent information 152, and functional element template information 153 stored in the memory device 15 described below.
[0039] The program creation support device 1 performs at least a part of the following processes, for example. (a) Explanation acquisition process: A process for acquiring an explanation of the contents of the device use process. (b) Generation AI instruction processing: Processing to give instructions to the generation AI. (c) Program acquisition process: A process for acquiring the program generated by the generation AI. (d) Program provision process: A process of providing the acquired program to other devices (such as the information processing device 6 and the user terminal device 2).
[0040] [Configuration of the program creation support device 1 (Figure 2)] 2 shows an example of the configuration of the program creation support device 1. The program creation support device 1 shown in FIG.
[0041] [Communications Section 11] The communication unit 11 communicates with other devices (user terminal device 2, information processing device 6, IoT device management system 5, AI agent system 7, generation AI system 8, communication tool providing system 9, etc.) via a communication network 91. The communication unit 11 includes devices (network interface card, wireless communication module, etc.) that communicate in accordance with a predetermined communication method (Ethernet (registered trademark), wireless LAN, etc.). The communication unit 11 may perform predetermined processing (encryption, authentication / authorization, retransmission control, queuing, timeout control, etc.) defined in the communication method.
[0042] [Storage section 12] The storage unit 12 stores one or more programs 121 including instructions to be executed by the processing unit 13, data temporarily saved during processing by the processing unit 13, data used in processing by the processing unit 13, or data obtained as a result of processing by the processing unit 13. The storage unit 12 may include, for example, a main storage device (such as RAM), a read-only storage device (such as ROM), and an auxiliary storage device (such as flash memory, SSD, hard disk, memory card, or optical disk). The storage unit 12 may be composed of one storage device or multiple storage devices. When the storage unit 12 is composed of multiple storage devices, each storage device may be connected to the processing unit 13 via a computer bus or any other communication means.
[0043] [Processing section 13] The processing unit 13 controls the overall operation of the program creation support device 1 and performs predetermined information processing. The processing unit 13 includes, for example, one or more processors (such as a central processing unit (CPU), a micro-processing unit (MPU), a digital signal processor (DSP), a graphics processing unit (GPU), or a neural network processing unit (NPU)) that perform processing according to instructions in one or more programs 121 stored in the storage unit 12. The processing unit 13 operates as one or more computers by the one or more processors executing instructions in one or more programs 121 stored in the storage unit 12. The program creation support device 1 may include a plurality of such computers, and at least a portion of the processing according to this embodiment may be performed in cooperation with the plurality of computers.
[0044] The processing unit 13 may include one or more dedicated hardware (such as an ASIC (application specific integrated circuit) or FPGA (field-programmable gate array)) configured to realize a specific function. The processing unit 13 may perform all of the processing described in this embodiment on a computer, or may perform some of the processing on a computer and some of the dedicated hardware, or may perform all of the processing on dedicated hardware.
[0045] The processing unit 13 may perform processing of the program creation support device 1, for example, by executing the program 121. Specifically, the processing unit 13 receives an explanatory text regarding the contents of the device use processing from the user terminal device 2 (explanation acquisition processing), and while referring to the device information 151, AI agent information 152, and functional element template information 153 stored in the storage device 15, issues an instruction to the generation AI system 8 to generate a program for the device use processing (generation AI instruction processing), receives the program generated in the generation AI system 8 and stores it in the storage unit 12 (program acquisition processing), and provides the program to the information processing device 6 (program provision processing).
[0046] [Program 121] The program 121 may be recorded, for example, on a computer-readable recording medium (such as an optical disc, a memory card, a USB memory, or other non-transitory tangible recording medium). The processing unit 13 may read at least a portion of the one or more programs 121 recorded on such a recording medium using a recording medium reading device (such as an optical disc device) or an interface device (such as a USB interface), and write the read at least a portion of the one or more programs 121 to the storage unit 12. Alternatively, the processing unit 13 may download at least a portion of the one or more programs 121 from another device connected to the communication network 91 via the communication unit 11, and write the downloaded program to the storage unit 12. The one or more programs 121 may include instructions that cause the processing unit 13 to perform at least a portion of the processing according to this embodiment, which will be described later.
[0047] At least a portion of the program 121 stored in the memory unit 12 may be composed of, for example, one or more modules, and these modules may include a module for explanatory text acquisition processing, a module for generation AI instruction processing, a module for program acquisition processing, and a module for program provision processing.
[0048] [Storage device 15] The storage device 15 may be a device that stores various information used in the processing of the programming support device 1. The programming support device 1 and the storage device 15 may be connected via any communication path (LAN, dedicated line network, or IP network (e.g., the Internet)). The storage device 15 may be configured, for example, as a file server, database server, NAS, SAN, or object storage (including cloud storage services) that accepts access from multiple devices, or as a dedicated storage device accessible only to the programming support device 1. Alternatively, the storage device 15 may be an internal storage device or an external storage device connected to the processing unit 13 of the programming support device 1 via an internal bus or other communication means. The storage device 15 may be configured as a single device or may be distributed across multiple devices. If necessary, it may be provided with redundancy, duplication, or backup functions.
[0049] 2, the storage device 15 stores one or more pieces of device information 151, one or more pieces of AI agent information 152, and one or more pieces of functional element template information 153. These pieces of information are provided to the generation AI system 8 as information necessary for generation in an instruction to cause the generation AI system 8 to generate a program, and are used to determine functional elements of device usage processing and generate functional element information.
[0050] [Device Information 151 (Figure 3A)] 3A, the device information 151 includes information about the functions of the IoT device 3 (hereinafter referred to as "device function information") and information about specifications for using the functions (hereinafter referred to as "device specification information"). The device information 151 is referenced when the program creation support device 1 gives an instruction to the generation AI system 8 to generate a program.
[0051] The device function information may be, for example, information representing the functions of a sensor possessed by the IoT device 3. In this case, the device function information may be information representing at least part of the sensor's measurement items (temperature, humidity, illuminance, infrared rays, acceleration, water leakage, etc.), measurement unit, measurable range, measurement resolution, sampling interval, and type of event corresponding to the measurement result (exceeding a threshold, status change, etc.).
[0052] The device function information may also be information that represents, for example, the content of a function realized by controlling the IoT device 3 by a command. In this case, the device function information may be information that represents at least a part of the controllable operations (ON / OFF, changing a set value, switching an operation mode, etc.), the objects of control (air conditioning, blinking of a lamp, sounding an alarm, driving a pump, opening and closing a valve, etc.), and safety restrictions.
[0053] Furthermore, the device function information may include, as necessary, the classification of the IoT device 3 (sensor, control device, etc.), the model name of the IoT device 3, the vendor name, the version identifier of the function, and the like.
[0054] The device specification information may include, for example, information about the connection method, communication method, and data structure for using the device capability information. Specifically, the device specification information may include at least a portion of the communication method (MQTT, HTTP / HTTPS, etc.), connection destination (broker / endpoint), topic or path, authentication method (token, certificate, etc.), payload data format (JSON, CBOR, or binary format) and its schema, rate control conditions, and retransmission / timeout policies. If necessary, the device specification information may also include time synchronization, time zone, and metadata (device ID, location, etc.).
[0055] Furthermore, the device information 151 may include, as necessary, priority information of the IoT devices 3 (a selection criterion when there are multiple candidate devices), information on compatibility (whether or not the device meets the required functions), dependency relationships, links to reference documents, etc. The data format of the device information 151 may be, for example, JSON, YAML, XML, or a database record.
[0056] [AI agent information 152 (Figure 3B)] AI agent information 152 includes information about the functions of the AI agent (hereinafter referred to as "AI agent function information") and information about the specifications for using the functions (hereinafter referred to as "AI agent specification information"). AI agent information 152 is referenced when programming support device 1 gives instructions to generation AI system 8 to generate a program.
[0057] The AI agent capability information may be, for example, information that indicates the type of processing provided by the agent and the nature of input and output. In this case, the AI agent capability information may include at least a portion of the task type (summarization, extraction, classification, explanation, advice, index calculation, etc.), the type of input variables (numeric, text, array, time, etc.), and the output format (natural language text or structured data, etc.). Optionally, the AI agent capability information may also include a prompt template, default parameters (temperature, maximum length, etc.), and an identifier for the generative AI model to be used.
[0058] The AI agent specification information may be, for example, information about the calling method and connection conditions of the AI agent. In this case, the AI agent specification information may include at least a portion of the following: endpoints, methods, required headers or qualification information, rate control conditions, timeout and error handling policies, and descriptions of how response metadata (generation time, version, etc.) is handled. If necessary, the information may also include the availability of external tools (external APIs, databases, document groups, etc.) and their settings.
[0059] The AI agent information 152 may be associated with the device information 151. For example, the AI agent information 152 may hold information representing an AI agent that takes measurements obtained from the IoT device 3 as input variables and outputs a summary or risk assessment of the measurements. The data format of the AI agent information 152 may be, for example, JSON, YAML, XML, or a database record.
[0060] [Functional element template information 153 (Figure 3C)] The functional element template information 153 includes a template of functional element information for each of one or more functional elements (reception, determination, control, notification, AI processing, etc.) that constitute a device use process. One piece of functional element information is information (e.g., a JSON expression representing the function of a Node-RED node) for causing the information processing device 6 to perform processing corresponding to one functional element. Each functional element information template may include, for example, the type of functional element, required input, generated output, an identifier of the device information 151 or AI agent information 152 to be referenced, and at least some of the configurable parameters.
[0061] The template of the functional element template information 153 may include, for example, mapping information to an expression format in the execution environment of the device use process. In this case, the template may include at least a portion of the node type, node setting items, connection ports, and serialization format (for example, JSON expression in Node-RED flow description) in the workflow execution environment (for example, Node-RED). If necessary, the template may also include default values for various settings, units of numeric values, allowable ranges of numeric values, and data validation rules (required items, data types, regular expressions, etc.).
[0062] The functional element template information 153 may be a combination of multiple functional element information templates, as shown in Fig. 3C. For example, multiple templates corresponding to a group of functional elements that realize a series of processes, such as reception → determination → control → notification, may be defined as a composite template, and information about the IoT device 3 used in the process (such as the identifier of the IoT device 3) may be embedded as a parameter in this composite template. The data format of the functional element template information 153 may be, for example, JSON, YAML, XML, or a database record.
[0063] The above information (device information 151, AI agent information 152, and functional element template information 153) is an example, and items may be added, deleted, or renamed depending on the application. This information may include a version identifier, and a revision history may be maintained to maintain compatibility or manage updates.
[0064] [Example of device information 151 when the IoT device 3 is a sensor (Figure 4)] Fig. 4 is a diagram showing an example of device information 151 when the IoT device 3 is a sensor. In the example of Fig. 4, one array having a JSON data structure contains three objects, and the three objects correspond to three pieces of device information 151-1 to 151-3. Each piece of device information 151-1 to 151-3 expressed as a JSON object contains device function information and device specification information about the sensor.
[0065] ■Device information 151-1 "Conference room A temperature sensor" (device_name) <Device function information> · Functional description "This sensor measures indoor temperature and humidity in real time and can be used for environmental monitoring and air conditioning control." <Device specification information> Communication protocol MQTT Topic sensor / meetingroomA / temperature Data structure (data_format) Temperature: float Humidity: float timestamp: string
[0066] ■Device information 151-2 "Laboratory CO2 sensor" (device_name) <Device function information> · Functional description "This sensor simultaneously measures carbon dioxide concentration and room temperature, enabling automated ventilation and environmental safety monitoring." <Device specification information> Communication protocol MQTT Topic sensor / lab / co2 Data structure (data_format) CO2 concentration (co2): integer Temperature: float timestamp: string
[0067] ■Device information 151-3 "Water tank water level sensor" (device_name) <Device function information> · Functional description "This water level sensor monitors the water level in water storage tanks and other tanks, and automatically notifies you when an abnormality occurs and links to water supply and drainage control." <Device specification information> Communication protocol MQTT Topic sensor / tank / water level Data structure (data_format) water_level: float timestamp: string
[0068] [Example of device information 151 when the IoT device 3 is a control device (Figure 5)] Fig. 5 is a diagram showing an example of device information 151 when the IoT device 3 is a control device. In the example of Fig. 5, three objects are included in one array having a JSON data structure, and the three objects correspond to three pieces of device information 151-4 to 151-6. Each piece of device information 151-4 to 151-6 expressed as a JSON object includes device function information and device specification information about the control device.
[0069] ■Device information 151-4 "Relay for air conditioning in conference room A" (device_name) <Device function information> · Functional description "Air conditioner relay that can be remotely controlled on / off via MQTT. Can be used for automatic temperature control and power saving purposes." <Device specification information> Communication protocol MQTT Topic device / ac_meetingroom / command Command set (command_set) On: ON Off: OFF
[0070] ■Device information 151-5 "Pump Station No. 1 Pump" (device_name) <Device function information> · Functional description "This pump can be started and stopped via a REST API. It can be incorporated into an automatic water supply and drainage system linked to water levels and timers." <Device specification information> Communication protocol REST API URL (api_url) https: / / api.example.com / device / pump01 / control Command set (command_set) Start: { "action": "start"} Stop: { "action": "stop"} · Authentication information (auth) Bearer xxxxxxx (For example, send the header: Authorization: Bearer {token})
[0071] ■ Device information 151-6 "Roof warning light" (device_name) <Device function information> · Function description (description) "A warning light that can be remotely lit when an abnormality occurs. It is possible to give an immediate alert in combination with sensors and AI detection." <Device specification information> · Communication protocol (protocol) MQTT · Topic (topic) device / lamp01 / command · Command set (command_set) On: ON Off: OFF
[0072] [Example of AI agent information 152 (Figure ⑥)] Figure ⑥ shows an example of AI agent information 152. In the example of Figure ⑥, two objects are included in one array with a JSON data structure, and the two objects correspond to two pieces of AI agent information 152-1 to 152-2. The AI agent information 152-1 to 152-2 represented as JSON objects each contain AI agent function information and AI agent specification information.
[0073] ■ AI agent information 152-1 "Environmental data summary AI" (agent_name) <AI agent function information> · Function description (description) 「An AI agent that automatically generates risks and precautions in natural language based on environmental sensor data. It can be used for reports and notifications.」 <AI Agent Specification Information> · Service provider (service) Dify · Generative AI model (model) gpt-4o · API URL (api_url) https: / / api.dify.ai / v1 / completion · API access key (api_key) xxxxxxxxx · Prompt template (prompt_template) 「The current temperature is {{temperature}} °C and the humidity is {{humidity}}%. Please summarize the risks of this environment.」
[0074] ■ AI Agent Information 152-2 「Water Level Abnormal Alert AI」 (agent_name) <AI Agent Function Information> · Function description (description) 「An AI that analyzes water level sensor data and advises whether it is abnormal and countermeasures in Japanese. It can be linked to automatic notifications and on-site instructions.」 <AI Agent Specification Information> · Service provider (service) OpenAI · Generative AI model (model) gpt-3.5-turbo · API URL (api_url) https: / / api.openai.com / v1 / chat / completions · API access key (api_key) yyyyyyyy · Prompt template (prompt_template) "The water level in the water tank is {{water_level}} cm. Please briefly explain in Japanese whether this is an abnormal value and what action should be taken."
[0075] Next, a process for assisting a user in creating a program for device utilization processing will be described with reference to the flowchart of FIG.
[0076] ST100: The user terminal device 2 that has accessed the programming support device 1 inputs an explanatory text explaining the details of the device use process in accordance with a user's instructions. For example, the programming support device 1 displays a screen A1 for inputting an explanatory text as shown in FIG. 8 on the display unit of the user terminal device 2. The screen A1 shown in FIG. 8 includes a text input field A10 for inputting an explanatory text and a button A11 that is operated to transmit the explanatory text input in the text input field A10 to the programming support device 1. When the user inputs an explanatory text in the text input field A10 of the screen A1 and operates the button A11, the user terminal device 2 transmits the input explanatory text to the programming support device 1. The programming support device 1 receives the explanatory text transmitted from the user terminal device 2 and stores it in the storage unit 12 or the storage device 15. As a result, the programming support device 1 acquires the explanatory text of the device use process.
[0077] ST105: Based on the description of the device usage process acquired in step ST100, the program creation support device 1 instructs the generation AI of the generation AI system 8 to generate a program for causing the information processing device 6 to perform the device usage process. For example, the program creation support device 1 generates the instruction to the generation AI as a prompt and transmits it to the generation AI system 8.
[0078] Specifically, the program creation support device 1 instructs the generation AI to generate a device usage processing program based on the device function information and device specification information (device information 151) of each IoT device 3 stored in the storage device 15 and the explanatory text acquired in step ST100. By preparing the device information 151 of various IoT devices 3 in advance and storing it in the storage device 15, it is possible to easily increase the types of IoT devices 3 for which device usage processing programs can be created.
[0079] Furthermore, the program creation support device 1 may instruct the generation AI to generate a program for device utilization processing based on the device function information and device specification information (device information 151) of each IoT device 3 stored in the storage device 15, the AI agent function information and AI agent specification information (AI agent information 152) of each AI agent stored in the storage device 15, and the explanatory text acquired in step ST100. This allows the AI agent to be used in device utilization processing, making it easier to create programs for advanced device utilization processing. Furthermore, by preparing various AI agent information 152 in advance and storing it in the storage device 15, the range of device utilization processing for which programs can be created can be expanded.
[0080] Specifically, creating a program for device usage processing to instruct the generation AI may involve determining one or more functional elements that constitute the device usage processing, and having the generation AI generate functional element information (information for causing the information processing device 6 to perform processing corresponding to the functional elements) for the determined one or more functional elements. In this case, the program creation support device 1 may determine one or more functional elements (e.g., Node-RED nodes, etc.) that constitute the device usage process based on the device function information and device specification information (device information 151) of each IoT device 3 stored in the storage device 15 and the explanatory text acquired in step ST100, and instruct the generation AI to generate functional element information (e.g., JSON expressions that represent the functions of the Node-RED nodes, etc.) for each of the determined functional elements. Alternatively, the program creation support device 1 may determine one or more functional elements that constitute the device usage process based on the device function information and device specification information (device information 151) of each IoT device 3 stored in the memory device 15, the AI agent function information and AI agent specification information (AI agent information 152) of each AI agent stored in the memory device 15, and the explanatory text acquired in step ST100, and instruct the generation AI to generate functional element information for each of the determined functional elements. In this way, by having the generation AI generate functional element information for one or more functional elements that make up the device usage process, the device usage process program can be understood as a collection of functional element information, making it easier for even users who are not familiar with creating programs to understand how the program works.
[0081] Furthermore, the program creation support device 1 may determine one or more functional elements that constitute the device usage process based on one or more functional element template information 153, each of which is a template for at least one functional element information, the device function information and device specification information (device information 151) of each IoT device 3 stored in the storage device 15, and the explanatory text acquired in step ST100, and instruct the generation AI to generate functional element information for each of the determined functional elements. Alternatively, the program creation support device 1 may determine one or more functional elements that constitute the device usage process based on one or more functional element template information 153, each of which is a template for at least one functional element information, the device function information and device specification information (device information 151) of each IoT device 3 stored in the memory device 15, the AI agent function information and AI agent specification information (AI agent information 152) of each AI agent stored in the memory device 15, and the explanatory text acquired in step ST100, and instruct the generation AI to generate functional element information for each of the determined functional elements. By using the functional element template information 153, it becomes possible to use one or a combination of multiple functional elements in a device utilization process, making it easy to create a program for a sophisticated device utilization process. Also, by preparing various pieces of functional element template information 153 in advance and storing them in the storage device 15, it is possible to widen the range of device utilization processes for which programs can be created.
[0082] ST110: The program creation support device 1 acquires from the generation AI system 8 the program that has been generated in response to the instruction given to the generation AI in step ST105.
[0083] ST115: The program creation support device 1 provides the program acquired in step ST110 to another device. For example, the program creation support device 1 may provide the acquired program to the information processing device 6, making the program executable in the information processing device 6. Alternatively, the program creation support device 1 may provide the acquired program to the user terminal device 2, making it possible to manually upload the program from the user terminal device 2 to the information processing device 6.
[0084] Figure 9 shows an example of functional elements of device use processing determined based on the description in Figure 8. In the example in Figure 9, six functional elements N1 to N6 constituting the device use processing are determined. Processing is performed in the order of functional element N1 (receiving temperature data) → functional element N2 (temperature determination), and depending on the determination result of functional element N2, functional element N3 (air conditioner control) and functional element N4 (prompt generation) are executed in parallel, and processing further proceeds in the order of functional element N4 (prompt generation) → functional element N5 (AI summary) → functional element N6 (LINE notification).
[0085] Functional element N1 receives temperature data (for example, the temperature value and its detection time) from a temperature sensor, and the output of functional element N1 is input to functional element N2.
[0086] Functional element N2 determines whether the temperature exceeds 30° C. based on the temperature data input from functional element N1. If the temperature exceeds 30° C., processing transfers from functional element N2 to the subsequent functional elements N3 and N4, and if the temperature is below 30° C., the subsequent processing (N3, N4) is not executed.
[0087] In functional element N3, in response to the determination in functional element N2 that the temperature has exceeded 30° C., an ON command is sent to the air conditioner, and the air conditioner is turned ON.
[0088] In response to the determination in functional element N2 that the temperature has exceeded 30°C, functional element N4 generates a prompt for the AI agent that includes the temperature value as a variable. The output of functional element N4 is input to functional element N5.
[0089] In functional element N5, the prompt generated in functional element N4 is sent to the AI agent, and the summary sentence generated in response to the prompt is provided by the AI agent. The output of functional element N5 is input to functional element N6.
[0090] In functional element N6, the summary provided by the AI agent in functional element N5 is sent to a predetermined channel (user or group) of LINE (registered trademark).
[0091] FIG. 10 shows an example of functional element information 21 to 26 corresponding to the functional elements N1 to N6 in FIG. 9, and illustrates an example of functional element information expressed in JSON. In the example of FIG. 10, the JSON array contains six objects, each of which corresponds to functional element information 21 to 26. The connection relationships between the functional elements N1 to N6 are expressed by descriptions (wires) in the functional element information 21 to 26. Note that the item names and values are merely examples and can be changed depending on the execution environment.
[0092] As described above, according to this embodiment, a user simply describes the details of the device usage process in natural language, and a program based on that description is automatically generated by the generation AI. This eliminates the need for program design and coding work that was previously performed by developers with specialized knowledge, allowing even non-experts to easily create device usage processes and significantly reducing the effort and time required to create a program.
[0093] Furthermore, according to this embodiment, a program is generated by a generation AI based on the content of the description, making it easier to reflect the user's intentions in the program, thereby improving flexibility and convenience in program implementation.
[0094] Next, some modifications of this embodiment will be described. <Variation 1> In some cases, the initial description entered by the user may not provide enough information to determine the functional elements that make up the device usage process. In this modification, missing information indicating the missing information is presented to the user, and additional description is acquired to fill in the missing information.
[0095] Fig. 11 is a diagram for explaining a modified example of the program creation support process according to this embodiment. The flowchart shown in Fig. 11 shows the process of this modified example (ST200 to ST225) performed in step ST105 (AI generation instruction process) of the flowchart shown in Fig. 7, and the other steps of the flowchart shown in Fig. 11 are the same as those of the flowchart shown in Fig. 7. Here, the process of this modified example (ST200 to ST225) performed in step ST105 will be explained, and explanations of the other steps will be omitted.
[0096] ST200: The programming support device 1 instructs the generation AI to generate a program for the device use process based on the explanatory text acquired in step ST100. The instructions given to the generation AI may include the same instructions as those already described for step ST105 of FIG. 7. That is, the programming support device 1 instructs the generation AI to determine one or more functional elements that constitute the device use process based on the device information 151 stored in the storage device 15 and the explanatory text acquired in step ST100, and to generate functional element information for each determined functional element. The programming support device 1 may instruct the generation AI to further refer to at least one of the AI agent information 152 and the functional element template information 153 stored in the storage device 15 when determining the functional elements.
[0097] Furthermore, in this modified example, if the description obtained in step ST100 lacks information to determine one or more functional elements, the program creation support device 1 instructs the generation AI to generate missing information indicating the missing information.
[0098] Here, the information required to determine the functional elements is called functional element determination information. The functional element determination information includes at least one of the following: (i) the purpose of the device use process, (ii) the type of device used in the device use process, (iii) the conditions to be determined in the device use process, (iv) the control details of the IoT device 3 to be performed in the device use process, and (v) the method of presenting the processing results obtained in the device use process. For example, in step ST200, the program creation support device 1 prompts the generation AI to "determine the functional elements based on the explanatory text, and if unable to do so, generate missing information (questions, options, etc. for user inquiry) along with the reason for the decision and output it for presentation." As a result, the generation AI determines whether the functional component determination information is sufficient and specifies any missing information. Specifically, if there are any missing items (i) to (v) above) in the information for determining functional elements, the program creation support device 1 may instruct the generation AI to generate these missing items as missing information (questions, options, etc. to be queried from the user) (for example, "...If you cannot determine the functional elements, please list up to three additional items necessary for the determination in the form of questions.").
[0099] ST205: The program creation support device 1 determines whether missing information has been generated in the response from the generation AI to the instruction given to the generation AI. If missing information has been generated, the program proceeds to step ST210, and if no missing information has been generated and the program has been generated, the program proceeds to step ST110.
[0100] ST210 / ST215: When missing information is generated in the generation AI, the program creation support device 1 displays the generated missing information on the display unit of the user terminal device 2. When the user is prompted by the display of the missing information to input additional explanatory text, the user terminal device 2 transmits this to the program creation support device 1. The program creation support device 1 receives the additional explanatory text input in response to the displayed missing information from the user terminal device 2 and stores it in the memory unit 12 or the storage device 15. In this way, the program creation support device 1 acquires the additional explanatory text to fill in the missing information.
[0101] ST220: When the additional explanatory text is acquired in step ST215, the programming support apparatus 1 instructs the generation AI to further refer to the acquired additional explanatory text and determine one or more functional elements.
[0102] ST225: The programming support device 1 determines whether missing information has been generated again in the response from the generation AI to the instruction given to the generation AI in step ST220. If it is determined that missing information has been generated again, the process returns to step ST210; otherwise, the process proceeds to step ST110. The programming support device 1 repeats the processes of steps ST210 to ST225 until the generation of missing information by the generation AI is completed, and when no more missing information is generated, the process proceeds to step ST110.
[0103] ST115: As a result of the iteration, when the functional elements are determined and a program is acquired from the generation AI system 8 (ST110), the programming support device 1 provides the program to the information processing device 6 etc. (ST115). This is the same as in FIG. 7.
[0104] FIG. 12 is a diagram showing a modified example of a screen for inputting an explanatory text, illustrating an example of a screen on which an additional explanatory text can be input. Screen A2 shown in FIG. 12 includes an area A21 displaying an explanatory text input by the user, an area A22 displaying missing information generated by the generation AI in response to the explanatory text, a text input field A23 for inputting the additional explanatory text, and a button A24 operated to transmit the additional explanatory text input in the text input field A23 to the program creation support device 1. In this example, the explanatory text "When the temperature exceeds a certain value, the ventilation fan is automatically turned on and a notification is sent to the administrator" is initially input. However, because the temperature determination conditions are unknown, the generation AI generates missing information, "When the temperature exceeds what degree Celsius, do you want to turn on the ventilation fan?" and displays it in area A22. In response to this missing information, the user's additional explanatory text, "Please turn on the ventilation fan when the temperature exceeds 28°C," is input into text input field A23.
[0105] According to this modification, the AI generator identifies ambiguities in the explanation and missing information, and presents them to the user as missing information. The missing information is then supplemented by additional explanations from the user. This effectively prevents the inability to determine functional elements due to incomplete explanations, or the inability to achieve the intended device usage process due to the determination of inappropriate functional elements.
[0106] <Variation 2> This modified example is characterized in that, in acquiring the description (ST100), an input screen is displayed in advance to prompt the user to input information for determining functional elements, and the information for determining functional elements entered on the screen is acquired as part of the description.
[0107] FIG. 13 is a diagram showing another modified example of the screen for inputting an explanatory text. The screen A3 shown in FIG. 13 includes a text input field A31 for freely entering an explanatory text and a button A39 that is operated when transmitting the explanatory text entered in the text input field A31 to the program creation support device 1. Furthermore, the screen A3 includes, as input fields for prompting input of functional element determination information, a type input field A33 for entering the type of device used in the device use process (e.g., the type of sensor) and a control content input field A34 for entering the control content of the device in the device use process (e.g., the equipment to be controlled). The input fields for prompting input of functional element determination information are not limited to the type input field A33 and the control content input field A34 described above, and may include, for example, an input field for entering the purpose of the device use process, a condition input field for entering the conditions to be determined in the device use process, an input field for entering the method of presenting the processing results of the device use process (e.g., notification via LINE, notification via email, etc.). The screen for inputting an explanatory text may include at least one of these input fields. The input method for the input field may be at least one of text input, selection (pull-down, checkbox), or a combination thereof. The displayed wording, layout, and input method are examples and may be replaced with a configuration having equivalent functions.
[0108] When the user operates button A39 while screen A3 is displayed, the program creation support device 1 receives the contents entered in the text input field A31 and each input field (A33-A34) from the user terminal device 2 and acquires them as an explanatory text (an explanation including information for determining functional elements) (ST100). The acquired explanatory text is stored in the storage unit 12 and is referenced in subsequent processing (ST105 and thereafter). Here, the information for determining functional elements may include at least one or more of the purpose of the device use process, the type of device to be used, the conditions to be determined, the control content of the device, and the method for presenting the processing results.
[0109] In this modification, acquiring the explanatory text includes displaying an input screen and acquiring information for determining functional elements entered on the screen. This allows for systematic collection of information necessary for determining functional elements from the initial stage of the explanatory text, reducing uncertainty in the subsequent AI generation instruction process (ST105). If necessary, this method may be used in conjunction with the method of modification 1 (presenting missing information and acquiring additional explanatory text), and supplementation may be performed only if missing information or ambiguity remains.
[0110] According to this modification, the information for determining functional elements can be explicitly acquired on the input screen, which promotes the structuring of explanatory text, contributes to improving the accuracy of determining functional elements, clarifying instructions to the generation AI, and reducing the number of iterations, thereby further improving the efficiency of creating programs for device usage processing.
[0111] <Variation 3> This variant is characterized in that, when there are multiple candidates for IoT devices 3 to be used in device usage processing, the generation AI is instructed to preferentially select the IoT device 3 with the highest priority by referring to the priority information contained in the device information 151.
[0112] Specifically, in step ST105 (generation AI instruction processing), the program creation support device 1 prompts the generation AI to refer to the priority information included in the function information and specification information (device information 151) of each IoT device 3, and to adopt the IoT device 3 with the highest priority if there are multiple IoT devices 3 that meet the conditions of the description. As a result, the generation AI extracts IoT devices 3 that meet the requirements in light of the description and device information 151, and preferentially selects from among them the IoT devices 3 with the highest priority indicated by the priority information, and generates a program (or functional element information) for the device usage processing.
[0113] The priority information may be expressed, for example, as a numerical value (weight) or a scale (high, medium, low). When multiple IoT devices 3 providing the same function are registered, the priority information is used to automatically select the IoT device 3 recommended for operation. When multiple candidates with the same priority exist, one may be selected randomly, or the candidates to be selected may be listed, or the user may be asked to confirm the selection.
[0114] For example, if multiple temperature sensors that provide the same measurement item (temperature) are registered and the description does not specify a specific model, the generation AI determines a functional element with a configuration that uses the temperature sensor with the highest priority based on the priority information in the device information 151, and reflects the IoT device 3 identifier (e.g., device ID, topic name) in the program. On the other hand, if the description specifies the IoT device 3 to be used, the generation AI may be instructed to adopt that IoT device 3 regardless of its priority.
[0115] According to this modification, even in an environment where multiple IoT devices 3 with equivalent functions exist, it is possible to consistently select devices according to a predefined priority policy, thereby reducing operational inconsistencies and improving the reproducibility and maintainability of program generation.
[0116] The present invention is not limited to the above-described embodiment, but includes various variations.
[0117] 1 may be integrated into a single device or distributed across multiple devices. Furthermore, each function may be provided as a cloud service or deployed in an on-premise environment. Furthermore, communication networks 91 and 92 may be separate networks or may be logically divided on the same network infrastructure.
[0118] A part of the processing of the program creation support device 1 in the above-described embodiment may be executed in another device (such as the user terminal device 2). For example, a part of the processing of the program creation support device 1 described above may be executed in the user terminal device 2. In this case, a computer system is configured including the computer of the program creation support device 1 and the computer of the user terminal device 2, and it can be said that the processing according to this embodiment is executed by cooperation between the multiple computers in this computer system. The inventions described in the claims of the present application as originally filed are as follows: [1] A method performed by a program creation support system that supports the creation of a program for causing an information processing system to perform processing, comprising: the information processing system is capable of transmitting information to and from one or more devices; A process performed by the information processing system using the function of at least one of the devices is called a device-based process, obtaining an explanation that explains the content of the device use process; instructing a generation AI to generate the program for causing the information processing system to perform the device usage process based on the acquired description; acquiring the program generated in response to the instruction from the generation AI; A method having the following. [2] the program creation support system is capable of accessing a storage device; The storage device includes: one or more pieces of device capability information, each piece of information relating to the capabilities of one of the devices; and one or more pieces of device specification information each including information on specifications for using the function of one of the devices, giving an instruction to the generation AI to generate the program includes giving an instruction to the generation AI to generate the program based on the device function information and the device specification information of each of the devices and the acquired description; [1] The method described in [1]. [3] Instructing the generation AI to generate the program includes determining one or more functional elements that constitute the device usage process based on the device function information and the device specification information of each device and the acquired description, and instructing the generation AI to generate functional element information for each of the determined functional elements, which is information for causing the information processing system to perform processing corresponding to the functional element. [2] The method described in [2]. [4] the information processing system is accessible to an AI agent system that processes as a predefined AI agent; The processing of the AI agent includes inputting one or more predetermined variables and outputting a response of the generated AI to a predetermined instruction including the one or more variables; the device-utilizing process includes a process performed by the information processing system using a function of at least one of the devices and a function of at least one of the AI agents; The storage device includes: one or more pieces of AI agent function information, each of which contains information about the function of one of the AI agents; and one or more pieces of AI agent specification information each containing information on specifications for utilizing the functions of one of the AI agents; giving an instruction to the generation AI to generate the program includes giving an instruction to the generation AI to generate the program based on the device function information and the device specification information of each of the devices, the AI agent function information and the AI agent specification information of each of the AI agents, and the acquired explanatory text; [2] The method described in [2]. [5] Instructing the generation AI to generate the program includes determining one or more functional elements that constitute the device usage process based on the device function information and device specification information of each device, the AI agent function information and AI agent specification information of each AI agent, and the acquired explanatory text, and instructing the generation AI to generate functional element information for each of the determined functional elements, which is information for causing the information processing system to perform processing corresponding to the functional element. [4] The method described in [4]. [6] Instructing the generation AI to generate the program includes: If the acquired description lacks information for determining one or more of the functional elements, instructing the generation AI to generate missing information indicating the missing information; displaying the missing information generated in the generation AI on a display device; obtaining additional explanatory text entered in response to the displayed missing information; instructing the generation AI to determine one or more of the functional elements by further referring to the acquired additional explanatory text; Repeating the process until the generation of the missing information by the generation AI is completed. [3] The method described in [3]. [7] The information necessary to determine one or more of the functional elements is called functional element determination information, the functional element determination information includes at least one of a purpose of the device use process, a type of the device used in the device use process, a condition determined in the device use process, a content of control of the device performed in the device use process, and a method of presenting a processing result obtained in the device use process; Instructing the generation AI to generate the missing information includes determining whether the functional element determination information is missing in the description, and instructing the generation AI to generate the missing information according to the determination result. [6] The method described in [6]. [8] Obtaining the description includes: displaying an input screen on a display device to prompt the user to input the functional element determination information; acquiring the functional element determination information input on the displayed input screen; [7] The method described in [7]. [9] Information including one template of functional element information corresponding to one of the functional elements, or two or more templates of functional element information corresponding to a combination of two or more of the functional elements, is called functional element template information, the storage device stores one or more pieces of functional component template information; Instructing the generation AI to generate the functional component information includes: determining one or more functional elements constituting the device usage process based on one or more pieces of functional element template information, the device function information of each of the devices, and the acquired description, and instructing the generation AI to generate the functional element information for each of the determined functional elements. [3] The method described in [3].
[10] the device capability information for one of the devices includes priority information regarding the priority of the one of the devices; Instructing the generation AI to generate the program includes instructing the generation AI to, when it is necessary to select some of the devices from a plurality of the devices as candidates to be used in the device usage process, preferentially select the devices having a high priority indicated by the priority information of the device function information. [2] The method described in [2].
[11] A program including instructions for making a program creation support system perform a process for supporting the creation of a program for making an information processing system perform a process, the information processing system is capable of transmitting information to and from one or more devices; A process performed by the information processing system using the function of at least one of the devices is called a device-based process, The processing performed by the program creation support system in accordance with the instructions includes each step of the method described in any one of [1] to
[10] . program.
[12] A program creation support system that supports the creation of a program for causing an information processing system to perform processing, the information processing system is capable of transmitting information to and from one or more devices; A process performed by the information processing system using the function of at least one of the devices is called a device-based process, a processing unit; a storage unit that stores instructions for causing the processing unit to perform processing; The processing performed by the processing unit in accordance with the instructions includes each step of the method described in any one of [1] to
[10] . Program creation support system.
[13] A program creation support system that supports the creation of a program for causing an information processing system to perform processing, the information processing system is capable of transmitting information to and from one or more devices; A process performed by the information processing system using the function of at least one of the devices is called a device-based process, [1] to
[10] , which has a means for performing each step of the method described in any one of [1] to
[10] . Program creation support system. [Explanation of symbols]
[0119] 1...Program creation support device, 11...Communication unit, 12...Memory unit, 121...Program, 13...Processing unit, 15...Storage device, 151...Device information, 152...AI agent information, 153...Function element template information, 2...User terminal device, 3...IoT device, 4...Gateway device, 5...IoT device management system, 6...Information processing device, 7...AI agent system, 8...Generative AI system, 9...Communication tool providing system, 91, 92...Communication network
Claims
1. A method performed by a program creation support system that supports the creation of a program for causing an information processing system to perform processing, comprising: the information processing system is capable of transmitting information to and from one or more devices; A process performed by the information processing system using the function of at least one of the devices is called a device-based process, The information processing system is accessible to an AI agent system that processes as a predefined AI agent; The processing of the AI agent includes inputting one or more predetermined variables and outputting a response of the generated AI to a predetermined instruction including the one or more variables; The device-utilizing process includes a process performed by the information processing system using a function of at least one of the devices and a function of at least one of the AI agents; the program creation support system is capable of accessing a storage device; The storage device one or more pieces of device capability information, each of which contains information about the capabilities of one of the devices; one or more pieces of device specification information each including information relating to specifications for using the function of one of the devices; One or more pieces of AI agent function information each containing information about the function of one of the AI agents; and one or more pieces of AI agent specification information each containing information on specifications for utilizing the function of one of the AI agents; obtaining an explanation for the device use process; instructing the generating AI to generate the program for causing the information processing system to perform the device utilization processing based on the device function information and device specification information of each of the devices, the AI agent function information and AI agent specification information of each of the AI agents, and the acquired explanatory text; acquiring the program generated in response to the instruction from the generation AI; A method having the following.
2. Giving an instruction to the generating AI to generate the program includes determining one or more functional elements that constitute the device usage process based on the device function information and the device specification information of each of the devices, the AI agent function information and the AI agent specification information of each of the AI agents, and the acquired explanatory text, and giving an instruction to the generating AI to generate functional element information for each of the determined functional elements, which is information for causing the information processing system to perform processing corresponding to the functional element. The method of claim 1.
3. Providing an instruction to the generation AI to generate the program includes determining one or more functional elements that constitute the device usage process based on the device function information and the device specification information of each device and the acquired description, and instructing the generation AI to generate functional element information for each of the determined functional elements, which is information for causing the information processing system to perform processing corresponding to the functional element. The method of claim 1.
4. Instructing the generating AI to generate the program includes: If the acquired description lacks information for determining one or more of the functional elements, instruct the generation AI to generate missing information indicating the missing information; Displaying the missing information generated by the generation AI on a display device; obtaining additional explanatory text entered in response to the displayed missing information; instructing the generating AI to determine one or more of the functional elements by further referring to the acquired additional explanatory text; Repeating the process until the generation of the missing information by the generation AI is completed. The method of claim 3.
5. Information necessary to determine one or more of the functional elements is called functional element determination information, the functional element determination information includes at least one of a purpose of the device use process, a type of the device used in the device use process, a condition determined in the device use process, a content of control of the device performed in the device use process, and a method of presenting a processing result obtained in the device use process; Providing an instruction to the generation AI to generate the missing information includes determining whether the functional element determination information is missing in the description, and providing an instruction to the generation AI to generate the missing information according to the determination result. The method of claim 4.
6. Obtaining the description includes: displaying an input screen on a display device to prompt the user to input the functional element determination information; acquiring the functional element determination information input on the displayed input screen; The method of claim 5.
7. Information including one template of functional element information corresponding to one of the functional elements, or two or more templates of functional element information corresponding to a combination of two or more of the functional elements, is called functional element template information, the storage device stores one or more pieces of functional component template information; Providing an instruction to the generation AI to generate the functional component information includes: determining one or more functional elements that constitute the device usage process based on one or more pieces of functional element template information, the device function information of each of the devices, and the acquired description, and instructing the generation AI to generate the functional element information for each of the determined functional elements. The method of claim 3.
8. the device capability information for one of the devices includes priority information regarding the priority of the one of the devices; Instructing the generation AI to generate the program includes instructing the generation AI to preferentially select a device having a high priority indicated by the priority information of the device function information when it is necessary to select some of the devices from a plurality of devices as candidates to be used in the device usage process. The method of claim 1.
9. A program including instructions for making a program creation support system perform a process for supporting the creation of a program for making an information processing system perform a process, the information processing system is capable of transmitting information to and from one or more devices; A process performed by the information processing system using the function of at least one of the devices is called a device-based process, The information processing system is accessible to an AI agent system that processes as a predefined AI agent; The processing of the AI agent includes inputting one or more predetermined variables and outputting a response of the generated AI to a predetermined instruction including the one or more variables; The device-utilizing process includes a process performed by the information processing system using a function of at least one of the devices and a function of at least one of the AI agents; the program creation support system is capable of accessing a storage device; The storage device one or more pieces of device capability information, each of which contains information about the capabilities of one of the devices; one or more pieces of device specification information each including information relating to specifications for using the function of one of the devices; One or more pieces of AI agent function information each containing information about the function of one of the AI agents; and one or more pieces of AI agent specification information each containing information on specifications for utilizing the function of one of the AI agents; The processing performed by the program creation support system in accordance with the instructions includes the steps of the method according to any one of claims 1 to 8. program.
10. A program creation support system that supports the creation of a program for causing an information processing system to perform processing, the information processing system is capable of transmitting information to and from one or more devices; A process performed by the information processing system using the function of at least one of the devices is called a device-based process, The information processing system is accessible to an AI agent system that processes as a predefined AI agent; The processing of the AI agent includes inputting one or more predetermined variables and outputting a response of the generated AI to a predetermined instruction including the one or more variables; The device-utilizing process includes a process performed by the information processing system using a function of at least one of the devices and a function of at least one of the AI agents; the program creation support system is capable of accessing a storage device; The storage device one or more pieces of device capability information, each of which contains information about the capabilities of one of the devices; one or more pieces of device specification information each including information relating to specifications for using the function of one of the devices; One or more pieces of AI agent function information each containing information about the function of one of the AI agents; and one or more pieces of AI agent specification information each containing information on specifications for utilizing the function of one of the AI agents; a processing unit; a storage unit that stores instructions for causing the processing unit to perform processing; The processing performed by the processing unit in accordance with the instructions includes each step of the method described in any one of claims 1 to 8. Program creation support system.
11. A program creation support system that supports the creation of a program for causing an information processing system to perform processing, the information processing system is capable of transmitting information to and from one or more devices; A process performed by the information processing system using the function of at least one of the devices is called a device-based process, The information processing system is accessible to an AI agent system that processes as a predefined AI agent; The processing of the AI agent includes inputting one or more predetermined variables and outputting a response of the generated AI to a predetermined instruction including the one or more variables; The device-utilizing process includes a process performed by the information processing system using a function of at least one of the devices and a function of at least one of the AI agents; the program creation support system is capable of accessing a storage device; The storage device one or more pieces of device capability information, each of which contains information about the capabilities of one of the devices; one or more pieces of device specification information each including information relating to specifications for using the function of one of the devices; One or more pieces of AI agent function information each containing information about the function of one of the AI agents; and one or more pieces of AI agent specification information each containing information on specifications for utilizing the function of one of the AI agents; A method for producing a semiconductor device according to any one of claims 1 to 8, comprising: Program creation support system.
Citation Information
Patent Citations
Internet-of-Things plug-in realization method and device and terminal
CN108170429A
Generating cross-domain guidance for navigating HCI
JP2025524734A
PLC program generator / copilot using generative ai
US20250147737A1
Control system and control method
WO2025099958A1
Integrated Development Tools for Internet of Things (IoT) Systems
JP2019502993A