Resolving conflicts with user-specific agents

The system addresses conflicts between user-specific agents by facilitating organized communication and topological sorting, ensuring efficient and satisfactory resolution of user state modifications across multiple agents.

WO2026039038A1PCT designated stage Publication Date: 2026-02-19GOOGLE LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/042552
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-15
Publication Date
2026-02-19

AI Technical Summary

Technical Problem

Existing machine learning models struggle to resolve conflicts between user-specific agents due to data privacy concerns and network bandwidth limitations, preventing them from evaluating how modifications to one user's local state will impact other users' states.

Method used

A system that facilitates organized communication and interaction between user-specific agents using a recursive framework and chain-of-thought prompting to identify and resolve conflicts by determining a desirable global state through topological sorting and efficient data transmission.

Benefits of technology

Enables efficient resolution of conflicts by reducing computational resources and network bandwidth usage while ensuring satisfactory local states for all users involved, allowing for automated conflict resolution and data logging for system improvement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024042552_19022026_PF_FP_ABST
    Figure US2024042552_19022026_PF_FP_ABST
Patent Text Reader

Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for resolving conflicts between two or more user-specific agents. In one aspect, a system comprises identifying a potential action to modify a local state of a first user using a user-specific agent of the first user, identifying one or more second users whose respective local state would be impacted by the potential action, transmitting a request to evaluate the potential action to a second agent of each second user, and, receiving, in response to the request, a respective evaluation indicating how the potential action would impact the local state of the second user from the second agent, combining the respective evaluations into a global evaluation, and in response to determining to enact the potential action, enacting the potential action to modify the local state of the first user.
Need to check novelty before this filing date? Find Prior Art

Description

Attorney Docket No. 56113-0760W01RESOLVING CONFLICTS WITH USER-SPECIFIC AGENTSBACKGROUND

[0001] This specification relates to processing data using machine learning models.

[0002] Machine learning models receive an input and generate an output, e.g., a predicted output, based on the received input. Some machine learning models are parametric models and generate the output based on the received input and on values of the parameters of the model.

[0003] Some machine learning models are deep models that employ multiple layers of models to generate an output for a received input. For example, a deep neural network is a deep machine learning model that includes an output layer and one or more hidden layers that each apply a non-linear transformation to a received input to generate an output.SUMMARY

[0004] This specification describes a system implemented as computer programs on one or more computers in one or more locations that allows for the resolution of conflicts between two or more user-specific agents. In this specification, a user-specific agent is an individualized artificial intelligence (Al) that is employed by a user to perform tasks on their behalf. In an example implementation, a user-specific agent can be a large language model (LLM) agent.

[0005] Many actions that the user-specific agent performs for the user, e.g., calendar management and event scheduling, can require coordination from multiple agents, e.g., other user-specific agents representing a user or an entity, e.g. a company, a restaurant, a meeting place, etc. Some of the actions performed by user-specific agents can lead to conflicts. For example, a user-specific agent can identify an action to the local state of a first user, e.g.. by suggesting a modification to an existing calendar event on the user’s calendar, which requires resolution through a chain of proposed actions. In this context, a local state includes user data associated with one or more software applications that pertains to the tasks that a user utilizes the user-specific agent for.

[0006] In this specification, a chain of proposed actions refers to a sequence of one or more actions including a first action proposed by the user-specific agent of the first user and additional actions that can be taken by other user-specific agents whose users are impacted by the first action to resolve any conflicts that result from the first action. In some cases, each user-specific agent involved in the chain of proposed actions can generate and provide a summary of the actions that can be taken with respect to the local state of the respective user that the user-specific agent performs tasks for.Attorney Docket No. 56113-0760W01

[0007] In particular, the system of this specification enables an organized interaction between the user-specific agent of a first user and one or more second agents of corresponding second users to reach an agreement regarding a potential action, e.g., a modification to the local state of the first user, by potentially undoing prior actions with respect to the local state of the second users. In some cases, the second agents undoing prior actions can involve the undoing of actions previously agreed upon with additional agents, e.g., thereby creating a chain of proposed actions that are required to resolve the conflict. More specifically, the system can allow the agents to reach a desirable global state including satisfactory local states of all impacted users through the determined chain of proposed actions.

[0008] According to a first aspect there is provided a method for identifying a potential action to modify a local state of a first user using a user-specific agent of the first user, identifying one or more second users whose respective local state would be impacted by the potential action, for each second user: transmitting a request to evaluate the potential action to a second agent of the second user, and receiving, in response to the request, a respective evaluation indicating how the potential action would impact the local state of the second user from the second agent, combining the respective evaluations received from one or more second agents corresponding with the one or more second users into a global evaluation, determining to enact the potential action based on the global evaluation, and in response to determining to enact the potential action, enacting the potential action to modify the local state of the first user.|0009| Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages.

[0010] The system of this specification enables the resolution of conflicts in complex multiagent systems where user-specific agents have access to and can modify the local state of a corresponding user but cannot access the local states of other users that are potentially impacted by the modification. In this context, each agent can only access the local state of the corresponding user, e.g., due to the data privacy concern of allowing the user-specific agent to access another user’s local state, the memory limitation of storing every user’s local state in one location, and the potentially large network bandwidth needed to transmit data pertaining to updates to each user’s local state between agents. Therefore, an issue arises when a userspecific agent identifies a modification to the local state of a first user but is not able to evaluate whether the modification to the local state will create a conflict in the local state of one or other users and needs to evaluate whether or not to take the action.

[0011] The system of this specification can determine a chain of proposed actions to resolve a conflict resulting from an identified local state modification. In particular, the system can allowAttorney Docket No. 56113-0760W01 for the resolution of conflicts by automatically identifying new actions and the undoing of prior actions with respect to the local states of users involved in the chain of proposed actions, e.g., in contrast to post-facto validation systems that rely on user-triggered undos, by facilitating the transmission of how a potential action to modify' the local state of a first user impacts the local states of each user involved in the chain of proposed actions.

[0012] More specifically, the system can allow for the expeditious resolution of conflicts with respect to a user trying to determine an action, a potential resolution for a conflict that results from the action, and the identification and polling of other users that might be impacted by the action. In some cases, a user might not be able to determine the other impacted users, e.g., the user might not have access to the information, e.g., when rescheduling a restaurant reservation, a user will not have access to the users that can be contacted for a given reservation time, but within the context of the system, the user-specific agent can determine how other users would be impacted in order to evaluate the consequences of the action. Furthermore, the system can facilitate the capture and logging of data that pertains to the actions taken to achieve resolution, which can be used to improve the system through training, e.g.. online training.

[0013] Additionally, the system provides a recursive framework for resolving conflicts that poses the identification of users involved in the chain of proposed actions by traversing a graph. More specifically, dependencies between the respective local states of each user can be represented by the edges in the graph, and the chain of proposed actions can be traversed in a topological sorting that respects the dependencies for each potential action, e.g.. a linear ordering of the users that would be impacted by the potential action to modify' the local state of a first user. Since the ordering of actions and undone actions required to resolve a conflict can have a particular order, posing the identification of users recursively in a topological sorting reduces the computational resources needed to resolve the conflict relative to evaluating the potential action with respect to each user, e.g., by discretizing the resolution of conflicts into the resolution of conflicts between successively fewer agents. Moreover, organizing the communication into a linear ordering over a graph can reduce network bandwidth usage, e.g., by preventing unnecessary network traffic between agents that are not relevant to the conflict and ensuring that agents involved in the chain of proposed actions are not repeatedly contacted by agents more than one degree of separation away in the graph, thereby ensuring that data transmission remains efficient, even when the system is required to contact many agents in the determined chain of proposed actions, when agents are located in different locations, or both.

