Information processing device, application generation system, program, application generation method

The information processing device facilitates application generation by converting natural language inputs into API calls to a generation AI system, allowing users to develop applications without requiring specialized knowledge or maintaining their own AI systems.

JP2025143855APending Publication Date: 2025-10-02RICOH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024043318
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-19
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Companies face challenges in developing and maintaining their own AI systems to generate applications, necessitating an external AI system for application generation.

Method used

An information processing device that communicates with a terminal device and a generation AI system via a network, utilizing an application generation unit and a chat control unit to generate applications based on user requests, converting natural language inputs into API calls to the generation AI system.

Benefits of technology

Enables users to develop applications using external AI systems, eliminating the need for specialized knowledge and reducing the complexity of application development.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025143855000001_ABST
    Figure 2025143855000001_ABST
Patent Text Reader

Abstract

To generate an application using an external generative AI system.SOLUTION: In an information processing device, when a chat control unit receives a request transmitted by a generative AI system based on a chat message transmitted to the generative AI system, setting information transmitted to the generative AI system, and information for calling a function which is transmitted to the generative AI system, an application generation unit generates the application relating to the request, based on a parameter included in the received request; and when an instruction to generate a plurality of applications is included in the chat message, the chat control unit generates an application relating to each request based on the request at every reception of the request which is transmitted a plurality of times from the generative AI system.SELECTED DRAWING: Figure 22
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, an application generation system, a program, and an application generation method. [Background technology]

[0002] A programming method using artificial intelligence (AI) has been devised (see, for example, Patent Document 1). Patent Document 1 discloses a technology that acquires text data from conversational text, references a program code database in which one or more program codes are stored in association with the extracted context, a program grammar analysis database, and an automatic program generation knowledge database in which programs that have been made more efficient for the processing operations to be realized are associated, and generates one or more programs corresponding to the extracted context. Summary of the Invention [Problem to be solved by the invention]

[0003] However, in order to use an AI system to generate programs such as applications, the company must develop, maintain, and operate the AI ​​system itself.

[0004] In view of the above, an object of the present invention is to generate an application using an external AI system (such as a generation AI system). [Means for solving the problem]

[0005] In view of the above-mentioned problems, the present invention provides an information processing device capable of communicating with a terminal device and a generation AI (Artificial Intelligence) system via a network, comprising: an application generation unit that functions by executing a predefined function, and generates the application related to the request based on parameters included in the request for generating an application; and a chat control unit that, when receiving a chat message sent from the terminal device, sends the received chat message to the generation AI system, wherein the chat control unit sends setting information for generating the application and information for calling the function to the generation AI system at least once, and when the chat control unit receives the request sent by the generation AI system based on the chat message sent to the generation AI system, the setting information sent to the generation AI system, and the information for calling the function sent to the generation AI system, the application generation unit generates the application related to the request based on the parameters included in the received request, and when the chat message includes instructions to generate multiple applications, the chat control unit generates the application related to the request based on the request each time it receives multiple requests sent from the generation AI system. [Effects of the Invention]

[0006] Applications can be generated using external AI systems (such as generative AI systems). [Brief explanation of the drawings]

[0007] [Figure 1] This diagram explains the process from when the generation AI system requests the execution of a function in response to a chat message entered by a user to when the information processing system generates an application. [Figure 2A] FIG. 10 is a diagram illustrating an example of an application creation page displayed on a user terminal. [Figure 2B]2B is a diagram showing an example of an inventory management application screen for a restaurant displayed by an inventory management application for a restaurant created based on the conversation in FIG. 2A. FIG. [Figure 3] FIG. 1 illustrates a system configuration of an example of an application generation system. [Figure 4] FIG. 2 is a diagram illustrating an example of a hardware configuration of an information processing system, a user terminal, and a developer terminal. [Figure 5] FIG. 2 is a diagram illustrating an example functional configuration of an information processing system, a user terminal, and a developer terminal. [Figure 6] This figure shows an example of a request message that the information processing system sends when the user inputs "Please create a customer master and inquiry app," calling the first API published by the generation AI system. [Figure 7] FIG. 7 is a diagram showing an example of a response message (reply message) that the generation AI system sends to the information processing system in response to the request message of FIG. 6. [Figure 8] 7 is a diagram showing an example of a response message (function call request) that the generation AI system sends to the information processing system in response to the request message of FIG. 6. FIG. [Figure 9] A figure showing an example of a request message that an information processing system sends to a generation AI system after generating or updating an application for an application service. [Figure 10] FIG. 10 is a diagram showing an example of a response message of the generation AI system in response to the request message of FIG. 9. [Figure 11] A figure showing an example of a request message sent to a generation AI system after an information processing system generates a second application for an application service. [Figure 12] FIG. 12 is a diagram showing an example of a response message from the generation AI system to the request message of FIG. 11. [Figure 13] A figure showing an example of a request message in which an information processing system requests the generation AI system to add a field. [Figure 14] FIG. 14 is a diagram showing an example of a response message from the generation AI system to the request message of FIG. 13. [Figure 15] A figure showing an example of a request message sent by the information processing system to the generation AI system when the application update is successful. [Figure 16] FIG. 16 is a diagram showing an example of a response message from the generation AI system to the request message of FIG. 15. [Figure 17] 10A and 10B are diagrams illustrating an example of a portal screen and a chat screen for an application service displayed on a user terminal. [Figure 18] 10 is a diagram illustrating an example of a chat message displayed on a chat screen. [Figure 19] This is an example diagram showing a response message sent by the generating AI system to the user terminal via the information processing system after the information processing system generated two applications. [Figure 20] 10 is an example of a diagram showing a chat screen when the user continues by typing "Add attachment to inquiry app." [Figure 21] 10 is a diagram illustrating an example of a response message displayed on a chat screen when an update of an inquiry application is completed. [Figure 22] 1 is an example of a sequence diagram illustrating a process in which an information processing system supports application development. [Figure 23] FIG. 10 is a diagram illustrating an example of a portal screen of an application service displayed on a user terminal. [Figure 24] FIG. 2 is a diagram illustrating an example of a functional configuration of an information processing system and a user terminal. [Figure 25] This is an example of a sequence diagram (part 1) in which an information processing system generates or updates an application for an application service by utilizing the cooperation of two web browsers in a user terminal. [Figure 26]This is an example of a sequence diagram (part 1) in which an information processing system generates or updates an application for an application service by utilizing the cooperation of two web browsers in a user terminal. DETAILED DESCRIPTION OF THE INVENTION

[0008] An information processing system as an example of an embodiment of the present invention and an application generation method performed by the information processing system will be described below with reference to the drawings.

[0009] <Supporting application development using generative AI systems> Generative AI systems such as ChatGPT (registered trademark) are known. Generative AI systems can perform various natural language processing tasks, such as text generation, question answering, text classification, sentiment analysis, information extraction, and text summarization. Generative AI systems such as Copilot (registered trademark) are also known, which suggest the next piece of code to write during program coding. In this embodiment, a technology is described in which a user generates an application through a conversation (also called a chat) with a generative AI system. Note that a generative AI system or its functions may be simply referred to as AI (Artificial Intelligence).

[0010] First of all, it is said that when users with little specialized knowledge develop apps, the following two issues become barriers. 1. I don't know what kind of app to make. 2. I want to create an app, but I don't know how to make it.

[0011] Barrier 1 can be easily solved by using a generative AI system to generate ideas. Generative AI systems typically learn from a large amount of text on the internet, so they have knowledge of a wide range of industries and business processes. This allows them to provide a wealth of ideas for different types of apps.

[0012] Regarding barrier 2, generally, AI, including generative AI systems, cannot generate applications. Therefore, in this embodiment, barrier 2 is resolved by utilizing a function that calls functions (called function calling, function call, etc.) provided by the generative AI system, and by having an information processing system intervene between the user and the generative AI system. This will be explained with reference to Figures 1 and 2.

[0013] FIG. 1 is a diagram illustrating the process from when the generation AI system 50 requests the information processing system 20 to execute a function in response to a chat message entered by a user to when the information processing system 20 generates an application. The information processing system 20, which will be described later, provides a user interface for users to use the generation AI system 50 to develop applications. The information processing system 20 also converts chat messages sent from the user terminal 10 into request messages that call APIs (Application Programming Interfaces) published by the generation AI system 50 and application service 40, and sends the request messages to the generation AI system 50 and application service 40.

[0014] (1) The user terminal 10 transmits a chat message input by the user to the information processing system 20. In this embodiment, the chat message may be, for example, "Make a daily report app." Note that the chat message may include not only a direct instruction such as "Make a daily report app," but also a message expressing a desire such as "I want a daily report app." In this embodiment, the user may specify the names of multiple applications.

[0015] (2) When the information processing system 20 receives a chat message entered by a user, it includes the received chat message in a request message and sends it to the generation AI system 50 via an API for receiving request messages provided by the generation AI system. Here, the information processing system 20 also sends the request message together with a function specification. A function is a program interface that performs a predetermined process based on specified arguments and returns a return value as a result. This function enables the generation AI system 50 to request the information processing system 20 to generate or update an application used in the application service 40. By including the function specification settings in a request message and sending it to the generation AI system 50, the information processing system 20 can generate or update an application with low code or no code in response to a request from the generation AI system 50. Note that the request from the generation AI system 50 to the information processing system 20 to call this function is referred to as a function call. In addition, as supplemental information, the information processing system 20 can include system settings in the request message that notify the generation AI system 50 of the type of application. Details of system settings and function specification settings will be described later, but while system settings are general policies regarding the application you want to generate, function specification settings are information that the information processing system 20 specifies to the generation AI system 50 as the specifications of the function calls that the generation AI system 50 will call.

[0016] Note that the information processing system 20 does not have to include the system settings and function specification settings in the same request message as the received chat message. For example, the information processing system 20 may include the system settings and function specification settings in a request message separate from the request message containing the received chat message and transmit the request message to the generation AI system 50. The information processing system 20 may also include the system settings and function specification settings in separate request messages and transmit the request message to the generation AI system 50.

[0017] The information processing system 20 may transmit the system settings and function specification settings each time a received chat message is included in a request message and transmitted, or may transmit them only once at the beginning.

[0018] (3) The generation AI system 50 sends a response message including a function call request (function call) to the information processing system 20 based on the conversation history via chat messages included in the sent request message, the function specification settings, and the system settings. Note that the generation AI system 50 only requests the information processing system 20 to call the function, and it is the information processing system 20 that actually executes the function. However, the generation AI system 50 includes in the request message field names and the like (examples of parameters) corresponding to the type of app requested by the user. Examples of field names and the like for a daily report app are explained in Figure 2.

[0019] Note that the generation AI system 50 does not necessarily send a response message including a function call request to the information processing system 20 based on the conversation history, function specification settings, and system settings. For example, the generation AI system 50 may send a response message including a question or a response message indicating that it could not understand the content of the chat message to the information processing system 20.

[0020] (4) The information processing system 20 generates an application in response to a function call request included in the response message sent from the generation AI system 50. The type of application to be generated is determined by (2) and (3). The information processing system 20 generates a request message for calling the API of the application service 40 from the contents of the function call request, and transmits the generated request message to the application service 40. In this embodiment, the process of generating such a request message may be expressed as "executing a function" or "running a function." In this embodiment, the information processing system 20 generates or updates an application of the application service 40 in response to the function call request. The information processing system 20 can create multiple applications for one chat message by performing (2) to (4) multiple times.

[0021] In this way, the user simply inputs a chat message in natural language on the user terminal 10, and the information processing system 20 can use the generation AI system 50 to develop an application, thereby eliminating barrier 2.

[0022] The app creation support screen in FIG. 2A is an example of an app creation page displayed by the user terminal 10. The app creation page displays chat messages entered by the user and response messages from the generation AI system 50 alternately in chronological order. Note that while FIG. 2A shows an example in which the entire chat history is displayed on the screen, as the conversation history increases, the display may be scrolled.

