Information processing systems, information processing devices, information processing methods, programs, and terminals

The information processing system addresses the lack of response appropriateness in dialogue AIs by dynamically switching between different AIs to provide more suitable responses to user messages.

JP2026109537APending Publication Date: 2026-07-01RICOH CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
RICOH CO LTD
Filing Date
2025-09-30
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

Existing computer systems fail to consider switching between dialogue AIs with different roles to output more appropriate responses to user messages.

Method used

An information processing system that includes a display control unit, reception unit, determination unit, and switching unit to identify and switch to a dialogue AI capable of providing a more appropriate response based on user input.

Benefits of technology

Enables more appropriate conversational AI responses by dynamically switching between dialogue AIs based on user interactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026109537000001_ABST
    Figure 2026109537000001_ABST
Patent Text Reader

Abstract

To enable switching to a conversational AI that can output more appropriate responses to user messages. [Solution] The information processing system includes a display control unit that displays a first dialogue AI, which is the dialogue partner of the user, from among several types of dialogue AIs that interact with the user and have different roles; a reception unit that receives message input for the dialogue AI; a determination unit that determines whether there is a second dialogue AI among the several types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI; and a switching unit that, if it is determined that the second dialogue AI exists, switches the dialogue partner to the second dialogue AI, wherein the display control unit displays in an identifiable manner that the dialogue partner has been switched.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing system, an information processing apparatus, an information processing method, a program, and a terminal.

Background Art

[0002] Conventionally, a computer system has been devised that automatically generates a response to a message such as a question from a user and outputs the response to interact with the user.

[0003] For example, Patent Document 1 discloses a technique in which a user can select an AI of an interlocutor before interacting with the AI.

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, in a computer system that functions as a plurality of types of dialogue AIs with different roles and is a dialogue AI that interacts with a user, switching the interlocutor to another dialogue AI that can output a more appropriate response than the dialogue AI that is the interlocutor to a message from the user has not been considered in the prior art.

[0005] The present invention has been made in view of the above points, and an object thereof is to enable switching to a dialogue AI that can output a more appropriate response to a message from a user.

Means for Solving the Problems

[0006] To solve the above problems, the information processing system includes a display control unit that displays a first dialogue AI, which is the dialogue partner of the user, from among several types of dialogue AIs that interact with the user and have different roles; a reception unit that receives message input for the dialogue AI; a determination unit that determines whether there is a second dialogue AI among the several types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI; and a switching unit that, if it is determined that the second dialogue AI exists, switches the dialogue partner to the second dialogue AI, wherein the display control unit displays in an identifiable manner that the dialogue partner has been switched. [Effects of the Invention]

[0007] This allows for switching to a conversational AI that can output more appropriate responses to user messages. [Brief explanation of the drawing]

[0008] [Figure 1] This figure shows an example of the configuration of the information processing system in the first embodiment. [Figure 2] This figure shows an example of the hardware configuration of the information processing device 10 in the first embodiment. [Figure 3] This figure shows an example of the functional configuration of the information processing system in the first embodiment. [Figure 4] This figure shows an example of the agent information storage unit 121. [Figure 5] This figure shows an example of the history information storage unit 123. [Figure 6] This is a sequence diagram illustrating an example of a processing procedure performed by the information processing system in the first embodiment. [Figure 7] This figure shows an example of the dialogue screen displayed at the start of a conversation. [Figure 8] This figure shows an example of how the final response information is displayed. [Figure 9] This figure shows an example of a dialogue screen displaying the switching of the execution agent. [Figure 10] This is a sequence diagram illustrating an example of a processing procedure performed by the information processing system in the second embodiment. [Figure 11] This figure shows an example of a dialogue screen that allows the user to choose whether or not to switch the execution agent. [Figure 12] This figure shows an example of the functional configuration of terminal 20 in the third embodiment. [Figure 13] This is a sequence diagram illustrating an example of a processing procedure related to screen transitions in the third embodiment. [Figure 14] This figure shows an example of the execution agent selection screen. [Figure 15] This figure shows an example of the display on the dialogue screen 510 after entering a message. [Figure 16] This figure shows an example of the display on the dialogue screen 510 after the second message has been entered. [Figure 17] This figure shows an example of the functional configuration of a terminal 20 equipped with the functions of an information processing device 10. [Modes for carrying out the invention]

[0009] Embodiments of the present invention will be described below with reference to the drawings. Figure 1 is a diagram showing an example of the configuration of an information processing system in the first embodiment. In Figure 1, one or more terminals 20 are connected to the information processing device 10 via a network such as a LAN (Local Area Network) or the Internet.

[0010] The information processing device 10 is one or more computers that function as multiple types of agents a1 to aL that interact with the user. An agent is an example of a conversational AI, and is an anthropomorphic virtual entity that appears to the user as a conversation partner. Interaction with the conversational AI (conversation partner) means that when the user inputs a message, a response is output in response to it. Specifically, the agent receives a message input by the user from the terminal 20, controls the generation of a response to the message, and outputs the response to the terminal 20. The message input by the user may be a question, an instruction or request, or other input information that requires a response. The response is text containing information corresponding to the message. The response may also be output as voice. The agent may also be called an automatic response means, AI agent, digital clone, personalized AI, AI assistant, automatic response AI, conversation partner, AI chatbot, companion, concierge, or virtual conversation interface, etc. The agent may also be a virtual human displayed as a conversation partner on the screen of the terminal 20 as a 3D avatar modeled after a person.

[0011] In this embodiment, the information processing device 10 functions as multiple types of agents. These multiple types of agents are distinguished by the method of controlling the generation of responses to messages. Furthermore, each of the multiple types of agents has a different role and is distinguished by purpose or application. For example, examples of agent roles include querying (answering questions), comparison, classification, prediction, document generation, document supplementation, and document evaluation. Agents may be defined for each of these roles, or agents corresponding to other roles may be defined.

[0012] The user can select an agent suitable for their purpose or application as the interlocutor from among multiple types of agents. Also, when the information processing apparatus 10 determines that the agent should be changed to an agent suitable for the message from the user according to the progress of the dialogue, the information processing apparatus 10 can automatically switch the agent as the interlocutor.

[0013] The terminal 20 is a device that functions as a user interface of the information processing system. For example, a PC (Personal Computer), a smartphone, a tablet terminal, or the like may be used as the terminal 20. The terminal 20 receives an input of a message from the user and transmits the message to the information processing apparatus 10. The terminal 20 also receives and displays a response generated for the message from the information processing apparatus 10. The terminal 20 may output the received information using a projector or the like.

[0014] In this embodiment, it is assumed that the information processing system is operated in a certain company (hereinafter referred to as "Company X"). Therefore, the users who can access the information processing apparatus 10 are those belonging to Company X, such as employees of Company X. The service provided by the information processing apparatus 10 may be generally made public as a cloud service.

[0015] FIG. 2 is a diagram showing a hardware configuration example of the information processing apparatus 10 in the first embodiment. As shown in FIG. 2, the information processing apparatus 10 is constructed by a computer and includes a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, an HD (Hard Disk) 104, an HDD (Hard Disk Drive) controller 105, a display 106, an external device connection I / F (Interface) 108, a network I / F 109, a data bus 110, a keyboard 111, a pointing device 112, a DVD-RW (Digital Versatile Disk Rewritable) drive 114, and a media I / F 116.

[0016] Among these, the CPU 101 controls the operation of the entire information processing apparatus 10. The ROM 102 stores programs used for driving the CPU 101 such as an IPL (Initial Program Loader). The RAM 103 is used as a work area for the CPU 101. The HD 104 stores various data such as programs. The HDD controller 105 controls the reading or writing of various data to and from the HD 104 according to the control of the CPU 101. The display 106 displays various information such as a cursor, menu, window, characters, or images. The external device connection I / F 108 is an interface for connecting various external devices. The external devices in this case are, for example, a USB (Universal Serial Bus) memory, a printer, and the like. The network I / F 109 is an interface for performing data communication using a communication network. The data bus 110 is an address bus, a data bus, etc. for electrically connecting each component such as the CPU 101.

[0017] Also, the keyboard 111 is a type of input means having a plurality of keys for inputting characters, numerical values, various instructions, and the like. The pointing device 112 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, and the like. The DVD-RW drive 114 controls the reading or writing of various data to and from the DVD-RW 113 as an example of a removable recording medium. Note that it is not limited to DVD-RW, and it may be a DVD-R or the like. The media I / F 116 controls the reading or writing (storage) of data to and from the recording medium 115 such as a flash memory.