[0014] In an example implementation in which one or more of the user-specific agents involved in the chain of proposed actions is a large language model (LLM), the system canAttorney Docket No. 56113-0760W01 provide for a sequence of instructions, e.g., through chain-of-thought prompting, to facilitate communication between each of the user-specific agents. In particular, the system can use chain-of-thought prompting within the recursive framework to guide the user-specific agents to reason about how to resolve the conflicts resulting from the potential action to modify the local state of a first user.

[0015] The details of one or more embodiments of the subject matter of this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.BRIEF DESCRIPTION OF THE DRAWINGS

[0016] FIG. 1 is a system diagram of an example user-specific agent coordination system.

[0017] FIGS. 2 and 3 illustrate example chain-of-thought prompts generated by the system to achieve resolution as part of a scheduling conflict.

[0018] FIG. 4 depicts an example graph of user devices that are each associated with a userspecific agent and demonstrates how the user-specific agent coordination system can identify a topological sorting of users involved in a chain of proposed actions.

[0019] FIG. 5 is a flow diagram of an example process for evaluating whether to enact a potential action based on the impact of the action to other relevant users.|00020| Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION

[0021] FIG. 1 shows an example user-specific agent coordination system 100. The userspecific agent coordination system 100 is an example of a system implemented as computer programs on one or more computers in one or more locations in which the systems, components, and techniques described below are implemented.

[0022] The user-specific agent coordination system 100 allows for the coordination of multiple user-specific agents that are each utilized by a user, e.g., on a user device, to perform one or more tasks on their behalf. Some of the actions, e.g.. modifications to the local state of a respective user, performed by the user-specific agents, or even the users in collaboration with the user-specific agents, can lead to conflicts which require resolution and trigger a chain of proposed actions. For example, a conflict is a situation in which a user-specific agent performs an action to the local state of a user that requires another agent to update its local state as a result, e.g., when one or more agents are required to take an action to modify the local state ofAtorney Docket No. 56113-0760W01 a respective user based on a request from another agent. More specifically, the system 100 can allow for the resolution of conflicts identified by user-specific agents when a user-specific agent of a first user proposes a potential action that leads to a chain of proposed actions that need to be performed by one or more different agents, e.g., in order to resolve the resultant conflicts.

[0023] In this specification, a chain of proposed actions refers to a sequence of one or more actions including a first action proposed by the user-specific agent to the local state of the first user and additional actions that can be taken by additional user-specific agents whose users are impacted by the first action to resolve any conflicts resulting from the first action. In particular, a chain of proposed actions performed by different agents can result from multiple user-specific agents modifying respective user local states to reach a desirable global state, e.g., where the desirable global state for the user-specific agents involved can be reached by potentially undoing at least one prior action previously agreed upon with other user-specific agents.

[0024] For example, if a user A wants to set up an urgent calendar event with a user B at a time where B has an existing calendar event with user C, user-specific agent B might decide to move the calendar event with user C given the urgency, but this in turn might trigger user-specific agent C and other downstream agents to require further changes. As another example, if userspecific agent A reserved a table at restaurant B, user-specific agent B can reject other agents from making a reservation since no more tables are available. In the case that user-specific agent A ends up cancelling the reservation, then agent B can reach out to the other agents that attempted to make a reservation. In some cases, this can trigger other downstream agents to make further changes.

[0025] When coordinating amongst multiple user-specific agents, it can be difficult to undo actions, e.g., to identify and take an action or reverse a previously taken action with respect to a user’s local state, because it is unclear which users will be impacted by the undoing of actions multiple degrees of separation aw ay from the first user. The user-specific agent coordination system 100 allow s for organized communication between multiple user-specific agents for the resolution of conflicts that will result from an identified potential action to modify the local state of a first user.

[0026] In the particular example depicted, the user-specific agent coordination system 100 includes two users, a user A 105 and user B 150. While depicted here w ithin the context of tw o users, the system 100 can provide for the resolution of conflicts between two or more users, as will be described in more detail below.Attorney Docket No. 56113-0760W01

[0027] In particular, each user of the system 100, e.g., the users 105 and 155, can be associated with a respective user device 110, e.g., the user device A 110 and the user device B 160. As an example, each of the user devices 110, 160 can be a mobile phone, a tablet, a laptop, a w earable device, e.g., a smart-w atch, internet of things (loT) device, gaming counsel, desktop, etc.

[0028] More specifically, a user-specific agent is a personal artificial intelligence (Al) that is employed by a user to perform tasks on their behalf. In some cases, e.g., in the particular example depicted, the user device A 110 and the user device B 160 can include respective on- device user-specific agents, e g., user-specific agent A 120 and user-specific agent B 170, that each has access to the local state of the users 105 and 155, respectively. In other cases, the user device A 110 and the user device B 160 can interact remotely with respective user-specific agents, e.g., respective user-specific agents located on a central server, in the cloud, etc. that includes the respective user-specific agents 120 and 170.

[0029] In particular, the user-specific agent A 120 can have access to local state A 130, and the user-specific agent B 170 can have access to the local state B 180. More specifically, the local state of the user can include data pertaining to a particular task managed by the userspecific agent for the user, e.g.. data associated with one or more software applications that pertain to the task. For example, the local state 130, 180 can include data pertaining to a calendar meeting with one or more other users, data pertaining to a reservation w ith an entity, data pertaining to a local version of a shared document, etc.|00030| In some cases, a user can utilize different user-specific agents to perform separate tasks. In this case, the user can allow- the access of different local states to the different user-specific agents e.g., a user can employ a calendar management user-specific agent with access to a calendar local state and a dining reservation user-specific agent with access to a dining reservation application local state. In other cases, a user can employ a single user-specific agent for a number of tasks, e.g., a single scheduling agent.

[0031] In particular, each user-specific agent 120, 170 can manage the local state data 130, 180 that the agent can access based on a set of user preferences for managing the data, e.g., the user-specific agent 120, 170 can protect the data in the same way that the user 105, 155 would in terms of a willingness to reveal particular types of data to another user-specific agent, e.g.. of a different user. In some cases, the user-specific agent 120, 130 can leam the user preferences for managing the data in the local state online, e.g., through interactions with the user regarding the particular one or more tasks that the user-specific agent is utilized for.

[0032] For example, the user-specific agent A 120, the user-specific agent B 170, or both can be implemented as a neural netw ork that is configured to manage the local state of the user andAttorney Docket No. 56113-0760W01 communicate with other user-specific agents. In particular, the neural network can have any appropriate number of neural network layers (e.g., 1 layer, 5 layers, or 10 layers) of any appropriate type (e.g., fully-connected layers, attention layers, convolutional layers, etc.) connected in any appropriate configuration (e.g., as a linear sequence of layers, or as a directed graph of layers).

[0033] In some cases, the neural network is a generative model, e.g.. a generative-adversarial network or an autoregressive language processing network. As an example, the neural network can have a recurrent neural network architecture that is configured to sequentially process a model input that includes the contents of the local state, e.g., the local state A 130 or local state B 180, and trained to perform next element prediction, e.g., to define a likelihood score distribution over a set of next elements. More specifically, the neural network can include one or more of a recurrent neural network (RNN), long short-term memory (LSTM), or gated- recurrent unit (GRU). As another example, the neural network can be transformer-based, e.g., an encoder-decoder, encoder-only, or decoder-only transformer.