[0023] Below are details of the chat message and response message. Chat message 301 is a chat message entered by a user asking, "What kind of apps can you create?" A response message 302 to chat message 301 lists several apps, such as an inquiry app and a business owner management app.

[0024] Chat message 303 is a chat message entered by a user saying, "Please try creating an inventory management app for restaurants." Response message 304 to chat message 303 lists questions from generation AI system 50 when generating the app. Specifically, response message 304 lists the following questions: "Answer the following questions to help define the fields for your app. What is the name of the inventory item? Do you manage inventory item quantities numerically? What is the unit of measure for inventory items? Are there categories of inventory items? Do you control expiration dates on inventory items? Do I need to attach images of my inventory items?” is one of the questions listed.

[0025] Chat message 305 is a chat message entered by the user saying, "Try making two random ones." Response message 306 is a response message to chat message 305, and displays, for example, the results of creating an app. Response message 306 includes app names 306a and 306b and field lists 306c and 306d. While field lists 306c and 306d are displayed in FIG. 2A, field lists 306c and 306d may not be displayed. Response message 306 specifically displays the following results: "We have created two inventory management apps for restaurants. You can access them from the following URLs: Restaurant inventory management app 1 (URL embedded) Restaurant inventory management app 2 (URL embedded) The following fields are set in Restaurant Inventory Management App 1.

[0026] Item Name: This is the field where you enter the name of the inventory item.

[0027] Quantity: A field that manages the quantity of an inventory item as a number.

[0028] Unit: This is the field where you enter the unit of measure for the inventory item.

[0029] Category: A drop-down field to select the category of the inventory item. You can choose from Ingredients, Beverages, Condiments, or Other.

[0030] Best Before: A date field to enter the expiration date of the inventory item.

[0031] Image: A field for attaching an image of the inventory item.

[0032] The following fields are set in Restaurant Inventory Management App 2.

[0033] Item Name: This is the field where you enter the name of the inventory item.

[0034] Quantity: A field that manages the quantity of an inventory item as a number.

[0035] Unit: This is the field where you enter the unit of measure for the inventory item.

[0036] Category: A drop-down field to select the category of the inventory item. You can choose from Ingredients, Beverages, Condiments, or Other.

[0037] Best Before: A date field to enter the expiration date of the inventory item.

[0038] Image: A field for attaching an image of the inventory item.

[0039] Purchase Date: A date field to enter the purchase date of the inventory item.

[0040] Supplier: This field is where you enter the supplier of the inventory item. When the user presses the application name 306a, the created restaurant inventory management application screen is displayed. This application screen has fields for, for example, item name, quantity, unit, category, expiration date, and image.

[0041] FIG. 2B shows examples of restaurant inventory management app screens 290a and 290b displayed by restaurant inventory management app 1 and 2 (restaurant inventory management apps) created through the conversation in FIG. 2A. As shown in FIGS. 2B(a) and 2B(b), restaurant inventory management app screens 290a and 290b share common fields: item name 292, quantity 293, category 294, expiration date 295, and image 296. Restaurant inventory management app screen 290b also includes purchase date 297 and supplier 298. These fields are generated through a conversation between the user and AI system 50. Therefore, a user can develop a restaurant inventory management app by interacting with AI system 50 without specifying any field names. The user can also view the field names of the two restaurant inventory management apps 1 and 2 and select one or both. While inventory management app screens 290a and 290b are not displayed simultaneously, the user terminal 10 can simultaneously display them as thumbnails.

[0042] When the user presses the save button 291, the user terminal 10 transmits a message to the application service 40 indicating that the inventory management app for restaurants will be saved. Thereafter, the user can use the inventory management app for restaurants from a portal screen or the like.

[0043] In this way, the application generation system 100 of this embodiment allows a user to develop an application by conversing with the generation AI system 50 in natural language. The information processing system 20 specifies a function to the generation AI system 50, and the generation AI system 50 can request the information processing system 20 to call the function along with the field names of the application, etc. Then, the information processing system 20 actually generates or updates the application. From the user's perspective, this allows a no-code or low-code platform for actually developing a daily report app to be realized by simply inputting a message such as "Please create a daily report app."

[0044] <Terminology> An application is an abbreviation for an application program, and is a program created by a computer for any task. While an OS (Operating System) is general-purpose software that provides basic functions and systems (file system, communication, display control, etc.) for computer operation, an application provides specific functions on the OS. Applications include web apps and native apps. In this embodiment, either may be developed.

[0045] An API is an interface for applications (software), and is therefore a point of contact for connecting systems and sharing functions and mechanisms. APIs define the specifications for the interface used by applications to exchange information with each other. An API between computers is a specification in which one website communicates with another website via HTTP (HTTPS) communication. This communication allows one website to use the functions of the other website. An API between computers is sometimes called a Web-API.

[0046] When an API sends a specific request (for example, retrieving, updating, deleting, or processing data), it returns the corresponding results (for example, data, update results, deletion results, or processing results). The request is sometimes called a request message, and the results are sometimes called a response message. Calling an API means sending a request according to the API specifications and obtaining the results. Calling an API can also be referred to as executing, operating, hitting, or using.

[0047] The information for calling a function is information that enables a function provided by the information processing system 20 to be called from outside the information processing system, for example, from the generation AI system 50. The information for calling a function includes information about the Web-API for calling the function.

[0048] The information regarding the Web-API for calling a function is information that enables the generation AI system 50 to call (use) the Web-API. In this embodiment, this is explained using the term function specification setting (hereinafter referred to as function specification setting). The function specification setting is information that the information processing system 20 specifies to the generation AI system 50 the specifications of the function call that the generation AI system 50 will call. The generation AI system 50 calls the function to the information processing system 20 based on the function specification setting, so the information processing system 20 can analyze the function.

[0049] A function is a program interface that performs a specific process based on specified arguments and returns a return value as a result. While the specifications and functions of a function can be designed by the developer, APIs are pre-prepared for functions that are publicly available for use by the generative AI system 50 and application service 40. A function is one of the API specifications, and can be set by calling the API if the API defines how to specify the function. Furthermore, a function call or a function call request refers to a request to execute a function.

[0050] A chat service is a service that allows multiple users to send and receive messages in real time. A generative AI system is a service that allows users to send and receive messages with AI in real time.

[0051] The setting information is the general policy for generating an application, and may be, for example, a description of the application, hints, or information that the user should not be asked. The setting information is information that, when communicated to the generation AI system 50, makes it easier to generate the desired application.

[0052] System settings are information in which all or part of this setting information has been converted into a request message that calls an API. In other words, system settings are information in which all or part of the setting information has been converted into an API format.

[0053] The parameters included in the request for generating an application are variables that affect the behavior of the application. The content of the parameters varies depending on the application, but for example, in applications that handle table formats or databases, parameters include field names and field data formats. Other parameters may include the number of rows, the number of columns, the size of the rows and columns, the font and color when displaying data, and the position of the field.

[0054] A user is an end user who uses an application provided by the application service 40. A user can also develop an application. A developer is a person who makes the settings required for application development using no-code or low-code programming in the information processing system 20. The developer sets the setting information described below in the information processing system 20.

[0055] [First embodiment] In this embodiment, a case will be described in which the information processing system 20 can communicate with the application service 40, or the information processing system 20 and the application service 40 are in the same domain.

[0056] <System configuration example> The system configuration of the application generation system 100 according to this embodiment will be described with reference to FIG. 3. FIG. 3 is a diagram showing an example of the system configuration of the application generation system 100. The application generation system 100 shown in FIG. 3 includes an information processing system 20, a user terminal 10, and a developer terminal 60. The information processing system 20 and the user terminal 10, and the information processing system 20 and the developer terminal 60 are communicatively connected via networks N1 and N2. The information processing system 20 can also communicate with a generation AI system 50 and an external system, an application service 40, via the network N1. The user terminal 10 and the developer terminal 60 can also communicate with the generation AI system 50 and an external system, an application service 40, via the networks N1 and N2.

[0057] The user terminal 10 and the developer terminal 60 are located in facilities such as a company or a home, and are connected to a network N2. The network N2 may be a LAN, Wi-Fi (registered trademark), Wide Area Ethernet (registered trademark), a mobile phone network such as 4G, 5G, or 6G, etc. The network N1 is a wide-area network such as the Internet or a WAN. The user terminal 10 and the developer terminal 60 do not need to be connected to the network N2 at all times; they only need to be connected when using the information processing system 20, the generation AI system 50, or the application service 40.

[0058] The generative AI system 50 provides a service that allows users to converse with artificial intelligence (AI). A known example of such a generative AI system 50 is a system that uses large-scale language models (LLMs). A large-scale language model is a natural language processing model trained using a large amount of text data. The generative AI system 50 first imports a huge amount of text and learns knowledge from it using deep learning, reinforcement learning, and other methods. The generative AI system 50 uses this knowledge to provide a response message to a chat message. An interface through which a user inputs a chat message to the generative AI system 50 is called a prompt. A chat message, such as an instruction or question, is input into the prompt. The chat message may be a conversational sentence or a word written in a natural language spoken by a human. Images can also be used as chat messages. A generative AI system 50 that generates text in response to a chat message is sometimes referred to as a generative AI. In this embodiment, the information processing system 20 generates an application that runs on the application service 40 using the response message provided by the generative AI system 50 in response to a chat message input by a user.

[0059] The generative AI system 50 has the following features: 1. The generative AI system 50 advances the conversation in a natural flow. 2. The generative AI system 50 can expand on and propose ideas even in areas where the user has no knowledge. 3. The generative AI system 50 can output accurate program code. Therefore, the information processing system 20 can naturally advance the conversation with the user via the generative AI system 50. Furthermore, the user can receive the ideas necessary for the app simply by specifying the app they want to create. Furthermore, because the functions called by the generative AI system 50 are accurate (highly reproducible), the information processing system 20 can easily generate the application the user wants.

[0060] Systems using LLMs such as GPT-3, GPT-4, Transformer, and BERT (all of which are registered trademarks) are known as the generation AI system 50. As an example, ChatCPT using GPT-3 or GPT-4 can be used in the application generation system 100 of this embodiment, but systems using other LLMs may also be used.

[0061] The application service 40 is one or more information processing devices that provide applications executed by users. The applications provided by the application service 40 are, for example, database-type web applications that manage data in a tabular format. Users can arbitrarily set application fields and customize them to save, read, or process data related to their own business. Setting desired fields, etc., in a pre-prepared database in this way constitutes application development. In this embodiment, the information processing system 20 includes a chat message from the user in a request message and sends it to the generation AI system 50. The application service 40 of the information processing system 20 generates or updates an application for the application service 40 using a response message from the generation AI system 50. In other words, users can develop applications for the application service 40 without coding by entering chat messages.

[0062] When the domains of the application service 40 and the information processing system 20 are different (for example, when the service origins are different), the accounts of the application service 40 and the information processing system 20 are different even for the same user.

[0063] On the other hand, the application service 40 and the information processing system 20 may be integrated. That is, the application service 40 may include the functions of the information processing system 20, or the information processing system 20 may include the functions of the application service 40. The application service 40 and the generation AI system 50 may also be integrated. The generation AI system 50 and the information processing system 20 may also be integrated. The information processing system 20, the application service 40, and the information processing system 20 may also be integrated.

[0064] Examples of application services 40 include cloud services, ASPs (Application Service Providers), SaaS, etc., and may include various services provided over a network. For example, examples of services include providing databases and storage services. Application services 40 may exist on the Internet or on-premise.

[0065] In the following description, when multiple application services 40 are to be distinguished from one another, they will be referred to as "application services 40A, 40B" as shown in the figure.

[0066] The information processing system 20 transmits chat messages from the user terminal 10 to the generation AI system 50. The information processing system 20 is composed of one or more information processing devices. From the perspective of the user terminal 10, the information processing system 20 acts as a server that accepts requests. A server is a computer or software that performs the function of providing information and processing results in response to requests from clients. The information processing system 20 provides a user interface to the user terminal 10, generates a request message from the received chat message, and sends the generated request message to the generation AI system 50. When the information processing system 20 receives an application generation request from the generation AI system 50, it requests the application service 40 to generate an application. The user does not have to go through the trouble of connecting the user terminal 10 to the generation AI system 50 or the application service 40.

