Configuring artificial intelligence (AI) robot program with simulated character to participate in automated conversations

By configuring different simulated roles and input prompts for AI robot programs and combining this with an analyzer model to analyze dialogues, the problem of the vividness and accuracy of AI robot programs in dialogues was solved, generating insightful feedback to help users make informed decisions.

CN121753045APending Publication Date: 2026-03-27KIMBERLY CLARK WORLDWIDE INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-05
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In existing technologies, AI robot programs lack vividness and accuracy when participating in dialogues, making it difficult to simulate different roles. This results in dialogues that lack realism and insight, affecting the effectiveness of feedback.

Method used

By configuring two AI robot programs in different simulated roles, data is extracted from the profiles of the selector and the end user to generate corresponding input prompts, guide them in simulated dialogue, and use an analyzer model to analyze the dialogue content to generate feedback.

Benefits of technology

It improves the liveliness and accuracy of AI chatbot programs in conversations, generates more insightful feedback, helps selectors avoid choosing suboptimal options, and reduces the need for human investigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121753045A_ABST
    Figure CN121753045A_ABST
Patent Text Reader

Abstract

An artificial intelligence (AI) robot program with a simulated character may be used to generate feedback regarding options. For example, a system may receive a selection by a selector of an option from a set of options. The system may configure a first AI robotic program to simulate a selector based on a selector profile associated with the selector. The system may also configure a second AI robotic program to simulate an end user of the option based on the end user profile. The system may then initiate a conversation between the first AI robot program and the second AI robot program regarding the selected option. Based on the conversation, the system may generate feedback regarding the options. The system may then provide feedback to the selector regarding the options.
Need to check novelty before this filing date? Find Prior Art

Description

Cross Reference to Related Applications

[0001] This application claims priority to U.S. Provisional Application No. 63 / 580,989, filed September 6, 2023, which is hereby incorporated by reference herein. TECHNICAL FIELD

[0002] The present disclosure relates generally to artificial intelligence. More particularly, but not by way of limitation, the present disclosure relates to configuring artificial intelligence (AI) bot programs with simulated personas to participate in automated conversations. BACKGROUND

[0003] Machine learning and artificial intelligence are revolutionizing industries by enabling machines to learn from data and make intelligent decisions. At the heart of these technologies are neural networks. Neural networks and other machine learning models are trained on large datasets to optimize performance and accuracy. Additionally, the hyperparameters of a model can play a key role in its performance, such as its ability to model complex patterns and make predictions. By carefully tuning these hyperparameters, machine learning practitioners can enhance the capabilities of artificial neural networks, resulting in more sophisticated and effective models capable of solving a wide variety of challenges.

[0004] New machine learning tools are constantly being developed. Among them, AI bot programs such as ChatGPT by OpenAI ® have recently gained increasing popularity. These AI bot programs can utilize natural language models, such as large language models (LLMs), to process natural language inputs and provide natural language outputs. LLMs are advanced AI systems designed to understand and generate human language with astonishing accuracy. By leveraging natural language processing (NLP) techniques, LLMs can analyze and interpret text to discern the meaning, sentiment, and context of a sentence. These models are capable of generating coherent and contextually relevant responses, making them useful for a variety of applications. For example, in the audio domain, LLMs can be integrated with speech recognition technology to transcribe spoken language into written text, bridging the gap between speech and text-based communication. This functionality is particularly beneficial for telephone-based exchanges, where accurately understanding and responding to verbal inquiries is necessary. SUMMARY

[0005] One example of the present disclosure can include a computer-implemented method involving providing a user interface through which a selector can make a selection among a set of options. The method can also involve receiving, via the user interface, a selection of an option from the set of options by the selector. The method can also involve configuring a first artificial intelligence (AI) bot program to simulate the selector based on a selector profile associated with the selector. The method can also involve configuring a second AI bot program to simulate an end user of the option based on an end user profile. The method can also involve initiating a conversation between the first AI bot program and the second AI bot program about the option. The method can also involve generating feedback about the option based on the conversation. The method can also involve providing the feedback about the option to the selector via the user interface.

[0006] Another example of the present disclosure includes a system comprising one or more processors and one or more memories including program code executable by the one or more processors to cause the one or more processors to perform operations. The operations can include providing a user interface through which a selector can make a selection among a set of options. The operations can include receiving, via the user interface, a selection of an option from the set of options by the selector. The operations can include configuring a first artificial intelligence (AI) bot program to simulate the selector based on a selector profile associated with the selector. The operations can include configuring a second AI bot program to simulate an end user of the option based on an end user profile. The operations can include initiating a conversation between the first AI bot program and the second AI bot program about the option. The operations can include generating feedback about the option based on the conversation. The operations can include providing the feedback about the option to the selector via the user interface.

[0007] Still another example of the present disclosure includes a non-transitory computer-readable medium comprising program code executable by one or more processors to cause the one or more processors to perform operations. The operations can include providing a user interface through which a selector can make a selection among a set of options. The operations can include receiving, via the user interface, a selection of an option from the set of options by the selector. The operations can include configuring a first artificial intelligence (AI) bot program to simulate the selector based on a selector profile associated with the selector. The operations can include configuring a second AI bot program to simulate an end user of the option based on an end user profile. The end user can be different from the selector. The operations can include initiating a conversation between the first AI bot program and the second AI bot program about the option. The operations can include generating feedback about the option based on the conversation. The operations can include providing the feedback about the option to the selector via the user interface. BRIEF DESCRIPTION OF DRAWINGS

[0008] Figure 1 A block diagram showing an example of a system for configuring artificial intelligence (AI) bot programs with simulated personas to participate in automated conversations, in accordance with some aspects of the present disclosure.

[0009] Figure 2 An example of a user interface for making selections between options, in accordance with some aspects of the present disclosure.

[0010] Figure 3 An example of an input prompt for configuring an AI bot program, in accordance with some aspects of the present disclosure.

[0011] Figure 4 An example of a conversation between AI bot programs, in accordance with some aspects of the present disclosure.

[0012] Figure 5 A flowchart showing an example of a process for using AI bot programs with simulated personas to derive feedback about options, in accordance with some aspects of the present disclosure.

[0013] Figure 6 A flowchart showing an example of a process for generating a selector profile and an end user profile, in accordance with some aspects of the present disclosure.

[0014] Figure 7 A block diagram showing an example of a computing device that can be used to implement some aspects of the present disclosure. DETAILED DESCRIPTION

[0015] Certain aspects and features of the present disclosure relate to configuring artificial intelligence (AI) bot programs with different simulated personas to participate in automated conversations about a topic. For example, two AI bot programs can be deployed from the same large language model (LLM). After the two AI bot programs are deployed, but before allowing them to participate in simulated conversations with each other, they can be configured to have different simulated personas using system prompts. After the AI bot programs have been configured with different personas, the AI bot programs can then be instructed to participate in conversations with each other about a topic. Because the AI bot programs are preconfigured with different simulated personas, their conversations can more accurately mimic two different people talking to each other. For example, without such pre-configuration, the two AI bot programs can respond to various messages about a topic in substantially the same way because they are deployed from the same LLM, resulting in conversations that are not particularly lively or insightful. However, by pre-configuring the two AI bot programs with different personas before the conversations begin, their operation can be improved so that they provide more lively, insightful, accurate, and realistic responses during the conversations.