[0034] As yet another example, the neural network can be a language processing neural network. A language processing neural network is an auto-regressive network that is configured to sequentially process the contents of an input and trained to perform next element prediction. For example, the neural network can be referred to as an auto-regressive neural network when the neural network auto-regressively generates an output sequence of tokens. More specifically, the auto-regressively generated output is created by generating each particular token in the output sequence conditioned on a current input sequence that includes any tokens that precede the particular token in the output sequence, i.e., the tokens that have already been generated for any previous positions in the output sequence that precede the particular position of the particular token.

[0035] For example, the neural network can be an auto-regressive Transformer-based neural network that includes (i) a pl urality of attention blocks that each apply a self-attention operation and (ii) an output subnetwork that processes an output of the last attention block to generate the score distribution.

[0036] In this example, the neural network can have any of a variety of Transformer-based neural network architectures. Examples of such architectures include those described in J. Hoffmann, S. Borgeaud, A. Mensch, E. Buchatskaya, T. Cai, E. Rutherford, D. d. L. Casas, L. A. Hendricks, J. Welbl, A. Clark, et al. Training compute-optimal large language models, arXiv preprint arXiv:2203. 15556, 2022; J.W. Rae, S. Borgeaud, T. Cai, K. Millican, J. Hoffmann, H. F. Song, J. Aslanides, S. Henderson, R. Ring, S. Young, E. Rutherford, T. Hennigan, J. Menick,Attorney Docket No. 56113-0760W01A. Cassirer, R. Powell, G. van den Driessche, L. A. Hendricks, M. Rauh, P. Huang. A. Glaese, J. Welbl, S. Dathathri, S. Huang, J. Uesato. J. Mellor, I. Higgins, A. Creswell, N. McAleese, A.Wu, E. Eisen, S. M. Jayakumar, E. Buchatskaya, D. Budden, E. Sutherland, K. Simonyan, M. Paganini, L. Sifre, L. Martens, X. L. Li, A. Kuncoro, A. Nematzadeh, E. Gribovskaya, D. Donato, A. Lazaridou, A. Mensch, J. Lespiau, M. Tsimpoukelli, N. Grigorev, D. Fritz, T. Sottiaux, M. Pajarskas, T. Pohlen, Z. Gong, D. Toyama. C. de Masson d’Autume, Y. Li, T. Terzi, V. Mikulik. I. Babuschkin, A. Clark. D. de Las Casas, A. Guy. C. Jones. J. Bradbury. M. Johnson, B. A. Hechtman, L. Weidinger, I. Gabriel, W. S. Isaac, E. Lockhart, S. Osindero, L. Rimell, C. Dyer, O. Vinyals, K. Ayoub, J. Stanway, L. Bennett, D. Hassabis, K. Kavukcuoglu, and G. Irving. Scaling language models: Methods, analysis & insights from training gopher. CoRR, abs / 2112.11446, 2021; Cohn Raffel. Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. arXiv preprint arXiv: 1910.10683, 2019; Daniel Adiwardana, Minh-Thang Luong, David R. So, Jamie Hall, Noah Fiedel, Romal Thoppilan, Zi Yang, Apoorv Kulshreshtha, Gaurav Nemade, Yifeng Lu, and Quoc V. Le. Towards a humandike open-domain chatbot. CoRR, abs / 2001.09977, 2020; and Tom B Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. arXiv preprint arXiv:2005. 14165, 2020.|00037] Generally, to apply the self-attention operation, each attention block uses one or more attention heads. Each attention head generates a set of queries, a set of keys, and a set of values, and then applies any of a variety7of variants of query-key-value (QKV) attention, e.g., a dot product attention function or a scaled dot product attention function, using the queries, keys, and values to generate an output. Each query, key, value can be a vector that includes one or more vector elements. When there are multiple attention heads, the attention block then combines the outputs of the multiple attention heads, e.g., by concatenating the outputs and, optionally, processing the concatenated outputs through a linear layer.

[0038] In particular, the system 100 can configure an organized interaction between the userspecific agent of a first user that has identified a potential action to modify the local state of the first user and one or more user-specific agents of corresponding second users that would be impacted by the potential action to modify7the local state of the first user to take additional actions or undo previously agreed upon actions, e.g., with any additional user-specific agents. More specifically, the system 100 can allow for the user-specific agents involved in a chain ofAtorney Docket No. 56113-0760W01 proposed actions to reach a desirable global state that includes satisfactory local states of all users that would be impacted by the identified potential action.

[0039] In an example scenario in which user A is the first user in a chain of proposed actions, the system 100 can instruct the user-specific agent A 120 to identify a potential action to modify take with respect to the local state A 130. For example, the potential action 125 to the local state A 130 can include a modification of a calendar meeting, a modification of a restaurant reservation or travel booking, or a modification of the local version of a shared document from user A 105.

[0040] For example, the user-specific agent A 120 can process the local state A 130 to identify a potential action to modify the local state A 130. As another example, the user-specific agent A 120 can process the local state A 120 and auxiliary information, e.g., additional data such as user profile information that is potentially relevant to the local state A.

[0041] For example, auxiliary data for a calendar meeting local state can include location data, task and to-do-list data associated with the calendar event, and attached documents or other files relevant to the calendar event. As another example, auxiliary data for a dining reservation local state can include user dining history, menu information, restaurant waitlist data, restaurant table management data, or special occasion data. As yet another example, auxiliary information for a local version of a shared document local state can include modification data from all users with access to the document, version history data, comment and annotation data, or user usage information.

[0042] In particular, in the case that the user-specific agent A 120 is a large language model (LLM) agent, the system 100 can prompt the user-specific agent A 120 using the local state A 130, and, in some cases, the auxiliary' information, to identify whether to modify the local state A 130. In this case, the system 100 prompting the user-specific agent refers to the system 100 generating and providing a prompt, e.g., a directive instruction or question, to the user-specific agent that includes instructions to identify the potential action and the relevant information, e.g., the local state and any auxiliary data that can be represented as textual data, for evaluating the potential action.

[0043] In some cases, the user-specific agent 120 can receive an additional input, e.g., a feedback input, from an additional model, e.g., the user model A 140, regarding the user A 105’s preference for the identified potential action. For example, the user model A 140 can be a preference model that has been configured to process a potential action, e.g., the potential action 125. and the user’s local state, e.g.. the local state 140, to generate an indication of the user’s preference for the potential action 125. Likewise, the user-specific agent B 170 canAttorney Docket No. 56113-0760W01 receive an additional input from a user model B 190, e.g., as will be described in further detail below.

[0044] In particular the user model A 140, and the user model B 190, can have any appropriate machine learning architecture, e.g., a neural network, that can be configured to generate an indication of the user’s preference for a potential action. In particular, the user model A 140 and the user model B 190 can have any appropriate number of neural network layers (e.g., 1 layer, 5 layers, or 10 layers) of any appropriate type (e.g., fully-connected layers, attention layers, convolutional layers, etc.) connected in any appropriate configuration (e.g., as a linear sequence of layers, or as a directed graph of layers).

[0045] For example, the user model A 140 can be configured to generate a binary indicator representing whether or not user A 105 would prefer the potential action 125. As another example, the user model A 140 can be configured to generate a value indicating the user’s preference for the potential action 125, e.g., a score on a scale from 0 to 5, 10, or 100. In particular, the user-specific agent 120 can use the indication of the preference for the potential action 125 to inform the selection of the potential action, e.g., based on the preference of user A 105 generated by user model A 140.

[0046] In some cases, the system 100 can use the user model, e.g., the user model A 140 iteratively to identify the potential action 125. For example, if the generated score is low or the binary indicator represents an undesirable potential action, the user-specific agent A 120 can be instructed to generate another potential action 125, e.g., by processing the local state A 130, the previous potential action, and the indication of the user preference generated by the user model A 140.