[0067] As will be described later, a user may develop an application using the application service 40 as a portal. The information processing system 20 receives a connection request to the generation AI system 50 from a user terminal 10 connected to the application service 40, and communicates with the generation AI system 50. Details of such communication will be described in the second embodiment.

[0068] The information processing system 20 also accepts setting of configuration information from the developer terminal 60. Setting of configuration information means setting the knowledge (configuration information) necessary for generating an application of the application service 40 in the information processing system 20. The configuration information is information that the generation AI system 50 uses to generate application parameters. The configuration information may include, for example, what type of application is required to be generated. By having the developer set the configuration information in the information processing system 20, the user does not need to include application parameters, etc. in chat messages. The information processing system 20 can create appropriate system settings for the application to be generated based on the configuration information and notify the generation AI system 50 of the created system settings. The system settings are generated from the configuration information, and the system settings are part or all of the configuration information.

[0069] The setting information is set in the information processing system 20 before the user starts developing an application. However, the information processing system 20 can also customize the setting information for each customer. For example, if the setting information is "You will now be talking to a customer in the $$ industry" depending on the customer's industry, the information processing system 20 changes the industry name of $$ depending on the customer's industry and notifies the generation AI system 50.

[0070] The information processing system 20 uses this setting information to create a request message to be sent to the generation AI system 50. In the request message, the setting information is reflected in the system settings, which will be described in detail later. By having the developer send the setting information to the information processing system 20, users can generate applications with simple chat messages, even if they do not have specialized knowledge of the application.

[0071] Note that it is not always necessary to set the setting information, and there may be cases where the setting information is not necessary depending on the application.

[0072] The information processing system 20 may be realized by cloud computing or by a single information processing device. Cloud computing refers to a form in which resources on a network are used without being aware of specific hardware resources. The information processing system 20 may exist on the Internet or on-premise.

[0073] Furthermore, the functions of the information processing system 20 may be distributed across multiple information processing devices, or there may be multiple information processing systems 20 with the same functions, and the number of information processing systems that deliver videos may be increased or decreased depending on the processing load.

[0074] The user terminal 10 or the developer terminal 60 is, for example, a terminal device such as a PC (Personal Computer), smartphone, or tablet terminal used by a user or developer. A web browser or native application runs on the user terminal 10 or the developer terminal 60. The developer operates the developer terminal 60 to create setting information for the application. The user operates the user terminal 10 to create chat messages for developing an application for the application service 40. The administrator or user operates the developer terminal 60 and the user terminal 10 to use various services provided by the information processing system 20, the generation AI system 50, or the application service 40.

[0075] The user terminal 10 may be any information processing device, such as an electronic whiteboard, an output device such as digital signage, a head-up display (HUD), industrial machinery, an imaging device, a sound collection device, a medical device, a network appliance, a mobile phone, a smartphone, a tablet terminal, a game console, a personal digital assistant (PDA), a digital camera, or a wearable PC.

[0076] <Hardware configuration example> 4, the hardware configurations of the information processing system 20, user terminal 10, and developer terminal 60 included in the application generation system 100 will be described. The generation AI system 50 and application service 40 are assumed to have the same hardware configuration as that shown in FIG. 4 or to have the hardware configuration of an information processing device compatible with cloud computing.

[0077] <<Information processing system, user terminal, and developer terminal>> Fig. 4 is a diagram showing an example of the hardware configuration of the information processing system 20, user terminal 10, and developer terminal 60 according to this embodiment. As shown in Fig. 4, the information processing system 20, user terminal 10, and developer terminal 60 are constructed by a computer 500, and include a CPU 501, a ROM 502, a RAM 503, a HD (Hard Disk) 504, an HDD (Hard Disk Drive) controller 505, a display 506, an external device connection I / F (Interface) 508, a network I / F 509, a bus line 510, a keyboard 511, a pointing device 512, a DVD-RW (Digital Versatile Disk Rewritable) drive 514, and a media I / F 516.

[0078] Of these, the CPU 501 controls the overall operation of the computer 500. The ROM 502 stores programs used to drive the CPU 501, such as the IPL. The RAM 503 is used as a work area for the CPU 501. The HD 504 stores various data, such as programs. The HDD controller 505 controls the reading and writing of various data from and to the HD 504 under the control of the CPU 501. The display 506 displays various information, such as a cursor, menus, windows, characters, or images. The external device connection I / F 508 is an interface for connecting various external devices. In this case, external devices include, for example, USB (Universal Serial Bus) memories and printers. The network I / F 509 is an interface for data communication using the network N2. The bus line 510 is an address bus, a data bus, or the like, for electrically connecting the components, such as the CPU 501, shown in FIG. 4.

[0079] The keyboard 511 is a type of input means having multiple keys used to input characters, numbers, various instructions, etc. The pointing device 512 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, etc. The DVD-RW drive 514 controls reading and writing of various data from a DVD-RW 513, which is an example of a removable recording medium. The DVD-RW drive 514 is not limited to a DVD-RW, and may be a DVD-R or the like. The media I / F 516 controls reading and writing (storing) of data from a recording medium 515, such as a flash memory.

[0080] <About the function> Next, the functional configuration of the application generation system 100 will be described with reference to Fig. 5. Fig. 5 is a diagram showing an example of the functional configuration of the information processing system 20, the user terminal 10, and the developer terminal 60.

[0081] <<User device>> The user terminal 10 has a communication unit 11, a display control unit 12, and an operation reception unit 13. Each of these functional units is a function or means realized by the CPU 501 shown in FIG. 4 executing instructions contained in one or more programs installed in the user terminal 10. For example, the communication unit 11, the display control unit 12, and the operation reception unit 13 may be realized by at least one of a web browser and JavaScript (registered trademark, omitted below). When the developer terminal 60 executes a native app, these may be realized by the native app.

[0082] The communication unit 11 transmits and receives various types of information to and from the information processing system 20. In this embodiment, the communication unit 11 receives screen information of a portal screen from the application service 40, and receives screen information of an app creation page where chat messages are entered from the information processing system 20. The communication unit 11 transmits chat messages, operation information for the user terminal 10, and the like to the information processing system 20. Note that the communication unit 11 can also communicate directly with the generation AI system 50.

[0083] The display control unit 12 interprets screen information of various screens and displays it on the display 506. The operation accepting unit 13 accepts various operations on the various screens displayed on the display 506 by the user.

[0084] <<Developer device>> The developer terminal 60 has a communication unit 61, a display control unit 62, and an operation reception unit 63. Each of these functional units is a function or means realized by the CPU 501 shown in FIG. 4 executing instructions contained in one or more programs installed on the developer terminal 60. For example, the communication unit 61, the display control unit 62, and the operation reception unit 63 may be realized by at least one of a web browser and JavaScript. When the developer terminal 60 executes a native app, these may be realized by the native app.

[0085] The communication unit 61 transmits and receives various information to and from the information processing system 20. In this embodiment, the communication unit 61 receives screen information related to input of setting information from the information processing system 20. The communication unit 61 transmits setting information, operation information for the developer terminal 60, etc. to the information processing system 20. The communication unit 21 can also communicate with the generation AI system 50 and the application service 40.

[0086] The display control unit 62 interprets screen information of various screens and displays it on the display 506. The operation receiving unit 63 receives various operations on the various screens displayed on the display 506 by the user.

[0087] <<Information Processing System>> The information processing system 20 has a communication unit 21, a screen generation unit 22, a chat control unit 23, a setting information storage unit 24, an application generation unit 25, and a setting information generation unit 28. Each functional unit of the information processing system 20 is a function or means realized by the CPU 501 shown in FIG. 4 executing instructions included in one or more programs installed in the information processing system 20. The setting information storage unit 24 is constructed in the HD 504, RAM 503, or the like shown in FIG. 4. The setting information storage unit 24 does not have to be included in the information processing system 20, and may be located on a network accessible by the information processing system 20.

[0088] The communication unit 21 transmits and receives various types of information to the user terminal 10. The communication unit 21 transmits screen information such as a chat screen to the user terminal 10. The communication unit 21 receives chat messages input by the user for application development from the user terminal 10. The communication unit 21 also transmits and receives various types of information to the developer terminal 60. The communication unit 21 transmits screen information of a setting information input screen to the developer terminal 60. The communication unit 21 receives setting information input by the developer from the developer terminal 60 and stores it in the setting information storage unit 24.

[0089] The screen generation unit 22 generates screen information for screens (web pages) displayed by the user terminal 10 and the developer terminal 60. Web pages are provided as part of a web application. The screen information is a program written in HTML, JSON, XML, a scripting language, CSS (Cascading Style Sheet), etc. The structure of the web page is mainly specified by HTML, the behavior of the web page is defined by the scripting language, and the style of the web page is specified by CSS. The user terminal 10 may also execute a native application. A native application is an application that cannot be executed unless it is installed on the user terminal 10. In the case of a native application, the screen information is held by the user terminal 10, and the information to be displayed is transmitted in JSON, XML, etc.

[0090] The chat control unit 23 calls the first API 26 to send a request message to the generation AI system 50. The request message includes chat messages (including past conversation history), system settings, and function specification settings. The setting information generation unit 28 generates system settings that can be analyzed by the generation AI system 50 based on the setting information stored in the setting information storage unit 24. The setting information generation unit 28 can also include the industry type, etc. entered by the user, in the system settings.

[0091] The first API 26 is one or more APIs made public by the generation AI system 50. As a result of calling the first API 26, the chat control unit 23 receives a response message to the request message from the generation AI system 50. The response message includes a reply message to the chat message, a function call request to the information processing system 20, or the URL of an application that has been created or developed.

[0092] The application generation unit 25 sends a request message to the application service 40 by calling the second API 27. The application generation unit 25 functions by executing predefined functions. The request message includes parameters related to the application (database field name, data format, etc.). The request message to the application service 40 requests the generation or update of an application. The second API 27 is one or more APIs published by the application service 40. As a result of calling the second API 27, the application generation unit 25 receives a response message to the request message from the application service 40. The response message includes the result (success or failure) of the request to generate or update the application. If successful, the URL of the application is notified, and if unsuccessful, an error message is notified.

[0093] The application generation unit 25 may generate an application within the information processing system 20 without making a request to the application service 40. The application generation unit 25 may, for example, generate a macro that runs on a spreadsheet software, or may set a field in database software.

[0094] Here, "generating an application" does not only mean that the application generation unit 25 actually generates an application, but also means that the application generation unit 25 requests the application service 40 or the like to generate an application, and the application service 40 or the like actually generates the application.

[0095] <Additional information on the operation of the generative AI system> In this embodiment, the information processing system 20 uses the generating AI system 50 by calling the first API 26 made public by the generating AI system 50. When the information processing system 20 calls the first API 26, it becomes possible to converse with the AI, which is one of the functions of the generating AI system 50. The generating AI system 50 has distinctive operations or processes, which will be described in more detail below.

[0096] The information processing system 20 communicates with the generation AI system 50 by sending a request message for calling an API to the generation AI system 50. The request message enables the information processing system 20 to obtain a response message from the generation AI system 50.

[0097] The generation AI system 50 returns a response message to the request message to the information processing system 20. The response message included in the response message of the generation AI system 50 often differs each time, even for the same chat message. However, if the information processing system 20 sets a parameter called temperature to 0, the generation AI system 50 will return the same response message for the same chat message.

[0098] If the information processing system 20 wants to continue a conversation with the generative AI system 50, it must include all past conversation history in the request message. This is because conversations with the generative AI system 50 are stateless. This is a specification of one generative AI system 50, and another generative AI system 50 may not require the inclusion of past conversation history.