[0018] FIG. 3 is a diagram showing a functional configuration example of the information processing system in the first embodiment. In FIG. 3, the information processing apparatus 10 has an AI 150 and an agent.

[0019] AI150 is a machine learning model (e.g., a neural network) that takes text as input and is trained to generate text (hereinafter referred to as "response") corresponding to the input text (hereinafter referred to as "prompt"). AI150 may be trained to output responses that include images or files. For example, AI150 generates the text with the highest probability of occurrence as a response to a prompt, based on the learning results. For example, a generative AI using a Large Language Mode (LLM) may be used as AI150. LLM is a machine learning model that has been trained to perform natural language processing using a large amount of text data. LLM is used in many NLP (Natural Language Processing) tasks such as generating responses to specific questions, automatic text generation, text summarization, translation, and sentiment analysis. It can also be used in various applications such as education, entertainment, customer service, and product development. In this embodiment, the prompt is text containing a message entered by the user. Note that the information processing device 10 does not have to have AI150. In this case, a generative AI that is publicly available on the internet or elsewhere may be used as AI150.

[0020] Here, machine learning is a technique for enabling computers to acquire human-like learning abilities. It refers to a technique in which a computer autonomously generates algorithms necessary for judgment, such as data identification, from pre-inputted training data, and applies these algorithms to new data to make predictions. The learning method for machine learning can be supervised learning, unsupervised learning, semi-supervised learning, reinforcement learning, or deep learning, or a combination of these learning methods; the learning method for machine learning is not restricted.

[0021] The agent is a set of functional units that receive messages from the user, use Retrieval Augmented Generation (RAG) to generate responses from the AI ​​150 to those messages, and perform processing to include text previously generated by the AI ​​150 (responses output by the AI ​​150 to prompts previously entered into the AI ​​150) in the prompts. Specifically, the agent includes, as such functional units, a reception unit 11, an agent control unit 12, a setting unit 13, a conversion unit 14, a search unit 15, an AI control unit 16, and a display control unit 17. Each of these units is realized by processing that one or more programs installed on the information processing device 10 cause the CPU 101 to execute. The agent also utilizes an agent information storage unit 121, multiple data storage units 122-1 to N, and a history information storage unit 123 as storage units. Each of these storage units can be realized using, for example, an HD 104 or a storage device that can be connected to the information processing device 10 via a network.

[0022] In this embodiment, the information processing device 10 is described as functioning as multiple types of agents a1 to aL, but the program that functions as an agent (hereinafter referred to as the "agent program") is common to each agent. The agent program causes the information processing device 10 to function as multiple types of agents based on information that is set in advance for each agent (hereinafter referred to as the "agent information").

[0023] The reception unit 11 receives input from the user. For example, the reception unit 11 receives the user's selection of the agent to interact with from among several types of agents a1 to aL (hereinafter referred to as the "execution agent"). The reception unit 11 also receives the input of a message to the agent that is the interaction partner. More precisely, the user's input is made to the terminal 20. Therefore, the reception unit 11 receives information from the terminal 20 corresponding to the input received by the terminal 20.

[0024] The agent control unit 12 controls the switching of the execution agent. When an execution agent is selected by the user, the agent control unit 12 executes a process to make the selected agent a1 the execution agent. When the execution agent is automatically switched according to the progress of the dialogue, the agent control unit 12 functions as an example of a determination unit that determines whether there is an agent a2 (second agent) among several types of agents that can output a more appropriate response to the message received by the reception unit 11 than the current execution agent (dialogue partner), agent a1 (first agent). If the agent control unit 12 determines that a second agent exists, it functions as an example of a switching unit that switches the dialogue partner to the second agent. In the process of switching an agent to the execution agent, the agent control unit 12 inputs the agent information of the execution agent from the agent information stored for each agent in the agent information storage unit 121 to the setting unit 13. When the execution agent is automatically switched according to the progress of the dialogue, the agent control unit 12 executes a process to automatically switch the execution agent based on the agent information stored for each agent in the agent information storage unit 121 and the message from the user.

[0025] Among the agent information stored for each agent, the agent information for a particular agent includes text information indicating the role of that agent, identification information of the data storage unit 122 corresponding to that agent (hereinafter referred to as "data source ID"), a system prompt corresponding to that agent, and control rules corresponding to that agent.

[0026] Figure 4 shows an example of the agent information storage unit 121. As shown in Figure 4, the agent information storage unit 121 pre-stores agent information for each candidate agent, including agent ID, agent name, icon name, description, data source ID, control rules, and system prompts.

[0027] The agent name is the name of the agent. The icon name is the file name of the icon that represents the agent. The icon is displayed on the screen for user-agent interaction (interaction screen). The description is text data that describes the agent's role, etc., in natural language. The data source ID is the identification information of the data storage unit 122 that the agent searches. Two or more data storage units 122 may be searched. The control rules and system prompts are the control rules and system prompts that make the AI ​​control unit 16 compatible with the agent. Since control rules and system prompts are defined for each agent, multiple types of control rules and system prompts that are different from each other are prepared in advance. Even if multiple agents search the same data source, different responses can be obtained from each agent by using different control rules for each agent. In other words, the agent's role is realized by the control rules and system prompts. For example, if an inquiry agent has the role of outputting inquiry responses to user inquiries (questions), then a description explaining that role, along with the control rules and system prompts for controlling the agent in that way, are stored in association with that inquiry agent. If an analysis agent is responsible for analyzing data and outputting analysis results in response to user instructions, then a descriptive statement explaining this role, along with control rules and system prompts for controlling the agent, are stored in association with that analysis agent.

[0028] A system prompt is a template (template) of a prompt that is pre-prepared for each agent (for each role) and is input to the AI150. For example, by applying a message received by the reception unit 11 to the system template, a prompt to be input to the AI150 is generated.

[0029] A control rule is data that defines the input / output (interaction) procedures for AI150, and is prepared in advance for each agent (role). To obtain a response appropriate to the role of the execution agent for a certain message entered by the user, it is not enough to simply enter a prompt to AI150 once. For example, it may be necessary to have AI150 perform multiple tasks such as extracting, classifying, predicting, or looping specific information. In this case, a prompt needs to be entered for each task, and the control rule is data that defines what prompts should be entered to AI150 and in what order (i.e., the procedure for interacting with AI150). An interaction with AI150 based on a single control rule will be referred to as a "control procedure," and a single prompt input to AI150 within a control procedure will be referred to as a "phase." If a control procedure includes multiple phases, system prompts corresponding to each phase are prepared. In this case, the system prompt for a certain phase may be a message received by the reception unit 11. The system prompts for other phases may be responses obtained in the control procedure up to that phase. When distinguishing between responses obtained from AI150 during the control procedure and responses obtained from AI150 at the end of the control procedure (i.e., responses to user messages), the former is called an "intermediate response" and the latter a "final response." Note that if only one prompt input is required during the control procedure, the control rule will consist of one phase, and there will be only one system prompt. In this case, there is no intermediate response, and a final response is obtained for each prompt input.

[0030] The setting unit 13 configures the AI ​​control unit 16 and the search unit 15 to perform actions corresponding to the role of the execution agent, based on the agent information of the execution agent input from the agent control unit 12. Switching between execution agents is achieved by switching the settings for the AI ​​control unit 16 and the search unit 15. The reason for switching the settings for the AI ​​control unit 16 for each agent is that the system prompts and control rules differ for each agent. Specifically, the system prompts and control rules included in the agent information of the execution agent are set for the AI ​​control unit 16. On the other hand, the reason for switching the settings for the search unit 15 for each agent is that the data storage unit 122 that is the search target (source of document data acquisition) may differ for each agent. For example, agent a3, which deals with legal knowledge, searches the data storage unit 122 where legal document data is stored, while agent a4, which deals with accounting knowledge, searches the data storage unit 122 where accounting document data is stored. The data source ID included in the agent information of the execution agent is set for the search unit 15.

[0031] When the receiving unit 11 receives a message, the conversion unit 14 converts the message into a vector that represents the meaning of the message using multi-dimensional numerical values ​​(hereinafter referred to as a "semantic vector"). The semantic vector can be generated using natural language processing such as BERT. Hereinafter, the semantic vector generated by converting the message will be referred to as a "message vector".