[0016] As described above, AI bot programs can be used to autonomously have conversations with one another about topics. In some examples, such automated conversations can be used to derive feedback about options. For example, a system can receive a selection of an option from a set of options by a selector. The system can then initiate a conversation between a first AI bot program and a second AI bot program about the selected option. During the conversation, the two bot programs can send messages back and forth to engage in a simulated conversation about the option. For example, the first AI bot program can ask questions about the option, and the second AI bot program can respond to the questions. The first AI bot program can then respond to the second AI bot program with follow-up questions, and so on. After generating the simulated conversation, the system can generate feedback (e.g., a score) about the option based on at least a portion of the simulated conversation. For example, the system can use a separate analyzer model to help develop feedback about the option based on the conversation. The system can then provide the feedback about the option to the selector. In some examples, the system can repeat the process for multiple options to provide feedback about the options to the selector. The feedback can help the selector decide which options to select or discard.

[0017] In some examples, the system can configure the first AI bot program to simulate characteristics of the selector (e.g., demographics, preferences, and interests). For example, the first AI bot program can be configured to simulate a persona of the selector based on a selector profile associated with the selector. Additionally or alternatively, the system can configure the second AI bot program to simulate characteristics of an end user of the option. The end user can be different from the selector. The second AI bot program can be configured to simulate a persona of the end user based on an end user profile associated with the end user. Configuring the first AI bot program to simulate the selector and the second AI bot program to simulate the end user can help capture unique relationships between the selector and the end user. Based on these configurations, the first AI bot program and the second AI bot program can engage in a simulated conversation as if the selector is talking to the end user. From the simulated conversation, the system can derive insights about how the end user can perceive and respond to the option. These insights can then be provided as feedback to the selector to help the selector make selections. This can help avoid situations where the selector selects an option that is suboptimal or unacceptable to the end user.

[0018] Selecting an option that is not acceptable to an end user can have significant negative impacts. For example, if a network administrator deploys software that is not satisfactory to end users, the network administrator can need to spend considerable time and resources to remove or replace the software. Removing or replacing the software can also open the network to attack, cause network downtime, and consume additional computing resources (e.g., memory, processing power, and bandwidth). As another example, if a software developer deploys a software feature that is not satisfactory to end users, the software developer can need to spend considerable time and resources to remove or replace the feature. This can involve reprogramming the software to remove or replace the feature, identifying and debugging problems associated with the feature, and / or updating release notes regarding the feature.

[0019] Some examples of the present disclosure can help a selector make a decision among options by providing feedback about the options that is based on synthetic conversations generated by an AI bot configured with simulated personas (e.g., personalities and characteristics), thereby avoiding one or more of the problems described above. The AI bot can be configured to simulate the selector and / or end users. By configuring the AI bot to simulate the selector and / or end users, insights can be developed into how end users can react to each option without having to engage in extensive research or even talk to actual end users. These insights can then be processed to derive feedback about each option, which can help the selector easily compare the options and make an informed decision. This can help prevent the selector from selecting a suboptimal option, thereby avoiding the corresponding negative impacts.

[0020] In some examples, the system can automatically modify parameters of a manufacturing process or other physical process based on the feedback about the options. For example, the system can send one or more control signals to a manufacturing device based on positive feedback about an option, where the one or more control signals are configured to cause the manufacturing device to implement the option. For example, the control signals can instruct the manufacturing device to adjust a color, a size (e.g., a length, a width, or a height), an absorbency, a weight, a pattern, a shape, a material composition, a softness, a transparency, an adhesiveness, a compressive strength, a sharpness, and / or other physical characteristics of an article of manufacture to implement the option. Examples of the manufacturing device can include a 3D printer, a CNC machine, a drill, a cutter, a laser, a printer, a furnace, a heater, a cooler, a pump, a robot, or a combination thereof. In this way, the system can automatically determine feedback about an option and adjust a manufacturing process to implement the option with little or no human intervention.

[0021] These illustrative examples are given to introduce the reader to the general subject matter discussed here and are not intended to limit the scope of the disclosed concepts. The following sections describe various additional features and examples with reference to the drawings in which like numerals indicate like elements, although the illustrative examples are not intended to limit the present disclosure.

[0022] Figure 1 A block diagram illustrating an example of a system 100 for configuring an artificial intelligence (AI) bot program with a simulated persona to participate in an automated conversation, in accordance with some aspects of the present disclosure, is shown. The system 100 includes a client device 102, such as a laptop computer, a desktop computer, a mobile phone, a tablet, or a wearable device (e.g., a smartwatch). The client device 102 can provide a user interface 110, such as a graphical user interface, a command-line interface, a voice interface, an augmented reality (AR) interface, a virtual reality (VR) interface, or the like. For example, if the user interface 110 is part of a website, the user interface 110 can be provided by a native application executing on the client device 102 or a remote server system 106.

[0023] The selector 108 can interact with the user interface 110 to make a selection among a set of options 150a-150c. The selector 108 can be a human or a non-human entity. For example, a human user can evaluate the options 150a-150c to make a selection on their own, in which case the human user is the selector 108. Alternatively, a human user can evaluate the options 150a-150c to make a selection on behalf of a non-human entity, such as a company, in which case the non-human entity can be the selector 108.

[0024] Different examples can involve different kinds of options. In some examples, the options 150a-150c can include different items. For example, the options 150a-150c can include different brands or types of food, beverages, clothing, electronic devices, hardware components, video games, or furniture. In other examples, the options 150a-150c can include different item features. For example, the options 150a-150c can include different features of a robot, vehicle, software application, video game, website, or computer. In still other examples, the options 150a-150c can include different geographic locations. For example, the options 150a-150c can include different geographic areas of a home, building, or store. In some examples, the options 150a-150c can include different educational institutions. For example, the options 150a-150c can include different high schools or colleges. In still other examples, the options 150a-150c can include different service providers, such as cloud service providers, lawyers, painters, mechanics, or companies. And in still other examples, the options 150a-150c can include different processes, such as physiological processes or maintenance of electromechanical devices.

[0025] The selector 108 can interact with the user interface 110 to make a selection among the options 150a-150c. The client device 102 can detect the selection of the option 150a and responsively send a communication indicating the selected option 150a to the server system 106, which can include any number of servers. The client device 102 can send the communication to the server system 106 via one or more networks 104. Examples of the one or more networks 104 can include a private network, such as a local area network (LAN), a public network, such as the Internet, or any combination thereof. The server system 106 can receive the communication and, in response, perform an evaluation process to generate feedback 140 for the selector 108 regarding the selected option 150a. The feedback 140 can indicate how an end user can react to the selected option 150a.