[0099] In this way, the first API 26 does not have a state related to past communications (it is stateless). For this reason, the user of the first API 26 (in this embodiment, the information processing system 20) must hold the history of past conversations and specify it each time the first API 26 is called. The history of past conversations may also be held by the user terminal 10. Furthermore, since the first API 26 returns an error if the conversation history becomes too long, it is preferable that the information processing system 20 take appropriate measures, such as including only the most recent exchanges in a request message if the conversation has continued for a long time.

[0100] In this way, the first API 26 does not have a state related to past communications (it is stateless). For this reason, the user of the first API 26 (in this embodiment, the information processing system 20) must hold the history of past conversations and specify it each time the first API 26 is called. The history of past conversations may also be held by the user terminal 10. Furthermore, since the first API 26 returns an error if the conversation history becomes too long, it is preferable that the information processing system 20 take appropriate measures, such as including only the most recent exchanges in a request message if the conversation has continued for a long time.

[0101] <<Function call returned by the generation AI system>> The functions provided by the generative AI system 50 include a function called a function call. A function call is when the generative AI system 50 requests the information processing system 20 to call a function. Therefore, if the information processing system 20 allows the generative AI system 50 to use this function, the generative AI system 50 can call a "function."

[0102] The request message includes a function specification setting set by the information processing system 20 so that the generating AI system 50 can call a "function." The function specification setting enables the generating AI system 50 to make a function call (function call request). In this way, the function specification setting is information about the first API 26 for calling the application generation unit 25. In other words, the function specification setting notifies the generating AI system 50 that the generating AI system 50 can request the information processing system 20 to call a function.

[0103] In this way, the information processing system 20 causes the generation AI system 50 to use function call, which allows the generation AI system 50 to call a function provided by the information processing system 20 and the information processing system 20 to execute the function. Furthermore, the information processing system 20 can use the execution results of the function to converse with the user.

[0104] However, since the response message of the generation AI system 50 is different each time, the generation AI system 50 does not necessarily request a function call. Even if the information processing system 20 includes a function specification setting in the request message, the generation AI system 50 may return the same response message as when no function specification setting is set.

[0105] If a process is adopted in which the entire history of past conversations is included in the request message, the information processing system 20 must also include the execution result of the function in the request message and transmit it to the generation AI system 50. However, it is not necessary for the information processing system 20 to include the execution result of the function in the request message along with the history of past conversations and transmit it to the generation AI system 50. In other words, the information processing system 20 may transmit the execution result of the function directly to the user terminal 10. However, by transmitting the execution result of the function to the generation AI system 50, the generation AI system 50 can continue the conversation using the history of past conversations, thereby creating continuity in the conversation. For example, consistency in writing style and wording will be created, making it less likely that the user will feel uncomfortable. For example, even if the user's native language is English and the conversation is in English, the information processing system 20 does not need to translate the response message into English.

[0106] Furthermore, the information processing system 20 cannot predict whether the generating AI system 50 will request a function call. However, if the information processing system 20 explicitly specifies the "function_call option" in the request message, it can force the generating AI system 50 to make a function call.

[0107] <Application development support for application services> In this embodiment, a request message sent by the information processing system 20 and a response message sent by the generation AI system 50 will be described using an example in which a user develops multiple applications.

[0108] FIG. 6 shows an example of a request message that the information processing system 20 sends to call the first API 26 published by the AI ​​generation system 50 when a user inputs "Please create a customer master and inquiry application" on the screen of the user terminal 10. The request message includes role 230a and content 230b. Role 230a indicates the speaker, and can be user (user), assistant (AI of the AI ​​generation system 50), or system (instructs the settings of the AI ​​assistant). Content 230b is the content of the conversation and may be written in natural language.

[0109] The request message in Figure 6 first includes system settings 229 from system. The system settings 229 include information 229a such as, "You will now be assisting in the development of an application within a SaaS service called XX Application Service. You will now interact with users to determine the application's 'fields'. Field definitions are expressed in JSON format. For example, consider a daily report application with the following three fields." The system settings 229 also include information 229b specifying the field names "Date," "Work Content," and "Impressions / Lessons." The data formats for each field are also specified, such as DATE, MULTI_LINE_TEXT, and MULTI_LINE_TEXT. These pieces of information 229a and 229b are based on the configuration information previously sent by the developer to the information processing system 20.

[0110] The request message also includes a chat message 231 input by the user saying, "Please create a customer master and inquiry application." In other words, the user has requested the creation of two applications.

[0111] 6 also includes a function specification setting 233. "functions" is the function specification setting 233, and the function specification setting 233 has the following attributes. Name 234 is the name of the first function (create_app). In this embodiment, the name of the first function may be predetermined since the development of the application is supported. Parameters 236 indicate the return value of the function. "type": "object" indicates the data format of the returned value. "required": ["properties", "name"] indicates the name of the property required in the return value. "name": { "type": "string"} indicates the data format of name. "type": "array" indicates that it is in tabular format. "items" below shows the attributes and data format required for the field.

[0112] Name 221 is the name of the second function (update_app). The second function is a function that updates an application. Since it is common to update (improve) a developed application, create_app and update_app are included as a set in function specification setting 233. Note that create_app is used twice to generate the two applications, and update_app is used when updating.

[0113] Like parameters 236, parameters 222 specifies the return value of the function, but with the addition of an application ID 223. The application ID 223 specifies the identification information of the application to be updated by update_app. In other words, when the generation AI system 50 requests the information processing system 20 to call the function update_app, it sets the application ID of the application to be updated based on the history of past conversations, etc., as the return value.

[0114] By this function specification setting 233, the information processing system 20 instructs the generating AI system 50 that the generating AI system 50 can request the information processing system 20 to call the function defined as shown in FIG.

[0115] FIG. 7 is an example of a response message that the generation AI system sends to the information processing system 20 in response to the request message of FIG. 6. The response message of FIG. 7 does not include a function call request, and is not the response message expected by the chat control unit 23. In such a case, the information processing system 20 sends the response message included in the response message to the user terminal 10. Since the response message 671 is "Please tell me the details," the user inputs detailed information about the application they want to create into the user terminal 10 and sends it to the information processing system 20. By the chat control unit 23 sending a request message including detailed information about the application to the generation AI system 50, the chat control unit 23 can obtain a response message including a function call request.

[0116] FIG. 8 shows an example of a response message from the generation AI system 50 in response to the request message of FIG. 6. The response message includes a function call request 237. In this embodiment, when the response message includes the function call, the information processing system 20 generates an application for the application service 40. The application service 40 is a low-code or no-code platform. The application for the application service 40 is a database that manages user data and allows users to easily customize the UI screen that displays the data. The application service 40 exposes various APIs, and the information processing system 20 can generate or update the application by calling the second API 27. In this embodiment, the information processing system 20 can generate or update the application for the application service 40 by calling the second API 27 exposed by the application service 40 and the first API 26 exposed by the generation AI system 50 while the user is conversing with the generation AI system 50 in natural language.

[0117] The function call request 237 in the response message corresponds to an application generation request. The function call request 237 includes a name 238 and arguments 239. The name 238 is the name of the function defined in the function specification setting 233. The generation AI system 50 is requesting the call of the function with this name. The arguments 239 are the return value, which is defined in the function specification setting 233. In Figure 8, the return value 239 includes the application name 239a "Customer Master," field names 239b and 239c that the customer master application should contain, and their data formats (DATE, MULTI_LINE_TEXT). In other words, the generation AI system 50 has specified the field names 239b and 239c and their data formats and requested the information processing system 20 to generate a customer master application.

[0118] By using this function call, the generation AI system 50 can specify a field name such as a customer code and request the information processing system 20 to call a function that generates an application.

[0119] The information processing system 20 analyzes the function call included in the response message and determines to generate an application for the application service 40 (executes the function). Therefore, the information processing system 20 calls the second API 27 published by the application service 40, and generates or updates the application using the field names and data formats (examples of parameters) included in the response message. If the application generation or update is successful, the information processing system 20 obtains the URL of the application from the application service 40. The URL is access information used by the user terminal 10 to access the application. The information processing system 20 returns the URL of the application to the generation AI system 50. This creates continuity in the conversation between the user and the generation AI system 50.

[0120] Specifically, an example is considered in which the information processing system 20 uses three APIs of the application service 40 as follows. 1. API to generate applications published by Application Service 40 2. An API that adds two fields, "Customer Code" and "Customer Name," to the application created in 1. 3. APIs that expose your application If the application is successfully generated or updated, the information processing system 20 calls the first API 26 made public by the generation AI system 50 again, specifying the result of the function (the URL of the application).

[0121] 9 shows an example of a request message that the information processing system 20 sends to the generation AI system 50 after the information processing system 20 generates an application for the application service 40. This request message includes system settings 229 and chat messages 231 as a history of past conversations. The information processing system 20 only needs to send the contents of the history of past conversations to the generation AI system 50 at least once in the past.

[0122] 9 also includes a function call request 237 as a history of past conversations. The function call request 237 includes an application name 239a, field names 239b and 239c, and a data format (DATE, MULTI_LINE_TEXT), which are the same as those in FIG.

[0123] The request message in Figure 9 also includes message 245, ""function", "name": "create_app", "content": "{\"appId\": "42", \"url\": \"https: / / ...\"}"}". Message 245 indicates the result of application generation. Message 245 indicates that the function create_app was executed, the app ID of the created application is 42, and the URL of the application is https or below. Since the URL is included, the generation AI system 50 is notified that the application was successfully generated. The generation AI system 50 obtains the URL, which improves the continuity of the conversation. The generation AI system 50 can also obtain the app ID of create_app.

[0124] What the AI ​​system 50 returns in response to the request message in FIG. 9 is not fixed, but here we consider the case where the AI ​​system 50 wishes to create a second application, as shown in FIG.

[0125] Figure 10 is an example of a response message from the generation AI system 50 in response to the request message of Figure 9. The explanation of Figure 10 will mainly focus on the differences from Figure 8. The response message of Figure 10 includes a function call request 401. In this embodiment, when a function call is included in the response message, the information processing system 20 generates an application for the application service 40.

[0126] A chat message from a user included a request to generate multiple applications. The generation AI system 50 determines from the request message in Figure 9 that the generation of the first application was successful, and therefore sends a function call request 401 to the information processing system 20 to generate the second application.

[0127] The function call request 401 in the response message corresponds to the second application generation request. The function call request 401 includes name 402 and arguments 407. name 403 is the name of the function defined in the function specification setting 233 in Figure 6. The generation AI system 50 is requesting the call of the function with this name. arguments 407 is the return value, which is defined in the function specification setting 233. In Figure 10, the return value 407 includes the application name 403 "Inquiry", field names 404, 405, 406 that the inquiry application should contain, and their data formats (DATE, MULTI_LINE_TEXT). In other words, the generation AI system 50 specifies the field names 404 to 406 and their data formats and requests the information processing system 20 to generate a customer master application.

[0128] In response to the response message of FIG. 10, the application generation unit 25 of the information processing system 20 generates a second application.

[0129] Figure 11 is an example of a request message that the information processing system 20 sends to the generation AI system 50 after generating a second application for the application service 40. The explanation of Figure 11 will mainly focus on the differences from Figure 9. The request message in Figure 11 includes, as a history of past conversations, system settings 229, chat message 231, function call request 237, message 245, and function call request 401, just like Figure 9. System settings 229 are the same as those in Figure 6, chat message 231 is the same as those in Figure 6, function call request 237 is the same as those in Figure 8, message 245 is the same as those in Figure 9, and function call request 401 is the same as those in Figure 10.

[0130] The request message in Figure 11 includes message 412, which reads ""function", "name": "create_app", "content": "{\"appId\": "100", \"url\": \"https: / / ...\"}"}". Message 412 indicates the result of application generation. Message 412 executes the function create_app, and indicates that the app ID of the created application is 100 and the URL of the application is https or below. Since the URL is included, the generation AI system 50 is notified that the application generation was successful. The generation AI system 50 obtains the URL, which improves the continuity of the conversation. In addition, the generation AI system 50 can obtain the app ID of create_app.