[0047] After identifying the potential modification 125, the system 100 can instruct the userspecific agent A 120 to identify one or more second users whose respective local states would be impacted by the potential action 125 and to transmit the potential action 125 to the userspecific agent B 170 of user device B 160. In the particular example depicted, the user-specific agent A 120 has identified the user B 155 as one of the one or more second users. While only user B 155 is depicted in FIG. 1 as a second user, the description below regarding transmitting the request to evaluate the potential action 125 applies to any second user.

[0048] More specifically, the user-specific agent A 120 can transmit the potential modification 125 through a communication channel 150 provided by the system 100. For example, the system 100 can provide a central server 152 that is accessible by each user device, e.g., the user devices 110 and 160. of the system 100. In this case, the user-specific agent A 120 can transmit the potential action 125 to a central server 152 and the user-specific agent B 170 can receiveAtorney Docket No. 56113-0760W01 the potential action 125 from the central server 152. As another example, in the case that the user-specific agents are located on each respective user device, the system 100 can provide a direct peer-to-peer communication channel between each user device in a peer-to-peer network 154. In this case, the user-specific agent A 120 can directly transmit the potential action 125 to the user-specific agent B 170.

[0049] For example, the system 100 can instruct the user-specific agent A 120 to transmit the potential action 125 and a request to evaluate the potential action 125 to a second agent of each second user, e.g., the user-specific agent B 170 of user B 155. In the case that the user-specific agent A 120 is an LLM agent for user A 105, the user-specific agent A 120 can transmit a natural language communication that includes the potential action 125 and a request to evaluate the impact to the user-specific agent B 170 of user B 155. As another example, the system 100 can receive the potential action 125, e.g., at the central server 152, can generate the prompt that includes the potential action 125 and the request to evaluate the impact, and can transmit the prompt to the user-specific agent B 170.

[0050] Thus, the system 100 can begin a chain of proposed actions, e.g., starting with each second agent, e.g., since the transmitted request to evaluate the potential action 125 involves each second agent identifying whether any additional users have respective local states that would be impacted by the potential action. In the case that there are one or more additional users, the system 100 can instruct the second user(s), e.g.. the user-specific agent B 170, to provide a respective request to evaluate the potential action to a respective agent for each of the one or more additional users.

[0051] More specifically, the system 100 can extend the chain of proposed actions recursively by providing a successive instruction to evaluate the potential action 125 to the user-specific agent of each impacted user as each impacted user is identified by the previous agent. In the particular example depicted, the system 100 can instruct the user-specific agent A 120 to transmit a request to evaluate the potential action to user-specific agent B 170, the system 100 can instruct the user-specific agent B 170 to transmit the request to an additional agent, and so on.

[0052] For example, the sequence of users that starts with the second user and includes the one or more additional users can be represented as a topological sorting of a graph of users, e.g., where the levels of the topological sorting are representative of the one or more degrees of separation between the second user and each additional user. An example topological sorting of a graph of users within the context of identifying a chain of proposed actions will be described in further detail in FIG. 4.Attorney Docket No. 56113-0760W01

[0053] In this case, the system 100 can instruct the user-specific agent B 170 to evaluate the impact of the potential action 125. e.g., the user-specific agent B 170 can process the potential modification 125 and the local state B 180 to evaluate the impact of the potential action 125 on the local state B 180 of the user B 155. Furthermore, as described above, the user-specific agent B 170 can additionally process an input from a user model B 190 that is configured to generate an indication regarding user B's preference for the potential action 125 as part of the evaluation of the impact of the potential action 125.

[0054] For example, the user-specific agent B 170 can be a neural network. In the case that the user-specific agent A 120 and the user-specific agent B 170 are implemented as a neural network, the agents 120, 170 can be implemented with the same architecture or with different architectures. In the case that the user-specific agent B 170 is implemented as an LLM agent, the user-specific agent B 170 can process a prompt including an instruction to evaluate the potential modification 125 based on the local state B 180 and an instruction to transmit the request to evaluate the potential action 125 to any additional agents that would be impacted by the potential action 125, e.g., as will be described in more detail in an example scenario with respect to FIGS. 2 and 3.

[0055] In other cases, the user-specific agent B 170 can be implemented as an execution engine configured to render a display on the user device of the corresponding second user, e.g., the user device B 160. For example, the execution engine can be one or more computer programs that causes the user device to perform the rendering of a display that prompts the second user, e.g., the user B 155, to evaluate how the potential action 125 would impact them. In particular, the execution engine can render the potential action 125 and relevant data from the local state B 180 on the display of user device B 160 to facilitate the evaluation of the potential action 125 by the user B 155 directly.

[0056] More specifically, the system can instruct each of the user-specific agents for each of the sequence of users that starts with the second user and includes the one or more additional users identified through the chain of proposed actions to evaluate the potential action 125. The user-specific agent A 120 can then receive a respective evaluation 175 from each of the second users.

[0057] In particular, the respective evaluation 175 can indicate how the potential action 125 would impact the local state of the second user from each second agent, e.g., the user-specific agent B 170. In the case that there are any additional users identified, the user-specific agent A 120 can receive a respective evaluation that includes an aggregate of respective evaluationsAttorney Docket No. 56113-0760W01 received for each of the sequence of users that starts with the second user and includes the one or more additional users.

[0058] In the case that the user-specific agent B 170 is implemented as an LLM agent, receiving the evaluation 175 can involve the user-specific agent A 120 receiving a natural language communication of how the potential action would impact the local state of user B 155, e.g.. that has been generated by user-specific agent B 170. For example, the system 100 can prompt the user-specific agent B 170 with an instruction to transmit the evaluation to the user-specific agent A 120, e g., as will be described with more detail in an example scenario with respect to FIGS. 2 and 3.

[0059] In the case that the user-specific agent B 170 is implemented as an execution engine, receiving the evaluation 175 can involve the user-specific agent A 120 receiving an indication of how the potential action would impact the local state of user B 155 by way of a user interface, e.g., from user B 155 selecting an evaluation using a binary option provided on the rendered display on user device B 160. For example, the rendered display can include an interactive portion, e.g., with a pair of buttons that can be selected for accepting or denying the potential action 125. respectively, that can be presented to a user to provide the evaluation of how the potential action 125 would impact them.

[0060] As an example, user-specific agent A 120 can receive a respective evaluation 175 indicating that the potential action 125 w ould not materially change the local state B 180 of the user B 155 from the user-specific agent B 170. e.g., that user-specific agent B 170 has accepted the potential action 125. In particular, the user-specific agent B 170 can determine that the potential action 125 does not require any inconvenience to user B 155, e.g., that a change to a scheduled meeting can be made to an empty spot on the calendar of user B 155.

[0061] As another example, the user-specific agent A 120 can receive a rejection of the potential action 125 based on a determined undesirable local state of user B 155. In this case, the system 100 can determine whether the rejection satisfies a significance criterion, and, if the rejection satisfies the significance criterion, the system 100 can provide an indication that the potential action 125 is undesirable to the user-specific agent A 120.

[0062] For example, the system 100 can determine whether the rejection satisfies the significance criterion by evaluating a context based on the local state 180. For example, the system 100 can determine if user B 155 is a required participant in a meeting or merely an optional participant in a meeting to be rescheduled. As another example, the system 100 can determine if the second user 155 places a higher level of importance on attending one calendar event relative to the calendar event that is being modified by the potential action 125.Attorney Docket No. 56113-0760W01