[0026] More specifically, the server system 106 can select the selector profile 118 from a set of selector profiles 142. The selector profiles 142 can be stored in a database system 112 that includes one or more databases. Each selector profile 142 can correspond to a different selector or selector type. A “type” of selector can be a sub-population of selectors that share one or more same characteristics. Each selector profile 142 can indicate characteristics of the corresponding selector or selector type. The selector profile 118 can have been previously generated based on selector data 130 collected from one or more sources, as described in more detail later with respect to Figure 6 More specifically, the server system 106 can select the selector profile 118 from a set of selector profiles 142. The selector profiles 142 can be stored in a database system 112 that includes one or more databases. Each selector profile 142 can correspond to a different selector or selector type. A “type” of selector can be a sub-population of selectors that share one or more same characteristics. Each selector profile 142 can indicate characteristics of the corresponding selector or selector type. The selector profile 118 can have been previously generated based on selector data 130 collected from one or more sources, as described in more detail later with respect to

[0027] In some examples, the server system 106 can select the selector profile 118 based on input from the selector 108. For example, the selector 108 can be able to select, via the user interface 110, from a list of predefined selector profiles 142. In response to detecting a selection of the selector profile 118, the client device 102 can send a communication to the server system 106 indicating the selected selector profile 118, which the server system can then use to perform the remainder of the process using the selected selector profile 118. In other examples, the server system 106 can select the selector profile 118 based on one or more predefined rules 152 (e.g., settings). In still other examples, the selector 108 can create a custom selector profile by filling out a form of selector characteristics in the user interface 110.

[0028] After determining the selector profile 118, the server system 106 can generate a selector input prompt 120 based on the selector profile 118. The selector input prompt 120 is an input prompt that can be used to configure the first AI bot program 122, where the input prompt is generated based on the selector profile 118. The selector input prompt 120 can be configured to cause the first AI bot program to mimic characteristics of the selector. To generate the selector input prompt 120, the server system 106 can extract data from the selector profile 118 and incorporate at least some of the data in the selector input prompt 120. For example, the server system 106 can incorporate aspects of the selector characteristics defined in the selector profile 118 into the selector input prompt 120. The selector input prompt 120 can be a natural language input. In some examples, the selector input prompt 120 can be a text input, a verbal (e.g., voice) input, a visual input (e.g., an image or a video), or any combination thereof. After generating the selector input prompt 120, the selector input prompt 120 can be provided as input to the first AI bot program 122. The selector input prompt 120 can be input to the first AI bot program 122 prior to conducting the conversation 134 with the first AI bot program 122. In this way, the selector input prompt 120 can be used to configure the first AI bot program 122 to mimic the selector prior to the first AI bot program 122 engaging in the conversation 134.

[0029] Server system 106 can also select one or more end-user profiles 124 from a set of end-user profiles 144. End-user profiles 144 can be stored in database system 112. End-users can be human or non-human entities. Each end-user profile 144 can correspond to a different end-user or end-user type. The "type" of an end-user can be a subgroup of end-users sharing one or more of the same characteristics. Each end-user profile 144 can indicate the characteristics of the corresponding end-user or end-user type. End-user profiles 144 may have been previously generated based on end-user data 132 collected from one or more sources, as will be discussed later. Figure 6 A more detailed description.

[0030] In some examples, server system 106 may select end-user profile 124 based on input from selector 108. For example, selector 108 may be able to select from a predefined list of end-user profiles 144 via user interface 110. In response to detecting a selection of end-user profile 124, client device 102 may send communication to server system 106 indicating the selected end-user profile 124, which server system can then use the selected end-user profile 124 to perform the remainder of the process. In other examples, server system 106 may select end-user profile 124 based on one or more predefined rules 152. In other examples, selector 108 may create a customized end-user profile by filling out a form in user interface 110.

[0031] After determining the end-user profile 124, the server system 106 can generate an end-user input prompt 126 based on the end-user profile 124. The end-user input prompt 126 is an input prompt that can be used to configure a second AI robot program 128, which differs from the first AI robot program 122, and wherein the input prompt is generated based on the selected end-user profile 124. The end-user input prompt 126 can be configured to cause the second AI robot program to simulate the characteristics of the end-user. To generate the end-user input prompt 126, the server system 106 can extract data from the end-user profile 124 and incorporate at least some of that data into the end-user input prompt 126. For example, the server system 106 can incorporate aspects of the end-user characteristics defined in the end-user profile 124 into the end-user input prompt 126. The end-user input prompt 126 can be natural language input. In some examples, the end-user input prompt 126 can be text input, verbal input, visual input, or any combination thereof. After generating the end-user input prompt 126, the end-user input prompt 126 can be provided as input to the second AI robot program 128. The end-user input prompt 126 can be input into the second AI robot program 128 before engaging in dialogue 134. In this way, before the second AI robot program 128 participates in dialogue 134, the end-user input prompt 126 can be used to configure the second AI robot program 128 to simulate an end-user.

[0032] The first AI robot program 122 and the second AI robot program 128 can be supported by machine learning models, such as natural language processing (NLP) models. The NLP model can be a large language model (LLM), such as a generative pre-trained transformer (GPT) model. The machine learning model can be trained before engaging in dialogue 134 using the AI ​​robot programs 122 and 128. The first AI robot program 122 and the second AI robot program 128 can be trained on the same or different training data. For example, both the first AI robot program 122 and the second AI robot program 128 can be trained on training data 114. Examples of such training data 114 can include corpora of text content (e.g., documents or fragments) from various sources, such as websites, blog posts, academic papers, emails, forum posts, and books. Alternatively or additionally, such training data 114 can include corpora of audio content (e.g., audio clips) from various sources, including speeches, television broadcasts, podcasts, music, and other audio recordings. Alternatively or alternatively, such training data 114 may include a corpus of image content from various sources, such as websites, books, academic papers, comic books, and image libraries. Alternatively or alternatively, such training data 114 may include a corpus of video content (e.g., video clips) from various sources, such as websites, movies, television broadcasts, and video libraries.

[0033] In some examples, the first AI robot program 122 and the second AI robot program 128 may be designed to receive natural language input. The first AI robot program 122 and the second AI robot program 128 may also be designed to provide natural language output. Natural language input and output may be provided in text or speech form. Additionally or alternatively, the first AI robot program 122 and the second AI robot program 128 may be designed to receive visual input (e.g., image or video file) and / or audio input (e.g., audio clip). The first AI robot program 122 and the second AI robot program 128 may also be designed to provide visual output and / or audio output.

[0034] In some examples, the selector input prompt 120 and / or the end-user input prompt 126 may be system prompts. System prompts are a special type of input prompt that can be provided to the AI ​​bot program (e.g., its LLM) by a computer system before the dialogue begins but after the AI ​​bot program has been designed, trained, and deployed. System prompts can configure certain contextual information and response parameters for the AI ​​bot program, which guides how the AI ​​bot program interprets and / or responds to messages during subsequent dialogues. Configuring an AI bot program using system prompts is different from training the AI ​​bot program, tuning its hyperparameters, or modifying its underlying architecture.