[0131] FIG. 12 is an example of a response message from the generation AI system 50 in response to the request message of FIG. 11. Note that in the case of application development, the response message is often different each time. For example, a response message like the one shown in FIG. 12 is expected to be returned. The generation AI system 50 is aware from the chat message that two applications will be generated, but since it has received two URLs (generation results) from the information processing system 20, it understands that the generation of the two applications has been completed.

[0132] 12 includes a message 246 saying, "Creation of the customer master and inquiry management application has been completed. The URL is ...." In other words, the message 246 indicates that the generation of multiple applications has been completed. The information processing system 20 transmits this URL to the user terminal 10, so the user can click the URL to check the field names of the developed application (database), etc.

[0133] <When the user types "Add an attachment to the inquiry app"> Next, a case will be described in which a user adds a field for an attachment to an application generated by the information processing system 20. The user inputs a chat message saying, "Add an attachment to the inquiry application."

[0134] FIG. 13 is an example of a request message in which the information processing system 20 requests the generation AI system 50 to add a field. The request message in FIG. 13 also includes a history of past conversations 421. The history of past conversations 421 is the same as in FIG. 11. The request message in FIG. 13 also includes a new chat message 422 saying, "Add an attachment to the inquiry app." Adding an attachment means adding a field for the attachment (as interpreted by the generation AI system 50). Note that the user can not only add fields but also delete fields using a chat message.

[0135] In response to the request message in Figure 13, the generation AI system 50 is expected to return a response message like the one shown in Figure 14. Figure 14 is an example of a response message from the generation AI system 50 in response to the request message in Figure 13. The explanation of Figure 14 will mainly focus on the differences from Figure 10. The generation AI system 50 determines to add an attachment field to the inquiry app based mainly on chat message 422 of the request message in Figure 13.

[0136] For this reason, the response message in Figure 14 includes a function call request 401. Furthermore, since the generation AI system 50 determines that this is an application update, it identifies the application ID of the inquiry application specified by the user by referring to the history of past conversations. For example, the request messages in Figures 11 and 13 include the application ID of the inquiry application. Furthermore, the generation AI system 50 specifies that the application name 403 of this application is "inquiry."

[0137] Arguments 409 includes arguments 407 and a field name 408. Arguments 407 are similar to those in FIG. 10 and are included in the past conversation history 421 in FIG. 13. The field name 408 is a new field name proposed by the generative AI system 50 and can be considered a request to add a field. The field name 408 reflects the user's chat message, and the information processing system 20 can add an attachment to the query application according to this field name 408.

[0138] The information processing system 20 changes the settings of the inquiry application (adds a field for attachments) to the application service 40, and if successful, sends a request message to the generation AI system 50 again.

[0139] 15 is an example of a request message that the information processing system 20 sends to the generation AI system 50 when the application update is successful. The request message in FIG. 15 also includes past conversation histories 431 and 432. The past conversation history 431 is the same as in FIG. 13. The past conversation history 432 is the same as in FIG. 14.

[0140] The request message in Figure 15 includes message 433, "update_app", "content": "{\"appId\": "100", \"url\": \"https: / / ...\"". Message 433 indicates the result of generating the application. Message 433 indicates that the function update_app has been executed, that the app ID of the updated application is 100, and that the URL of the application is https or less. Since the URL is included, the generation AI system 50 is notified that the update of the inquiry app was successful. The generation AI system 50 obtains the URL, which increases the continuity of the conversation.

[0141] Figure 16 is an example of a response message from the generation AI system 50 in response to the request message of Figure 15. For example, a response message like the one shown in Figure 16 is expected to be returned. The generation AI system 50 requested the information processing system 20 to update the query application, but since it received a URL (generation result) from the information processing system 20, it understands that the query application was successfully updated.

[0142] 16 includes a response message 441 saying "The application update has been completed. The URL is ...." The information processing system 20 transmits this URL to the user terminal 10, so the user can click the URL to check the field names of the updated query application, etc.

[0143] Thereafter, until the user is satisfied, the input of chat messages and the sending and receiving of request messages and response messages between the information processing system 20 and the generation AI system 50 are repeated. In this way, the user can develop an application for the application service 40 in a conversational format, so the user does not need any programming knowledge.

[0144] <Example of user device screen> FIG. 17 shows an example of a portal screen 330 and a chat screen 630 of the application service 40 displayed on the user terminal 10. The user can use or develop applications from the portal screen 330. The chat screen 630 is displayed superimposed on the portal screen 330. This does not necessarily have to be the case. The chat screen 630 is a screen on which the user can chat with the generation AI system 50. The user can enter a chat message in a message input field 631.

[0145] Figure 18 shows a chat message displayed on the chat screen 630. The user entered a chat message 632 saying, "Please create a customer master and inquiry app." When the information processing system 20 receives the chat message 632, it calls the generation AI system 50 via the first API 26 and notifies the generation AI system 50 of the chat message 632 (including the history of past conversations), function specification settings, and system settings. The information processing system 20 receives a function call request from the generation AI system 50. The information processing system 20 generates an application by calling the second API 27 and calls the generation AI system 50 again. By performing the above process twice, the information processing system 20 can generate two applications.

[0146] FIG. 19 shows a response message 633 sent by the generation AI system 50 to the user terminal 10 via the information processing system 20 after the information processing system 20 has generated two applications. The response message 633 states, "Creation of the customer master and inquiry apps has been completed. The URLs are https: / / …… / 42 and https: / / …… / 100." Therefore, the response message 633 contains two URLs. 42 and 100 are the app IDs of the customer master app and the inquiry app, respectively. The user can execute the customer master app or the inquiry app by clicking the URL.

[0147] Figure 20 shows a chat screen 630 when the user subsequently inputs "Add an attachment to the inquiry app." A chat message 634 saying "Add an attachment to the inquiry app" is displayed on the chat screen 630. When the information processing system 20 receives the chat message 634, it calls the generation AI system 50 via the first API 26 and notifies the generation AI system 50 of the chat message 634. The information processing system 20 can receive an update request for the inquiry app from the generation AI system 50. The information processing system 20 updates the inquiry app by calling the second API 27 and calls the generation AI system 50 again. This allows the information processing system 20 to receive a response message from the generation AI system 50. The information processing system 20 transmits the response message to the user terminal 10.

[0148] 21 shows a response message 635 that is displayed on the chat screen 630 when the update of the inquiry application is complete. The response message 635 is "The update of the inquiry application has been completed. The URL is https: / / ...... / 100."

[0149] <Action or Processing> 22 is an example of a sequence diagram illustrating a process for supporting application development by the information processing system 20. As a general flow, steps S6 to S20 are repeatedly executed, and among these steps, steps S10 to S20 are repeatedly executed.

[0150] S1: The communication unit 11 of the user terminal 10 connects to the URL of the information processing system 20. This URL may be specified by the user directly entering it on the user terminal 10 or by executing a shortcut that specifies the URL. The communication unit 11 of the user terminal 10 generates an HTTP request that includes the URL of the application creation page and transmits the generated HTTP request to the information processing system 20.

[0151] S2: When the communication unit 21 of the information processing system 20 receives the above HTTP request from the user terminal 10, the screen generation unit 22 creates screen information for the chat screen 630. In response to the above HTTP request, the communication unit 21 transmits an HTTP response including the screen information for the chat screen 630 to the user terminal 10.

[0152] S3: The user inputs a chat message (for example, "Please create a customer master and inquiry app") to the user terminal 10. The input may be made using a keyboard or by voice input. The operation reception unit 13 receives the chat message. The communication unit 11 of the user terminal 10 generates a request message including the chat message and transmits the generated request message to the information processing system 20. The communication unit 11 of the user terminal 10 transmits the generated request message, for example, as an HTTP request. Note that the communication unit 11 of the user terminal 10 may generate a request message including a history of past conversations. Furthermore, the history of past conversations may be held by the information processing system 20. If the information processing system 20 holds a history of past conversations, the communication unit 11 of the user terminal 10 does not need to include the history of past conversations in the request message.

[0153] S4: The communication unit 21 of the information processing system 20 receives the chat messages and the history of past conversations. The communication unit 21 of the information processing system 20 passes the chat messages and the history of past conversations to the chat control unit 23. The chat control unit 23 generates a request message including the system settings (setting information), chat messages, the history of past conversations, and function specification settings, and sends the generated request message to the generation AI system 50 by calling the first API 26 (see Figure 6). The setting information generation unit 28 generates the system settings based on the setting information storage unit 24.

[0154] S5: The generation AI system 50 returns a response message including a response message or a function call request to the information processing system 20 (see Figures 7 and 8). The chat control unit 23 receives the response message from the generation AI system 50. This response message may be a response message or a function call request. If it is a function call request, processing proceeds to step S10, and if it is a response message, processing proceeds to step S6.

[0155] S6: When the chat control unit 23 receives a normal response message, the communication unit 21 of the information processing system 20 transmits the response message to the user terminal 10. For example, the response message may be "Please tell me more details."

[0156] S7: The user responds to this response message by inputting more detailed information, such as "I want the XX app." The operation reception unit 13 receives the chat message. The communication unit 11 of the user terminal 10 generates a request message including the chat message and transmits the generated request message to the information processing system 20. The communication unit 11 of the user terminal 10 transmits the generated request message, for example, as an HTTP request.

[0157] The subsequent processing in steps S8 and S9 is the same as in steps S4 and S5. If the response message in step S9 is a function call request, the processing proceeds to step S10, and if it is a response message, the processing proceeds to step S6. If it is an application update, the request message in Fig. 13 is sent in step S8, and the response message in Fig. 14 is sent in step S9.

[0158] S10: When the chat control unit 23 receives a function call request, it analyzes the function and determines that a request has been made to generate or update an application for the application service 40 (application generation request). Because the function for application generation is specified in the function specification setting 233 in step S4, the chat control unit 23 can easily determine that the request is for application generation based on the function name (name 238) included in the function call request. In addition, the chat control unit 23 acquires arguments 239 (application name 239a, field names 239b, 239c, data format, etc.) included in the function call request received in step S5.

[0159] For this reason, the chat control unit 23 requests the application generation unit 25 to generate or update an application for the application service 40. The application generation unit 25 calls the second API 27 to send a request message to the application service 40 to create or update an app. That is, the application generation unit 25 realizes the functionality of the function requested to be called by the generation AI system 50 by sending the request message. In this embodiment, the application generation unit 25 generates or updates an application. The application generation unit 25 calls the above three APIs. 1. API to generate applications published by Application Service 40 2. An API to add multiple fields such as "Customer Code" and "Customer Name" to the application created in 1. 3. APIs that expose your application In "2.", the application generation unit 25 requests the generation of an application by including in the request message arguments 239 (application name 239a, field names 239b, 239c, data format, etc.), which are parameters included in the response message from the generation AI system 50. The specific request message may vary depending on the application service 40.

[0160] S11: The application generation unit 25 receives a response message from the application service 40. The response message contains a result such as "The creation of the XX application was successful. The URL is...". The application generation unit 25 retains the URL until it is sent to the user terminal 10. If the generation of the application fails, an error message is returned from the application service 40. If successful, the process proceeds to step S12; if unsuccessful, the process proceeds to step S15 or S19.

[0161] S12: If the application generation is successful, the chat control unit 23 calls the first API 26 to send a request message including the URL of the application to the generation AI system 50 (see Figure 9 for the first, Figure 11 for the second, and Figure 15 for the update). This creates continuity in the conversation between the user and the generation AI system 50.

[0162] If the application generation is successful, the chat control unit 23 sends a URL to the generation AI system 50 so that the generation AI system 50 can include the URL for accessing the application in a response message.

[0163] S13: In the case of the first application, the generation AI system 50 returns a response message including a reply message or a function call request to the information processing system 20. The chat control unit 23 receives the response message from the generation AI system 50 (see Figure 10 for the first, Figure 12 for the second, and Figure 16 for the update).