[0063] In some cases, the system 100 can additionally prompt the first agent, e.g., the userspecific agent A 120, to provide an identifier to each of the second agents when requesting an evaluation of the potential action 125. In this case, the user-specific agent A 120 can receive a sequence of identifiers for each of the sequence of users that starts with the second user and includes one or more additional users as part of the evaluation 175.

[0064] The system 100 can use the sequence of identifiers to further assess the chain of proposed actions resulting from the potential action 125. More specifically, the system 100 can instruct the user-specific agent A 120 to identify a completion of a cycle in the sequence of identifiers, e.g., based on the presence of the first identifier in the sequence of identifiers. In the case that the user-specific agent A 120 identifies a cycle, the potential action 125 can be discarded as untenable, e.g.. since it requires an unplanned modification to the local state A that was not identified as the potential action 125 by the user-specific agent A 120. In this case, the system 100 can instruct the user-specific agent A 120 to identify a second potential action to modify the local state A 130 and can restart the process of identifying one or more second users for evaluating the second potential action using the user-specific agent A 120.

[0065] In particular, the user-specific agent A 120 can receive the respective evaluation(s) 175 from each of the one or more second users and the system 100 can instruct the user-specific agent A 120 to determine to enact the potential action 125 based on a global evaluation, e.g., an aggregation of each of the respective evaluation(s) 175. In the particular example depicted, the user-specific agent A 120 can determine to enact the potential action 125 using the evaluation 175 generated by the user-specific agent B 170.

[0066] As an example, the system 100 can instruct the user-specific agent A to evaluate the global evaluation to determine whether any of the user-specific agents of the second users rejected the potential action 125. indicating that the personal action 125 was not satisfactory to the user of the user-specific agent, or both. In some cases, the presence of a single rejection, e.g., a rejection that satisfies a significance criteria, can cause the system 100 to not enact the potential action 125.

[0067] As another example, in the case that the user-specific agents of the second users provide a respective amenability score as the evaluation, the system 100 can aggregate the amenability scores using an operation, e.g., by taking an average, mean, or max, to generate a global score as the global evaluation. In this case, the system 100 can compare a global score to a threshold.

[0068] In the case that the user-specific agent A 120 determines to enact the potential action 125, the system 100 can additionally instruct the user-specific agent A 120 to transmit an indication of the enactment of the potential action 125 to the user-specific agents of the one orAtorney Docket No. 56113-0760W01 more corresponding second users, e.g., the user-specific agent B 170. The system 100 can then instruct each user-specific agent of the second user(s) to enact one or more corresponding actions to modify the respective local states, e.g., the local state B 180, and can propagate the chain of proposed actions to any additional agents.

[0069] More specifically, the system 100 can allow the user-specific agents to communicate to a desirable global state including satisfactory’ local states of all impacted users through the propagation of the chain of proposed actions, e.g., including new actions and the undoing of prior actions, in order to accommodate the enactment of the potential action 125 to modify the local state A 130.

[0070] An example of using the user-specific agent coordination system 100 of FIG. 1 to reschedule a meeting is illustrated in FIGS. 2 and 3. In this case, the example prompts are successively generated by the system using LLM agents to achieve resolution as part of a meeting scheduling conflict. In particular, FIGS. 2 and 3 provide example chain-of-thought prompts for LLM user-specific agents. Chain-of-thought prompting refers to guiding a language processing neural network, e.g., an LLM to generate intermediate responses as part of solving a complex problem.

[0071] In the particular example depicted, each LLM agent has been configured to have an understanding of which actions regarding a local state of a user are potential possible actions with respect to the local state. For example, each LLM agent can have been trained to have an understanding of actions defined in a function-calling syntax, e.g., Toolformer as described in Schick, T., et. al. “Toolformer: Language Models Can Teach Themselves to Use Tools” (arXiv:2302.04761vl).

[0072] In particular, each LLM agent can have been trained to process natural language inputs and generate outputs including a Reply. Action, Veto, Accept, and Acknowledge action with respect to the local state. For example, an LLM agent can respond to a request of another LLM agent using a Reply action. As another example, an LLM agent can respond to a request of another LLM agent using an Action action that conveys a particular action the LLM agent is intending to achieve. As yet another example, an LLM agent can reject a conveyed Action from another LLM agent using a Veto action and can accept a conveyed Action from another LLM agent using an Accept action. As a further example, an LLM agent can Acknowledge a conveyed action or a summary' received from another LLM agent.

[0073] More specifically, the example prompt-response pairs 230-240, 250-260, 270-280, 300- 310, 320-330, 340-350 of FIGS. 2 and 3 refer to a scenario in which the user-specific agent of user A 200 has identified moving a meeting that user A 200 had already scheduled with user BAtorney Docket No. 56113-0760W01210 at 10 AM as a potential action. In this case, the second agent of user B 210 has to contact the additional agent of user C 220 to evaluate whether or not the second agent 210 can reschedule the meeting with user A 200 to a new time.

[0074] The example prompt-response pairs demonstrate how the user-specific agent coordination system 100 can facilitate communication between one or more LLM agents. For example, the system 100 can generate, e.g., using the appropriate LLM agent, and transmit prompts and responses between relevant LLM agents, e.g., the LLM agents 202, 212, and 222 that correspond with the users A 200, B 210, and C 220, respectively. In particular, the system 100 can facilitate the transmission of the intermediate inputs and outputs of the promptresponse pairs necessary to identify and resolve the rescheduling conflict.

[0075] For example, agent B 212 can receive the prompt 230 the system generated using agent A 202 that instructs agent B 212 to determine whether any local actions need to be made to the local state of user B 210 in response to the rescheduling request. As described with respect to FIG. 1, the system can then prompt agent B 240 to process the local state of user B 210 to determine the response 240. In this case, the response 240 includes an identification of an additional meeting that needs to be moved to accommodate the rescheduling request of agent A 212.

[0076] The system can then generate a prompt 250 for agent B 212 that includes an instruction to identify each agent in a machine readable format that is easy to parse, e.g., the response 260. The system can then prompt agent B 212 to take an action to move the meeting with agent C 222, e g., the prompt 270, and to generate a response 280 that agent C 222 can process as part of the prompt 300.

[0077] In this case, the system can transmit the prompt 300 to agent C 222 and agent C 222 can accept the request to reschedule in the response 310, e.g.. as depicted in FIG. 3. In this case, agent A 202 can then receive the prompt 320 that includes a summary of the evaluation generated from agent B 212, and can acknowledge the response 330. The system can then prompt agent A 202 to provide a summary of the chain of proposed actions to the user 200, e.g., using the prompt 340. and can generate the response 350 using agent A 202.

[0078] The interaction of FIGS. 2 and 3 represent example prompt-response pairs of LLM agents that have been finetuned, prompted, or both using chain-of-thought prompting. In particular, chain-of-thought prompting involves breaking down a complex problem into discrete reasoning steps for an LLM that can lead to the LLM to generate a final answer to the complex problem. For example, each of the LLM agents can have been finetuned from aAttorney Docket No. 56113-0760W01 foundational LLM using a chain-of-thought prompting framework that involves receiving consecutive instructions.

[0079] In particular, the system can generate consecutive instructions to prompt the LLM to identify a potential action and evaluate the potential action with respect to the first user and any identified users that can be impacted by the potential action. More specifically, the system can lead the LLM to reason about a global state of multiple users and the desirability of the potential action with respect to the global state through consecutive instructions.