[0032] The search unit 15 uses the message vector generated by the conversion unit 14 to extract a portion of the document data stored in the data storage unit 122 corresponding to the data source ID set by the setting unit 13, which has a relatively high relevance to the message. In other words, the data storage unit 122 that the search unit 15 searches (the source of the document data) changes according to the setting by the setting unit 13.

[0033] Each data storage unit 122 has document data related to various operations of company X pre-stored (registered). However, the set of document data stored differs for each data storage unit 122. This is because the document data required differs depending on the role of the agent. Therefore, a data storage unit 122 may be provided for each agent. Alternatively, some or all of the data storage units 122 used by two or more agents may be the same. The registration of document data to each data storage unit 122 may be performed in batches, or the user may upload the document data at any time. Each data storage unit 122 stores, for each document data registered in that data storage unit 122, the document data and the semantic vector for each chunk of the document data. A chunk of document data refers to a part of the document data obtained by dividing the document data into predetermined units. The units for dividing the document data may be the number of characters, the number of sentences, or semantic units (e.g., paragraphs), and it is sufficient that the data is pre-divided and stored in units. Hereinafter, the semantic vector of each chunk will be referred to as a "chunk vector". The search unit 15 compares the message vector with the chunk vector of each chunk related to the document data in the data storage unit 122 to be searched, and identifies the chunk related to the chunk vector with the highest similarity to the document data (hereinafter referred to as "similar chunk"). The search unit 15 compares the similarity of the similar chunks for each document data and extracts the top M similar chunks. Therefore, M documents are effectively extracted. Cosine similarity may be used to evaluate the similarity between vectors, or other metrics may be used. The search unit 15 includes in the search results information (hereinafter referred to as "related document information") that includes the top M similar chunks, the ID stored in the data storage unit 122 corresponding to the similar chunk (hereinafter referred to as "chunk ID"), and the ID stored in the data storage unit 122 corresponding to the document data to which the similar chunk belongs (hereinafter referred to as "document ID") and file name (hereinafter referred to as "document name"). Each data storage unit 122 may be a folder, database, or other management unit for a collection of document data.

[0034] The AI ​​control unit 16 generates a prompt by applying the message received by the reception unit 11 and the set of similar chunks related to the search results from the search unit 15 to the system prompt set by the setting unit 13. In other words, the AI ​​control unit 16 generates a prompt that expands the message received by the reception unit 11 with the set of similar chunks related to the search results from the search unit 15. The way in which the set of similar chunks related to the search results is included in the prompt may be the same as in the well-known RAG. The text of each chunk belonging to the set of similar chunks related to the search results may be included in the prompt, or a vector generated based on the chunk vector of the chunk may be included in the prompt. A simple example of a system prompt is as follows.

[0035] <Example of a system prompt> The following is a message from a user:

[0036] {message} Please use the following document as a reference to generate a response to the message.

[0037] {A set of similar chunks related to the search results} <End of system prompt example> Thus, the system prompt clearly defines a part for which a message is applied and a part for which a set of similar chunks related to the search results from the search unit 15 is applied. In this case, the AI ​​control unit 16 applies the message received by the reception unit 11 to the {message} part of the system prompt, and applies the set of similar chunks related to the search results from the search unit 15 to the {set of similar chunks related to the search results} part, thereby generating the prompt. By inputting the prompt thus generated to the AI ​​150, the AI ​​150 can generate a response using knowledge included in the set of similar chunks related to the search results (knowledge that the AI ​​150 has not yet learned). In other words, the response from the AI ​​150 can be based on the set of similar chunks related to the search results. The system prompt may also include a string to notify the AI ​​150 of the role of the agent corresponding to the system prompt, such as "You are XXX." (where XXX is a string indicating a role).

[0038] Furthermore, if the control procedure includes multiple phases, a system prompt may be defined that explicitly indicates where to apply an intermediate response obtained in a phase preceding that phase (for example, an intermediate response obtained in any phase from the 1st phase to the (K-1)th phase to the Kth phase).

[0039] The AI ​​control unit 16 also interacts with the AI ​​150 using control procedures that follow the control rules set by the setting unit 13. For each phase of the control procedure, the AI ​​control unit 16 generates a prompt based on the system prompt corresponding to that phase, sends the prompt to the AI ​​150, and receives a response to the prompt from the AI ​​150.

[0040] Furthermore, each time a final response is received from the AI ​​150, the AI ​​control unit 16 associates the final response with the message and search results that formed the basis of the final response and stores them in the history information storage unit 123. Intermediate responses may also be stored in association with the final response. Thus, the history information storage unit 123 stores history information of the interaction between the user and the agent (input / output of the AI ​​150).

[0041] Figure 5 shows an example of the history information storage unit 123. As shown in Figure 5, the history information storage unit 123 stores history information, including session ID, user ID, response ID, message, and search results, for each final response from the AI ​​150. The session ID is a unique ID for each session. A session refers to a series of exchanges between the user and the agent, consisting of messages and final responses (or possibly intermediate responses), from the time the dialogue screen 510 is displayed until it is closed. The same session ID is assigned to final responses output in the same session. The user ID is identification information of the user who conducted the session (dialogue) related to the session ID. The user ID may be identified by performing user authentication. The response ID is, for example, a unique ID for each final response, and is assigned, for example, by the AI ​​control unit 16 when it records the final response in the history information storage unit 123. The message and search results are the message and search results applied to the prompt that was the basis of the final response.

[0042] The display control unit 17 displays the agent that is interacting with the user in an identifiable manner. The display control unit 17 further displays information including the final response received by the AI ​​control unit 16 (hereinafter referred to as "final response information") on the terminal 20 that sent the message. Specifically, the display control unit 17 sends display content to the terminal 20 to display the screen of the terminal 20. The terminal 20 uses a browser to display the screen based on the display content. The final response information includes not only the final response but also information indicating the document data to which each similar chunk related to the search results by the search unit 15 belongs. Therefore, the user can confirm what kind of document data was used as the basis for generating the final response.

[0043] The display control unit 17 also displays on the terminal 20 that the conversation partner has been switched when the execution agent is switched.

[0044] On the other hand, terminal 20 has a reception unit 21, a communication unit 22, and a display control unit 23. Each of these units is realized by a program installed on terminal 20 that causes the terminal 20's CPU to execute a process.

[0045] The reception unit 21 receives user operations on the terminal 20.

[0046] The communication unit 22 controls communication with the information processing device 10.

[0047] The display control unit 23 controls the display of screens, etc. (for example, the interactive screen 510 described later) based on information (display data), etc., received from the information processing device 10.

[0048] The following describes the processing procedure performed by the information processing system. Figure 6 is a sequence diagram illustrating an example of the processing procedure performed by the information processing system in the first embodiment. At the start of the processing procedure in Figure 6, the user is logged in to the information processing device 10 (authenticated by the information processing device 10), and the execution agent selection screen is displayed on the terminal 20. The execution agent selection screen displays a list of selectable agents. In this case, the list may include agents sorted in an order based on the agent's role (for example, alphabetically by the string indicating the role). Furthermore, some agents from this list may be searchable. In this case, it may be possible to input search keywords on the execution agent selection screen, and some agents with a relatively high similarity in roles to the keyword may be displayed on the execution agent selection screen.

[0049] When the user selects one of the agents displayed on the execution agent selection screen, terminal 20 sends the identification information of the selected agent (hereinafter referred to as "agent ID") to information processing device 10 (S101).

[0050] When the receiving unit 11 of the information processing device 10 receives the agent ID, it inputs the agent ID to the agent control unit 12 (S102).

[0051] The agent control unit 12 obtains agent information corresponding to the input agent ID from the agent information storage unit 121 (S103).

[0052] Hereinafter, the agent information obtained in step S103 of Figure 6 will be referred to as "executing agent information".

[0053] Next, the agent control unit 12 inputs the execution agent information to the setting unit 13 (S104).

[0054] The setting unit 13 sets the data source ID of the input execution agent information to the search unit 15 (S105), and sets the control rules and system prompts of the execution agent information to the AI ​​control unit 16 (S106). As a result, the search unit 15 searches the data storage unit 122 corresponding to the execution agent, and the AI ​​control unit 16 executes the control procedure corresponding to the execution agent.