[0164] When the generation of the first application is complete, a function call request is sent from the generation AI system 50 to the information processing system 20 in step S13. In this case, the processing is performed in steps S10 to S12. When the generation of the second application is complete, the generation AI system 50 sends a message to the information processing system 20 in step S13 indicating that the generation of the two applications is complete, along with a URL. In this case, the processing proceeds to step S14. In this embodiment, two applications are generated, so the second application is the last application.

[0165] The generation AI system 50 sends a function call request to the information processing system 20 twice in total, once in step S9 and once in step S13. In other words, the generation AI system 50 sends function call requests to the information processing system 20 as many times as the number of applications included in the chat message.

[0166] The chat control unit 23 can determine that the generation of all applications has been completed by receiving a notice or URL indicating that the generation of two applications has been completed.

[0167] S14: If the generation of the two applications is successful, the communication unit 21 of the information processing system 20 sends the response message and multiple URLs included in the response message of step S13 to the user terminal 10. That is, when the chat control unit 23 receives from the generation AI system 50 a notification that the generation of the multiple applications included in the chat message has been completed, it sends the response message from the generation AI system 50 and the multiple URLs it had stored to the user terminal 10. The processing of Figure 22 ends once, and then the user returns to step S6 as necessary to update the applications.

[0168] S15: If the application generation fails, and if the failure occurs a certain number of times or more, the communication unit 21 of the information processing system 20 transmits to the user terminal 10 a result such as "The application creation / update has failed."

[0169] S16: It is expected that the user will respond to this response message with a chat message that is less likely to cause failure in application generation. The operation reception unit 13 receives the chat message. The communication unit 11 of the user terminal 10 generates a request message including the chat message and transmits the generated request message to the information processing system 20. The communication unit 11 of the user terminal 10 transmits the generated request message as, for example, an HTTP request.

[0170] The subsequent processing in steps S17 and S18 is the same as that in steps S4 and S5. If the response message in step S18 is a function call request, the processing proceeds to step S10, and if it is a reply message, the processing proceeds to step S6.

[0171] S19: If the response message of step S11 notifies the user of a failure in application generation, the chat control unit 23 calls the first API 26 to send an error message from the application service 40 to the generation AI system 50. In addition to the error message, a history of past conversations is also sent. This allows the generation AI system 50 to create a function call request that does not generate an error message. For example, if the request message sent by the application generation unit 25 to the application service 40 violates the specifications of the second API 27 published by the application service 40, the error message may contain the correct specifications. The generation AI system 50 can understand the specifications and create a function call request that does not generate an error message. For example, if the error message indicates a character type that cannot be used by the application service 40, the error message will contain the unusable character type, allowing the generation AI system 50 to create a function call request that does not include that character type. This applies not only to character types but also to the format of the request message.

[0172] S20: The chat control unit 23 receives a response message from the generation AI system 50. The response message is a function call request or a reply message. However, since the chat control unit 23 sent an error message, it is expected that the response message will contain a function call request that will successfully generate the application. If it is a function call request, processing proceeds to step S10; if it is a reply message, processing proceeds to step S6.

[0173] <Major Effects> The information processing system 20 of this embodiment can solve two obstacles that users with little specialized knowledge have when developing apps: not knowing what kind of app to create, and not knowing how to create the app they want to create. Furthermore, even if a user requests the generation of multiple applications at once, the information processing system 20 can generate multiple applications by appropriately communicating with the generation AI system 50. Furthermore, the user can update the generated applications with chat messages.

[0174] The application generation system 100 of this embodiment allows a user to develop an application by conversing with the generation AI system 50 in natural language. The information processing system 20 specifies a function to the generation AI system 50, and the generation AI system 50 can request the information processing system 20 to call the function along with the field names of the application, etc. Then, the information processing system 20 actually generates or updates the application. From the user's perspective, this allows a no-code or low-code platform for actually developing a daily report app to be realized by simply inputting a message such as "Please create a daily report app."

[0175] [Second embodiment] In this embodiment, an embodiment will be described that avoids problems related to authentication when the information processing system 20 uses the second API made public by the application service 40.

[0176] In order for the information processing system 20 to call the second API 27, the information processing system 20 needs to be authenticated by the application service 40. When the information processing system 20 in the sequence diagram of FIG. 22 operates in the same domain as the application service 40, authentication information for the application service 40 is sent from a web browser running on the user terminal 10 to the information processing system 20. The authentication information is, for example, included in a cookie in advance. This allows the information processing system 20 to call the second API 27 published by the application service 40. When the low-code or no-code platform (application service 40) and the information processing system 20 are developed by the same organization, it is considered easy to make them in the same domain, and in this case, there is considered to be no problem.

[0177] However, when the information processing system 20 and the application service 40 operate in different domains, authentication issues may arise. This will be explained with reference to Fig. 23. Fig. 23 shows an example of a portal screen 330 for the application service 40 displayed on the user terminal 10. The user can use or develop applications from the portal screen 330.

[0178] For example, consider the following configuration of the portal screen 330 of the application service 40. A "Create AI App" button 331 is displayed on the portal screen 330. When the user presses the "Create AI App" button 331, a separate web page 332 (a chat screen is illustrated in FIG. 23 ) that communicates with the information processing system 20 is opened in a pop-up. In this case, because the application service 40 and the information processing system 20 are in different domains, the user terminal 10 cannot send authentication information for the application service 40 to the information processing system 20. Therefore, the information processing system 20 cannot call the second API 27 published by the application service 40. This is because the separate web page 332 displayed in the pop-up is in a different domain from the portal screen 330, and therefore the separate web page 332 displayed in the pop-up cannot access the cookies of the application service 40.

[0179] Therefore, a configuration is conceivable in which a request is made from another pop-up displayed web page 332 to the original portal screen 330 to call the second API 27 made public by the application service 40.

[0180] <About the function> Fig. 24 is a diagram showing an example of the functional configuration of the information processing system 20 and the user terminal 10 of this embodiment. The functions of the developer terminal 60 may be the same as those in the first embodiment. The explanation of Fig. 24 may mainly focus on the differences from Fig. 5.

[0181] <<User device>> A first web browser 240 and a second web browser 250 are executed on the user terminal 10. The first web browser 240 and the second web browser 250 may be separate applications, or may be separate tabs (separate web pages) displayed by a tab browser.

[0182] The first Web browser 240 includes a first communication unit 11a, a first display control unit 12a, a first operation receiving unit 13a, an application generation unit 25, a launch unit 15, and a first browser-to-browser cooperation unit 14a. Each of these functional units is a function or means realized by the CPU 501 shown in FIG. 4 executing a script included in a Web page acquired by the user terminal 10 from the application service 40. The application generation unit 25 may be the same as that shown in FIG. 5.

[0183] The first communication unit 11a transmits and receives various types of information to and from the application service 40. In this embodiment, the first communication unit 11a receives screen information such as a portal screen from the application service 40.

[0184] The first display control unit 12a interprets screen information such as a web page displayed by the first web browser 240 and displays it on the display 506. The first operation accepting unit 13a accepts various operations performed by the user on the web page displayed on the display 506.

[0185] The launching unit 15 launches the second web browser 250 in response to a user operation on the web page displayed by the first web browser 240. The web page displayed by the first web browser 240 includes the URL of the information processing system 20, and the second web browser 250 connects to this URL.

[0186] The first browser-to-browser linkage unit 14a transmits and receives information to and from the second browser-to-browser linkage unit 14b of the second web browser 250. A single user terminal 10 can simultaneously run multiple web browsers. The first browser-to-browser linkage unit 14a can notify information to the second browser-to-browser linkage unit 14b (and vice versa). If only the first web browser 240 holds authentication information for a specific website (e.g., application service 40), the second web browser 250 can communicate with the specific website in cooperation with the first browser-to-browser linkage unit 14a and the second browser-to-browser linkage unit 14b. The first web browser 240 communicates with the application service 40, and the second web browser 250 is a web browser that communicates with the generation AI system 50 via the information processing system 20. The second web browser 250 can transmit a response message from the generation AI system 50 to the first web browser 240 using the second browser-to-browser linkage unit 14b. The functions of the first inter-browser linking unit 14a and the second inter-browser linking unit 14b are implemented by codes written in scripts transmitted from the application service 40 and the information processing system 20, respectively.

[0187] The second Web browser 250 includes a second communication unit 11b, a second display control unit 12b, a second operation receiving unit 13b, and a second browser-to-browser linking unit 14b. Each of these functional units is a function or means realized by the CPU 501 shown in FIG. 4 executing a script included in a Web page acquired by the user terminal 10 from the information processing system 20.

[0188] The second communication unit 11b transmits and receives various types of information to and from the information processing system 20. In this embodiment, the first communication unit 11a receives screen information of the chat screen 630 from the information processing system 20. In addition, the second communication unit 11b transmits chat messages to the information processing system 20 and receives function call requests from the information processing system 20.

[0189] The second display control unit 12b interprets screen information such as a web page displayed by the second web browser 250 and displays it on the display 506. The second operation accepting unit 13b accepts various operations performed by the user on the web page displayed on the display 506.

[0190] The second inter-browser cooperation unit 14b has the same functions as the first inter-browser cooperation unit 14a. The second inter-browser cooperation unit 14b transmits a function call request received from the information processing system 20 to the first inter-browser cooperation unit 14a.

[0191] <<Information Processing System>> The information processing system 20 has a communication unit 21, a screen generation unit 22, a chat control unit 23, a setting information storage unit 24, and a setting information generation unit 28. These functions may be the same as those in FIG.

[0192] <Action or Processing> 25 and 26 are examples of sequence diagrams in which the information processing system 20 generates or updates an application for the application service 40 by utilizing cooperation between two web browsers in the user terminal 10. Note that the explanation of Fig. 25 and Fig. 26 may mainly focus on the differences from Fig. 22. As a general flow, steps S36 to S49 are repeatedly executed.

[0193] S21: The user specifies the URL of the application service 40 to the user terminal 10. The web browser that connects to the application service 40 is assumed to be the first web browser 240.

[0194] S22: The first communication unit 11a of the first Web browser 240 connects to the URL of the application service 40. The user instructs the user terminal 10 on the URL of the portal screen 330, so the first communication unit 11a sends an HTTP request including the URL of the portal screen 330 to the application service 40.

[0195] S23: When the application service 40 receives the above HTTP request from the user terminal 10, it transmits screen information (HTML, JavaScript, CSS, etc.) of the portal screen 330 to the user terminal 10. This screen information includes a script for starting the second Web browser 250, a URL of the information processing system 20 (for example, a chat screen), etc.

[0196] S24: The first communication unit 11a of the first Web browser 240 receives the screen information of the portal screen 330, and the first display control unit 12a of the first Web browser 240 causes the portal screen 330 to be displayed.

[0197] S25: The user presses the "Create AI application" button 331 on the portal screen 330. The first operation accepting unit 13a accepts the press.

[0198] S26: This causes the launching unit 15 to launch the second Web browser 250. The first inter-browser linking unit 14a notifies the second Web browser 250 of the URL of the chat screen 630 included in the customer management application screen 610. The second Web browser 250 is displayed as a pop-up. More specifically, the second Web browser 250 is launched by a script included in the screen information of the portal screen 330.

[0199] S27: The second communication unit 11b of the second Web browser 250 uses the URL of the chat screen 630 notified by the first Web browser 240 to request the chat screen 630 from the information processing system 20.

[0200] S28: The screen generation unit 22 of the information processing system 20 generates screen information (HTML, JavaScript, CSS, etc.) for the chat screen 630, and the communication unit 21 transmits the screen information for the chat screen 630 to the second Web browser 250 (user terminal 10).

[0201] S29: The second communication unit 11b of the second Web browser 250 receives the screen information of the chat screen 630. The second display control unit 12b displays the chat screen 630 based on the screen information.

[0202] S30: Next, the user inputs a chat message such as "I want the XX application" on the chat screen 630.