[0035] After configuring the first AI robot program 122 using selector input prompt 120 and / or configuring the second AI robot program 128 using end-user input prompt 126, the server system 106 can initiate a dialogue 134 between the first AI robot program 122 and the second AI robot program 128. The dialogue 134 can include messages about the selected option 150a. For example, the first AI robot program 122 can begin the dialogue 134 by generating an initial question about the selected option 150a and asking the second AI robot program 128 that initial question. The second AI robot program 128 can answer the question and / or respond with follow-up questions. This can trigger further discussion between the robot programs 122 and 128. Because one of the goals might be to investigate the end-user's feelings about option 150a, the first AI robot program 122 can be configured to ask open-ended questions about option 150a. For example, the first AI robot program 122 can be configured to ask questions such as “Is [Option] useful to you?”, “How do you feel about [Option]?”, “Have you ever used a project like [Option]?”, and “Is there any reason why you don’t like [Option]?”. Responses from the second AI robot program 128 can provide details that prompted the first AI robot program 122 to ask additional questions.

[0036] In some examples, dialogue 134 can be a text-based or voice-based dialogue, where robot programs 122 and 128 send text or voice messages back and forth to each other. And in some examples, dialogue 134 can be multimodal, because robot programs 122 and 128 can send messages to each other in different formats. For example, dialogue 134 can involve any combination of text data, audio data, image data, and video data. As a specific example, the first AI robot program 122 can submit a text question to the second AI robot program 128, which can respond to the question with an image. Therefore, in this example, dialogue 134 is multimodal because it includes both visual and text data.

[0037] In some examples, server system 106 may deploy multiple instances of a first AI robot program 122 and / or a second AI robot program 128. An instance of the first AI robot program 122 may be configured using selector input prompts 120 to simulate a selector. An instance of the second AI robot program 128 may be configured using one or more end-user input prompts 126 to simulate one or more end-users or end-user types. Server system 106 can then initiate any number of dialogues between any combination of the first and second AI robot programs regarding the selected option 150a. For example, server system 106 may initiate multiple dialogues between the first AI robot program 122 and the second AI robot program in a one-to-many arrangement. As another example, server system 106 may initiate multiple dialogues between the first AI robot program and the second AI robot program in a many-to-many arrangement. As yet another example, server system 106 may initiate multiple dialogues between the first AI robot program and the second AI robot program 128 in a many-to-one arrangement. Any suitable arrangement may be used to generate any number of dialogues regarding the selected option 150a.

[0038] After generating one or more dialogues 134, server system 106 can generate feedback 140 based on dialogues 134. For example, server system 106 can select one or more segments (e.g., audio, image, video, or text portions) from dialogues 134 and provide those segments as at least a part of feedback 140. Alternatively, server system 106 can calculate one or more metrics 138 based on dialogues 134 and provide one or more metrics 138 as at least a part of feedback.

[0039] In some examples, server system 106 may apply analyzer model 136 to dialogue 134 to determine feedback 140. For example, server system 106 may provide some or all of the dialogue in dialogue 134 as input to analyzer model 136. Analyzer model 136 may include one or more machine learning models trained using training data 116. Analyzer model 136 may analyze dialogue 134 to derive insights about dialogue 134. For example, analyzer model 136 may include a sentiment analysis model configured to perform sentiment analysis on dialogue 134 to develop a sentiment profile associated with dialogue 134. Analyzer model 136 may then quantify the insights into one or more metrics 138, which may be numerical values ​​output by analyzer model 136. For example, analyzer model 136 may output a first metric indicating whether dialogue 134 exhibits overall positive, negative, or neutral sentiment regarding option 150a. Alternatively or additionally, analyzer model 136 may output other metrics, such as a second metric indicating the likelihood that the end user will use option 150a, a third metric indicating the likelihood that the end user will complain about option 150a, and / or a fourth metric indicating whether the end user will recommend option 150a. In some examples, analyzer model 136 may identify and output other data besides or in lieu of metric 138, such as one or more significant parts of dialogue 134 that have the greatest impact on the value of metric 138. Based on the output of analyzer model 136, server system 106 may generate feedback 140 regarding option 150a.

[0040] As described above, feedback 140 may include one or more of metric 138 and / or other data. In some examples, server system 106 may derive feedback 140 based on one or more of metric 138 and / or other data. For example, server system 106 may apply a predefined algorithm to metric 138 to calculate a score (e.g., a total score) for option 150a, where this score can be used as at least a part of feedback 140. The algorithm may apply weights to metric 138 to calculate the score.

[0041] In some examples, server system 106 may generate feedback 140 in natural language format to make it easier for selector 108 to digest. For example, server system 106 may generate feedback 140 by populating a predefined template with metrics, where the predefined template may include a textual explanation of the metrics and / or additional details in text form. Feedback 140 may also include snippets from dialogue 134, which can help selector 108 better understand the reasons behind metric 138, score, or both.

[0042] After generating feedback 140, server system 106 can send feedback 140 to client device 102 via network 104. Client device 102 can receive and output feedback 140 via user interface 110. The above process can be repeated for any number of options 150a-150c, either automatically or in response to selection by chooser 108. Feedback for all options 150a-150c can be similarly formatted, which can help chooser 108 perform similar comparisons of options 150a-150c. By providing feedback to chooser 108 in this way, chooser 108 can make a more informed decision when selecting from options 150a-150c.

[0043] In the example above, the evaluation process is triggered by the selector 108 choosing option 150a (e.g., via user interface 110). However, in other examples, at least some of the evaluation process can be performed automatically. For example, server system 106 can automatically evaluate some or all of the options 150a-150c at any appropriate time (e.g., before the selector 108 accesses user interface 110). Then, when the selector 108 accesses user interface 110, system 100 can present options 140a-140c and their corresponding feedback to the selector 108 in user interface 110. In this way, the selector 108 does not need to manually select each option and wait for its evaluation process to complete.

[0044] In some examples, the selector 108 may be different from the end user. In those examples, the selector profile 118 may be different from the end user profile 124. In other examples, the selector 108 may be the same as the end user. In those examples, the selector profile 118 may be the same as the end user profile 124, in which case both the first AI robot program 122 and the second AI robot program 128 may be configured to simulate the selector 108.

[0045] In some examples, system 100 may include an automation module 146. Automation module 146 may be software located on client device 102, server system 108, or elsewhere in system 100. Automation module 146 may obtain feedback 140 regarding one or more options 150a-150c, for example, by interacting with server system 106. After collecting feedback 140 regarding some or all of the options 150a-150c, automation module 146 may automatically select option 150a from options 150a-150c based on the feedback 140. For example, automation module 146 may apply one or more predefined rules 148 to select from options 150a-150c based on feedback 140. Automation module 146 may then present the selected option 150a to a human for final authorization before implementing option 150a. Alternatively, automation module 146 may automatically implement the selected option 150a without receiving prior authorization from a human. In this way, the automation module 146 can act as the selector 108 and can provide a fully automated selection system to select from options 150a-150c.