[0055] The agent control unit 12 also notifies the display control unit 17 of the execution agent information (S107). The display control unit 17 displays a dialogue screen on the terminal 20 in which the user's conversation partner is the agent (execution agent) related to the execution agent information (S108). Specifically, the display control unit 17 generates display data for the dialogue screen and transmits this display data to the terminal 20 in order to display the dialogue screen.

[0056] Figure 7 shows an example of the display of the dialogue screen at the start of a dialogue. The dialogue screen 510 shown in Figure 7 includes a dialogue display area 511, a message input area 512, and a button 513. The dialogue display area 511 is the area where the content of the dialogue between the execution agent and the user is displayed. In the initial state, the dialogue display area 511 displays a greeting message g1 ("We will help you with your work.") prompting the user to enter a message. To the left of the greeting message g1, the execution agent icon ai1 is displayed. Icon ai1 is an image stored in a file related to the icon name of the execution agent information. The user can visually recognize the agent they are currently interacting with (i.e., the execution agent) by icon ai1. The message input area 512 is the area for receiving message input from the user and includes a send icon 5121. Button 513 is a button for receiving a command to end the dialogue.

[0057] When a user enters a message in the message input area and clicks the send icon 5121, the terminal 20 sends the message (hereinafter referred to as the "target message") to the information processing device 10 (S201).

[0058] When the reception unit 11 receives a target message, it inputs the target message to the agent control unit 12 (S202). The agent control unit 12 inputs an agent selection request to the AI ​​control unit 16, which includes the target message and a list of all agent information stored in the agent information storage unit 121 (S203). This selection request means a request to select an agent that is suitable for generating a response to the target message (hereinafter referred to as the "suitable agent"). Being suitable for generating a response means being able to output the most appropriate response.

[0059] The AI ​​control unit 16 generates a prompt to instruct the AI ​​150 to select a suitable agent based on the input target message and agent information list and system prompts prepared in advance for selecting a suitable agent, and sends the prompt to the AI ​​150 (S204). The prompt generated at this time is a prompt that requests the selection of an agent from among several agents, each with a different role, that has a role that can generate an appropriate response to the message from the user. In other words, it is a prompt that causes the AI ​​to determine what type of response the user is looking for based on the message entered by the user, and then causes the AI ​​to determine which agent can provide that type of response based on the role of each agent.

[0060] A simple example of the system prompt is as follows:

[0061] <Example of a system prompt> The following is a message from a user:

[0062] {message} The following are candidates for agents that can respond to the above message:

[0063] {List of Agent IDs and Agent Descriptions} From the agents listed above, select the agent that can output the most appropriate response to the above message, and output the agent ID of that agent.

[0064] <End of system prompt example> In this case, the AI ​​control unit 16 generates a prompt by substituting the target message into the {message} portion of the system prompt and substituting the agent ID and description (i.e., the role of the agent) for each agent into the {list of agent IDs and agent descriptions} portion.

[0065] Upon receiving the prompt generated as described above, AI150 selects a suitable agent from among those listed in the prompt based on its learned parameters and generates a response containing the ID of the selected agent. AI150 then sends this response to AI control unit 16.

[0066] Next, the AI ​​control unit 16 receives a response from the AI ​​150 (S205). This response is the agent ID of the agent selected as the suitable agent. Subsequently, the AI ​​control unit 16 outputs this agent ID (hereinafter referred to as the "suitable agent ID") to the agent control unit 12 (S206).

[0067] The agent control unit 12 compares the suitable agent ID output by the AI ​​control unit 16 with the agent ID of the execution agent information obtained in step S103 (hereinafter referred to as the "execution agent ID") to determine if there is an agent that can output a more appropriate response to the target message than the execution agent (S207).

[0068] If the suitable agent ID and the executing agent ID are different, the agent control unit 12 determines that there is an agent capable of outputting a more appropriate response to the target message than the executing agent. In this case, steps SS210 to S260 are executed, and the executing agent is changed. If the suitable agent ID and the executing agent ID are the same, the agent control unit 12 determines that there is no agent capable of outputting a more appropriate response to the target message than the executing agent. In this case, steps SS210 to S260 are not executed, and steps S271 onwards are executed.

[0069] First, let's explain the case where the suitable agent ID and the execution agent ID are the same.

[0070] In step S271, the agent control unit 12 inputs the target message to the conversion unit 14.

[0071] The conversion unit 14 generates a message vector by converting the input target message into a semantic vector (S272). Subsequently, the conversion unit 14 inputs the message vector (hereinafter referred to as the "target message vector") and the target message to the search unit 15 (S273).

[0072] The search unit 15 compares the input target message vector with the chunk vectors stored in the data storage unit 122 (i.e., the data storage unit 122 corresponding to the execution agent) associated with the data source ID set by the setting unit 13, for each document data and each chunk. The search unit 15 identifies similar chunks for each document data and extracts some similar chunks with relatively high similarity to the target message (S274). For example, the top X similar chunks based on similarity between the target message vector and the chunk vector are extracted. The search unit 15 generates search results for each extracted similar chunk, including related document information for that similar chunk. Next, the search unit 15 inputs the search results and the target message to the AI ​​control unit 16 (S275).

[0073] The AI ​​control unit 16 generates a prompt based on the input search results and target message, and the control rules and system prompts set by the setting unit 13 (S276). Subsequently, the AI ​​control unit 16 sends the prompt to the AI ​​150 (S277). The AI ​​control unit 16 receives the response generated by the AI ​​150, which received the prompt, from the AI ​​150 (S278). Depending on the control procedure, the first response may not be the final response, and the final response may be obtained by repeating steps S276 to S278 multiple times.

[0074] When the AI ​​control unit 16 receives a final response, it records the final response in the history information storage unit 123, associating it with the target message and the search result.

[0075] Next, the AI ​​control unit 16 inputs the final response information, including the final response (hereinafter referred to as the "target final response") and related document information from the search results, to the display control unit 17 (S279).

[0076] The display control unit 17 displays the input final response information (target final response and related document information) on the dialogue screen 510 displayed on the terminal 20 (S280). Specifically, the display control unit 17 generates display data for the final response information and transmits the generated display data to the terminal 20, thereby displaying the final response information on the dialogue screen 510 displayed on the terminal 20.

[0077] Figure 8 shows an example of the display of the final response information. In Figure 8, the same parts as in Figure 7 are denoted by the same reference numerals, and their explanations are omitted. In the dialogue screen 510 shown in Figure 8, message m1, response r1, and related document information d1 have been added.

[0078] Message m1 is the target message entered by the user in the message input area 512 in step S201. When the user clicks the send icon 5121, the target message entered in the message input area 512 is displayed in the dialogue display area 511.

[0079] Response r1 is the final response to the target. Related document information d1 is related document information for the final response to the target. Therefore, the information including response r1 and related document information d1 is the final response information for message m1. Figure 8 shows an example where a list of document names included in the related document information is displayed as related document information d1. The final response to the target may also be output in multiple callouts.

[0080] In Figure 8, icon ui1 has been added to the right of message m1, and icon ai2 has been added to the left of response r1. Icon ui1 is the user's icon. Icon ai2 is the icon of the execution agent that made the final response. Here, the execution agent has not been switched, so icon ai2 is the same as icon ai1.

[0081] The user may continue the conversation or end it. If the user chooses to end the conversation, they click button 513. In this case, the session ends, and the processing procedure in Figure 6 is completed. If the user chooses to continue the conversation, they enter a new message in the message input area 512 and click the send icon 5121. In this case, the steps from S201 onward are repeated with this message as the target message. That is, steps from S201 onward are repeatedly executed until button 513 is clicked.

[0082] This section describes the case where the suitable agent ID and the execution agent ID differ during the execution of steps S201 and later. In other words, it occurs when it is determined that there is an agent capable of outputting a more appropriate response to the target message than the execution agent. In this case, steps S210 to S260 are executed.

[0083] In step S210, the agent control unit 12 obtains agent information corresponding to the suitable agent ID from the agent information storage unit 121 (Figure 4) as execution agent information. In steps S220 to S250, the same processing as in steps S104 to S107 is performed. In step S250, the display control unit 17, having been notified of new execution agent information, displays information on the currently displayed dialogue screen 510 that allows it to identify that the execution agent has been switched (S260). Specifically, the display control unit 17 generates display data to display information that allows it to identify that the execution agent has been switched, and transmits the display data to the terminal 20.