[0080] As an example, the consecutive instructions can include evaluating how the potential action would impact the local state of the respective user, identify ing one or more second users whose respective local states would be impacted by the potential action, and transmitting the request to evaluate the potential action to modify the user-specific agents of the second users. As another example, the consecutive instructions can include generating an evaluation and a summary of actions taken. Furthermore, in the case that the LLM agent is the user-specific agent of the first user, the first instruction in the consecutive instructions can be to identify a potential action to modify the local state of the first user and to determine to enact the potential action to modify the local state based on the global evaluation received from the user-specific agents of the one or more second users.

[0081] In this case, each of the LLM agents can have been finetuned on a set of finetuning examples, e.g., where each finetuning example corresponds to a respective ground-truth indicator of the enactment of an action in the chain of proposed actions to modify the local state of the user. For example, a finetuning model input can include the local state of the respective user, (i) a ground truth determination to enact the potential action for the respective user, and (ii) if the determination was positive, the ground truth action enacted on the local state of the respective user.

[0082] In some cases, the system 100 of FIG. 1 can finetune the LLM agent on the set of finetuning examples to optimize an objective function. In other cases, a different system can finetune the LLM agent. For example, the objective function can measure a first discrepancy between (i) the ground truth determination to enact the potential action to modify the local state of the respective user and (hi) a determination to enact the potential action from the LLM agent, and an additional discrepancy between (ii) the ground truth action enacted on the local state of the respective user and (iv) an action enacted on the local state of the respective user by the LLM agent.

[0083] The objective function can measure the discrepancies in any appropriate way. e.g., using a cross-entropy loss, a mean squared error loss, a Kullback-Leibler divergence loss, aAttorney Docket No. 56113-0760W01 contrastive loss, etc. The system 100 or another system can finetune each LLM agent at each of a number of finetuning iterations until a finetuning termination criterion is met. For example, the system 100 or the other system can finetune the LLM agent by calculating and backpropagating gradients of the objective function to update one or more parameter values of the network, e.g., using the update rule of any appropriate gradient descent optimization algorithm, e.g.. RMSprop or Adam.

[0084] FIG. 4 depicts an example graph of user devices, each associated with a respective user, and illustrates how the user-specific agent coordination system can resolve conflicts through identifying a topological sorting of the relevant users that would be impacted by the potential action. In the particular example depicted, each of the levels of the graph 400 correspond with the degree of separation between the users in a higher level, e.g., closer to the root user of user device 400, and each lower level.

[0085] More specifically, the graph 400 demonstrates the computational complexify of organizing the communication for resolving conflicts between one or more user-specific agents of one or more users in a complex multi-agent system. In particular, the user-specific agent coordination system 100 of FIG. 1 can be configured such that iteratively identifying a second agent that would be impacted by a potential change in a chain of proposed actions can be reduced to a topological sorting over the graph of users 400.

[0086] In this case, the system can leverage the efficiency of recursion to traverse a topological sorting of as much of the graph 400 as is relevant to resolving any conflicts resulting from an identified potential action. For example, user of user device 402, user of user device 412 is a topological sorting of the graph 400. As another example, user of user device 402, user of user device 410, user of user device 420, user of user device 422, user of user device 424 is a topological sorting of the graph 400. As yet another example, user of user device 402, user of user device 414, user of user device 426, user of user device 434, user of user device 436, user of user device 428 is a topological sorting of the graph 400.

[0087] More specifically, these topological sorting examples illustrate the myriad of possible user-specific agent communication combinations that might be required to resolve a conflict that can arise in a chain of proposed actions. The topological sorting examples have inherent structural ordering, e.g., in accordance with the graph structure, which facilitates the directionality of the communication, e.g., the user-specific agent of user 402 can communicate with the user-specific agent of user 410. the user-specific agent of user 410 can communicate with the user-specific agents of users 420, 422, and 424, and the user-specific agent of user 424 can communicate with the user-specific agents of users 430 and 432.Attorney Docket No. 56113-0760W01

[0088] Within this context, requiring all user-specific agents to cooperate together by sending and receiving responses to every’ other user-specific agent to evaluate a conflict would be an intractable solution, especially when network bandwidth is limited and communication costs are high, e.g., when user-specific agents are located remotely from one another or in areas with limited connectivity7. By breaking up this potentially intractable calculation into a recursive one with an inherent order that involves the user-specific agent of a first user identifying one or more second users who can then identify any additional users through a topological sorting, the system can reduce computational resource use and enhance the efficiency of resolving conflicts using one or more user-specific agents. In the case that an agent rejects a proposed action, the system can halt the recursive identification of users and instruct the first userspecific agent to propose a new action.

[0089] More specifically, by linearizing the communication between impacted agents in a particular order that is defined by a topological sorting, the system can facilitate efficient communication transmission, e.g., when network bandwidth is limited and communication costs are high. The linearized communication can reduce network bandwidth usage, e.g.. by removing the need for repetitively contacting the same agent multiple times in the chain of proposed actions and preventing unnecessary network traffic between agents that are not relevant to the chain of proposed actions, and thereby ensure that data transmission remains efficient, even when the system is required to contact many agents that are located remotely from each other.

[0090] FIG. 5 is a flow' diagram of an example process for evaluating whether to enact a potential action to modify the local state of a user based on the impact of the action to other relevant users. For convenience, the process 500 will be described as being performed by a system of one or more computers located in one or more locations. For example, a user-specific agent coordination system, e.g., the user-specific agent coordination system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 500.

[0091] The system can identify a potential action to modify a local state of a first user using a user-specific agent of the first user (step 510). In particular, the potential action can involve a modification of the local state. In this case, the local state of the first user can include data from one or more software applications pertaining to a particular task managed by the user-specific agent for the first user.

[0092] For example, the local state of the first user can include data pertaining to a calendar meeting with one or more second users, and identifying the potential action to modify the local state of the first user can include identifying a modification of the calendar meeting. As anotherAttorney Docket No. 56113-0760W01 example, the local state of the first user can include data pertaining to a reservation with an entity, e.g.. a restaurant reservation with a restaurant, a travel booking reservation with a hotel or tour operator, or a concert ticket reservation with a concert venue, and identifying the potential action to modify the local state of the first user can include identifying a modification to the reservation. As yet another example, the local state of the first user can include data pertaining to a local version of a shared document, and identifying the potential action to modify the local state of the first user can include receiving a modification of the local version of the shared document from the first user.

[0093] In some cases, identify ing the potential action to modify7the local state of the first user can involve processing an input including the local state of the first user and auxiliary information relevant to the potential action using the user-specific agent of the first user, e.g., additional context data. For example, the additional context data can be received from the user device of the user. In this case, the system can process the input using a user preference model to generate an indication of a preference of the first user for the potential action, and the system can select the potential action based at least on the indication of the preference of the first user, e.g., the system can generate a second potential action in response to a negative indication from the user model.

[0094] The system can identify7one or more second users whose respective local states would be impacted by the potential action (step 520). In particular, determining which users would be impacted by the potential action can be dependent on the t pe of local state and potential action. For example, in the case that the local state of the first user is a modification to a calendar meeting, the one or more second users can be the attendees of the meeting. As another example, in the case that the local state of the first user is a reservation, the one or more second users can be users on the waitlist for the reservation. As yet another example, in the case that the local state of the first user is a local version of a shared document, the one or more second users can be the users with whom the document is shared.

[0095] The system can transmit a request to evaluate the potential action to a second agent of the second user (step 530), and the system can receive a respective evaluation of the potential action from the second agent (step 540). In particular, the system can transmit the request to evaluate the potential action to each of the second agents of the one or more second users. In some cases, the second agent can be a respective user-specific agent of the second user that can evaluate how the potential action would impact the local state of the second user. In other cases, the second agent can be an execution engine configured to render a display on a user device ofAttorney Docket No. 56113-0760W01 the corresponding respective second user, e.g., to prompt the second user to evaluate how the potential action would impact them.