[0046] To achieve the selected option 150a, system 100 may control manufacturing apparatus 158 or other physical equipment. For example, automation module 146 may determine the option 150a to be achieved based on its feedback 140, as described above. Option 150a may be selected because its feedback 140 includes a metric or score that meets or exceeds a predefined threshold, or otherwise suggests that option 150a should be achieved. Based on this determination and / or other factors (e.g., user approval), automation module 146 may send one or more signals to cause manufacturing apparatus 158 to achieve option 150a. For example, automation module 146 may send one or more control signals 156 to controller 152 of manufacturing apparatus 158. Control signals 156 may instruct controller 152 to operate physical component 154 of manufacturing apparatus 148 in a specific manner to achieve option 150a. For example, control signals 156 may include adjustments to one or more operating parameters of physical component 154 that, when implemented, cause manufacturing apparatus 158 to achieve option 150a. Examples of physical components may include cutters, heaters, printers, coolers, injection systems, lasers, mixers, pumps, welders, robots, etc. After option 150a has been implemented, real end users can provide feedback on it. This feedback can then be used to further fine-tune the first AI robot program 122 and the second AI robot program 128, thereby improving their accuracy and future conversational capabilities.

[0047] In some examples, client device 102 and server system 106 may be associated with the same entity. For example, client device 102 and server system 106 may be associated with the same company (e.g., selector 108), which may own or operate client device 102 and server system 106. Alternatively, client device 102 and server system 106 may be associated with different entities. For example, client device 102 may be associated with a first entity, and server system 106 may be associated with a second entity, which is different from the first entity. The second entity may provide the first entity with access to the services described herein, such as as a subscription or otherwise.

[0048] It should be understood that various types of choosers and options can exist. For example, in some examples, chooser 108 might be a product developer wanting to select from a set of product features to include in a new product. In other examples, chooser 108 might be a network administrator wanting to select from a set of network security solutions to protect their computer network. In many of these cases, chooser 108 may want to understand how end users will react to options before submitting them. For example, a product developer might want to understand how end users of a software product will react to a feature before spending resources developing that feature. As another example, a network administrator might want to understand how network users will react to certain antivirus software before spending resources deploying it on the network. As yet another example, a building manager might want to understand how their tenants will react to specific products in their space before spending resources installing those products. Predicting how end users might react to options without extensive surveys and other research can be challenging. Furthermore, conducting such research is often difficult, time-consuming, and expensive. Additionally, in some scenarios, chooser 108 cannot conduct such research because they do not have direct access to end users. As a result, traditionally, choosers may be forced to select from a set of options without sufficient information to make an informed decision. This may lead choosers to select options that are unacceptable to the end user or otherwise suboptimal. However, the system 100 described herein can avoid those problems by using an AI robot program to generate feedback on the options, thereby helping choosers 108 to make selections in a more informed manner.

[0049] While the above examples use selector input prompt 120 and end-user input prompt 126 to configure the respective roles of the first AI robot program 122 and the second AI robot program 128, other examples can configure the roles of robot programs 122 and 128 in other ways. For example, an input prompt containing messages from the first AI robot program 122 to the second AI robot program 128 (and vice versa) can be modified to include relevant role data from profiles 118 and 126. As a concrete example, during dialogue 134, the first AI robot program 122 can generate a message (e.g., a question or comment) for the second AI robot program 122. This message can be packaged into an input prompt, which can also be configured to include role data from the end-user profile 124. For example, the role data can be incorporated into the context header of the input prompt. The input prompt can then be provided to the second AI robot program 122, which can generate a response that conforms to the role data in the input prompt. Incorporating role data into input prompts allows control (e.g., restriction or other indication) over how the second AI robot program 128 responds to messages, ensuring the response aligns with the expected role of the second AI robot program. A similar process can be performed when the second AI robot program 128 generates a message for the first AI robot program 122, ensuring the first AI robot program's response matches its expected role. Using this technique, AI robot programs 122 and 128 can be configured with their roles concurrently during dialogue 134 (e.g., simultaneously with receiving a message), rather than being pre-configured before the dialogue begins.

[0050] In some examples, system 100 may include a correction module 158. Correction module 158 may be software that evaluates dialogue 134 in real time to detect events and, in response to the detection of said events, issues corrections to help improve dialogue 134. For example, while dialogue 134 is in progress, correction module 158 may detect that the topic of dialogue 134 has deviated too far from its original intent (e.g., discussion of option 150a). Correction module 158 may detect this event based on keywords in dialogue 134. As another example, correction module 158 may detect that a disallowed feature has been mentioned during dialogue 134. Correction module 158 may detect this event based on a predefined set of rules that may prohibit discussion of certain features for technical, practical, ethical, or other reasons. As another example, correction module 158 may detect that dialogue 134 is not progressing, for example because AI robot programs 122, 128 have gotten stuck in some kind of loop. Correction module 158 may detect this event based on repetition in dialogue 134.

[0051] If the correction module 158 detects any of the aforementioned events, it can automatically interact with one or both of the AI ​​robot programs 122 and 128 to help resolve the problem. For example, the correction module 158 can inject one or more corrections (e.g., boundary conditions, instructions, and / or additional information) into one or more subsequent input prompts provided to one or both of the AI ​​robot programs 122 and 128 during dialogue 134. The corrections can be configured to help guide dialogue 134 in a problem-solving manner. The correction module 158 can dynamically generate corrections on the fly or retrieve corrections from a repository of predefined corrections. An example of correction could be the following text, which could be included in the context header of the input prompt: “The conversation has gone off track. Return to the original goal of evaluating option A. Ignore the last five messages.” Another example of correction could be the following text, which could be included in the context header of the input prompt: “The feature just mentioned in the previous message is not feasible. Do not discuss that feature.” Because AI robot programs 122 and 128 may be relatively unrestricted in other ways as to how they converse, correction procedure 158 can help ensure that AI robot programs 122 and 128 do not go off track by issuing corrections progressively and dynamically as the conversation is in progress.

[0052] Now go to Figure 2 The illustration shows an example of a user interface 200 for selecting between options 202a-202c, according to some aspects of this disclosure. In this example, the user interface 200 is a graphical user interface. However, in other examples, the user interface may be a command-line interface or a voice interface through which the user can input voice commands.

[0053] Figure 2 Three options 202a-202c are depicted. However, in other examples, the user interface 200 may offer more or fewer options. The selector can choose one option to evaluate. In this example, option 202a is selected for evaluation.

[0054] In addition to selecting option 202a for evaluation, the selector can also select a selector profile and / or an end-user profile via user interface 200. For example, the selector can select both a selector profile and an end-user profile via graphical input element 206. Examples of graphical input element 206 may include menus, radio buttons, checkboxes, text input, or any combination thereof. The selector can interact with graphical input element 206 to select a selector profile from a list of available selector profiles and an end-user profile from a list of available end-user profiles, for example. These lists may be based on data stored in a database system (such as...). Figure 1 The profile in the database system (112) is used for pre-population.

[0055] In some examples, the selector can create a customized profile via user interface 200. For instance, the selector can create a customized selector profile or a customized end-user profile via user interface 200. To do this, the selector can select interface elements, such as interface element 212, for creating the customized profile. In response, user interface 200 can present the selector with a form containing graphical input elements, through which the selector can input characteristics and save them as a customized profile. The system can then make the customized profile available for the selector to choose from in user interface 200.