[0084] Figure 9 shows an example of a dialogue screen displaying the switching of the execution agent. In Figure 9, the same parts as in Figure 8 are denoted by the same reference numerals, and their explanations are omitted. In the dialogue screen 510 shown in Figure 9, message m2, notification message n1, and greeting message g2 have been added. Message m2 is a new target message. In other words, Figure 9 shows an example of the display when the suitable agent for message m2 is not the execution agent.

[0085] Notification message n1 and greeting message g2 are display information added in step S260 to notify the user of the switch in execution agents. Notification message n1 is a string indicating the switch in execution agents. Greeting message g2 is a greeting message from the new execution agent.

[0086] Furthermore, the icon ai3 to the left of the greeting message g2 is different from the previous execution agent icons ai1 and ai2. This is because icon ai3 is an icon related to the icon name included in the agent information of the new execution agent. In this way, the user can identify the switch in execution agents by changing the icon.

[0087] Following step S260 in Figure 6, steps S271 and onward are executed. In this case, the search unit 15 searches for document data from the data storage unit 122 corresponding to the data source ID set in step S230 (S274). The AI ​​control unit 16 then obtains the final response by executing steps S276 to S278 based on the control rules and system prompts set in step S240. As a result, the final response can be obtained that is based on different document data than the execution agent before the switchover, and based on different system prompts (inquiry methods) than the execution agent before the switchover. In other words, a final response corresponding to the execution agent after the switchover is obtained. Therefore, the possibility of outputting a more appropriate response to a message from the user increases.

[0088] As described above, according to the first embodiment, among several types of agents, each with a different role, it is determined whether there is an agent (second agent) that can output a more appropriate response to a message from the user than the execution agent (first agent). If such an agent exists, the execution agent is switched to the second agent. Therefore, it is possible to switch to an agent that can output a more appropriate response to a message from the user. As a result, the quality of the response to a message from the user can be improved.

[0089] Next, a second embodiment will be described. The differences between the second embodiment and the first embodiment will be described. Therefore, unless otherwise specified, the second embodiment is the same as the first embodiment.

[0090] In the first embodiment, the execution agent was forcibly switched if the current execution agent was not a suitable agent. In the second embodiment, an example is described in which the user is given the option to choose whether or not to switch the execution agent.

[0091] Figure 10 is a sequence diagram illustrating an example of a processing procedure performed by the information processing system in the second embodiment. In Figure 10, steps identical to those in Figure 6 are given the same step numbers, and their explanations are omitted. In Figure 10, steps S211 to S213 are added between steps S210 and S220.

[0092] In step S211, the agent control unit 12 notifies the display control unit 17 of the execution agent information acquired in step S210.

[0093] Based on the notified execution agent information (information of the execution agent to be switched to), the display control unit 17 adds a display area (hereinafter referred to as the "selection area") to the currently displayed dialogue screen 510 to allow the user to select whether or not to switch execution agents, thereby displaying a screen on the terminal 20 that allows the user to select whether or not to switch execution agents.

[0094] Figure 11 shows an example of a dialogue screen that allows the user to choose whether or not to switch the execution agent. In Figure 11, the same parts as in Figure 9 are denoted by the same reference numerals, and their explanations are omitted.

[0095] In Figure 11, the selection area q1 is displayed for message m2. The selection area q1 is an area that allows the user to choose whether or not to switch the execution agent. In Figure 11, it includes a string indicating whether or not to switch to the analysis agent, as well as buttons b1 and b2. Button b1 is a button that accepts the selection to switch. Button b2 is a button that accepts the selection not to switch.

[0096] When the user clicks either button b1 or button b2, terminal 20 sends information corresponding to the clicked button to information processing device 10 (S213 in Figure 10). Specifically, terminal 20 sends information indicating "YES" when button b1 is clicked, and sends information indicating "NO" when button b2 is clicked.

[0097] When the agent control unit 12 receives the information, it branches the processing based on that information. If the information indicates "YES", the agent control unit 12 executes steps S220 to S260. In this case, in step S260, the display control unit 17 displays information (such as the notification message n1, greeting message g2, and icon ai3 in Figure 9) on the dialogue screen 510 in Figure 11 that allows the user to identify that the executing agent has been switched. This information may be displayed below the selection area q1, or it may be displayed after the selection area q1 has been hidden. Subsequently, a response is made by the execution after the switch. On the other hand, if the information indicates "NO", the agent control unit 12 executes step S271. In this case, the executing agent is not switched and a response is made to the message.

[0098] As described above, according to the second embodiment, if there is an agent (second agent) that can output a more appropriate response to a message from the user to the execution agent (first agent) than the execution agent, a screen (Figure 11) is displayed to allow the user to choose whether or not to switch the execution agent. Therefore, the user's will can be reflected in the switching of execution agents.

[0099] In the above embodiments, in step S260 (Figures 6 and 10), the notification message n1, greeting message g2, and icon ai3 in Figure 9 are shown as examples of information that allows the user to identify that the execution agent has been switched. However, this information may be implemented in other forms. For example, in step S260, the display control unit 17 may display the agent name of the execution agent in addition to icon ai3, or instead of icon a13. Alternatively, in step S260, the display control unit 17 may display a new dialogue screen 510 on the terminal 20 for interacting with the switched execution agent, separate from the currently displayed dialogue screen 510. The display may be implemented in other forms as long as the user can identify the switch in the execution agent.

[0100] Furthermore, in the above embodiments, the identification of a suitable agent is shown in the procedure described in steps S202 to S206 (Figures 6 and 10), but a suitable agent may be identified by other procedures.

[0101] For example, after identifying a suitable agent, if the suitable agent is different from the current execution agent in step S207, it may be determined whether or not it is necessary to switch the current execution agent. In this case, following step S207, the agent control unit 12 inputs the target message and the agent information (execution agent information) of the current execution agent to the AI ​​control unit 16. The AI ​​control unit 16 uses the target message and the explanatory text of the execution agent information to generate a prompt to inquire whether or not it is necessary to switch the execution agent. For example, a prompt may be generated that says, "The execution agent will perform the role indicated in the explanatory text, but is it suitable for responding to the target message?" The AI ​​control unit 16 sends the prompt to the AI ​​150 and receives a response from the AI ​​150. The AI ​​control unit 16 outputs the response to the agent control unit 12. If the response indicates that the execution agent is suitable, the agent control unit 12 executes step S271 without switching the execution agent. If the response indicates that the execution agent is not suitable, the agent control unit 12 executes step S210 to switch the execution agent.

[0102] Alternatively, after determining whether the execution agent is suitable, a suitable agent may be identified if the execution agent is not suitable. The procedure for determining whether the execution agent is suitable and the procedure for identifying a suitable agent are as described above.

[0103] In this way, by preparing control rules in advance for each agent, it is possible to switch the conversation partner to another agent that will respond appropriately to the message based on the user's input, along with a descriptive text that explains the role and capabilities of the agent as it is controlled by the control rules.

[0104] Next, a third embodiment will be described. The third embodiment will describe the differences (or points not explicitly explained) from the above embodiments. Therefore, points not specifically mentioned may be the same as in the above embodiments.

[0105] In the third embodiment, we will describe an example in which the terminal 20 displays various screens using a web browser, and the information processing device 10 functions as a web server that executes web applications.

[0106] Figure 12 shows an example of the functional configuration of terminal 20 in the third embodiment. In Figure 12, terminal 20 has a web browser 210. The web browser 210 is a general-purpose web browser and includes a browser engine 211, a scripting engine 212, and a network engine 213.

[0107] Browser engine 211 interprets HTML (HyperText Markup Language) data and CSS (Cascading Style Sheets) data that make up a web page and displays the web page.

[0108] Script engine 212 executes scripts that make up a web page (for example, JavaScript®).

[0109] The network engine 213 sends HTTP requests and receives HTTP responses.

[0110] Figure 13 is a sequence diagram illustrating an example of a screen transition process in the third embodiment. At the start of Figure 13, the execution agent selection screen is displayed in the Web browser 210 of terminal 20.

[0111] Figure 14 shows an example of the execution agent selection screen. As shown in Figure 14, the execution agent selection screen 610 displays icons 611 to 614 for each selectable agent.