[0203] The flow after the user terminal 10 displays the chat screen 630 is the same as in FIG. 22, so in FIGS. 25 and 26, differences from FIG. 22 may be mainly explained.

[0204] S31: The second communication unit 11b of the second Web browser 250 transmits the chat message and the past history to the information processing system 20.

[0205] S32: The communication unit 21 of the information processing system 20 receives the chat messages and the history of past conversations. The communication unit 21 of the information processing system 20 passes the chat messages and the history of past conversations to the chat control unit 23. The setting information generation unit 28 generates system settings based on the setting information storage unit 24. The chat control unit 23 generates a request message including the system settings (setting information), chat messages, the history of past conversations, and function specification settings, and sends the generated request message to the generation AI system 50 by calling the first API 26 (see FIG. 6).

[0206] S33: The generation AI system 50 returns a response message including a response message or a function call request to the information processing system 20 (see Figures 7 and 8). The chat control unit 23 receives the response message from the generation AI system 50. This response message may be a response message or a function call request.

[0207] S34: The communication unit 21 of the information processing system 20 transmits a response message (normal message) or a response message including a function call request to the second Web browser 250. If it is a response message, the process proceeds to step S35, and if it is a function call request, the process proceeds to step S41.

[0208] S35: When the second Web browser 250 receives a response message (in this case a response message) from the generation AI system 50 in step S34, the second display control unit 12b of the second Web browser 250 displays the response message (e.g., please tell me more details).

[0209] S36: The user responds to this response message by inputting more detailed information, such as "I want the XX application." The second operation accepting unit 13b accepts the chat message.

[0210] S37: The second communication unit 11b of the second Web browser 250 generates a request message including the chat message, and transmits the generated request message to the information processing system 20. The second communication unit 11b transmits the generated request message as, for example, an HTTP request.

[0211] The subsequent processing in steps S38 and S39 is similar to that in steps S32 and S33.

[0212] S40: The communication unit 21 of the information processing system 20 transmits the response message (function call request or reply message) of step S39 to the second Web browser 250. If the response message of step S39 is a function call request, the process proceeds to step S41; if it is a reply message, the process proceeds to step S35.

[0213] S41: When the second Web browser 250 receives a response message (here, a function call request) from the generation AI system 50 in step S40, the second inter-browser cooperation unit 14b of the second Web browser 250 requests the first Web browser 240 to generate or update an application of the application service 40. Examples of such cooperation (message communication) between browsers include: https: / / developer.mozilla.org / ja / docs / web-API / Window / postMessage is known.

[0214] S42: The first inter-browser cooperation unit 14a of the first Web browser 240 receives the request to generate or update the application, and the application generation unit 25 calls the second API 32 to generate or update the application for the application service 40.

[0215] S43: The application service 40 sends the result (success or failure) of the application generation or update to the application generation unit 25 of the first Web browser 240. If successful, the URL of the application is notified. If unsuccessful, an error message is notified.

[0216] S44: The first inter-browser cooperation unit 14a of the first Web browser 240 transmits the result of the application generation or update to the second Web browser 250. After that, if the result is successful, the process proceeds to step S45, and if the result is unsuccessful, the process proceeds to step S50 or S56.

[0217] S45: The second inter-browser cooperation unit 14b of the second Web browser 250 receives the result of success (URL of the application), and the second communication unit 11b of the second Web browser 250 transmits the result (success) regarding the generation or update of the application to the information processing system 20. Therefore, in the flows of Figures 25 and 26, the information processing system 20 receives the result from the user terminal 10 (second Web browser 250) rather than the application service 40. The subsequent processes of steps S46 and S47 are similar to steps S12 and S13 of Figure 22.

[0218] A supplementary explanation about step S46: The chat control unit 23 calls the first API 26 to send a request message including the URL of the application to the generation AI system 50 (see FIG. 9 for the first, FIG. 11 for the second, and FIG. 15 for the update).

[0219] A further note about step S47: In the case of the first application, the generation AI system 50 returns a response message including a reply message or a function call request to the information processing system 20. The chat control unit 23 receives the response message from the generation AI system 50 (see Figure 10 for the first, Figure 12 for the second, and Figure 16 for the update).

[0220] When the generation of the first application is complete, a function call request is sent from the generation AI system 50 to the information processing system 20 in step S47. In this case, steps S48 and S41 to S46 are executed. When the generation of the second application is complete, the generation AI system 50 sends a message to the information processing system 20 in step S47 indicating that the generation of the two applications is complete and a URL. In this case, the process proceeds to steps S48 and S49.

[0221] The chat control unit 23 can determine that the generation of all applications has been completed by receiving a notice or URL indicating that the generation of two applications has been completed.

[0222] S48: The communication unit 21 of the information processing system 20 transmits the function call request (in the first case) or the response message (in the second case) included in the response message of step S47 to the user terminal 10. The following describes the case where the generation of the second application is completed.

[0223] S49: The second communication unit 11b of the second Web browser 250 receives the response message. The second display control unit 12b displays the response message on the chat screen 630. In step S49, the processing in Fig. 26 ends for the time being, and thereafter, the user may return to step S35 as necessary to update the application.

[0224] S50: When the second Web browser 250 receives the result (success or failure) of step S44 from the first Web browser 240, the second browser-to-browser cooperation unit 14b determines whether the number of consecutive failures is greater than or equal to a certain number. If the number of consecutive failures is greater than or equal to the certain number, the second display control unit 12b displays a message such as "Failed to create / update the application" on the chat screen 630. The process of FIG. 26 ends once, and the user then returns to step S35 as necessary to create the application again.

[0225] S51: It is expected that the user will respond to this response message with a chat message that will make it less likely that the application will fail to be generated. The second operation accepting unit 13b accepts the chat message.

[0226] S52: The second communication unit 11b of the second Web browser generates a request message including the chat message, and transmits the generated request message to the information processing system 20. The second communication unit 11b transmits the generated request message as, for example, an HTTP request.

[0227] The subsequent processing in steps S53 and S54 is the same as that in steps S17 and S18 in Fig. 22. If the response message in step S54 is a function call request, the processing proceeds to step S41, and if it is a reply message, the processing proceeds to step S35.

[0228] S55: The communication unit 21 of the information processing system 20 transmits the response message (function call request or reply message) of step S54 to the second Web browser 250. If the response message of step S54 is a function call request, the process proceeds to step S41; if it is a reply message, the process proceeds to step S35.

[0229] S56: If the second inter-browser cooperation unit 14b of the second Web browser 250 receives a result of failure (an error message), the second communication unit 11b of the second Web browser 250 transmits the result (failure) regarding the generation or update of the application to the information processing system 20. The subsequent processes of steps S57 and S58 are similar to steps S19 and S20 in FIG.

[0230] S59: The information processing system 20 sends a function call request or a normal response message to the second Web browser 250. If it is a function call request, the process proceeds to step S41, and if it is a response message, the process proceeds to step S35.

[0231] Thereafter, even during repeated processing, the information processing system 20 generates or updates the application of the application service 40 by requesting the user terminal 10 .

[0232] 25 and 26 show an example in which the second web browser 250 is displayed as a pop-up, but a function called iframe supported by the web browser may also be used. An iframe (inline frame) is defined by an HTML element (tag) and is a function that displays another web page or content (text, image, video, etc.) within a web page. By embedding another web page within a web page, a chat screen, which is a separate site, can be displayed within the portal screen of the application service 40. In this case, postMessage is known as a method of communication between windows. In this case, the sequence diagram may be the same as that shown in FIG. 22.

[0233] <Major Effects> In addition to the effects of the first embodiment, the information processing system 20 of this embodiment allows the information processing system 20 to generate an application even if the application service 40 and the information processing system 20 provide services from websites in different domains.

[0234] <Other application examples> The best mode for carrying out the present invention has been described above using examples, but the present invention is not limited to these examples in any way, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention.

[0235] For example, in the present embodiment, an example of chat messages input by a user in natural language has been described, but the user may also request the generation of an application by, for example, sending an image (photo, handwriting, snapshot, etc.) representing an app screen to the information processing system 20. The information processing system 20 sends the app screen to the generation AI system 50, which analyzes the app screen and sends a function call request to the information processing system 20. The generation AI system 50 can include field names and data formats extracted from the app screen in the function call request. Alternatively, chat messages may be sent to the information processing system 20 in file format.

[0236] Furthermore, in this embodiment, the case where the user wants to create two applications has been described, but the information processing system 20 can also handle the case where the user wants to create three or more applications. In the case of three applications, the generation AI system 50 sends a total of three function call requests to the information processing system 20. The information processing system 20 generates three applications by calling the second API 32 of the application service 40 a total of three times.

[0237] For example, in the present embodiment, an example of chat messages input by a user in natural language has been described, but a method of inputting by speech through speech may also be used. In the case of a method of inputting by speech, the user terminal 10 transmits speech input by speech to the information processing system 20. The information processing system 20 then converts the received speech into text and generates a request message including the converted text. The information processing system 20 then transmits the generated request message to the generation AI system 50.

[0238] In addition, if the generation AI system 50 supports voice input, the information processing system 20 may transmit the received voice to the generation AI system 50.

[0239] Furthermore, in this embodiment, the user explicitly requests the information processing system 20 to generate an application, for example, "I want an XX app." However, the user does not necessarily have to make an explicit request. For example, if the user sends a chat message to the information processing system 20 saying, "Data entry is a hassle," the information processing system 20 or the generation AI system 50 detects the problem. If the information processing system 20 or the generation AI system 50 determines that the problem can be solved by generating an application, it can suggest to the user that they generate a new application.

[0240] Also, in this embodiment, the information processing system 20 transmits the URL of the application to the generation AI system 50, but the URL may be access information for accessing the application. For example, when the application service 40 returns the ID (identification information) of the generated application to the information processing system 20, the information processing system 20 transmits the ID of the application to the generation AI system 50. The information processing system 20 transmits the ID of the application contained in the response message returned from the generation AI system 50 to the user terminal 10. When the user terminal 10 requests execution of the application by specifying the ID of the application, the information processing system 20 converts it into a URL for the application based on the ID and returns this URL to the user terminal 10.

[0241] Furthermore, in this embodiment, an example has been described in which the information processing system 20 receives a request to call a function from the generation AI system 50, but the information processing system 20 may also receive a request to call the Web-API itself from the generation AI system 50. In other words, functions and APIs do not need to be strictly distinguished.

[0242] Additionally, the devices described in the examples are merely illustrative of one of several computing environments for implementing the embodiments disclosed herein. In one embodiment, information processing system 20 includes multiple computing devices, such as a server cluster, configured to communicate with each other via any type of communication link, including a network, shared memory, etc., and to perform the processes disclosed herein.

[0243] Furthermore, the information processing system 20 can be configured to share the processing steps disclosed in this embodiment, such as those shown in FIG. 22, in various combinations. For example, a process executed by a specific unit can be executed by multiple information processing devices included in the information processing system 20. Furthermore, the information processing system 20 may be integrated into a single server device, or may be divided into multiple devices.

[0244] Furthermore, the configuration examples shown in Fig. 5 and the like are divided according to main functions to facilitate understanding of the processing by the information processing system 20. The present invention is not limited by the manner in which the processing units are divided or the names of the processing units. The processing of the information processing system 20 can also be divided into more processing units depending on the processing content. Furthermore, it can also be divided so that one processing unit includes more processes.

[0245] Furthermore, each function of the above-described embodiments can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to perform each function by software, such as a processor implemented by an electronic circuit, as well as devices such as an ASIC (Application Specific Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), and conventional circuit modules designed to perform each of the above-described functions.

[0246] Embodiments of the present invention provide significant improvements in computer power and functionality. These improvements allow users to utilize computers that provide more efficient and robust interaction with tables, which are ways of storing and presenting information in information processing devices. Furthermore, embodiments of the present invention provide a better user experience through the use of more efficient, powerful, and robust user interfaces. Such user interfaces provide better interaction between humans and machines.