[0056] After selecting option 202a and a profile, the selector can press button 208 to trigger the evaluation process described above. In response, the system can deploy and configure a first AI robot program and a second AI robot program. The system can then initiate one or more dialogues between the AI ​​robot programs regarding the selected option 202a. The system can use one or more dialogues to generate feedback 210 regarding the selected option 202a. After generating feedback, the system can output feedback 210 to the selector in user interface 200. In this example, feedback 210 is a numerical score in the range of 1-100, where lower values ​​may be less desirable and higher values ​​may be more desirable. This process can be repeated any number of times for any number of options 202a-202c, for example, based on the selector changing their option selection and / or profile selection. Once the system has completed evaluating some or all of the options 202a-202c, the system can shut down the AI ​​robot program to save computing resources (e.g., so that the AI ​​robot program does not consume memory and other resources when not in use).

[0057] Now go to Figure 3 The figure illustrates examples of selector input prompt 300 and end-user input prompt 302 according to some aspects of this disclosure. As shown, input prompts 300 and 302 can be provided in natural language format, such as text sentences in English. Input prompts 300 and 302 can each be formatted as instructions or guidance describing the characteristics (e.g., preferences, interests, motivations, expectations, etc.) of the character to be simulated by the corresponding AI robot program. By providing input prompts 300 and 302 to the corresponding AI robot program, the system can configure the AI ​​robot program to behave like the character described in input prompts 300 and 302.

[0058] As described above, input prompts 300 and 302 can be generated based on the corresponding profile selected by the selector. For example, the system can have one or more predefined templates that define input prompts 300 and 302. The predefined templates can have empty fields, which the system can fill in based on the content of the selected profile to generate the final input prompts 300 and 302.

[0059] Now go to Figure 4 The diagram illustrates an example of a dialogue 400 between a first AI bot program and a second AI bot program according to some aspects of this disclosure. Dialogue 400 may include message sequences 402, 406, and 410 generated by the first AI bot program. Dialogue 400 may also include message sequences 404, 408, and 412 generated by the second AI bot program. As shown, dialogue 400 may be about options. In this example, the options are leaderboard features in a mobile game, but other examples may involve discussions about other options. From dialogue 400, insights can be derived about how an end user (represented by the second AI bot program) might react to the leaderboard features. For example, based on dialogue 400, it can be discovered that the end user may not use the leaderboard at all and rarely (if at all) uses the personal score tracker. This can help game developers assess whether to spend time and resources developing any of these features.

[0060] Figure 5 A flowchart illustrating an example of a process for deriving feedback on options using an AI robot program with a simulated character, according to some aspects of this disclosure. Other examples may include... Figure 5 This is shown in comparison to more operations, fewer operations, different operations, or different operation sequences. For example, some examples could exclude box 510 and therefore not intentionally configure the first AI robot program to simulate a selector. The above will now be referenced below. Figure 1 To describe the components Figure 5 .

[0061] In box 502, system 100 trains a first machine learning model associated with the first AI robot program 122. The first machine learning model may include one or more deep neural networks. For example, the first machine learning model may include a recurrent neural network, a transformer model, a generative adversarial network, or a combination thereof. System 100 may use training data to train the first machine learning model. For example, server system 106 may use training data 114, which includes a corpus of text documents and / or audio files, to train the first machine learning model. In some examples, the first machine learning model may undergo multiple training phases, such as unsupervised learning phases, supervised learning phases, and reinforcement learning phases.

[0062] In box 504, system 100 trains a second machine learning model associated with the second AI robot program 128. The second machine learning model may be the same as or different from the first machine learning model. The second machine learning model may include one or more deep neural networks. For example, the second machine learning model may include a recurrent neural network, a transformer model, a generative adversarial network, or a combination thereof. System 100 may use training data to train the second machine learning model, which may be the same as or different from the training data used to train the first machine learning model. For example, server system 106 may use training data 114, which includes a corpus of text documents and / or audio files, to train the second machine learning model. In some examples, the second machine learning model may undergo multiple training phases, such as unsupervised learning phases, supervised learning phases, and reinforcement learning phases.

[0063] In box 506, system 100 provides a set of options 150a-150c to selector 108. This set of options 150a-150c may include any number of options greater than one. System 100 may provide the set of options 150a-150c to selector 108 via user interface 110, application programming interface, or another type of interface. For example, server system 106 may generate a webpage including the set of options 150a-150c and provide this webpage to client device 102, which can then render the webpage in a web browser.

[0064] In box 508, system 100 receives a selection of option 150a from a set of options 150a-150c by selector 108. For example, selector 108 may select one of options 150a-150c from a webpage provided by server system 106. Client device 102 may detect the selection and send a communication indicating the selection to server system 106.

[0065] In block 510, system 100 configures one or more instances of the first AI robot program 122 based on a selector profile 118 associated with selector 108. For example, server system 106 can receive a selection of selector profile 118 from selector 108. Alternatively, server system 106 can select selector profile 118 using predefined rule 152. After determining selector profile 118, server system 106 can generate selector input prompt 120 based on selector profile 118. Server system 106 can then configure one or more instances of the first AI robot program 122 to simulate selector 108, for example by providing these instances with selector input prompt 120 as input. In this way, different instances can be configured to simulate the same selector or the same selector type.

[0066] In block 512, system 100 configures one or more instances of the second AI robot program 128 based on one or more end-user profiles 124 associated with one or more end-users of the selected option 150a. For example, server system 106 may receive one or more selections of one or more end-user profiles 124 from selector 108. Alternatively, server system 106 may use predefined rules 152 to select one or more end-user profiles 124. After determining one or more end-user profiles 124, server system 106 may generate one or more end-user input prompts 126 based on the one or more end-user profiles 124. Server system 106 may then configure one or more instances of the second AI robot program 128 to simulate one or more end-users, for example by providing one or more end-user input prompts 126 as input to these instances. In this way, different instances can be configured to simulate different end-users or different end-user types. This allows system 100 to investigate the responses of multiple different end-users or multiple different end-user types to the selected option 150a (e.g., simultaneously).

[0067] In box 514, system 100 initiates one or more dialogues 134 between one or more instances of the first AI robot program 122 and one or more instances of the second AI robot program 128 regarding the selected option 150a. For example, server system 106 can orchestrate multiple instances of the first AI robot program 122 and multiple instances of the second AI robot program 128 in parallel dialogues, thereby creating multiple parallel dialogues about the option. Parallel execution of dialogues can significantly reduce the amount of time spent completing a dialogue.

[0068] In box 516, system 100 generates feedback 140 about option 150a based on one or more dialogues 134.