[0112] When a user selects one of the icons on the execution agent selection screen 610 (S401), the browser engine 211 inputs to the network engine 213 a URL that includes the agent ID of the agent corresponding to the selected icon or information identifying the selected icon as optional information, and which will be the destination of an HTTP request to the information processing device 10 (S402). The network engine 213 sends an HTTP request to that URL (S403).

[0113] The display control unit 17 of the information processing device 10 generates an HTTP response in response to the HTTP request, which includes Web content data (HTML data, CSS data, and scripts (hereinafter referred to as "JS")) corresponding to the URL to which the HTTP request is headed (S403). This Web content is for displaying multiple Web pages that will be shown later. The JS also includes multiple JS scripts that perform processing according to the operation on each screen.

[0114] Next, the display control unit 17 sends the HTTP response generated in step S404 to the terminal 20 (S405).

[0115] When the network engine 213 of terminal 20 receives the HTTP response, it inputs the HTML data, CSS data, and JS contained in the HTTP response into the browser engine 211 (S406). The browser engine 211 inputs the JS input from the network engine 213 into the script engine 212 (S407). The script engine 212 loads the JS (S408) and requests the browser engine 211 to update the screen (S409). The screen update includes displaying a new screen.

[0116] Here, the HTTP response generated in step S404 may contain the filename of the JS file rather than the actual JS file itself. In this case, in step S408, the script engine 212 accesses the external file based on the filename and downloads the JS file. This method is a method of loading the JS file as an external file.

[0117] Next, the browser engine 211 displays the interactive screen 510 based on the HTML data and CSS data (S410). For example, if icon 611 is selected on the execution agent selection screen 610, the interactive screen 510 shown in Figure 7 is displayed.

[0118] When the user enters a message into the message input area 512 of the dialogue screen 510 (Figure 7) and clicks the send icon 5121 (S411), the display content of the dialogue screen 510 changes as shown in Figure 15. In Figure 15, the message entered into the message input area 512 in Figure 7 is displayed as message m1 in the dialogue display area 511. Subsequently, the browser engine 211 notifies the script engine 212 of the execution of the message input and the message itself (S412).

[0119] In response to a notification from the browser engine 211, the script engine 212 executes one of several JavaScripts, which is a JavaScript that processes the input message to send to the information processing device 10 (S413), and inputs a request to send an HTTP request corresponding to the input message and the message itself to the network engine 213 (S414). The network engine 213 sends the HTTP request containing the message to the information processing device 10 (S415).

[0120] When the receiving unit 11 of the information processing device 10 receives the HTTP request, the information processing device 10 executes the processing requested by the HTTP request (S416). For HTTP requests corresponding to message input to the dialogue screen 510 in Figure 7, steps S202 to S279 in Figure 6 are executed. As a result, the final response to the input message and related document information are obtained as processing results. Note that steps S210 to S260 (switching of execution agent) in Figure 6 are not executed here.

[0121] Next, the display control unit 17 generates an HTTP response containing JSON (JavaScript® Object Notation) describing the final response and related document information, which are the processing results (S417). Subsequently, the display control unit 17 sends the HTTP response to the terminal 20 (S418).

[0122] When the network engine 213 of terminal 20 receives the HTTP response, it inputs the JSON contained in the HTTP response into the script engine 212 (S419). The script engine 212 executes one of several JS scripts, which is a JS script that updates the display content of the web page based on the JSON (S420), and requests the browser engine 211 to update the display content of the web page based on the JSON (S421). The browser engine 211 updates the display content of the interactive screen 510 from the state shown in Figure 15 to the state shown in Figure 8 based on the HTML data and CSS data obtained in step S406 and the JSON (S422).

[0123] Subsequently, steps S411 to S422 are repeated in response to user operations on the dialogue screen 510. However, the data to be processed changes in each step.

[0124] For example, when a user enters a message in the message input area 512 of the dialogue screen 510 (Figure 8) and clicks the send icon 5121 (S411), the display content of the dialogue screen 510 changes as shown in Figure 16. In Figure 16, the message entered in the message input area 512 of Figure 8 is displayed as message m2 in the dialogue display area 511. Subsequently, the browser engine 211 notifies the script engine 212 of the execution of the message input and the message itself (S412).

[0125] In response to a notification from the browser engine 211, the script engine 212 executes one of several JavaScripts, which is a JavaScript that processes the input message to the information processing device 10 (S413), thereby inputting a request to send an HTTP request corresponding to the input message and the message itself to the network engine 213 (S414). The network engine 213 sends the HTTP request containing the message to the information processing device 10 (S415).

[0126] When the receiving unit 11 of the information processing device 10 receives the HTTP request, the information processing device 10 executes the processing requested by the HTTP request (S416). For HTTP requests corresponding to message input to the dialogue screen 510 in Figure 16, steps S202 to S207 and S210 to S250 in Figure 6 are executed. Subsequently, steps S271 to S279 are executed. As a result, the execution agent information of the switching destination, the final response to the input message, and related document information are obtained as processing results.

[0127] Next, the display control unit 17 generates an HTTP response (S417) that includes a JSON containing information that identifies that the execution agent has been switched (notification n1 in Figure 9), and the final response and related document information, which are the processing results. Subsequently, the display control unit 17 sends the HTTP response to the terminal 20 (S418). This HTTP response corresponds to steps S260 and S280 in Figure 6. Figure 6 illustrates an example where the information that identifies that the execution agent has been switched (notification n1 in Figure 9) and the final response and related document information are sent separately, but here an example is shown where they are written in a single JSON and sent to the terminal 20.

[0128] When the network engine 213 of terminal 20 receives the HTTP response, it inputs the JSON contained in the HTTP response to the script engine 212 (S419). The script engine 212 executes one of several JS scripts, which is a JS script that updates the display content of the web page based on the JSON (S420), and requests the browser engine 211 to update the display content of the web page based on the JSON (S421). The browser engine 211 updates the display content of the interactive screen 510 from the state shown in Figure 16 to the state shown in Figure 9 based on the HTML data and CSS data obtained in step S406 and the JSON (S422).

[0129] In the above example, step S410 shows the display of the dialogue screen 510 shown in Figure 7, but the screen displayed in step S410 may also be the execution agent selection screen 610. In other words, the HTTP response (S405) when the execution agent selection screen 610 is displayed may include web content (HTML data, CSS data, and JS) for displaying multiple web pages that will be displayed after the dialogue screen 510 in Figure 7.

[0130] As described above, in the third embodiment, Web content data for displaying a first Web page that displays the first dialogue AI in an identifiable manner (for example, the dialogue screen 510 in Figure 7) and a second Web page that displays in an identifiable manner that the dialogue partner has been switched to the second dialogue AI (for example, the dialogue screen 510 in Figure 9), is transmitted to the terminal 20, and the Web content data includes a script that causes the information processing device 10 to send a message entered on the first Web page and the second Web page that displays the second dialogue AI in an identifiable manner to be executed. The script includes a script that causes the information processing device 10 to execute at least the following:

[0131] Furthermore, when the receiving unit 11 receives an HTTP request sent by the execution of the script on terminal 20, which includes the message entered on the first web page displayed on terminal 20 based on the web content data, the agent control unit 12, acting as a determination unit, determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI. If the agent control unit 12, acting as a switching unit, determines that a second dialogue AI exists, it switches the dialogue partner to the second dialogue AI.

[0132] Furthermore, the display control unit 17 sends to the terminal 20 an HTTP response, which is a response to the HTTP request, information indicating that the conversation partner has been switched, in order for the terminal 20 to execute the script and display the second web page.

[0133] In this way, in step S405, web content data including JavaScript that executes processing in response to operations on the first web page, the web page after the screen transition (such as the second web page) corresponding to that processing, and JavaScript that executes processing in response to operations on each of the subsequent web pages is sent to the terminal 20 all at once. Since each screen transition is executed by JavaScript, the terminal 20 does not need to download the web content data again after the screen transition. As a result, it is possible to solve technical issues such as improving the display speed of the second screen, etc., and reducing the communication load during screen transitions.

[0134] In the above embodiments, examples were shown in which the main functions of the information processing system are configured by the information processing device 10, but the terminal 20 may also be equipped with the functions of the information processing device 10.

