Information processing device, AI-based system, program, layout setting method
The information processing device assists users in setting application layouts by integrating with a generation AI system, addressing the challenge of inexperienced users in layout design for application development.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2026-04-09
AI Technical Summary
Conventional technologies face challenges in assisting users without development experience to set the layout of applications effectively.
An information processing device communicates with a terminal device and a generation AI system to assist users in creating applications by setting layouts on user interface screens, using a layout setting unit that executes functions based on parameters generated by the AI system.
Enables users to set the layout of user interface screens during application creation, facilitating efficient and user-friendly application development without requiring extensive coding knowledge.
Smart Images

Figure 2026061202000001_ABST
Abstract
Description
Technical Field
[0006] , , , ,
[0001] The present invention relates to an information processing apparatus, an AI utilization system, a program, and a layout setting method.
Background Art
[0002] For the development of an application, an operation called programming (coding) is required in which a developer inputs source code from a keyboard or the like. For this reason, programming support techniques that reduce or eliminate the input of program code are known.
[0003] Techniques for assisting in the screen design for the authentication of the application to be constructed have been devised (see, for example, Patent Document 1). Patent Document 1 discloses a technique for controlling to display a layout editing screen of the authentication screen in which prototype components in which predetermined actions are defined are arranged in advance as a template of the authentication screen for user authentication in the application to be constructed.
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the conventional technology, there is a problem that when a user without experience in development attempts to set the layout of an application, the desired layout may not be set.
[0005] In view of the above problems, the present invention provides a technique for assisting in the layout setting on a user interface screen when creating an application.
Means for Solving the Problems
[0007] This invention can assist in setting the layout of user interface screens when creating applications. [Brief explanation of the drawing]
[0008] [Figure 1] This diagram illustrates the process from when a user inputs a chat message, when the generation AI system requests the information processing system to execute a function, to when the information processing system generates the application. [Figure 2] This figure shows an example of a conversation that takes place to generate an application. [Figure 3] Figure 2 shows an example of a restaurant inventory management app screen displayed by the restaurant inventory management app created from the conversation described in Figure 2. [Figure 4] This diagram illustrates the process by which a generation AI system requests the information processing system to execute a function in response to a chat message entered by a user, and the information processing system then sets the layout of the application. [Figure 5] This figure shows an example of a screen layout for an inventory management application. [Figure 6] This figure shows the system configuration of an example of an AI-utilizing system. [Figure 7] This diagram shows an example of the hardware configuration of an information processing system, a user terminal, and a developer terminal. [Figure 8] This diagram shows an example of the functional configuration of an information processing system, a user terminal, and a developer terminal. [Figure 9] This diagram shows an example of the app creation start screen displayed on a user's device. [Figure 10] This diagram shows an example of a chat screen displayed on a user's device. [Figure 11] Figure 10 shows an example of a chat screen after a customer management app has been created when the user clicks "Please try creating a customer management app." [Figure 12] This figure shows an example of a customer management app screen displayed on the user's device after the user taps the app name shown in Figure 11. [Figure 13] This figure shows an example of a chat screen displayed on a user's device. [Figure 14] This figure shows an example of a customer management application screen displayed on a user's terminal. [Figure 15] This is an example sequence diagram showing how an information processing system configures the layout of an application. [Figure 16] This diagram shows an example of a field in a customer management application in JSON format. [Figure 17] This figure shows an example request message generated by the chat control unit in step S8 of Figure 15. [Figure 18] This figure shows an example response message returned by the generation AI system in response to the request message shown in Figure 17. [Figure 19] This figure shows an example response message returned by the generation AI system in response to the request message shown in Figure 17. [Figure 20] FIG. 15 is a diagram showing an example of a request message generated by a layout setting unit in step S11. [Figure 21] FIG. 4 is a diagram showing an example of the functional configuration of an information processing system and a user terminal. [Figure 22] FIG. 7 is a diagram showing an example of a chat screen displayed by a user terminal. [Figure 23] FIG. 22 is a diagram showing an example of a chat screen after a customer management application is created when a user presses "Please create a customer management application appropriately". [Figure 24] FIG. 13 is a diagram showing an example of a chat screen displayed by a user terminal. [Figure 25] FIG. 16 is a sequence diagram showing an example in which an information processing system sets the layout of an application of an application service. [Figure 26] FIG. 19 is a sequence diagram showing an example in which an information processing system sets the layout of an application of an application service.
MODE FOR CARRYING OUT THE INVENTION
[0009] Hereinafter, as an example of a mode for carrying out the present invention, an information processing system and a layout setting method performed by the information processing system will be described with reference to the drawings.
[0010] [First Embodiment] [Support for Application Development Using a Generation AI System] Generative AI systems such as ChatGPT (registered trademark) are known. Generative AI systems can perform a variety of natural language processing tasks, including text generation, question answering, text classification, sentiment analysis, information extraction, and text summarization. Generative AI systems such as Copilot (registered trademark), which suggest the next code to write while a program is being coded, are also known. In this embodiment, we describe a technique in which a user generates an application and sets the layout of the application through a conversation (also called chat) with a generative AI system. Note that a generative AI system or its function may sometimes simply be referred to as AI (Artificial Intelligence).
[0011] Here, the external generative AI system only needs to be provided as a separate system from the system that provides the application-related services, and the application-related services and the generative AI system may be provided by the same provider.
[0012] First, it is said that the following two things are obstacles for users with limited expertise when developing an app. 1. I don't know what kind of app I should create. 2. Even if I have an app I want to create, I don't know how to make it.
[0013] Barrier 1 can be easily resolved because the generative AI system will generate ideas. Since generative AI systems typically learn from a large amount of text on the internet, they possess knowledge of various industries and business operations. Therefore, the generative AI system can also provide a wealth of ideas regarding the type of application.
[0014] Regarding Barrier 2, generally speaking, AI, including generative AI systems, cannot generate applications. Therefore, it is conceivable to overcome Barrier 2 by utilizing the function calling capabilities (also known as function calling, function call, tool call, etc.) provided by the generative AI system, and by having an information processing system intervene between the user and the generative AI system. The method of generating applications will be explained with reference to Figures 1 to 3.
[0015] Figure 1 illustrates the process from when the user inputs a chat message, when the generation AI system 50 requests the information processing system 20 to execute a function, to when the information processing system 20 generates an application. The information processing system 20 will be described later, but it provides a user interface for when the user develops an application using the generation AI system 50. The information processing system 20 also converts the chat message sent from the user terminal 10 into a request message that calls an API (Application Programming Interface) exposed by the generation AI system 50 and the application service 40, and sends it to the generation AI system 50 and the application service 40.
[0016] (1) The user terminal 10 sends the chat message entered by the user to the information processing system 20. In this embodiment, the chat message is, for example, "Please make a restaurant inventory management app." Note that the chat message may include not only direct instructions such as "Please make a restaurant inventory management app," but also messages expressing desires such as "I want a restaurant inventory management app."
[0017] (2) When the information processing system 20 receives a chat message entered by the user, it sends the received chat message to the generation AI system 50 via an API for receiving request messages provided by the generation AI system, including the received chat message in the request message. Here, the information processing system 20 also sends the specification of a function in the request message. A function is a program interface that performs a specific process with specified arguments and returns a return value as a result. This function allows the generation AI system 50 to request the information processing system 20 to generate or update an application used by the application service 40. By sending the specification of this function to the generation AI system 50 in the request message, the information processing system 20 can generate or update an application in low code or no code in response to a request from the generation AI system 50. The request by the generation AI system 50 to the information processing system 20 to call this function is called a function call. In addition, as supplementary information, the information processing system 20 may include system settings in the request message to notify the generation AI system 50 of what the application is. Details regarding the system settings and function specification settings will be described later, but while the system settings are general policies regarding the application to be generated, the function specification settings are information that the information processing system 20 specifies to the generation AI system 50 regarding the specifications of the functions that the generation AI system 50 will call.
[0018] Furthermore, the information processing system 20 does not have to include system settings and function specifications in the same request message as the received chat message. For example, the information processing system 20 may send the system settings and function specifications to the generating AI system 50 in a separate request message from the request message containing the received chat message. Alternatively, the information processing system 20 may send the system settings and function specifications to the generating AI system 50 in separate request messages.
[0019] The information processing system 20 may send the system settings and function specifications each time it sends a received chat message as a request message, or it may send them only once initially.
[0020] (3) Based on the chat message conversation history, function specification settings, and system settings included in the sent request message, the generation AI system 50 sends a response message containing a function call request to the information processing system 20. If the generation AI system 50 understands the chat message, it is expected that the function call request will include information specifying the function that will generate the application. Note that the generation AI system 50 only requests the information processing system 20 to call the function, and the information processing system 20 actually executes the function. However, the generation AI system 50 includes field names and other information corresponding to the type of application requested by the user in the request message. Examples of application field names and other information are explained in Figures 2 and 3.
[0021] The generating AI system 50 does not necessarily send a response message containing a function call request to the information processing system 20 based on the conversation history, function specification settings, and system settings. For example, the generating AI system 50 may send a response message containing a question or a response message indicating that it could not understand the content of the chat message to the information processing system 20.
[0022] (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 in (2) and (3). More specifically, the information processing system 20 generates a request message to call the API of the application service 40 from the content of the function call request and sends the generated request message to the application service 40. In this embodiment, the process related to the generation of such a request message may be expressed as "function execution" or "executing a function". In this embodiment, the information processing system 20 generates or updates the application of the application service 40 in response to the function call request.
[0023] In this way, the information processing system 20 can develop an application using the generation AI system 50 simply by the user inputting chat messages in natural language on the user terminal 10, thus eliminating barrier 2.
[0024] Figure 2 shows an example of a conversation that takes place to generate an application. The application creation support screen in Figure 2 is an example of an application creation page displayed on the user terminal 10. On the application creation page, the chat messages entered by the user and the response messages from the generation AI system 50 are displayed alternately in chronological order. Note that Figure 2 shows an example where the entire chat history is displayed on the screen, but as the conversation history increases, it may be possible to display it by scrolling.
[0025] The chat messages and their corresponding responses are shown below.
[0026] Chat message 301 is a chat message entered by the user asking, "What kind of apps can I create?" The response message 302 to chat message 301 lists several apps, such as an inquiry app and a management app.
[0027] Chat message 303 is a chat message entered by the user that reads, "Please try creating an inventory management app for restaurants." Response message 304 to chat message 303 lists questions from the generation AI system 50 regarding app creation. Specifically, response message 304 lists the following questions: Please answer the following questions to determine the field definitions for your app. What is the name of the item in stock? Do you manage the quantity of inventory items numerically? What is the unit of measurement for inventory items? Are there categories for the items in stock? Do you manage the expiration dates of your inventory items? The questions listed include, "Do I need to attach images of the items in stock?"
[0028] Chat message 305 is a chat message entered by the user that says, "Please try making something." Response message 306 is a response message to chat message 305, and for example, it displays the result of creating the app. Specifically, response message 306 displays the following result: "We have created an inventory management app for restaurants. You can access it from the following URL." Restaurant inventory management app (URL embedded) 306a The following fields are set in this app. Item Name: This field is for entering the name of the item in stock. Quantity: This field is used to numerically manage the quantity of items in stock. Unit: This field is for entering the unit of measurement for inventory items. Category: This is a dropdown field to select the category of the item in stock. You can choose from Foodstuffs, Beverages, Seasonings, or Other. Expiration Date: This is the date field for entering the expiration date of the inventory item. Image: This is a field for attaching images of items in stock.
[0029] When a user presses the button for the restaurant inventory management app 306a, the screen of the created restaurant inventory management app is displayed. This app screen has fields such as item name, quantity, unit, category, expiration date, and image.
[0030] Figure 3 shows an example of a restaurant inventory management app screen 290A displayed by the restaurant inventory management app (inventory management app for restaurants) created through the conversation in Figure 2. The restaurant inventory management app screen 290A has fields for item name 292, quantity 293, category 294, expiration date 295, and image 296. These are fields generated through a conversation between the user and the generation AI system 50. Therefore, by conversing with the generation AI system 50, the user can develop a restaurant inventory management app without having to specify any field names.
[0031] When the user presses the save button 291, the user terminal 10 sends a message to the application service 40 indicating that it is saving the inventory management app for restaurants. From then on, the user can use the inventory management app for restaurants from the portal screen or other means.
[0032] However, in the inventory management app screen 290A, the fields are arranged in a single vertical column. This is fine if there are only a few fields, but if there are many, the user will have to scroll the screen vertically.
[0033] Therefore, in this embodiment, the user requests the generation AI system 50 to configure the layout via a chat message. Layout configuration involves determining the placement of fields and includes changing the positions of already placed fields. This will be explained using Figure 4 as an example. Figure 4 illustrates the process by which the generation AI system requests the information processing system to execute a function in response to a chat message entered by the user, and the information processing system executes the function to configure the application's layout.
[0034] (1) The user requests the AI system 50 to generate layout settings with a chat message such as, "Please try setting the app layout to look nice."
[0035] The processes in (2) and (3) are the same as when creating the application, except that in (2), the information processing system 20 notifies the generation AI system 50 of the specifications of the function for setting the layout. In (3), the information processing system 20 is requested by the generation AI system 50 to call the function for setting the layout.
[0036] (4) The information processing system 20 executes this function to request the application service 40 to set the layout. This sets the layout of the fields in the restaurant inventory management application.
[0037] Figure 5 shows an example of the inventory management app screen 290B with its layout configured. In Figure 5, the item name 292 and category 294 are arranged side by side. Because the available space on the inventory management app screen 290B can be used effectively, even with a large number of fields, the user will need to scroll the screen less, improving input efficiency. In addition, for example, the user can give instructions via chat, allowing the generation AI system 50 to place similar fields close together, making it easier for the user to input values and reducing input errors.
[0038] In this way, the AI utilization system 100 of this embodiment allows users to develop applications by conversing with the generation AI system 50 in natural language. Furthermore, users can set the layout 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, allowing the generation AI system 50 to request a function call from the information processing system 20. The information processing system 20 executes the function to generate (or update) the application and set the layout. This means that, from the user's perspective, by simply inputting a message, they can actually develop an application and set the layout using no-code or low-code methods.
[0039] <About Terminology> An application is an application program, a program generated by a computer in response to a specific task. While an OS (Operating System) is general-purpose software that provides basic functions and systems for the computer's operation (file system, communication, display control, etc.), an application provides specific functions on top of the OS. Applications include web applications and native applications. In this embodiment, either type may be developed.
[0040] An API is an application (software) interface, serving as a point of contact for connecting systems and sharing functions and mechanisms. An API defines the specifications for the interface that applications use to exchange information with each other. A computer-to-computer API is a specification for communication between one website and another via HTTP (HTTPS) communication. Through this communication, one website can use the functions of the other website. Computer-to-computer APIs are sometimes referred to as Web APIs.
[0041] An API takes a specific request (e.g., retrieving, updating, deleting, or processing data) and returns a result (e.g., data, update result, deletion result, processing result, etc.) in response. The request is sometimes called a request message, and the result is sometimes called a response message. Calling an API means sending a request according to the API's specifications and obtaining the result. Calling an API may also be described as executing, operating, hitting, or using it.
[0042] The information for calling a function refers to information that enables the function executed by the information processing system 20 to be called from outside the information processing system, for example, from the generative AI system 50. The information for calling a function includes information about the Web API for calling the function.
[0043] A function is a program interface that performs a specific process based on specified arguments and returns a return value as a result. While developers can design the specifications and functionality of a function, APIs are pre-defined APIs for functions that are made available for use by the generation AI system 50 and application services 40. A function is one of the API specifications, and can be configured by calling the API if the API defines how to specify a function. Furthermore, calling a function or requesting a function call means requesting the execution of a function.
[0044] 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 an AI in real time.
[0045] Configuration information refers to the overall policy for generating the application. This includes, for example, a description or hints about the application's content, or information that should not be asked of the user. This configuration information, when communicated to the generation AI system 50, facilitates the generation of the desired application.
[0046] System settings refer to information in which all or part of this configuration information is converted into a request message that calls the API. In other words, system settings are information in which part or all of the configuration information is converted into the API format.
[0047] A user is an end-user who uses the application provided by the application service 40. Users can also develop applications. A developer is a person who configures the information processing system 20 for application development using no-code or low-code programming. The developer configures the information processing system 20 with the configuration information described later.
[0048] Layout settings refer to the configuration of which fields are placed where in the application's user interface screen. Layout settings include, for example, determining the position of fields and their arrangement. Position or arrangement can involve specifying at least one of the row and column, or specifying coordinates. More specifically, layout settings can involve specifying the number of fields to be placed in each row, the number of fields common to multiple rows, or the number of rows, which determines the number of fields in each row.
[0049] A display item is an item on which a value is displayed. In this embodiment, display items are referred to as fields. Display items may also be called input items, items, input fields, forms, etc.
[0050] <Example System Configuration> Referring to Figure 6, the system configuration of the AI utilization system 100 according to this embodiment will be described. Figure 6 is a diagram showing the system configuration of an example of the AI utilization system 100. The AI utilization system 100 shown in Figure 6 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 connected so as to be able to communicate via networks N1 and N2. In addition, the information processing system 20 can communicate with the generation AI system 50 and the external system, which is an application service 40, via network N1. Furthermore, the user terminal 10 and the developer terminal 60 can communicate with the generation AI system 50 and the external system, which is an application service 40, via networks N1 and N2.
[0051] The user terminal 10 and developer terminal 60 are located in facilities such as companies or homes and are connected to network N2. Network N2 can be a LAN, Wi-Fi (registered trademark), Wide Area Ethernet (registered trademark), 4G, 5G, 6G, or other mobile phone network. Network N1 is a wide-area network such as the Internet or WAN. The user terminal 10 and developer terminal 60 do not need to be constantly connected to network N2; they only need to be connected when using the information processing system 20, the generation AI system 50, or the application service 40.
[0052] The generative AI system 50 provides a service that allows users to converse with artificial intelligence (AI) in a conversational format. A well-known example of such a generative AI system 50 is one that uses large-scale language models (LLMs). Large-scale language models are natural language processing models trained using large amounts of text data. The generative AI system 50 takes in a vast amount of text beforehand and learns knowledge from it using deep learning, reinforcement learning, etc. Using this knowledge, the generative AI system 50 provides response messages to chat messages. The generative AI system 50 has an interface for receiving chat messages entered by the user. These chat messages received through this interface are called prompts. Prompts include chat messages entered by the user, such as instructions and questions. Prompts may also include instructions and commands generated by the information processing system 20. Chat messages can be conversational sentences or words composed of natural language spoken by humans. Images can also be used as chat messages. The generative AI system 50 that generates text in response to chat messages is sometimes simply called 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 that the generation AI system 50 provides in response to a chat message entered by the user. The application that runs on the application service 40 includes a web application that runs on the application service 40 and a native application that is installed on the user terminal 10. When the native application installed on the user terminal 10 is executed on the user terminal 10, it connects to the application service 40 and executes the functions of the application service 40.
[0053] The generation AI system 50 has the following characteristics: 1. The generating AI system 50 conducts the conversation in a natural flow. 2. The generation AI system 50 can expand on ideas and propose them even in fields where the user lacks expertise. 3. The generation AI system 50 can output accurate program code. Therefore, the information processing system 20 can conduct a natural conversation with the user through the generative AI system 50. Furthermore, the user can simply specify the app they want to create and receive the necessary ideas for that app. Also, because the functions called by the generative AI system 50 are accurate (highly reproducible and return arguments in the specified format), the information processing system 20 can easily generate the application the user desires.
[0054] As a generation AI system 50, systems using LLMs such as GPT-3, GPT-4, Transformer, and BERT (all registered trademarks) are known. In the AI utilization system 100 of this embodiment, ChatGPT using GPT-3 or GPT-4 can be used as an example, but systems using other LLMs may also be used.
[0055] Application service 40 is one or more information processing devices that provide applications for users to run. The applications provided by application service 40 are, for example, database-type web applications that manage data in a tabular format. Users can arbitrarily set the fields of the application and customize it so that they can save, read, or process data related to their work. Thus, setting the fields desired by the user in a pre-prepared database constitutes application development. In this embodiment, information processing system 20 sends a chat message from the user to generation AI system 50 as a request message. Information processing system 20 uses the response message from generation AI system 50 to generate or update an application for application service 40. In other words, users can develop applications for application service 40 without coding by inputting chat messages.
[0056] Furthermore, if the domains of application service 40 and information processing system 20 are different (for example, if the service providers are different), the accounts for the same user will be different in application service 40 and information processing system 20.
[0057] 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. Also, the application service 40 and the generation AI system 50 may be integrated. Also, the generation AI system 50 and the information processing system 20 may be integrated. Also, the information processing system 20, the application service 40, and the generation AI system 50 may be integrated.
[0058] 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, database provision and storage services are examples of such services. Application services 40 may reside on the internet or on-premises.
[0059] 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 user terminal 10's perspective, the information processing system 20 acts as a server that receives requests. A server is a computer or software that provides information and processing results in response to requests from a client. 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. Furthermore, 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 the 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.
[0060] As will be described later, users may use the application service 40 as a portal to develop applications. The information processing system 20 receives a connection request to the generation AI system 50 from the user terminal 10 connected to the application service 40 and communicates with the generation AI system 50. Details of this communication will be explained in the second embodiment.
[0061] Furthermore, the information processing system 20 accepts configuration information from the developer terminal 60. Configuration information refers to setting the knowledge (configuration information) necessary for generating the application of the application service 40 in the information processing system 20. Configuration information is information that supplements information not included in chat messages. For example, configuration information may include what kind of application is required. By setting configuration information in the information processing system 20, the user does not need to include application parameters 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. System settings are generated from configuration information, and system settings are part or all of the configuration information.
[0062] Configuration information is set in the information processing system 20 before the user starts developing the application. However, the information processing system 20 can also be customized for each customer. For example, if the configuration information is "You will now be talking to customers in the $$ industry," the information processing system 20 will change the name of the $$ industry according to the customer's industry and notify the generation AI system 50.
[0063] The information processing system 20 uses this configuration information to create a request message to send to the generation AI system 50. In the request message, the configuration information is reflected in the system settings, which will be described later. Details will be provided later. By having the developer send the configuration information to the information processing system 20, users can generate applications using simple chat messages, even without specialized knowledge of applications.
[0064] Note that configuring settings is not always necessary, and some applications may not require any configuration information.
[0065] The information processing system 20 may be implemented by cloud computing or by a single information processing device. Cloud computing refers to a form of computing in which network resources are used without being aware of specific hardware resources. The information processing system 20 may reside on the internet or on-premises.
[0066] Furthermore, the information processing system 20 may have its functions distributed among multiple information processing devices, or there may be multiple information processing systems 20 having the same functions, and the number of information processing systems distributing video may be increased or decreased depending on the processing load.
[0067] The user terminal 10 or developer terminal 60 is, for example, a terminal device such as a PC (Personal Computer), smartphone, or tablet used by the user or developer. A web browser or native application runs on the user terminal 10 or developer terminal 60. The developer operates the developer terminal 60 to create configuration information for the application. The user operates the user terminal 10 to create chat messages for developing applications for the application service 40. The administrator or user can operate 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.
[0068] The user terminal 10 can be any information processing device. Examples of such information processing devices include output devices such as electronic whiteboards and digital signage, HUD (Head-Up Display) devices, industrial machinery, imaging devices, sound collection devices, medical equipment, networked home appliances, mobile phones, smartphones, tablet devices, game consoles, PDAs (Personal Digital Assistants), digital cameras, and wearable PCs.
[0069] <Example Hardware Configuration> Referring to Figure 7, the hardware configuration of the information processing system 20, user terminal 10, and developer terminal 60 included in the AI utilization system 100 will be described. The generation AI system 50 and application service 40 are assumed to be the same as in Figure 7, or to be the hardware configuration of an information processing device compatible with cloud computing.
[0070] <<Information processing system, user terminal, and developer terminal>> Figure 7 shows the hardware configuration of an example of the information processing system 20, user terminal 10, and developer terminal 60 according to this embodiment. As shown in Figure 7, the information processing system 20, user terminal 10, and developer terminal 60 are built on a computer 500 and include a CPU 501, ROM 502, RAM 503, HD (Hard Disk) 504, HDD (Hard Disk Drive) controller 505, display 506, external device connection I / F (Interface) 508, network I / F 509, bus line 510, keyboard 511, pointing device 512, optical drive 514, and media I / F 516.
[0071] Of these components, 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 the work area for the CPU 501. The HD 504 stores various data, such as programs. The HDD controller 505 controls the reading or writing of various data to the HD 504 according to the control of the CPU 501. The display 506 displays various information such as cursors, 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) memory 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, data bus, etc., for electrically connecting each component, such as the CPU 501 shown in Figure 7.
[0072] The keyboard 511 is a type of input means equipped with multiple keys used for inputting characters, numbers, or various instructions. The pointing device 512 is a type of input means used for selecting and executing various instructions, selecting processing targets, moving the cursor, etc. The optical drive 514 controls the reading or writing of various data to the optical storage medium 513, which is an example of a removable recording medium. The optical storage medium may be a CD, DVD, Blu-ray (registered trademark), etc. The media interface 516 controls the reading or writing (storage) of data to the recording medium 515, such as flash memory.
[0073] <About the features> Next, with reference to Figure 8, the functional configuration of the AI utilization system 100 will be described. Figure 8 is a diagram showing an example of the functional configuration of the information processing system 20, user terminal 10, and developer terminal 60.
[0074] <<User Terminal>> The user terminal 10 includes 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 Figure 7 executing instructions included in one or more programs installed on 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; hereinafter omitted). When the developer terminal 60 runs a native application, these may be realized by the native application.
[0075] The communication unit 11 sends and receives various types of information to and from the information processing system 20. In this embodiment, the communication unit 11 receives screen information for the application creation start screen from the application service 40, and screen information such as the chat screen where chat messages are entered from the information processing system 20. The communication unit 11 transmits chat messages and operation information for the user terminal 10 to the information processing system 20. The communication unit 11 can also communicate directly with the generation AI system 50.
[0076] The display control unit 12 interprets screen information from various screens and displays it on the display 506. The operation reception unit 13 receives various user operations on the various screens displayed on the display 506.
[0077] <<Developer Terminal>> The developer terminal 60 includes 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 Figure 7 executing instructions included 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 or JavaScript. If the developer terminal 60 runs a native application, these may be realized by the native application.
[0078] The communication unit 61 sends and receives various types of information to and from the information processing system 20. In this embodiment, the communication unit 61 receives screen information related to the 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.
[0079] The display control unit 62 interprets screen information from various screens and displays it on the display 506. The operation reception unit 63 receives various user operations on the various screens displayed on the display 506.
[0080] <<Information Processing System>> The information processing system 20 includes 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, a layout setting unit 26, an application identification unit 27, and an item identification unit 28. Each functional unit of the information processing system 20 is a function or means realized by the CPU 501 shown in Figure 7 executing instructions contained in one or more programs installed in the information processing system 20. The setting information storage unit 24 is built on the HD 504 or RAM 503 shown in Figure 7. The setting information storage unit 24 does not necessarily have to be present in the information processing system 20; it only needs to be on a network that the information processing system 20 can access.
[0081] The communication unit 11 sends and receives various information with the user terminal 10. The communication unit 11 sends various screen information to the user terminal 10. The communication unit 11 receives chat messages entered by the user from the user terminal 10 for application development and layout settings. The communication unit 11 also sends and receives various information with the developer terminal 60. The communication unit 11 sends screen information of the setting information input screen to the developer terminal 60. The communication unit 11 receives setting information entered by the developer from the developer terminal 60 and stores it in the setting information storage unit 24.
[0082] The screen generation unit 22 generates screen information for the screens (web pages) displayed by the user terminal 10 and the developer terminal 60. The screen information is provided as part of the web application. The screen information is a program written in HTML, JSON format, XML, a scripting language (JavaScript®), and CSS (Cascading Style Sheet), etc., with HTML mainly specifying the structure of the web page, the scripting language defining the behavior of the web page, and CSS specifying the style of the web page. In some cases, the user terminal 10 may run a native application. A native application is an application that cannot be run 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 sent in JSON format, XML, etc.
[0083] The chat control unit 23 has a request sending unit 23a and a receiving unit 23b. The request sending unit 23a sends a request message to the generation AI system 50 by calling the first API 31. The request message includes chat messages (including the history of past conversations), system settings, and function specification settings. The first API 31 is one or more APIs exposed by the generation AI system 50. As a result of calling the first API 31, the receiving unit 23b receives a response message from the generation AI system 50 for the request message. The response message includes a response message to the chat message, a function call request to the information processing system 20, etc. The response message during application generation includes suggestions for labels to be placed, and the response message during layout setting includes layout information.
[0084] The application generation unit 25 sends a request message to the application service 40 by calling the second API 32. The application generation unit 25 functions by executing a predefined function. The request message includes parameters related to the application (field names, data format, etc.). The request message to the application service 40 requests the creation or update of an application. The second API 32 is one or more APIs exposed by the application service 40. As a result of calling the second API 32, the application generation unit 25 receives a response message from the application service 40 for the request message. The response message includes the result (success or failure) of the request to create or update the application. If successful, the application URL is notified; if it fails, an error message is notified.
[0085] The application generation unit 25 may generate applications within the information processing system 20 without requesting them from the application service 40. For example, the application generation unit 25 may generate macros that run on spreadsheet software, or it may set fields in database software.
[0086] Here, "generating an application" means not only that the application generation unit 25 actually generates an application, but also that the application generation unit 25 requests the application service 40, etc., to generate an application, and the application service 40, etc., actually generates the application.
[0087] The layout setting unit 26 receives a function call request from the generation AI system 50 via the chat control unit 23 and sends a request message to the application service 40 by calling the second API 32. The layout setting unit 26 functions by executing a predefined function. The request message includes parameters related to the application (such as field labels). As a result of calling the second API 32, the layout setting unit 26 receives a response message from the application service 40 for the request message. The response message includes the result (success or failure) of the layout setting request for the fields of the application. If successful, the application URL is notified; if unsuccessful, an error message is notified.
[0088] The layout setting unit 26 generates layout setting information in JSON format. The reason for using JSON format is to call the second API 32 of the application service 40. The layout setting in JSON format is included in the request message.
[0089] Furthermore, one of the second APIs 32 is the "Layout Change API" provided by the application service 40. The layout setting unit 26 calls this API to set the layout of the application managed by the application service 40. In addition, one of the second APIs 32 is the "Settings Reflection API". The settings made with the "Layout Change API" are, so to speak, temporary settings, and these settings can be confirmed by calling the "Settings Reflection API".
[0090] The application identification unit 27 identifies the application to which the layout settings specified by the user are applied. The item identification unit 28 identifies the fields of that application.
[0091] <Supplementary information regarding the operation of the generation AI system> In this embodiment, the information processing system 20 utilizes the generation AI system 50 by calling the first API 31 exposed by the generation AI system 50. By calling the first API 31, the information processing system 20 becomes able to converse with the AI, which is one of the functions of the generation AI system 50. The generation AI system 50 has characteristic operations or processes, so these will be explained in detail.
[0092] The information processing system 20 communicates with the generation AI system 50 by sending a request message to the generation AI system 50 to call the API. The information processing system 20 can obtain a response message from the generation AI system 50 based on the request message.
[0093] The generation AI system 50 returns a response message to the information processing system 20 for the request message. The response message included in the response message from the generation AI system 50 is often different each time, even for the same chat message. However, if the information processing system 20 specifies a parameter called temperature to 0, the generation AI system 50 will return the same response message for the same chat message.
[0094] If the information processing system 20 wants to continue the conversation with the generating AI system 50, it must include the entire history of past conversations in the request message. This is because the conversation with the generating AI system 50 is stateless. This is a specification of one generating AI system 50, and in another generating AI system 50, it may not be necessary to include the history of past conversations.
[0095] Thus, the first API 31 does not maintain any state regarding past communications (it is stateless). For this reason, the user of the first API 31 (in this embodiment, the information processing system 20) must maintain the history of past conversations and specify it each time the first API 31 is called. The user terminal 10 may also maintain the history of past conversations. Furthermore, since the first API 31 returns an error if the conversation history becomes too long, it is preferable for the information processing system 20 to take appropriate measures, such as including only the most recent exchange in the request message if the conversation has been going on for a long time.
[0096] <<Function call returned by the generation AI system>> The generation AI system 50 provides a function call function (also called tool_call). A function call means that the generation AI system 50 requests the information processing system 20 to call a function. Therefore, if the information processing system 20 allows the generation AI system 50 to use this function, the generation AI system 50 can call a "function".
[0097] The request message includes a function specification setting configured by the information processing system 20 so that the generation AI system 50 can call a "function". The function specification setting enables the generation AI system 50 to make a function call. Thus, the function specification setting is information about the first API 31 for calling the application generation unit 25. In other words, the function specification setting is a notification from the information processing system 20 to the generation AI system 50 that the generation AI system 50 can request a function call from the information processing system 20.
[0098] In this way, by having the information processing system 20 cause the generating AI system 50 to use a function call, the generating AI system 50 can call a function provided by the information processing system 20, and the information processing system 20 can execute the function. Furthermore, the information processing system 20 can use the results of the function execution to converse with the user.
[0099] However, since the response message from the generating AI system 50 is different each time, the generating AI system 50 does not necessarily request a function call. Even if the information processing system 20 includes function specification settings in the request message, the generating AI system 50 may return the same response message as if no function specification settings were included.
[0100] If the system adopts a process that includes the entire history of past conversations in the request message, the information processing system 20 must also include the execution result of the function it executes in the request message and send it to the generation AI system 50. However, it is not mandatory for the information processing system 20 to include the execution result of the function along with the history of past conversations in the request message and send it to the generation AI system 50. In other words, the information processing system 20 may send the execution result of the function as is to the user terminal 10. However, by sending 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, thus creating continuity in the conversation. For example, consistency in writing style and word choice will be achieved, making it less likely for the user to 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.
[0101] 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.
[0102] <Screen example> Next, we will explain examples of screens displayed on the user terminal 10 when the application is created and when the layout is configured.
[0103] Figure 9 shows the app creation start screen 320 displayed by the user terminal 10. The app creation start screen 320 is displayed when the user terminal 10 connects to the application service 40. The app creation start screen 320 is a screen for searching for and creating applications, and the application generation method is indicated by buttons corresponding to the generation method. One of the generation methods is the "Create by interacting with AI" button 321. When the user presses the "Create by interacting with AI" button 321, the chat screen 330 shown in Figure 10 is displayed.
[0104] Figure 10 shows an example of a chat screen 330 displayed by the user terminal 10. The chat screen 330 is a screen where the user receives instructions regarding the application via chat. In Figure 10, the chat screen 330 is displayed after transitioning to a screen different from the application creation start screen 320, but the chat screen 330 may also be displayed as a pop-up (as described in the second embodiment).
[0105] The chat screen 330 in Figure 10 displays the title 331, notes 332, and the URL 333 for creating the app. The chat screen 330 also displays a list of chat messages 334 in button format. The list of chat messages 334 includes "What kind of apps can I create?", "Please create a sample customer management app", "Please create a sample daily report app for the construction industry", and "Please create an app from a form". The user only needs to select the chat message to enter first, saving them the trouble of typing.
[0106] Subsequently, the user can enter a chat message in the message field 335 and converse with the generation AI system 50 to provide detailed instructions regarding the application to be created. Entering a chat message in the message field 335 is not mandatory.
[0107] Figure 11 shows the chat screen 340 after the customer management application has been created, when the user clicks "Please try creating a customer management application" in the chat message list 334 of Figure 10. The chat screen 340 displays the chat message 341 that the user selected on the chat screen 330. In this case, the chat message 341 is sent to the information processing system 20, which sends the chat message 341 and a request message including function specification settings to the generation AI system 50. The generation AI system 50 returns the fields of the customer management application to the information processing system 20 in a response message. The information processing system 20 displays the field information 342 proposed by the generation AI system 50 on the user terminal 10.
[0108] When the user presses the OK button 343, the application generation unit 25 generates a customer management application for the application service 40. The screen generation unit 22 displays the application name 344, which is "Customer Management Application," on the chat screen 340. The application name 344 contains an embedded URL for running the customer management application.
[0109] Additionally, the chat screen 340 displays an item addition button 337 and a layout setting button 336. The item addition button 337 is used to add a field to the customer management app. The layout setting button 336 is used to configure the layout of the customer management app. Both the layout setting button 336 and the item addition button 337 are displayed along with the app name 344.
[0110] Figure 12 shows the customer management app screen 360 displayed on the user terminal 10 when the user presses the app name 344 in Figure 11. The customer management app screen 360 has a customer name field 361, a phone number field 362, a message field 363, an address field 364, a person in charge field 365, a company name field 366, an industry field 367, an importance field 368, a last contact date field 369, a contract status field 370, and a remarks field.
[0111] Although the user did not enter any field names, a customer management application with fields for customer management was generated. However, the customer management application screen 360 has the fields arranged in a single row, and the lower fields sometimes extend beyond the screen, making it difficult to display all fields on one screen. In other words, the user needs to scroll the customer management application screen 360 to enter values into the lower fields. In this embodiment, the user can interact with the information processing system 20 to set the field layout so that scrolling is unnecessary or minimized.
[0112] <Layout settings after application creation> Next, we will explain how to configure the layout of fields in an application after it has been created or in an existing application. Note that layout settings can be applied not only to existing applications but also to newly created applications.
[0113] First, let's refer to Figures 13 and 14 to explain the screen examples. Figure 13 shows the chat screen 350 displayed by the user terminal 10. The chat screen 350 is accessed from chat screen 340. The user pressed the layout setting button 336 on chat screen 340. As a result, the user terminal 10 receives the chat message 351, which reads, "Please try setting the app layout nicely." The user can then enter further chat messages, such as "Please place fields with similar content close together," in the message field 335.
[0114] As described later, the layout setting unit 26 of the information processing system 20 generates a request message in response to the chat message 351. In response to this request message, the generation AI system 50 makes a function call request to the information processing system 20. The layout setting unit 26 of the information processing system 20 executes this function and requests the application service 40 to set the layout, and the application service 40 sets the layout of the customer management application.
[0115] The chat screen 350 displays a message 352 indicating that the layout settings have been configured, which reads, "How does this look? Please check the layout using the link below." The chat screen 350 also displays a message 353 with an embedded URL for the customer management application. By clicking on message 353, the user can view the customer management application screen with the modified layout (Figure 14).
[0116] Then, the user checks the customer management app screen 380 in Figure 14 with the changed layout and presses the OK button 354 to reflect this layout in the customer management app. The OK button 354 is a button that reflects the layout settings in the application service 40.
[0117] Figure 14 shows the customer management application screen 380 displayed by the user terminal 10. The customer management application screen 380 has the same items as in Figure 12, but the field layout has been changed. Specifically, the first row contains the customer name field 361, the phone number field 362, and the message field 363. The third row contains the person in charge field 365, the company name field 366, and the industry field 367. The fourth row contains the importance field 368, the last contact date field 369, and the contract status field 370.
[0118] With the layout settings implemented in this way, scrolling is eliminated or minimized when entering data on the customer management application screen 380. Furthermore, users can set the layout by selecting or entering chat messages. While no-code or low-code programming allows users to move fields by dragging and dropping them with the mouse, this embodiment allows the layout to be set without such operations.
[0119] <Action or process> Figure 15 is a sequence diagram of an example in which the information processing system 20 sets the layout of an application. In the overall flow, steps S5 to S18 are repeatedly executed, and within that, steps S10 to S18 are repeatedly executed.
[0120] 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 requesting the URL of the application creation start screen 320, and sends the generated HTTP request to the information processing system 20.
[0121] 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 application creation start screen 320. As a response to the above HTTP request, the communication unit 21 sends an HTTP response containing the screen information for the application creation start screen 320 to the user terminal 10.
[0122] S3: The communication unit 11 of the user terminal 10 receives screen information of the app creation start screen 320, and the display control unit 12 displays the app creation start screen 320 on the display 506 (see Figure 9). The user presses the "Create by interacting with AI" button 321 on the app creation start screen 320. The operation reception unit 13 receives the press, and the communication unit 11 generates an HTTP request requesting the URL of the chat screen 330, and sends the generated HTTP request to the information processing system 20.
[0123] S4: The screen generation unit 22 of the information processing system 20 generates screen information (HTML, JavaScript, CSS, etc.) for the chat screen 330, and the communication unit 21 transmits the screen information of the chat screen 330 to the user terminal 10.
[0124] S5: The communication unit 11 of the user terminal 10 receives screen information from the chat screen 330. The display control unit 12 displays the chat screen 330 based on the screen information (see Figure 10).
[0125] The user selects (presses) a chat message such as "Please try creating a customer management app" from the list of chat messages 334 on the chat screen 330. As a result, a customer management app is generated in the application service 40.
[0126] A user who wants to change the layout of the customer management application presses the layout setting button 336 on the chat screen 340 in Figure 11, thereby inputting a chat message such as "Please try setting the layout to look nice" into the user terminal 10. The operation reception unit 13 receives the chat message. The communication unit 11 of the user terminal 10 generates a request message that includes the chat message and application identification information, and sends the generated request message to the information processing system 20. The communication unit 11 of the user terminal 10 sends the generated request message as, for example, an HTTP request. The communication unit 11 of the user terminal 10 may generate a request message that includes the history of past conversations. The information processing system 20 may also retain the history of past conversations. If the information processing system 20 retains the 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.
[0127] S6: The communication unit 21 of the information processing system 20 receives a request message that includes a chat message, app identification information, and a history of past conversations. The app identification unit 27 identifies the customer management app using the app identification information. The layout setting unit 26 determines that app information is needed because the layout setting button 336 has been pressed. The layout setting unit 26 calls the second API 32 using a request message that requests the acquisition of app information along with the app identification information.
[0128] S7: The application service 40 returns the application information (item name, data format, etc.) of the application identified by the application identification information to the information processing system 20 via the second API 32 (see Figure 16). The layout setting unit 26 obtains the application information (item name, data format, etc.) from the application service 40. The item identification unit 28 identifies the fields included in the application information.
[0129] S8: Since the application information has been obtained, the chat control unit 23 of the information processing system 20 generates a request message including system settings (configuration information), chat messages, past conversation history, application information, and function specification settings, and the request transmission unit 23a sends the generated request message to the generation AI system 50 by calling the first API 31 (see Figure 17). The request transmission unit 23a may also send the current layout to the generation AI system 50. The generation AI system 50 can propose a layout different from the current layout.
[0130] S9: The generation AI system 50 analyzes the request message and returns a response message, including a response message or a function call request, to the information processing system 20 (see Figures 18 and 19). The receiving unit 23b of the chat control unit 23 receives the response message from the generation AI system 50. This response message may be a normal message or a function call request.
[0131] S10: If the response message is a normal message, the communication unit 21 of the information processing system 20 sends a normal message to the user terminal 10. When the user terminal 10 receives a normal message, the display control unit 12 displays a normal message (for example, "Please tell me more details"). In this case, the user enters a further chat message, so the process returns to step S5.
[0132] S11: If the response message from the generating AI system 50 includes a function call request, the layout setting unit 26 creates a request message in JSON format to call the second API 32 using the function call request.
[0133] S12: The layout setting unit 26 of the information processing system 20 sends the generated request message to the application service 40. That is, the layout setting unit 26 sets the layout of the customer management application to the application service 40 (see Figure 20).
[0134] S13: The application service 40 configures the layout of the customer management application in response to a layout configuration request and sends the result (success or failure) of the customer management application layout configuration to the information processing system 20. If successful, the URL of the customer management application is notified. If unsuccessful, an error message is notified. Here, we assume that the result of the layout configuration was successful.
[0135] S14: When the chat control unit 23 of the information processing system 20 receives the result regarding the layout settings, the communication unit 21 sends the result regarding the layout settings to the user terminal 10 along with a request for confirmation.
[0136] S15: The communication unit 11 of the user terminal 10 receives a request for confirmation along with the result regarding the layout settings, and the display control unit 12 displays the result regarding the layout settings (success) (see Figure 13). The user can confirm the layout of the customer management application by pressing message 353 (see Figure 14).
[0137] The user confirms the layout and presses the OK button 354. Pressing the OK button 354 is an operation that requests the layout settings to be applied. The operation reception unit 13 accepts the operation. The communication unit 11 of the user terminal 10 transmits to the information processing system 20 that the user has pressed the OK button 354.
[0138] S16: The communication unit 21 of the information processing system 20 receives a notification that the OK button 354 has been pressed, and since the user has given OK, the layout setting unit 26 sends a request message to the application service 40 that includes a request to reflect the layout settings.
[0139] S17: The application service 40 reflects the layout settings of the customer management application in response to the request message. Reflection means making the customer management application usable with that layout. The layout settings before reflection are in a temporary state, and if the customer management application is used, the customer management application will be used with the layout before the change. The application service 40 sends the result (success or failure) regarding the reflection of the layout settings of the customer management application to the information processing system 20. If successful, the URL of the customer management application is notified. If unsuccessful, an error message is notified.
[0140] S18: When the layout setting unit 26 of the information processing system 20 receives the result regarding the layout setting, the communication unit 21 sends a message to the user terminal 10 indicating that the layout setting has been applied and the URL of the application. The communication unit 11 of the user terminal 10 receives the message indicating that the layout setting has been applied and the URL of the application, and the display control unit 12 displays the result regarding the application of the layout setting (with the URL embedded).
[0141] <Request message and response message> The following section explains request and response messages in layout settings.
[0142] Figure 16 shows the fields of the customer management application in JSON format. Figure 16 corresponds to the application information, and in step S7 of Figure 15, the layout setting unit 26 obtains the application information in Figure 16. Since the application service 40 manages the fields in this JSON format, the layout setting unit 26 also generates a request message requesting the layout settings in JSON format. As shown in Figure 16, each field consists of a label 371 and a data format 372 as one set. The label 371 is the name of the field, and the data format 372 is the data format of the value entered into the field. These are a list of fields that the application has.
[0143] Figure 17 shows the request message generated by the chat control unit 23 in step S8 of Figure 15. The chat control unit 23 generates a request message like the one shown in Figure 17 using the chat message received from the user terminal 10, function specification settings, and application information.
[0144] • Role 601 indicates the speaker, and in Figure 17 it is system (instructing the AI assistant to configure settings).
[0145] • content602 is the content of the conversation and is pre-set as a system setting when setting the layout. In this case, it is "Please propose a natural layout like a web input form. The information of the application for which the layout is to be set is as follows." content602 is switched by buttons pressed by the user, such as the chat message list 334, the layout setting button 336, the item addition button 337, etc. (an example of instructions related to the application). In other words, the chat control unit 23 sets text data in content602 according to the user's operation. This text data can be a standard phrase stored in the setting information storage unit 24. In Figure 17, content602 is set by pressing the layout setting button 336 in Figure 11.
[0146] properties603 contains information about the fields in the customer management application, and is set in JSON format (a list of fields), for example, as shown in Figure 16. It is also possible not to include information about the fields in the customer management application in the request message. For example, if the field labels are common, the generation AI system 50 can automatically predict the labels of the fields in the customer management application. The chat control unit 23 may also include the current layout in properties603. The current layout refers to the fields arranged on each row, for example, field A on the first row, field B on the second row, and so on. In this case, content602 is set to indicate that the current layout should be changed.
[0147] • role604 indicates the speaker, which in this case is user.
[0148] • content605 is the content of the conversation, a chat message entered by the user using the layout settings button 336. If the application has already been generated, content605 is intended to instruct the user to change the layout, even without the word "change".
[0149] Function 606 is a function specification setting and has the following attributes: Function 606 is the API of the generation AI system 50. Function 606 corresponds to information for calling a function that makes the layout setting unit 26 function.
[0150] • name607 is the name of the function (create_layout). This function is used by the information processing system 20 to configure the layout for the application service 40. However, the information processing system 20 does not need to have a function with the same name. The function name "create_layout" is set based on the configuration information when the layout setting button 336 is pressed.
[0151] Parameters 608 and beyond contain information for calling a function. This information includes the format of the function arguments. This allows the information processing system 20 to obtain the function arguments in the specified format from the generation AI system 50. Since the function arguments store layout information, the information processing system 20 can obtain the layout information in the specified format.
[0152] properties608a describes the function arguments in a nested JSON structure. In other words, properties608a requests the generating AI system 50 to return the function arguments in JSON format. Function arguments may also be specified in formats other than JSON, such as XML.
[0153] • The line `"type":"array"` (608b) indicates that the argument is written in array format.
[0154] • items608c indicates that it describes the elements contained in the array.
[0155] • The value `"type":"object"` (608d) indicates that the elements of the array are described in object format.
[0156] properties608e describes the format of the array elements. id608f specifies that the data format should return an ID as a string. While id608f is intended for identification information, when layout settings are requested, id608f is written with the expectation that the row number will be returned. code608g specifies that the data format should return a code as a string. When layout settings are requested, code608g is written with the expectation that the field label will be returned. Thus, properties608e includes instructions to return the labels of one or more fields, associated with the row identification information.
[0157] This function 606 instructed the information processing system 20 that the generating AI system 50 could request the information processing system 20 to call the function defined as shown in Figure 17.
[0158] Note that the request message in Figure 17 assumes that a customer management application has already been created. However, when the information processing system 20 requests the generation AI system 50 to generate a new customer management application, it may also request layout settings. In this case, text data and a chat message requesting application generation and layout settings will be set in content 602 and 605. Additionally, a description for application generation will be added as function 606.
[0159] Figure 18 shows an example of a response message returned by the generation AI system 50 in response to the request message in Figure 17. Figure 18 shows the case where a normal message is returned. Since the response message in Figure 18 does not contain a function call request, the layout setting unit 26 determines that it is a normal message. In this case, the process in step S10 of Figure 15 is executed.
[0160] Figure 19 shows an example of a response message returned by the generation AI system 50 in response to the request message in Figure 17. Figure 19 shows the case where a function call request is returned. • Function call 611 indicates a function call request. • name612 is the name of the function called by the generation AI system 50, and it can be seen that name607 (create_layout) in Figure 17 is specified. Arguments613 is a function argument, specifying the following layout614. `layout614` is the layout information for the customer management application. `layout614` is an example of parameters related to the layout settings on the user interface screen. Note that `layout614` corresponds to fields such as the customer name field 361 in Figure 12, but for simplicity, only three fields are shown in Figure 19. "id": "row1", "codes": ["customer name", "phone number", "email address"]}, "id": "row2", "codes": ["address"]}, "id": "row3", "codes": ["person in charge"]} This ID corresponds to ID608f in Figure 17, and returns the row number as the ID. `row` is the row number. Since there are rows 1 through 3, the generating AI system 50 suggests arranging the fields in three rows. Furthermore, `code` corresponds to `code608g` in Figure 17, and specifies each field to be placed in a row using a label. Therefore, this layout information suggests placing the customer name, phone number, and email address in the first row, the address in the second row, and the contact person in the third row.
[0161] If the response message contains "function call611", the processing from step S11 onwards in Figure 11 will be executed.
[0162] Figure 20 shows the request message generated by the layout setting unit 26 in step S11 of Figure 15. app621 is identification information (app identification information) that identifies the application to which the layout settings are applied. In Figure 20, it is the identification information for the customer management application. The application identification information is sent from the user terminal 10 to the information processing system 20 in step S5 of Figure 11. `layout622` is a description for requesting the configuration of the layout of a customer management application. `layout622` is an API for Application Service 40. Type 623 requests the configuration of one row (row 1) of the layout. • fields624 specifies the placement of each field within a single row. Field specification 625 contains information about the fields to be placed on one row. type, code, and size are APIs of application service 40. type specifies the data format of the field. type is determined by the application information obtained from application service 40. code is the label of the field. code is determined by the application information obtained from application service 40. size is the size of the field, and in Figure 20 only the width is specified. The layout setting unit 26 sets a general value for size. Since field specification 625 specifies three fields, three fields are placed on one row. Type 626 requires one line (the second line) of configuration. • fields627 specifies the placement of each field within a single row. Field specification 628 contains information about the fields to be placed on a single line. The content can be the same as field specification 625. Since field specification 628 specifies one field, one field will be placed on a single line. Type 629 requires one line (the third line) of configuration. • fields630 specifies the placement of each field within a single row. Field specification 631 contains information about the fields to be placed on a single line. The content can be the same as that of field specification 625. Since field specification 631 specifies one field, one field will be placed on a single line.
[0163] <Main effects> In this embodiment, the AI utilization system 100 allows users to develop applications by conversing with the generation AI system 50 in natural language. Users can also configure the layout by conversing with the generation AI system 50 in natural language. The information processing system 20 specifies functions to the generation AI system 50, allowing the generation AI system 50 to request function calls from the information processing system 20. The information processing system 20 executes the functions to generate (or update) the application and configure the layout. This means that, from the user's perspective, they can develop an application and configure its layout using no-code or low-code methods simply by inputting a message.
[0164] [Second Embodiment] This embodiment describes an embodiment that avoids authentication-related problems when the information processing system 20 uses the second API 32 exposed by the application service 40.
[0165] For the information processing system 20 to call the second API 32, it is necessary for the information processing system 20 to be authenticated by the application service 40. In the sequence diagram of Figure 15, if the information processing system 20 is operating in the same domain as the application service 40, authentication information from the application service 40 is sent to the information processing system 20 from the web browser running on the user terminal 10. The authentication information is, for example, pre-included in a cookie. Therefore, the information processing system 20 can call the second API 32 exposed by the application service 40. If 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 put them in the same domain, and in this case, there are no problems.
[0166] However, authentication issues may arise if the information processing system 20 and the application service 40 operate in different domains. Users can use or develop applications from the application creation start screen 320 in Figure 9.
[0167] For example, let's assume the configuration of the app creation start screen 320 provided by application service 40 is as shown in Figure 22. First, the app creation start screen 320 (the original web page) is open in a web browser. When the user presses the "Create by interacting with AI" button 321 on the app creation start screen 320, a chat screen 330 that communicates with the information processing system 20 is displayed in a pop-up window. Let's assume this chat screen 330 is opened in a different web browser. In this case, since application service 40 and information processing system 20 are on different domains, the user terminal 10 cannot send authentication information for application service 40 to information processing system 20. Therefore, information processing system 20 cannot call the second API 32 exposed by application service 40. This is because the pop-up chat screen 330 is on a different domain than the app creation start screen 320, and therefore the pop-up chat screen 330 (another web page) cannot access the application service 40's cookies.
[0168] Therefore, one possible configuration is to request the original application creation start screen 320 to call the second API 32 exposed by the application service 40 from the pop-up chat screen 330 (another web page).
[0169] <About the features> Figure 21 is a diagram showing an example of the functional configuration of the information processing system 20 and user terminal 10 of this embodiment. The functions of the developer terminal 60 may be the same as in the first embodiment. In addition, the explanation of Figure 21 may mainly focus on the differences from Figure 8.
[0170] <<User Terminal>> On the user terminal 10, a first web browser 240 and a second web browser 250 are executed. The first web browser 240 and the second web browser 250 may be separate applications, or they may be separate tabs (separate web pages) displayed by a tabbed browser.
[0171] The first web browser 240 includes a first communication unit 11a, a first display control unit 12a, a first operation reception unit 13a, a first inter-browser communication unit 14a, a startup unit 15, an application generation unit 25, and a second layout setting unit 26b. Each of these functional units is a function or means realized by the CPU 501 shown in Figure 7 executing a script included in a web application obtained by the user terminal 10 from the application service 40. The application generation unit 25 may be the same as in Figure 8.
[0172] The first communication unit 11a sends and receives various types of information with the application service 40. In this embodiment, the first communication unit 11a receives screen information such as the application creation start screen 320 and customer management application screens 360, 380 from the application service 40.
[0173] The first display control unit 12a interprets screen information such as a web application displayed by the first web browser 240 and displays it on the display 506. The first operation reception unit 13a receives various user operations on the web application displayed on the display 506.
[0174] The startup unit 15 launches the second web browser 250 in response to user operations on the screen displayed by the first web browser 240. A single user terminal 10 can run multiple web browsers simultaneously. The web application executed by the first web browser 240 contains the URL of the information processing system 20, and the second web browser 250 obtains this URL and connects to it.
[0175] The first inter-browser communication unit 14a communicates with the second inter-browser communication unit 14b of the second web browser 250 to send and receive information. The first inter-browser communication unit 14a can notify the second inter-browser communication unit 14b (and vice versa) of information. 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 web browser 240. Assume that the first web browser 240 communicates with the application service 40, and the second web browser 250 communicates with the generation AI system 50 via the information processing system 20. The second web browser 250 can send a response message from the generation AI system 50 to the first web browser 240 by using the second inter-browser communication unit 14b. The functions of the first browser interoperability unit 14a and the second browser interoperability unit 14b are implemented by writing code in scripts sent from the application service 40 and the information processing system 20, respectively.
[0176] The second layout setting unit 26b sets the layout for the application service 40 based on the layout settings created by the first layout setting unit 26a, which will be described later.
[0177] The second web browser 250 includes a second communication unit 11b, a second display control unit 12b, a second operation reception unit 13b, and a second inter-browser communication unit 14b. Each of these functional units is a function or means realized by the CPU 501 shown in Figure 7 executing a script included in a web application acquired by the user terminal 10 from the information processing system 20.
[0178] The second communication unit 11b sends and receives various types of information with the information processing system 20. In this embodiment, the second communication unit 11b receives screen information of the chat screens 330 and 340 from the information processing system 20. The second communication unit 11b also sends chat messages to the information processing system 20 and receives request messages from the information processing system 20 to send to the application service 40.
[0179] The second display control unit 12b interprets screen information such as web applications displayed by the second web browser 250 and displays it on the display 506. The second operation reception unit 13b receives various user operations on the web application displayed on the display 506.
[0180] The second browser communication unit 14b has the same functions as the first browser communication unit 14a. When the second browser communication unit 14b receives a request message (layout settings) from the information processing system 20, it sends this request message to the first browser communication unit 14a.
[0181] <<Information Processing System>> The information processing system 20 includes a communication unit 21, a screen generation unit 22, a chat control unit 23, a setting information storage unit 24, a first layout setting unit 26a, an application identification unit 27, and an item identification unit 28. These functions may be the same as those shown in Figure 8. The first layout setting unit 26a creates a request message in JSON format for calling the second API 32 using a function call request obtained from the generation AI system 50. The second layout setting unit 26b performs the layout setting itself. The functions of the first layout setting unit 26a may be provided by the first web browser 240 or the second web browser 250.
[0182] <Screen example> In the following, an example of a screen displayed by the user terminal 10 in this embodiment will be described, but the content of the screen may be the same as in the first embodiment. The difference from the first embodiment is that the chat screens 330, 340, and 350 are displayed as pop-ups on the application creation start screen 320.
[0183] Figures 22 to 24 show the chat screens 330, 340, and 350 displayed by the user terminal 10. In this embodiment, the chat screens 330, 340, and 350 are displayed as pop-ups on the application creation start screen 320. The application creation start screen 320 is displayed by the first web browser 240, and the chat screens 330, 340, and 350 are displayed by the second web browser 250. The chat screens 330, 340, and 350 may be the same as those in Figures 10, 11, and 13.
[0184] As in the first embodiment, when the app name 344 is pressed on the chat screen 340 in Figure 23, the customer management app screen 360 in Figure 12 is displayed. The customer management app screen 360 is displayed by the first web browser 240.
[0185] As in the first embodiment, when message 353 is pressed on the chat screen 350 in Figure 24, the customer management application screen 380 in Figure 14 is displayed. The customer management application screen 380 is displayed by the first web browser 240.
[0186] <Action or process> Figures 25 and 26 are examples of sequence diagrams showing how the information processing system 20 sets the application layout for the application service 40. The explanations for Figures 25 and 26 may include differences from Figure 15. Steps S51 to S54 may be the same as steps S1 to S4 in Figure 15.
[0187] S55: The user presses the "Create by interacting with AI" button 321 on the app creation start screen 320. The first operation reception unit 13a of the first web browser 240 receives the press.
[0188] S56: This causes the startup unit 15 to launch the second web browser 250. The second web browser 250 is displayed as a pop-up. More specifically, the launch of the second web browser 250 is performed by JavaScript (registered trademark) included in the screen information of the application creation start screen 320 (an example of the first web application). At this time, the first web browser 240 notifies the second web browser 250 of the URL of the chat screen 330 (an example of address information). The timing of notifying the URL may be after the launch of the second web browser 250.
[0189] S57: The second web browser 250 uses the URL of the chat screen 330, which was notified by the first web browser 240, to request the chat screen 330 from the information processing system 20.
[0190] S58: The communication unit 21 of the information processing system 20 receives a request, and the screen generation unit 22 generates screen information (HTML, JavaScript, CSS, etc.) for the chat screen 330. The communication unit 21 sends the screen information of the chat screen 330 to the second web browser 250 (user terminal 10).
[0191] S59: The second communication unit 11b of the second web browser 250 receives screen information of the chat screen 330 (an example of a second web application). The second display control unit 12b displays the chat screen 330 based on the screen information (see Figure 22).
[0192] The user enters a chat message such as "Please try creating a customer management app" into the user terminal 10 on the chat screen 330. This generates a customer management app in the application service 40. When the customer management app is generated, its identification information and URL are also generated. Therefore, the second web browser 250 is aware of the customer management app's identification information. The first web browser 240 obtains the customer management app's identification information and URL from the application service 40, passes them to the second web browser 250, which sends them to the information processing system 20. The information processing system 20 then embeds the URL into the app name and displays it on the chat screen. During this display, the information processing system 20 sends the URL to the generation AI system 50 and obtains a response message. The information processing system 20 could also simply generate the chat screen without obtaining a response message.
[0193] S60: A user who wants to change the layout of the customer management application presses the layout setting button 336 on the chat screen 340, thereby inputting a chat message such as "Please try setting the layout to your liking" into the user terminal 10. The second operation reception unit 13b receives the chat message (see Figure 23).
[0194] S61: The second operation reception unit 13b of the second web browser 250 determines that application information for the customer management application is required because the layout setting button 336 has been pressed. As a result, the second browser inter-communication unit 14b requests the first web browser 240 to obtain the application information along with the application identification information.
[0195] S62: The first browser inter-communication unit 14a of the first web browser 240 receives the request, and the second layout setting unit 26b calls the second API 32 to request the application information (item name, data format, etc.) of the application identified by the application identification information from the application service 40.
[0196] S63: In response to a request, the application service 40 sends application information (item name, data format, etc.) of the application identified by the application identification information to the first web browser 240 (see Figure 16).
[0197] S64: The first browser inter-browser communication unit 14a of the first web browser 240 sends application information (item name, data format, etc.) to the second web browser 250.
[0198] S65: The second browser inter-communication unit 14b of the second web browser 250 receives application information. As a result, the second communication unit 11b of the second web browser 250 sends the chat message, past conversation history, and application information to the information processing system 20. The second communication unit 11b of the second web browser 250 sends these, for example, as an HTTP request. The information processing system 20 may retain the past conversation history. If the information processing system 20 retains the past conversation history, the second communication unit 11b does not need to send the past conversation history to the information processing system 20.
[0199] S66: The communication unit 21 of the information processing system 20 receives chat messages, past conversation history, and application information. The communication unit 21 of the information processing system 20 passes the chat messages, past conversation history, and application information to the chat control unit 23. The chat control unit 23 generates a request message including system settings (configuration information), chat messages, past conversation history, application information, and function specification settings, and the request transmission unit 23a sends the generated request message to the generation AI system 50 by calling the first API 31 (see Figure 17).
[0200] S67: The generation AI system 50 analyzes the request message and returns a response message, including a response message or a function call request, to the information processing system 20 (see Figures 18 and 19). The receiving unit 23b of the chat control unit 23 receives the response message from the generation AI system 50. This response message may be a normal message or a function call request.
[0201] S68: If the response message is a normal message, the communication unit 21 of the information processing system 20 sends a normal message to the second web browser 250.
[0202] S69: When the second web browser 250 receives a normal message, the second display control unit 12b of the second web browser 250 displays a normal message (for example, "Please tell me more") on the chat screen. In this case, the user enters a further chat message, so the process returns to step S60.
[0203] S70: When the information processing system 20 receives a function call request from the generation AI system 50, the first layout setting unit 26a creates a request message in JSON format to call the second API 32 using the function call request (see Figure 20).
[0204] S71: The communication unit 21 of the information processing system 20 sends the generated request message to the second web browser 250.
[0205] S72: When the second communication unit 11b of the second web browser 250 receives a request message, the second inter-browser communication unit 14b requests the first web browser 240 to configure the layout by specifying the customer management application of the application service 40. Such inter-browser communication (message communication) is https: / / developer.mozilla.org / ja / docs / web-API / Window / postMessage It is known that...
[0206] S73: The first browser inter-communication unit 14a of the first web browser 240 receives a layout setting request (a request message generated by the first layout setting unit 26a). As a result, the second layout setting unit 26b sends the request message to the application service 40. That is, the second layout setting unit 26b sets the layout of the customer management application to the application service 40. Alternatively, the second layout setting unit 26b may create a request message in JSON format to call the second API 32 using a function call request.
[0207] S74: The application service 40 configures the layout of the customer management application and sends the result (success or failure) of the customer management application layout configuration to the first web browser 240. If successful, the URL of the customer management application is notified. If unsuccessful, an error message is notified.
[0208] S75: The second layout setting unit 26b of the first web browser 240 receives the result (success or failure) regarding the layout setting, and the first inter-browser communication unit 14a sends the result (success or failure) regarding the layout setting to the second web browser 250. Here, we assume the result was success.
[0209] S76: The second browser inter-communication unit 14b of the second web browser 250 receives the result of success (application URL), and the second communication unit 11b transmits the result of success (application URL) to the information processing system 20.
[0210] S77: The communication unit 21 of the information processing system 20 receives the result of success (application URL), and the screen generation unit 22 generates the chat screen 350. The communication unit 21 sends the screen information of the chat screen 350 to the second web browser 250.
[0211] S78: The second communication unit 11b of the second web browser 250 receives screen information from the chat screen 350, and the second display control unit 12b displays the chat screen 350 (see Figure 24).
[0212] S79: The user confirms the layout and presses the OK button 354. The second operation reception unit 13b accepts the operation. Pressing the OK button 354 is an operation that requests the layout settings to be applied.
[0213] S80: Since the user has given OK, the second browser intercommunication unit 14b of the second web browser 250 sends a request to the first web browser 240 to reflect the layout settings.
[0214] S81: The first browser inter-browser communication unit 14a of the first web browser 240 receives a request to reflect layout settings, and the second layout setting unit 26b tells the application service 40 to reflect the layout settings of the customer management application.
[0215] S82: The application service 40 configures the layout of the customer management application in response to a layout configuration request and sends the result (success or failure) regarding the reflection of the customer management application layout configuration to the first web browser 240. If successful, the URL of the customer management application is notified. If unsuccessful, an error message is notified. Here, we will assume it was successful.
[0216] S83: The first browser inter-browser communication unit 14a of the first web browser 240 sends the result regarding the reflection of the layout settings to the second web browser 250.
[0217] S84: The second browser inter-communication unit 14b of the second web browser 250 receives the result of success (application URL), and the second communication unit 11b transmits the result of success (application URL) to the information processing system 20.
[0218] S85: The communication unit 21 of the information processing system 20 receives the success result (app URL), and the screen generation unit 22 generates a chat screen containing the success message and the app name with the app URL embedded. The success message and app name are added to the chat screen 350, for example. The communication unit 21 sends the screen information of this chat screen to the second web browser 250.
[0219] S86: The second communication unit 11b of the second web browser 250 receives screen information of the chat screen, and the second display control unit 12b displays the chat screen.
[0220] <Main effects> In addition to the effects of the first embodiment, the AI utilization system 100 of this embodiment allows the information processing system 20 to create applications and configure layouts even when the application service 40 and the information processing system 20 provide services from websites in different domains.
[0221] [Other application examples] Although the best mode for carrying out the present invention has been described above using examples, the present invention is not limited in any way to these examples, and various modifications and substitutions can be made without departing from the spirit of the present invention.
[0222] For example, in this embodiment, the information processing system 20 sets the layout of the application managed by the application service 40, but the application may be a native application. For example, if the application is a spreadsheet program, the information processing system 20 sets the layout of the user interface screen displayed in VISUAL BASIC® controlled by the spreadsheet program.
[0223] Furthermore, in this embodiment, the information processing system 20 asks the generation AI system 50 to propose fields to be arranged in one row, but the generation AI system 50 may also propose fields to be arranged in one column.
[0224] Furthermore, the information processing system 20 may ask the generation AI system 50 to suggest the color, font, font size, and field size for each field.
[0225] Furthermore, although this embodiment describes the case where the information processing system 20 receives a function call request from the generation AI system 50, the information processing system 20 may also receive a Web-API call request from the generation AI system 50. In other words, functions and APIs do not need to be strictly distinguished.
[0226] Furthermore, the apparatus described in the examples represents only one of several computing environments for carrying out the embodiments disclosed herein. In one embodiment, the information processing system 20 includes multiple computing devices, such as a server cluster. The multiple computing devices are configured to communicate with each other via any type of communication link, including networks and shared memory, and perform the processing disclosed herein.
[0227] Furthermore, the information processing system 20 can be configured to share the processing steps disclosed in this embodiment, such as those shown in Figures 15, 25, and 26, in various combinations. For example, a process executed by a predetermined unit can be executed by multiple information processing devices of the information processing system 20. Also, the information processing system 20 may be consolidated into a single server device or divided into multiple devices.
[0228] Furthermore, the configuration examples in Figures 8 and 21 are divided according to their main functions to facilitate understanding of the processing performed by the information processing system 20. The present invention is not limited by the way the processing units are divided or their names. The processing of the information processing system 20 can be further divided into many more processing units depending on the processing content. It is also possible to divide a single processing unit so that it includes even more processing.
[0229] Furthermore, each function of the embodiments described above can be realized by one or more processing circuits. Hereinafter, "processing circuit" as used herein includes processors programmed to execute each function by software, such as processors implemented by electronic circuits, as well as devices such as ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), FPGAs (field programmable gate arrays), and conventional circuit modules designed to execute each of the functions described above.
[0230] Embodiments of the present invention bring about significant improvements in the capabilities and functionality of computers. These improvements enable users to utilize computers that provide more efficient and robust interaction with tables, which are methods for storing and presenting information in information processing devices. Furthermore, embodiments of the present invention provide a better user experience through the use of a more efficient, powerful, and robust user interface. Such a user interface provides better interaction between humans and machines.
[0231] <Nature> [Aspect 1] An information processing device that can communicate with terminal devices and a generation AI system via a network and assists users in creating applications, A layout setting unit sets the layout based on parameters related to the layout settings of the application's user interface screen, When the user provides instructions for setting the layout of the application, the request transmission unit sends a request to the generating AI system to instruct the setting of the layout, which includes information about the display items of the application that are the subject of the layout setting, and information for calling a function that enables the layout setting unit to function. A receiving unit that receives a function call request for calling the function, which includes the parameters generated by the generation AI system based on the request, It has, Upon execution of the function, the layout setting unit sets the layout based on the parameters included in the function call request. Information processing device. [Aspect 2] The aforementioned instruction is an instruction to set a change to an already established layout. The request transmission unit transmits the request, which further includes a list of display items placed in the application, to the generating AI system. The information processing apparatus according to Embodiment 1. [Aspect 3] The aforementioned instruction is an instruction to set the layout when the application is generated. The information processing apparatus according to Embodiment 1. [Aspect 4] An application identification unit that identifies the application to which the layout settings specified by the user are to be applied, An item identification unit that identifies the display items of the application, An information processing apparatus according to any one of embodiments 1 to 3, further comprising the above. [Aspect 5] The request further includes a standard phrase instructing the setting of the layout, An information processing device according to any one of embodiments 1 to 4. [Aspect 6] It further includes a chat control unit that controls chat with the user, The chat control unit includes the message entered by the user in the chat in the request. An information processing device according to any one of embodiments 1 to 5. [Aspect 7] The request further includes instructions to return labels for one or more fields, associated with the identification information of the row in which the fields are placed in the layout. An information processing device according to any one of embodiments 1 to 6. [Aspect 8] The request transmission unit switches the predefined text to be included in the request in accordance with the application instructions received from the user. An information processing device according to any one of embodiments 1 to 7. [Aspect 9] The information processing device receives instructions regarding the application from the terminal device. The instructions for the aforementioned application are chat messages that the terminal device accepts as input when the terminal device presses a button displayed on the terminal device. The information processing apparatus according to embodiment 8. [Aspect 10] The parameters related to the setting of the aforementioned layout are: Labels of one or more fields associated with the row in which the fields are placed in the aforementioned layout, The information processing apparatus according to Embodiment 7. [Aspect 11] The information processing device can communicate with the application service that manages the application via a network, When the user provides instructions for setting the aforementioned layout of the application, The layout setting unit obtains information regarding the display items of the application from the application service by specifying the application's identification information. The request transmission unit includes the acquired information regarding the display items of the application in the request. An information processing device according to any one of the embodiments 1 to 10. [Explanation of Symbols]
[0232] 10 user terminals 20 Information Processing Systems 40 Application Services 50 Generative AI Systems 100 AI-powered systems [Prior art documents] [Patent Documents]
[0233] [Patent Document 1] Japanese Patent Publication No. 2024-76015
Claims
1. An information processing device that can communicate with a terminal device and a generation AI system via a network and assists users in creating applications, A layout setting unit that sets the layout based on parameters related to the layout settings of the application's user interface screen, When the user provides instructions for setting the layout of the application, the request transmission unit sends a request to the generating AI system to instruct the setting of the layout, which includes information about the display items of the application that are the subject of the layout setting, and information for calling a function that enables the layout setting unit to function. The system includes a receiving unit that receives a function call request for calling the function, which includes the parameters generated by the generation AI system based on the aforementioned request, Upon execution of the function, the layout setting unit sets the layout based on the parameters included in the function call request. Information processing device.
2. The aforementioned instruction is an instruction to set a change to an already established layout. The request transmission unit transmits the request, which further includes a list of display items placed in the application, to the generation AI system. The information processing apparatus according to claim 1.
3. The aforementioned instruction is an instruction to set the layout when the application is generated. The information processing apparatus according to claim 1.
4. An application identification unit that identifies the application to which the layout settings specified by the user are to be applied, An item identification unit that identifies the display items of the application, An information processing apparatus according to any one of claims 1 to 3, further comprising the above.
5. The request further includes a standard phrase instructing the setting of the layout, The information processing apparatus according to claim 1.
6. It further includes a chat control unit that controls chat with the user, The chat control unit includes the message entered by the user in the chat in the request. The information processing apparatus according to claim 1.
7. The request further includes instructions to return labels for one or more fields, associated with the identification information of the row in which the fields are placed in the layout. The information processing apparatus according to claim 1.
8. The request transmission unit switches the predefined text to be included in the request in accordance with the application instructions received from the user. The information processing apparatus according to claim 1.
9. The information processing device receives instructions regarding the application from the terminal device. The instructions for the aforementioned application are chat messages that the terminal device accepts as input when the terminal device presses a button displayed on the terminal device. The information processing apparatus according to claim 8.
10. The parameters related to the setting of the aforementioned layout are: Labels of one or more fields associated with the row in which the fields are placed in the aforementioned layout, The information processing apparatus according to claim 7.
11. The information processing device can communicate with the application service that manages the application via a network, When the user provides instructions for setting the aforementioned layout of the application, The layout setting unit obtains information regarding the display items of the application from the application service by specifying the application's identification information. The request transmission unit includes the acquired information regarding the display items of the application in the request. The information processing apparatus according to claim 1.
12. An AI utilization system comprising a terminal device and an AI generation system that can communicate via a network and an information processing device that supports the creation of applications by users, and the terminal device, The aforementioned terminal device is It has an operation reception unit that accepts requests to configure the layout of the application's user interface screen, The aforementioned information processing device is A layout setting unit that sets the layout based on parameters related to the layout settings in the user interface screen, When the terminal device receives an instruction to set the layout of an application, the request transmission unit transmits a request to the generating AI system to instruct the setting of the layout, which includes information about the display items of the application that are the subject of the layout setting, and information for calling a function to activate the layout setting unit. The system includes a receiving unit that receives a function call request for calling the function, which includes the parameters generated by the generation AI system based on the aforementioned request, Upon execution of the function, the layout setting unit sets the layout based on the parameters. AI-powered system.
13. A terminal device and an information processing device that can communicate with a generation AI system via a network and assist users in creating applications. A layout setting unit that sets the layout based on parameters related to the layout settings of the application's user interface screen, When the user provides instructions for setting the layout of the application, the request transmission unit sends a request to the generating AI system to instruct the setting of the layout, which includes information about the display items of the application that are the subject of the layout setting, and information for calling a function that enables the layout setting unit to function. A receiving unit that receives a function call request for calling the function, which includes the parameters generated by the generation AI system based on the request. To make it function as, Upon execution of the function, the layout setting unit sets the layout based on the parameters included in the function call request. program.
14. A layout setting method performed by an information processing device that can communicate with a terminal device and a generation AI system via a network and assists users in creating applications, The layout setting unit performs the process of setting the layout based on parameters related to the layout settings on the application's user interface screen. When the user provides instructions for setting the layout of the application, the request transmission unit sends a request to the generating AI system to instruct it to set the layout, which includes information about the display items of the application that are the subject of the layout settings, and information for calling a function to activate the layout setting unit. The receiving unit processes a function call request for calling the function, which includes the parameters generated by the generating AI system based on the request. The execution of the function causes the layout setting unit to perform the process of setting the layout based on the parameters included in the function call request, How to set up the layout.
15. An AI utilization system in which a terminal device, a generating AI system, and an information processing device can communicate via a network, The terminal device runs a first web browser, and the first web browser, A first communication unit that receives a first web application from an application service that runs the application, A first display control unit that displays a screen based on the first web application, It includes a startup unit that, in response to an operation on the first web application, launches a second web browser using a script included in the first web application, The terminal device runs the second web browser, and the second web browser, A second communication unit communicates with the information processing device based on address information obtained from the first web application, The second communication unit has a second display control unit which causes the second communication unit to display a screen based on a second web application received from the information processing device, The second communication unit transmits a chat message, which is entered into the screen based on the second Web application, to the information processing device for setting the layout of the user interface screen of the application. The aforementioned information processing device is A first layout setting unit generates a request message for setting the layout based on parameters related to the layout settings in the user interface screen, When the chat message transmitted from the terminal device is received, the request transmission unit transmits a request to the generating AI system to instruct the layout to be set, which includes information about the display items of the application that are the target of the layout setting and information for calling a function that makes the first layout setting unit function. A receiving unit receives a function call request for calling the function, which includes the parameters generated by the generating AI system, based on the request transmitted to the generating AI system. It includes a communication unit that sends the request message containing the aforementioned parameters to the second Web application, The second web application of the terminal device is The system includes a second browser-to-browser communication unit that, upon receiving the request message generated by the first layout setting unit, transmits the request message to the first web application. The aforementioned first web application is, An AI-powered system having a second layout setting unit that requests the setting of the layout based on the parameters included in the function call request by sending the request message to the application service.
Citation Information
Patent Citations
Information processing system, control method for information processing system, and program
JP2024076015A