[0069] In some examples, feedback 140 may include one or more metrics 138, which can be determined by analyzing one or more dialogues 134. For example, server system 106 may use analyzer model 136 to evaluate dialogue 134 and generate metrics 138. In some examples, analyzer model 136 may be configured to identify the presence of keywords in dialogue 134, their frequency in dialogue 134, and other relevant information to generate metrics 138. Analyzer model 136 may include one or more trained machine learning models, which may be different from or identical to the first and second machine learning models described above. For example, analyzer model 136 may include deep neural networks such as sentiment analysis models, classifiers (e.g., support vector machines or Naive Bayes classifiers), clusterers (e.g., k-means clusterers), and / or decision trees. System 100 may use training data 116 to train analyzer model 136, which may be the same as or different from the training data used to train the first and / or second machine learning models. For example, server system 106 can use training data 116, which includes a corpus of text documents and / or audio files, to train analyzer model 136. In some examples, analyzer model 136 can go through multiple training phases, such as unsupervised learning phases, supervised learning phases, and reinforcement learning phases.

[0070] After determining metric 138, in some examples, server system 106 determines one or more scores for option 150 based on metric 138. For example, server system 106 can determine the total score for option 150a by taking a weighted or unweighted sum of metric 138. The total score can be used as at least a portion of feedback 140.

[0071] In some examples, server system 106 may include one or more dialogue segments in feedback 140. Dialogue segments may be selected from one or more dialogues 134 for any suitable reason. For example, dialogue segments may be selected from one or more dialogues 134 based on their relevance to metric 138 or score (e.g., their impact on it), which can help selector 108 better understand the reasons for the metric or score. In some examples, dialogue segments may also allow selector 108 to obtain additional insights that may not be easily obtained from the metric / score alone. For example, while metric 138 or score may indicate that option 150a is a “good option,” at least a portion of dialogue 134 may indicate a previously unacknowledged or unstated drawback that selector 108 may not have been aware of and that selector 108 may wish to avoid. By being informed of this potential drawback, selector 108 can avoid certain unforeseen reactions. As another example, while metric 138 may indicate that option 150a is a “bad option,” at least part of dialogue 134 may indicate unapproved or unstated advantages that the chooser 108 may not have previously been aware of and that may have caused the decision to waver. These additional insights of this type can be gathered by the chooser 108 as they review some or all of the parts of dialogue 134.

[0072] In box 518, system 100 provides feedback 140 to selector 108. System 100 may provide feedback 140 to selector 108 via user interface 110, application programming interface, or another type of interface. For example, server system 106 may generate a webpage including feedback 140 and provide the webpage to client device 102, which can then render the webpage in a web browser.

[0073] In block 520, system 100 may implement option 150a automatically or under the guidance of a user (e.g., selector 108). For example, system 100 may send one or more control signals 156 to manufacturing apparatus 158, which may include a single device or combination of devices capable of implementing option 150a. The one or more control signals 156 may include adjustments to one or more operating parameters of manufacturing apparatus 158, or other instructions for manufacturing apparatus 158 that affect the implementation of option 150a. System 100 may be pre-programmed with data indicating that certain types of adjustments to certain operating parameters will produce certain tangible results. Therefore, system 100 may rely on this pre-programming to determine which control signals 156 to issue to manufacturing apparatus 158 to implement option 150a.

[0074] Figure 6 A flowchart illustrating an example of a process for generating selector profiles and end-user profiles according to some aspects of this disclosure is shown. Other examples may include...Figure 6 This is shown in comparison to more operations, fewer operations, different operations, or different operation sequences. The above will now be referred to below. Figure 1 To describe the components Figure 6 .

[0075] In block 602, system 100 receives selector data 130 from one or more sources. These sources may include: human users who input at least some of the selector data in the selector data 130; a database system 112 storing at least a portion of the selector data in the selector data 108; one or more sensors configured to collect sensor data associated with the selector 130; or any combination thereof. System 100 may receive the selector data 130 from the one or more sources via one or more networks 104.

[0076] Selector data 130 may indicate one or more characteristics of selector 108 or selector type. For example, selector 130 may indicate demographics such as age, work experience, occupation or role, geographic location (e.g., address), gender, income, ethnicity, and religion. Alternatively, selector data 130 may include interests such as certain types of products or topics (e.g., robots, computers, engines, pumps, etc.), hobbies, and goals (e.g., reducing production time). Alternatively, selector data 130 may include physiological conditions. Alternatively, selector data 130 may include preferences of selector 108 or selector type. Examples of preferences may include risk tolerance, preferred or disliked geographic locations (e.g., regions), preferred or disliked products or product features, and preferred or disliked treatments.

[0077] In some examples, selector data 130 may be collected via one or more surveys or other research methods involving interaction with selector 108. For example, selector data 130 may be collected using one or more sensors associated with selector 108. Examples of such sensors may include blood pressure sensors, heart rate sensors, sweat sensors, temperature sensors, electrocardiogram sensors, electromyography sensors, oxygen sensors, accelerometers, GPS units, pressure sensors, cameras, gyroscopes, and inclinometers.

[0078] In box 604, system 100 generates a selector profile 118 based on selector data 130. For example, server system 106 can extract at least some selector data from selector data 130 and incorporate it into selector profile 118. Server system 106 can analyze and extract selector data 130 based on one or more predefined rules 152. Server system 106 can then store selector profile 118 in database system 112 for later use.

[0079] In block 606, system 100 receives end-user data 132 from one or more sources. These sources may include: a human user who inputs at least some selector data into the end-user data 132; a database system 112 storing at least a portion of the selector data in the end-user data 132; a remote system associated with another entity interacting with the end-user; one or more sensors configured to collect sensor data associated with the end-user; or any combination thereof. System 100 may receive end-user data 132 from the one or more sources via one or more networks 104.

[0080] End-user data 132 may indicate one or more characteristics of an end-user or end-user type. For example, end-user data 132 may indicate demographics, interests, physiological conditions, and preferences associated with an end-user or end-user type. In some examples, end-user data 132 may be collected via one or more surveys or other research methods involving interaction with the end-user. For example, end-user data 132 may be collected using one or more sensors associated with the end-user. Examples of such sensors may include blood pressure sensors, heart rate sensors, sweat sensors, temperature sensors, electrocardiogram sensors, electromyogram sensors, oxygen sensors, accelerometers, GPS units, pressure sensors, cameras, gyroscopes, and inclinometers.

[0081] In box 608, system 100 generates end-user profiles 124 based on end-user data 132. For example, server system 106 can extract at least some selector data from end-user data 132 and incorporate it into end-user profile 124. Server system 106 can analyze and extract end-user data 132 based on one or more predefined rules 152. Server system 106 can then store end-user profile 124 in database system 112 for later use. For example, after generating selector profiles 118 and end-user profiles 124, they can be used in the aforementioned evaluation process.

[0082] Now go to Figure 7 The diagram illustrates an example of a computing device 700 that can be used to implement some aspects of this disclosure. In some examples, the computing device 700 may correspond to... Figure 1 The client device 102 or the server system 106.

[0083] Computing device 700 includes a processor 702 coupled to memory 704 via bus 706. Processor 702 may include one or more processing devices. Examples of processor 702 include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), microprocessors, or any combination thereof. Processor 702 may execute instructions 708 stored in memory 704 to perform operations. Examples of such operations may include any of the techniques described above for evaluating options. In some examples, instructions 708 may include processor-specific instructions generated by a compiler or interpreter from code written in any suitable computer programming language, such as C, C++, C#, Python, or Java.