[0135] Figure 17 shows an example of the functional configuration of a terminal 20 equipped with the functions of the information processing device 10. In Figure 17, the same parts as in Figure 3 are denoted by the same reference numerals, and their descriptions are omitted. As described above, each functional configuration in Figure 17 has the same functions as the functional configuration in Figure 3 and performs the same processing as the sequence diagrams in Figures 6 and 10. In Figure 17, the functions that the information processing device 10 had in each of the above embodiments are realized by processing that one or more programs installed on the terminal 20 cause the CPU of the terminal 20 to execute.

[0136] Furthermore, each of the functions shown in Figure 3 (or Figure 17) may not be entirely possessed by either the information processing device 10 or the terminal 20; each may possess only some of the functions. When each possesses only some of the functions, the classification of the function group possessed by the information processing device 10 and the function group possessed by the terminal 20 is not limited to a specific form. For example, the processes S202 to S240 for identifying a suitable agent may be performed by the function group possessed by the terminal 20, while the processes S271 to S280 for creating the final response may be performed by the function group possessed by the information processing device 10.

[0137] Note that the network engine 213 is an example of the receiving and transmitting units of a terminal. The browser engine 211 is an example of the second display control unit. The script engine 212 is an example of the execution unit.

[0138] Furthermore, the information processing device 10 is not limited to a general-purpose server computer, as long as it is a device equipped with communication capabilities. The information processing device 10 may be, for example, an output device such as a PJ (Projector), IWB (Interactive White Board: an electronic whiteboard with the ability to communicate with each other), or digital signage, a HUD (Head Up Display) device, industrial machinery, imaging devices, sound collection devices, medical equipment, networked home appliances, a notebook PC (Personal Computer), a mobile phone, a smartphone, a tablet device, a game console, a PDA (Personal Digital Assistant), a digital camera, a wearable PC, or a desktop PC.

[0139] Furthermore, each function of this embodiment 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 the functions described above.

[0140] Furthermore, the apparatus in this embodiment represents only one of several computing environments for carrying out the embodiments disclosed herein.

[0141] In one embodiment, the information processing device 10 includes a plurality of computing devices, such as a server cluster. The plurality of computing devices are configured to communicate with each other via any type of communication link, including a network or shared memory, and perform the processing disclosed herein. Similarly, the terminal 20 may include a plurality of computing devices configured to communicate with each other.

[0142] Although embodiments of the present invention have been described in detail above, the present invention is not limited to these specific embodiments, and various modifications and changes are possible within the scope of the gist of the present invention as described in the claims.

[0143] Examples of the present invention are as follows:

[0144] <1> A display control unit that displays, in an identifiable manner, the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs with different roles that interact with the user, A reception unit that receives messages for the conversational AI, A determination unit that determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The display control unit displays in a way that makes it identifiable that the conversation partner has been switched. An information processing system characterized by the following:

[0145] <2> Among several types of conversational AIs that interact with a user and have different roles, a reception unit that receives message input for the first conversational AI that is the conversation partner of the user, A determination unit that determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, A display control unit that displays the first dialogue AI, which is the conversation partner of the user, in an identifiable manner, and when it is determined that a second dialogue AI exists, the display control unit displays a screen that allows the user to select whether or not to switch the conversation partner to the second dialogue AI, If it is selected to switch the conversation partner, a switching unit is provided to switch the conversation partner to the second conversational AI, It has, The display control unit displays in a way that makes it identifiable that the conversation partner has been switched. An information processing system characterized by the following:

[0146] <3> Each of the aforementioned multiple types of conversational AI sends a different prompt to the AI ​​in order to generate a response to the message received by the reception unit. Characterized by <1> or <2> The information processing system described.

[0147] <4> Each of the aforementioned multiple types of conversational AIs has a different source from which to obtain the document data to be included in the prompt. Characterized by <3> The information processing system described above.

[0148] <5> The determination unit sends a prompt to the AI ​​that includes the message and the respective roles of the multiple types of dialogue AIs, and determines, based on the response from the AI, whether there is a second dialogue AI that can output a more appropriate response than the first dialogue AI. Characterized by <1> ~ <4> The information processing system described in any of the following.

[0149] <6> The prompt is a prompt that instructs the user to select the conversational AI from among the multiple types of conversational AIs that can output the most appropriate response to the message. Characterized by <5> The information processing system described above.

[0150] <7> The display control unit further displays the response from the second dialogue AI to the message. Characterized by <1> ~ <6> The information processing system described in any of the following.

[0151] <8> The display control unit further displays a screen for interacting with the second dialogue AI. Characterized by <1> ~ <7> The information processing system described in any of the following.

[0152] <9> If the display control unit determines that there is no second dialogue AI capable of outputting a more appropriate response than the first dialogue AI, it will display the response from the first dialogue AI. Characterized by <1> ~ <8> The information processing system described in any of the following.

[0153] <10> A display control unit that displays, in an identifiable manner, the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs with different roles that interact with the user, A reception unit that receives messages for the conversational AI, A determination unit that determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The display control unit includes a display control unit that transmits display data in order to indicate that the conversation partner has been switched, An information processing device characterized by having the following features.

[0154] <11> A first display control procedure that makes identifiable the first dialogue AI that is the conversation partner of the user, among multiple types of dialogue AIs that interact with a user and have different roles, The procedure for receiving messages to the conversational AI, A procedure for determining whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the aforementioned second conversational AI exists, a switching procedure is provided to switch the conversation partner to the aforementioned second conversational AI, A second display control procedure that displays in an identifiable manner that the dialogue partner has been switched, An information processing method characterized by a computer executing the following.

[0155] <12> A first display control procedure that makes identifiable the first dialogue AI that is the conversation partner of the user, among multiple types of dialogue AIs that interact with a user and have different roles, The procedure for receiving messages to the conversational AI, A procedure for determining whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the aforementioned second conversational AI exists, a switching procedure is provided to switch the conversation partner to the aforementioned second conversational AI, A second display control procedure that displays in an identifiable manner that the dialogue partner has been switched, A program that causes a computer to execute something.

[0156] <13> A display control unit that displays, in an identifiable manner, the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs with different roles that interact with the user, A reception unit that receives messages for the conversational AI, A determination unit that determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The display control unit displays in a way that makes it identifiable that the conversation partner has been switched. Web content data for displaying a first web page that displays a first dialogue AI in an identifiable manner, and a second web page that displays in an identifiable manner that the dialogue partner has been switched, the web content data includes a script that causes at least the following to be executed: a process to cause the message entered on the first web page to be sent to an information processing device, and a process to display the second web page that displays the second dialogue AI in an identifiable manner, and the web content data is sent to the terminal. When the receiving unit receives an HTTP request sent by the execution of the script on the terminal, which includes the message entered on the first web page displayed on the terminal based on the web content data, the determination unit determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, and if the switching unit determines that a second dialogue AI exists, it switches the dialogue partner to the second dialogue AI. The display control unit sends to the terminal an HTTP response, which is a response to the HTTP request, information indicating that the interaction partner has been switched, in order for the terminal to execute the script and display the second web page. An information processing system characterized by the following:

[0157] <14> A display control unit that displays, in an identifiable manner, the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs with different roles that interact with the user, A reception unit that receives messages for the conversational AI, A determination unit that determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The display control unit displays in a way that makes it identifiable that the conversation partner has been switched. A terminal characterized by the following features.

[0158] <15> An information processing system including a terminal and an information processing device, The aforementioned information processing device is A first display control unit that displays on the terminal in an identifiable manner a first dialogue AI that is the conversation partner of the user, among several types of dialogue AIs that interact with the user and have different roles, A reception unit that receives messages for the conversational AI, A determination unit that determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The first display control unit causes the terminal to display an identifiable indication that the conversation partner has been switched. Web content data for displaying a first web page that displays a first dialogue AI in an identifiable manner, and a second web page that displays in an identifiable manner that the dialogue partner has been switched, the web content data includes a script that performs at least the following processes: sending the message entered on the first web page to an information processing device, and displaying the second web page that displays the second dialogue AI in an identifiable manner, and the web content data is sent to the terminal. When the receiving unit receives an HTTP request sent by the execution of the script on the terminal, which includes the message entered on the first web page displayed on the terminal based on the web content data, the determination unit determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI, and if the switching unit determines that a second dialogue AI exists, it switches the dialogue partner to the second dialogue AI. The first display control unit sends to the terminal an HTTP response, which is a response to the HTTP request, information indicating that the interaction partner has been switched, in order for the terminal to execute the script and display the second web page. The aforementioned terminal is A receiving unit that receives the aforementioned web content data, A second display control unit that displays the first web page on the display unit, An execution unit that executes scripts included in the aforementioned web content data, The system includes a transmission unit that transmits an HTTP request containing the message entered on the first web page to the information processing device, The receiving unit receives the HTTP response, The second display control unit displays on the display unit in a way that makes it possible to identify that the conversation partner has been switched. An information processing system characterized by the following: [Explanation of Symbols]