[0096] For example, the system can receive a respective evaluation indicating that the potential action would not materially change the local state of the second user from the second agent. As another example, the system can receive a rejection of the potential action based on a determined undesirable local state of the second user. In this case, the system can determine whether the rejection satisfies a significance enterion. and, in response to determining that the rejection satisfies the significance criterion, the system can provide an indication that the potential action is undesirable to the user-specific agent of the first user. In particular, the system can determine that the rejection satisfies the significance criterion by evaluating a context of the determined undesirable local state of the second user. For example, the system can determine if the second user is a required participant in a meeting or merely an optional participant. As another example, the system can determine if the second user places a higher level of importance on attending one calendar event relative to another event that is being modified.

[0097] The request to evaluate the potential action can cause each second agent to identify whether any additional users have respective local states that would be impacted by the potential action. In response to identifying that one or more additional users have respective local states that would be impacted by the potential action, the system can provide a respective request to evaluate the potential action to a respective agent for each of the one or more additional users. In this case, each respective evaluation the system receives from the second agent of the second user can be an aggregate of respective evaluations received for each of a sequence of users that starts with the second user and includes the one or more additional users identified that would be impacted by the potential action. More specifically, the sequence of users can include a topological sorting of a graph of users, e.g., where the levels of the topological sorting are representative of one or more degrees of separation between the second user and each additional user.

[0098] In some cases, the system can additionally provide an identifier to each of the second users for the potential action to be evaluated. In this case, the system can receive a sequence of identifiers for each of the sequence of users that starts with the second user and includes one or more additional users. In particular, the system can identify a completion of a cycle in the sequence of identifiers based on the presence of the first identifier in the sequence of identifiers, e.g., indicating that the chain of proposed actions is untenable, e.g., since it requires an unplanned modification to the local state of the first user. In this case, the system can identifyAtorney Docket No. 56113-0760W01 a second potential action to modify the local state of the first user using the user-specific agent of the first user based at least on the global evaluation. For example, the system can provide the global evaluation to the first user using the user-specific agent of the first user for determination of the second potential action, e.g., by facilitating communication with the respective agent of the user that completed the chain.

[0099] The system can combine respective evaluations received from the one or more second agents into a global evaluation (step 550). In some cases, the respective evaluations can include a natural language summary of how the potential action would impact the local state of the second user. In this case, the system can use the user-specific agent of the first user to combine the natural language summaries into a global evaluation, e.g., by processing each respective evaluation to generate a summary of the respective evaluations. In other cases, the respective evaluations can include a score indicating a measure of amenability of the second user to the potential action. In this case, the system can aggregate the scores using an operation, e.g., by taking an average, mean, or max, to generate a global score as the global evaluation. In some cases, the system can weight the importance of the scores based on additional local state context, e.g.. the respective evaluations of optional attendees of a meeting can be weighted as less important than the required attendees in the meeting.[000100] The system can then determine to enact the potential action to modify the local state based on the global evaluation (step 560). For example, the system can evaluate the global evaluation to determine whether or not there is a rejection of the potential action based on a determined undesirable local state of a second user, and, if there is, whether or not the rejection satisfies a significance criterion. In some cases, the presence of one rejection can cause the system to determine not to enact the potential action. As another example, the system can compare the global score to a threshold. In response to determining to enact the potential modification, the system can enact the potential action to modify the local state (step 570). In some cases, the system can additionally transmit an indication of the enactment of the potential action to modify7the local state of the first user to the one or more second agents corresponding with the one or more second users, e.g., to cause each second agent to enact one or more corresponding local state actions, and each additional agent to enact one or more corresponding local state actions in a chain of proposed actions.[000101] In particular, the user-specific agent of the first user can include a first large language model (LLM) agent, and at least one of the one or more second agents corresponding with the one or more second users can include a second large language model (LLM) agent. In this case, transmitting the request to evaluate the potential action to the second agent of theAttorney Docket No. 56113-0760W01 second user can include transmiting a natural language communication of the potential action and a prompt comprising an instruction to evaluate the impact to the second agent of the second user generated by the first LLM agent. Furthermore, in this case, receiving the respective evaluation indicating how the potential action would impact the local state of the second user can include receiving a natural language communication of how the potential action would impact the local state of the second user that has been generated by the second LLM agent.[000102] For example, the user-specific agent of the first user and the one or more second agents corresponding with the one or more second users that are implemented as large language models can have been finetuned from a foundational model, e.g., using a chain-of-thought prompting technique. For example, each LLM agent can have been finetuned by operations including receiving data including the local state of the respective user for the LLM agent, a ground truth determination to enact the potential action for the respective user, and a ground truth action enacted on the local state of the respective user. The system can then provide one or more prompts in a chain-of-thought prompting framework that involves receiving consecutive instructions.[000103] For example, each LLM agent can be finetuned by receiving consecutive instructions for each of a set of finetuning examples, e.g., to evaluate how the potential action would impact the local state of the respective user, to identify one or more second users whose respective local states would be impacted by the potential action, to transmit the request to evaluate the potential action to the second agent corresponding with the one or more second users, and to generate a summary of actions taken. Furthermore, in the case that the LLM agent is the user-specific agent of the first user in the finetuning example, the chain-of-thought prompting framework can additionally include receiving a first instruction to identify' a potential action to modify the local state of the first user based on the data and to determine to enact the potential action based on the global evaluation.[000104] The system can then update one or more parameter values of a set of parameters of the LLM agent based on a discrepancy. For example, the system can update the one or more parameter values based at least on (i) a first discrepancy between the ground truth determination to enact the potential action to modify the local state of the respective user and a determination to enact the potential action from the LLM agent, and (ii) a second discrepancy between the ground truth action enacted on the local state of the respective user and the action enacted on the local state of the respective user by the LLM agent. For example, the LLM agent can be finetuned by calculating and backpropagating gradients of the objective function toAttorney Docket No. 56113-0760W01 update one or more parameter values of the network, e.g., using the update rule of any appropriate gradient descent optimization algorithm, e.g., RMSprop or Adam.[000105] This specification uses the term '‘configured” in connection with systems and computer program components. For a system of one or more computers to be configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform the operations or actions. For one or more computer programs to be configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing apparatus, cause the apparatus to perform the operations or actions.[000106] Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e.. one or more modules of computer program instructions encoded on a tangible non -transitory storage medium for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine- readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.[000107] The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can also be, or further include, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can optionally include, in addition to hardware, code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.Attorney Docket No. 56113-0760W01[000108] A computer program, which may also be referred to or described as a program, software, a software application, an app. a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, subprograms, or portions of code. A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network.[000109] In this specification the term "engine" is used broadly to refer to a softwarebased system, subsystem, or process that is programmed to perform one or more specific functions. Generally, an engine will be implemented as one or more software modules or components, installed on one or more computers in one or more locations. In some cases, one or more computers will be dedicated to a particular engine; in other cases, multiple engines can be installed and running on the same computer or computers.[000110] The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers.[000111] Computers suitable for the execution of a computer program can be based on general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. The central processing unit and the memory can be supplemented by, or incorporated in, special purpose logic circuitry. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio orAtorney Docket No. 56113-0760W01 video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few.[000112] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memoiy devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.[000113] To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user’s device in response to requests received from the w eb brow ser. Also, a computer can interact with a user by sending text messages or other forms of message to a personal device, e.g., a smartphone that is running a messaging application, and receiving responsive messages from the user in return.[000114] Data processing apparatus for implementing machine learning models can also include, for example, special-purpose hardw are accelerator units for processing common and compute-intensive parts of machine learning training or production, i.e., inference, workloads. [000115] Machine learning models can be implemented and deployed using a machine learning framework, e.g., a TensorFlow framework, or a Jax framework.[000116] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a frontend component, e g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communicationAttorney Docket No. 56113-0760W01 networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.[000117] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits data, e.g., an HTML page, to a user device, e.g.. for purposes of displaying data to and receiving user input from a user interacting with the device, which acts as a client. Data generated at the user device, e.g., a result of the user interaction, can be received at the server from the device.[000118] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially be claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.[000119] Similarly, while operations are depicted in the drawings and recited in the claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.[000120] Particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require theAttorney Docket No. 56113-0760W01 particular order shown, or sequential order, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.[000121] What is claimed is:

Claims

Attorney Docket No. 56113-0760W01CLAIMS1. A computer-implemented method comprising: identifying a potential action to modify a local state of a first user using a user-specific agent of the first user; identifying one or more second users whose respective local state would be impacted by the potential action; for each second user: transmitting a request to evaluate the potential action to a second agent of the second user; and receiving, in response to the request, a respective evaluation indicating how the potential action would impact the local state of the second user from the second agent; combining the respective evaluations received from one or more second agents corresponding with the one or more second users into a global evaluation; determining to enact the potential action based on the global evaluation; and in response to determining to enact the potential action, enacting the potential action to modify the local state of the first user.

2. The method of claim 1, wherein enacting the potential action to modify the local state of the first user further comprises: transmitting an indication of the enactment of the potential action to modify the local state of the first user to the one or more second agents corresponding with the one or more second users to cause each second agent to enact one or more corresponding local state actions.

3. The method of any one of claims 1-2, wherein the request to evaluate the potential action causes the second agent to identify whether any additional users have respective local states that would be impacted by the potential action and, in response to identifying that one or more additional users have respective local states that would be impacted by the potential action, providing a respective request to evaluate the potential action to a respective agent for each of the one or more additional users.

4. The method of any one of claims 1-3 , wherein, for each second user, the respective evaluation received from the second agent of the second user is an aggregate of respectiveAttorney Docket No. 56113-0760W01 evaluations received for each of a sequence of users that starts with the second user and includes the one or more additional users.

5. The method of claim 4, wherein the sequence of users comprises a topological sorting of a graph of users, and wherein levels of the topological sorting are representative of one or more degrees of separation between the second user and each additional user.

6. The method of any one of claims 1 -5, wherein the respective evaluation indicating how the potential action would impact the local state of the second user has been determined by the respective user-specific agent of the second user.

7. The method of any one of claims 1-6, wherein receiving the respective evaluation indicating how the potential action would impact the local state of the second user from the second agent further comprises: receiving a rejection of the potential action based on a determined undesirable local state of the second user; determining whether the rejection satisfies a significance criterion; and in response to determining that the rejection satisfies the significance criterion, providing an indication that the potential action is undesirable to the user-specific agent of the first user.

8. The method of claim 7, wherein determining that the rejection satisfies the significance criterion comprises evaluating a context of the determined undesirable local state of the second user.

9. The method of any one of claims 1-8, wherein transmitting the request to evaluate the potential action to the second agent of the second user further comprises transmitting a first identifier for the potential action to the second agent of the second user.

10. The method of claim 9, wherein receiving the respective evaluation indicating how the potential action would impact the local state of the second user from the second agent further comprises: receiving a sequence of identifiers for each of a sequence of users that starts with the second user and includes one or more additional users.Atorney Docket No. 56113-0760W0111. The method of claim 10, further comprising: identifying a completion of a cycle in the sequence of identifiers based on the presence of the first identifier in the sequence of identifiers; and identifying a second potential action to modify the local state of the first user using the user-specific agent of the first user based at least on the global evaluation.

12. The method of claim 1 1, wherein identifying the second potential action to modify the local state of the first user based at least on the global evaluation comprises: providing the global evaluation to the first user using the user-specific agent of the first user for determination of the second potential action.

13. The method of any one of claims 1-12, wherein the user-specific agent of the first user comprises a first large language model (LLM) agent, and wherein at least one of the one or more second agents corresponding with the one or more second users comprises a second large language model (LLM) agent.

14. The method of claim 13, wherein the user-specific agent of the first user and the one or more second agents corresponding with the one or more second users have been finetuned by operations comprising, for each LLM agent and respective user: receiving data comprising the local state of the respective user, (i) a ground truth determination to enact the potential action for the respective user, and (ii) a ground truth action enacted on the local state of the respective user; receiving one or more prompts in a chain-of-thought prompting framework comprising receiving consecutive instructions to evaluate how the potential action would impact the local state of the respective user, identify' one or more second users whose respective local states would be impacted by the potential action, transmit the request to evaluate the potential action to the second agents corresponding with the one or more second users, and generate a summary of actions taken; and updating one or more parameter values of a set of parameters of the LLM agent based at least on a first discrepancy between (i) the ground truth determination of whether to enact the potential action to modify the local state of the respective user and (iii) a determination to enact the potential action from the LLM agent, and a second discrepancy between (ii) theAttorney Docket No. 56113-0760W01 ground truth action enacted on the local state of the respective user and (iv) an action enacted on the local state of the respective user by the LLM agent.

15. The method of claim 14, wherein receiving consecutive instructions in the chain-of- thought prompting framework further comprises, for the first LLM agent of the first user, receiving a first instruction to identify a potential action to modify the local state of the first user based on the data and determine to enact the potential action based on the global evaluation.

16. The method of any one of claims 12-15, wherein transmitting the request to evaluate the potential action to the second agent of the second user comprises transmitting a natural language communication of the potential action and a prompt comprising an instruction to evaluate the impact to the second agent of the second user generated by the first LLM agent.

17. The method of claim 16, wherein receiving the respective evaluation indicating how the potential action would impact the local state of the second user comprises receiving a natural language communication of how the potential action would impact the local state of the second user that has been generated by the second LLM agent.

18. The method of any one of claims 1-16, wherein receiving the respective evaluation indicating how the potential evaluation would impact the local state of the second user comprises receiving a score indicating a measure of amenability of the second user to the potential action.

19. The method of any one of claims 1-18, wherein identifying the potential action to modify the local state of the first user using the user-specific agent of the first user further comprises: processing an input comprising the local state of the first user and auxiliary’ information relevant to the potential action using the user-specific agent of the first user.

20. The method of claim 19, further comprising: using a user preference model to generate an indication of a preference of the first user for the potential action; andAtorney Docket No. 56113-0760W01 selecting the potential action based at least on the indication of the preference of the first user.

21. The method of any preceding claim, wherein the local state of the first user comprises a calendar meeting with one or more second users, and wherein identifying the potential action to modify’ the local state of the first user comprises identifying a modification of the calendar meeting.

22. The method of any preceding claim, wherein the local state of the first user comprises a reservation with an entity, and wherein identifying the potential action to modify the local state of the first user comprises identifying a modification of the reservation.

23. The method of any preceding claim, wherein the local state of the first user comprises a local version of a shared document, and wherein identifying the potential action to modify the local state of the first user comprises receiving a modification of the local version of the shared document from the first user.

24. A system comprising one or more computers storing instructions that when executed by the one or more computers cause the one or more computers to perform the operations of the respective method of any one of claims 1-23.

25. One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform the operations of the respective method of any one of claims 1-23.

Citation Information

Patent Citations

  • Using large language model in reducing extent of calendar related interaction

    US20240144192A1

  • Method, apparatus, and system for distributed meeting scheduling based on autonomous multi-agent

    US7108173B1