[0084] Memory 704 may include one or more memory devices. Memory 704 may be volatile or non-volatile, such that memory 704 retains stored information when power is off. Examples of memory 704 include electrically erasable programmable read-only memory (EEPROM), flash memory, or any other type of non-volatile memory. At least some of the memory devices include a non-transitory computer-readable medium from which processor 702 can read instructions 708. The computer-readable medium may include electronic, optical, magnetic, or other storage devices capable of providing computer-readable instructions or other program code to processor 702. Examples of computer-readable media may include a magnetic disk, memory chip, ROM, random access memory (RAM), ASIC, configured processor, optical storage device, or any other medium from which a computer processor can read instructions 708.

[0085] The computing device 700 may also include input and output (I / O) components 710. Examples of input components may include a mouse, keyboard, microphone, trackball, touchpad, touchscreen display, or any combination thereof. Examples of output components may include a visual display (such as an LCD display or touchscreen display), an audio display (such as a speaker), a haptic display (such as a piezoelectric device or an eccentric rotating mass (ERM) device), or any combination thereof.

[0086] The foregoing description of certain examples (including the illustrated examples) is presented for illustrative and descriptive purposes only and is not intended to be exhaustive or to limit this disclosure to the precise forms disclosed. Many modifications, adaptations, and uses of this disclosure will be apparent to those skilled in the art without departing from its scope. For example, some of the examples described herein can be combined with other examples to produce further examples.

Claims

1. A computer-implemented method, the method comprising: Receive the user's selection of an option from a set of options via the user interface; A first artificial intelligence (AI) robot program is configured to simulate the selector based on the selector profile associated with the selector; Configure a second AI robot program based on the end-user profile to simulate the end-user of the options; Initiate a dialogue about options between the first AI robot program and the second AI robot program; Based on the dialogue, generate feedback regarding the options; as well as The user interface is used to provide feedback to the user who made the selection regarding the option.

2. The method according to claim 1, wherein, The options are physical objects, and the set of options includes a set of objects that can be deployed at one or more physical locations associated with the selector.

3. The method according to claim 1, wherein, The options are object characteristics, and the set of options includes a set of object characteristics.

4. The method according to claim 1, further comprising: Configure multiple second AI robot programs based on one or more end-user profiles to simulate multiple end-users of the options; Initiate multiple dialogues regarding the options between the first AI robot program and the plurality of second AI robot programs; as well as The feedback is generated based on the multiple dialogues.

5. The method according to claim 1, further comprising: Based on the selector profile, configure multiple first AI robot programs to simulate the selector; Configure multiple second AI robot programs based on one or more end-user profiles to simulate multiple end-users of the options; Initiate multiple dialogues regarding the options between the plurality of first AI robot programs and the plurality of second AI robot programs; as well as The feedback is generated based on the multiple dialogues.

6. The method according to claim 1, further comprising: The dialogue is provided as input to an analyzer model, which is different from the first AI robot program and the second AI robot program. The analyzer model includes a machine learning model, which is configured to output a metric based on the dialogue, and the metric is different from the feedback. as well as The feedback is generated based on the metric.

7. The method according to claim 1, further comprising: The user interface receives a selection of a selector profile by the selector, the selector profile being selected from a set of selector profiles available for selection in the user interface. as well as Based on receiving the selection, and before initiating the dialogue, the first AI robot program is configured to simulate the selector by providing input prompts with data from the selector's profile.

8. The method according to claim 1, further comprising: The user interface receives the selection of the terminal user profile by the selector, the terminal user profile being selected from a set of terminal user profiles that can be selected from the user interface. as well as Based on the received selection, and before initiating the dialogue, the second AI robot program is configured to simulate the end user by providing input prompts with data from the end user profile.

9. The method according to claim 1, further comprising: The selector profile is generated based on the collected data about the selector.

10. The method according to claim 1, further comprising: The end-user profile is generated based on collected data about one or more end-users, who are different from the selector.

11. The method according to claim 1, wherein, The first AI robot program and the second AI robot program include a large language model (LLM).

12. A system comprising: One or more processors; and One or more memories, the one or more memories including program code executable by the one or more processors to cause the one or more processors to perform operations, the operations including: Receive the user's selection of an option from a set of options via the user interface; A first artificial intelligence (AI) robot program is configured to simulate the selector based on the selector profile associated with the selector; Configure a second AI robot program based on the end-user profile to simulate the end-user of the options; Initiate a dialogue about options between the first AI robot program and the second AI robot program; Based on the dialogue, generate feedback regarding the options; and The user interface is used to provide feedback to the user who made the selection regarding the option.

13. The system according to claim 12, wherein, The operation also includes: Configure multiple second AI robot programs based on one or more end-user profiles to simulate multiple end-users of the options; Initiating multiple dialogues regarding the options between the first AI robot program and the plurality of second AI robot programs; and The feedback is generated based on the multiple dialogues.

14. The system according to claim 12, wherein, The operation also includes: Based on the selector profile, configure multiple first AI robot programs to simulate the selector; Configure multiple second AI robot programs based on one or more end-user profiles to simulate multiple end-users of the options; Initiating multiple dialogues regarding the options between the plurality of first AI robot programs and the plurality of second AI robot programs; and The feedback is generated based on the multiple dialogues.

15. The system according to claim 12, wherein, The operation also includes: The dialogue is provided as input to an analyzer model, which is different from the first and second AI robot programs. The analyzer model is a machine learning model configured to output a metric based on the dialogue, which is different from the feedback. The feedback is generated based on the metric.

16. The system according to claim 12, wherein, The operation also includes: The user interface receives a selection of a selector profile by the selector, the selector profile being selected from a set of selector profiles available for selection in the user interface; and Based on receiving the selection, and before initiating the dialogue, the first AI robot program is configured to simulate the selector by providing input prompts with data from the selector's profile.

17. The system according to claim 12, wherein, The operation also includes: The user interface receives a selection of the terminal user profile by the selector, the terminal user profile being selected from a set of terminal user profiles available for selection in the user interface; and Based on the received selection, and before initiating the dialogue, the second AI robot program is configured to simulate the end user by providing input prompts with data from the end user profile.

18. The system according to claim 12, wherein, The operation also includes generating a selector profile based on the collected data about the selector.

19. The system according to claim 12, wherein, The operation further includes generating the end-user profile based on collected data about one or more end-users, the one or more end-users being different from the selector.

20. A non-transitory computer-readable medium comprising program code executable by one or more processors to cause the one or more processors to perform operations, the operations including: Receive the user's selection of an option from a set of options via the user interface; A first artificial intelligence (AI) robot program is configured to simulate the selector based on the selector profile associated with the selector; A second AI robot program is configured based on an end-user profile to simulate an end-user of the option, the end-user being different from the selector; Initiate a dialogue about options between the first AI robot program and the second AI robot program; Based on the dialogue, generate feedback regarding the options; as well as The user interface is used to provide feedback to the user who made the selection regarding the option.