[0247] <Additional Notes> [Appendix 1] An information processing device capable of communicating with a terminal device and a generation AI (Artificial Intelligence) system via a network, an application generator that functions by executing a predefined function, the application generator generating an application according to a request for application generation based on parameters included in the request; a chat control unit that, when receiving a chat message from the terminal device, transmits the received chat message to the generation AI system; and the chat control unit transmits, at least once, setting information for generating the application and information for calling the function to the generation AI system; When the chat control unit receives the request sent by the generation AI system based on the chat message sent to the generation AI system, the setting information sent to the generation AI system, and the information for calling the function sent to the generation AI system, the application generation unit generates the application related to the request based on the parameters included in the received request, When the chat message includes an instruction to generate a plurality of applications, the chat control unit generates the application related to the request based on each of the requests transmitted from the generation AI system. Information processing device. [Appendix 2] When the chat control unit receives the request for generating a first application, and the application generation unit succeeds in generating the first application in response to receiving the request for generating the first application, the chat control unit receives the request in response to sending the generation result indicating success to the generation AI system; The information processing device according to claim 1 , wherein the application generation unit generates a second application in response to receiving the request as a response from the generation AI system. [Appendix 3] When the chat control unit transmits the generation result indicating that the generation of the application was successful to the generation AI system and receives from the generation AI system an indication that the generation of the multiple applications included in the chat message has been completed, 3. The information processing device according to claim 1, wherein the chat control unit transmits to the terminal device, as a response message to the chat message, a message indicating that the plurality of applications included in the chat message have been generated. [Appendix 4] the application generation unit acquires access information for accessing the application for each of the generated applications; 4. The information processing device according to claim 3, wherein the chat control unit transmits a plurality of pieces of access information for accessing the plurality of applications generated to the terminal device as a response message to the chat message. [Appendix 5] When the chat control unit receives a chat message from the terminal device that specifies and updates the generated application, the chat control unit receives the request from the generation AI system, including the content of the update and identification information of the application to be updated, in response to sending the chat message to the generation AI system; the application generation unit updates the application specified by the identification information based on the content of the update. 5. The information processing device according to claim 1. [Appendix 6] The information processing device according to any one of claims 1 to 5, wherein the chat control unit, when receiving a response message from the generation AI system in response to the chat message sent to the generation AI system, sends the response message to the terminal device. [Appendix 7] the application generation unit holds the access information for each of the generated applications, If the generation of the application is successful, the chat control unit sends the access information for accessing the generated application to the generation AI system so that the generation AI system can include the access information in the response message; The information processing device described in claim 4, wherein the chat control unit, when receiving from the generation AI system notification that the generation of multiple applications included in the chat message has been completed, sends a response message from the generation AI system and the multiple pieces of access information that it has retained to the terminal device. [Appendix 8] The information for calling the function includes a setting of the specifications of the function to be called by the generation AI system, a function call request for calling the function, which the generation AI system transmits to the information processing device based on the setting of the function specification, includes a request for generating or updating the application; 8. The information processing device according to claim 1, wherein the chat control unit receives a request for generating or updating the application from the generation AI system. [Appendix 9] When the chat control unit receives a request for generating the application from the generation AI system, the application generation unit generates the application related to the request based on the parameters; When the chat control unit receives the response message to the chat message from the generation AI system, rather than a request for generation of the application, The information processing device according to claim 7, wherein the chat control unit transmits the response message to the terminal device. [Appendix 10] If the application generation unit fails to generate the application, The information processing device described in any one of claims 1 to 9, wherein the chat control unit sends an error message obtained due to a failure in generating the application and the chat message received again to the generation AI system, and receives a request for generating the application in response to the error message and the chat message. [Appendix 11] If the application generation unit fails to generate the application a certain number of times, 11. The information processing device according to claim 10, wherein the chat control unit transmits a notification to the terminal device that the generation of the application has failed. [Appendix 12] If the application is an application in which data is registered in a table, 12. The information processing device according to claim 1, wherein the parameter is one or more field names of the table. [Appendix 13] If the application is an application in which data is registered in a table, 6. The information processing device according to claim 5, wherein updating the application is adding or deleting one or more fields from the table. [Appendix 14] the information processing device communicates with an application service that executes the application via a network; 14. The information processing device according to claim 1, wherein the application generation unit specifies the parameters and requests the application service to generate the application. [Appendix 15] a first web browser that communicates with the application service and a second web browser that is started by the first web browser are executed on the terminal device; the information processing device receives the chat message from the second web browser; When the chat control unit receives a request for generating the application transmitted by the generation AI system, the information processing device transmits the request for generating the application to the second web browser; the second web browser sends a request for generating the application to the first web browser; 15. The information processing device according to claim 14, wherein the first web browser transmits a request for generating the application to the application service. [Explanation of symbols]

[0248] 10 User Devices 20 Information Processing Systems 40 Application Services 50 Generative AI System 100 App Generation System [Prior art documents] [Patent documents]

[0249] [Patent Document 1] Japanese Patent Application Publication No. 2023-018851

Claims

1. An information processing device capable of communicating with a terminal device and a generation AI (Artificial Intelligence) system via a network, an application generator that functions by executing a predefined function, the application generator generating an application according to a request for application generation based on parameters included in the request; a chat control unit that, when receiving a chat message from the terminal device, transmits the received chat message to the generation AI system; and The chat control unit transmits, at least once, setting information for generating the application and information for calling the function to the generation AI system; When the chat control unit receives the request sent by the generation AI system based on the chat message sent to the generation AI system, the setting information sent to the generation AI system, and the information for calling the function sent to the generation AI system, the application generation unit generates the application related to the request based on the parameters included in the received request, When the chat message includes an instruction to generate a plurality of applications, the chat control unit generates the application related to the request based on the request each time the request transmitted from the generation AI system is received multiple times. Information processing device.

2. When the chat control unit receives the request for generating a first application, and the application generation unit succeeds in generating the first application in response to receiving the request for generating the first application, The chat control unit receives the request in response to sending a successful generation result to the generation AI system, The information processing device according to claim 1 , wherein the application generation unit generates a second application in response to receiving the request as a response from the generation AI system.

3. When the chat control unit transmits a generation result indicating that the generation of the application was successful to the generation AI system and receives a notification from the generation AI system indicating that the generation of the multiple applications included in the chat message has been completed, The information processing device according to claim 1 , wherein the chat control unit transmits to the terminal device, as a response message to the chat message, a message indicating that the plurality of applications included in the chat message have been generated.

4. the application generation unit acquires access information for accessing the application for each of the generated applications; The information processing device according to claim 3 , wherein the chat control unit transmits a plurality of pieces of access information for accessing the plurality of applications generated to the terminal device as a response message to the chat message.

5. When the chat control unit receives a chat message from the terminal device that specifies and updates the generated application, The chat control unit receives the request from the generation AI system, including the content of the update and identification information of the application to be updated, in response to sending the chat message to the generation AI system; the application generation unit updates the application specified by the identification information based on the content of the update. The information processing device according to claim 1 .

6. The information processing device according to claim 1 , wherein the chat control unit, when receiving a response message from the generation AI system in response to the chat message sent to the generation AI system, sends the response message to the terminal device.

7. the application generation unit holds the access information for each of the generated applications, If the generation of the application is successful, the chat control unit sends the access information for accessing the generated application to the generation AI system so that the generation AI system can include the access information in the response message; The information processing device described in claim 4, wherein the chat control unit, when receiving from the generation AI system notification that the generation of the multiple applications included in the chat message has been completed, sends a response message from the generation AI system and the multiple pieces of access information that it has retained to the terminal device.

8. The information for calling the function includes a setting of the specifications of the function to be called by the generating AI system, A function call request for calling the function, which is sent by the generation AI system to the information processing device based on the setting of the function specification, includes a request for generating or updating the application, The information processing device according to claim 1 , wherein the chat control unit receives a request for generating or updating the application from the generation AI system.

9. When the chat control unit receives a request for generating the application from the generation AI system, the application generation unit generates the application related to the request based on the parameters, When the chat control unit receives the response message to the chat message from the generation AI system, rather than a request for generation of the application, The information processing device according to claim 7 , wherein the chat control unit transmits the response message to the terminal device.

10. If the application generation unit fails to generate the application, 2. The information processing device according to claim 1, wherein the chat control unit transmits an error message obtained due to a failure in the generation of the application and the chat message received again to the generation AI system, and receives a request for the generation of the application in response to the error message and the chat message.

11. If the application generation unit fails to generate the application a certain number of times, The information processing device according to claim 10 , wherein the chat control unit transmits a notification to the terminal device that the generation of the application has failed.

12. If the application is an application in which data is registered in a table, The information processing apparatus according to claim 1 , wherein the parameter is one or more field names of the table.

13. If the application is an application in which data is registered in a table, The information processing apparatus according to claim 5 , wherein updating the application means adding or deleting one or more fields to the table.

14. the information processing device communicates with an application service that executes the application via a network; The information processing apparatus according to claim 1 , wherein the application generation unit specifies the parameters and requests the application service to generate the application.

15. a first web browser that communicates with the application service and a second web browser that is started by the first web browser are executed on the terminal device; the information processing device receives the chat message from the second web browser; When the chat control unit receives a request for generating the application transmitted by the generation AI system, the information processing device transmits the request for generating the application to the second web browser; the second web browser sends a request for generating the application to the first web browser; The information processing apparatus according to claim 14 , wherein the first web browser transmits a request for generating the application to the application service.

16. An application generation system in which a terminal device, a generation AI (Artificial Intelligence) system, and an information processing device communicate with each other via a network, The terminal device Sending a chat message to the generative AI system; an application generator that functions by executing a predefined function, the application generator generating an application according to a request for application generation based on parameters included in the request; a chat control unit that, when receiving a chat message from the terminal device, transmits the received chat message to the generation AI system; and The chat control unit transmits, at least once, setting information for generating the application and information for calling the function to the generation AI system; When the chat control unit receives the request sent by the generation AI system based on the chat message sent to the generation AI system, the setting information sent to the generation AI system, and the information for calling the function sent to the generation AI system, the application generation unit generates the application related to the request based on the parameters included in the received request, When the chat message includes an instruction to generate a plurality of applications, the chat control unit generates the application related to the request based on the request each time the request transmitted from the generation AI system is received multiple times. App generation system.

17. An information processing device capable of communicating with a terminal device and a generating AI (Artificial Intelligence) system via a network, an application generator that functions by executing a predefined function, the application generator generating an application according to a request for application generation based on parameters included in the request; a chat control unit that, when receiving a chat message transmitted from the terminal device, transmits the received chat message to the generation AI system; It functions as The chat control unit transmits, at least once, setting information for generating the application and information for calling the function to the generation AI system; When the chat control unit receives the request sent by the generation AI system based on the chat message sent to the generation AI system, the setting information sent to the generation AI system, and the information for calling the function sent to the generation AI system, the application generation unit generates the application related to the request based on the parameters included in the received request, When the chat message includes an instruction to generate a plurality of applications, the chat control unit generates the application related to the request based on the request each time the request transmitted from the generation AI system is received multiple times. program.

18. An application generation method performed by an information processing device that can communicate with a terminal device and a generation AI (Artificial Intelligence) system via a network, comprising: The information processing device includes: an application generator that functions by executing a predefined function, the application generator generating an application according to a request for application generation based on parameters included in the request; a chat control unit that, when receiving a chat message from the terminal device, transmits the received chat message to the generation AI system; and The chat control unit transmits, at least once, setting information for generating the application and information for calling the function to the generation AI system; When the chat control unit receives the request sent by the generation AI system based on the chat message sent to the generation AI system, the setting information sent to the generation AI system, and the information for calling the function sent to the generation AI system, the application generation unit generates the application related to the request based on the parameters included in the received request, When the chat message includes an instruction to generate a plurality of applications, the chat control unit generates the application related to the request based on the request each time the request transmitted from the generation AI system is received multiple times. How to generate an application.

Citation Information

Patent Citations

  • Automatic program code generation system

    JP2023018851A