[0159] 10 Information Processing Devices 11 Reception Department 12 Agent Control Unit 13. Settings Section 14 Conversion section 15 Search Section 16 AI control section 17 Display Control Unit 20 devices 21 Reception Department 22 Communications Department 23 Display Control Unit 121 Agent Information Storage Unit 122 Data Storage Unit 123 History Information Storage Unit 150 AI 210 Web Browsers 211 Browser Engines 212 Script Engines 213 Network Engine a1 Agent [Prior art documents] [Patent Documents]

[0160] [Patent Document 1] International Publication No. 2021 / 231631

Claims

1. A display control unit that displays, in an identifiable manner, the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs that interact with the user and have different roles, A reception unit that receives messages for the conversational AI, A determination unit that determines whether, among the multiple types of dialogue AIs, there exists a second dialogue AI that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The display control unit displays in a way that makes it identifiable that the conversation partner has been switched. An information processing system characterized by the following:

2. A conversational AI that interacts with a user, and among multiple types of conversational AIs with different roles, a reception unit that receives message input for the first conversational AI that is the conversation partner of the user, A determination unit that determines whether, among the multiple types of dialogue AIs, there exists a second dialogue AI that can output a more appropriate response to the message than the first dialogue AI, A display control unit that displays the first dialogue AI, which is the conversation partner with the user, in an identifiable manner, and if it is determined that a second dialogue AI exists, the display control unit displays a screen that allows the user to select whether or not to switch the conversation partner to the second dialogue AI, If it is selected to switch the conversation partner, a switching unit is provided to switch the conversation partner to the second conversation AI, It has, The display control unit displays in a way that makes it identifiable that the conversation partner has been switched. An information processing system characterized by the following:

3. Each of the aforementioned multiple types of conversational AIs sends a different prompt to the AI ​​in order to generate a response to the message received by the reception unit. The information processing system according to claim 1 or 2, characterized in that it is the same as described in claim 1 or 2.

4. Each of the aforementioned multiple types of conversational AI has a different source from which to obtain the document data to be included in the prompt. The information processing system according to feature 3.

5. The determination unit sends a prompt to the AI ​​that includes the message and the respective roles of the multiple types of dialogue AIs, and determines, based on the response from the AI, whether there is a second dialogue AI that can output a more appropriate response than the first dialogue AI. The information processing system according to claim 1 or 2, characterized in that it is the same as described in claim 1 or 2.

6. The prompt is a prompt that instructs the selection of the conversational AI that can output the most appropriate response to the message from among the multiple types of conversational AI. The information processing system according to feature 5.

7. The display control unit further displays the response from the second dialogue AI to the message. The information processing system according to claim 1 or 2, characterized in that it is the same as described in claim 1 or 2.

8. The display control unit further displays a screen for interacting with the second dialogue AI. The information processing system according to claim 1 or 2, characterized in that it is the same as described in claim 1 or 2.

9. If the display control unit determines that there is no second dialogue AI capable of outputting a more appropriate response than the first dialogue AI, it will display the response from the first dialogue AI. The information processing system according to claim 1 or 2, characterized in that it is the same as described in claim 1 or 2.

10. A display control unit that displays, in an identifiable manner, the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs that interact with the user and have different roles, A reception unit that receives messages for the conversational AI, A determination unit that determines whether, among the multiple types of dialogue AIs, there exists a second dialogue AI that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The display control unit includes a display control unit that transmits display data in order to indicate that the conversation partner has been switched, An information processing device characterized by having the following features.

11. A first display control procedure that makes identifiable the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs that interact with the user and have different roles, The procedure for receiving messages to the conversational AI, A determination procedure for determining whether, among the multiple types of dialogue AIs, there exists a second dialogue AI that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching procedure is provided to switch the dialogue partner to the second dialogue AI, A second display control procedure that displays in an identifiable manner that the dialogue partner has been switched, An information processing method characterized by a computer executing the following.

12. A first display control procedure that makes identifiable the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs that interact with the user and have different roles, The procedure for receiving messages to the conversational AI, A determination procedure for determining whether, among the multiple types of dialogue AIs, there exists a second dialogue AI that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching procedure is provided to switch the dialogue partner to the second dialogue AI, A second display control procedure that displays in an identifiable manner that the dialogue partner has been switched, A program that causes a computer to execute something.

13. A display control unit that displays, in an identifiable manner, the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs that interact with the user and have different roles, A reception unit that receives messages for the conversational AI, A determination unit that determines whether, among the multiple types of dialogue AIs, there exists a second dialogue AI that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The display control unit displays in a way that makes it identifiable that the conversation partner has been switched. Web content data for displaying a first web page that displays a first dialogue AI in an identifiable manner, and a second web page that displays in an identifiable manner that the dialogue partner has been switched, comprising a script that performs at least the following: a process of causing the message entered on the first web page to be sent to an information processing device, and a process of displaying the second web page that displays the second dialogue AI in an identifiable manner, is transmitted to a terminal. When the receiving unit receives an HTTP request sent by the execution of the script on the terminal, which includes the message entered on the first web page displayed on the terminal based on the web content data, the determination unit determines whether there is a second dialogue AI among the multiple types of dialogue AIs that can output a more appropriate response to the message than the first dialogue AI. If the switching unit determines that a second dialogue AI exists, it switches the dialogue partner to the second dialogue AI. The display control unit sends to the terminal information indicating that the interaction partner has been switched, in the HTTP response which is a response to the HTTP request, in order for the terminal to execute the script and display the second web page. An information processing system characterized by the following:

14. A display control unit that displays, in an identifiable manner, the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs that interact with the user and have different roles, A reception unit that receives messages for the conversational AI, A determination unit that determines whether, among the multiple types of dialogue AIs, there exists a second dialogue AI that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The display control unit displays in a way that makes it identifiable that the conversation partner has been switched. A terminal characterized by the following features.

15. An information processing system including a terminal and an information processing device, The aforementioned information processing device is A first display control unit that displays on the terminal in an identifiable manner the first conversational AI that is the conversation partner of the user, among multiple types of conversational AIs that interact with the user and have different roles, A reception unit that receives messages for the conversational AI, A determination unit that determines whether, among the multiple types of dialogue AIs, there exists a second dialogue AI that can output a more appropriate response to the message than the first dialogue AI, If it is determined that the second dialogue AI exists, a switching unit switches the dialogue partner to the second dialogue AI, It has, The first display control unit causes the terminal to display an identifiable indication that the conversation partner has been switched. Web content data for displaying a first web page that displays a first dialogue AI in an identifiable manner, and a second web page that displays in an identifiable manner that the dialogue partner has been switched, comprising a script that performs at least the following: a process of causing the message entered on the first web page to be sent to an information processing device, and a process of displaying the second web page that displays the second dialogue AI in an identifiable manner, is transmitted to the terminal. When the receiving unit receives an HTTP request transmitted by the execution of the script on the terminal, which includes the message entered on the first web page displayed on the terminal based on the web content data, the determination unit determines whether there is a second dialogue AI among the multiple types of dialogue AI that can output a more appropriate response to the message than the first dialogue AI, and if the switching unit determines that there is a second dialogue AI, it switches the dialogue partner to the second dialogue AI. The first display control unit sends to the terminal an HTTP response, which is a response to the HTTP request, information indicating that the interaction partner has been switched, in order for the terminal to execute the script and display the second web page. The aforementioned terminal is A receiving unit that receives the aforementioned Web content data, A second display control unit that displays the first web page on the display unit, An execution unit that executes scripts included in the aforementioned Web content data, The system includes a transmission unit that transmits an HTTP request containing the message entered on the first web page to the information processing device, The receiving unit receives the HTTP response, The second display control unit displays on the display unit in a way that makes it possible to identify that the conversation partner has been switched. An information processing system characterized by the following: