IP Library › Granted Patent US 12,645,886
Granted Patent B2
US 12,645,886 · App. 18/217,335 · Granted Jun 2, 2026

Directive generative thread-based user assistance system

Inventors: Xavier Amatriain-Rubio (Los Gatos, CA); Christopher M. Bremer (Santa Barbara, CA); Carlos H. Lopez (Westfield, NJ); Pierre Y. Monestie (Half Moon Bay, CA); Laura Teclemariam (Hayward, CA); Yamini Kasera (San Francisco, CA); Michaeel Kazi (Foster City, CA); Zhoutong Fu (Milpitas, CA); Muchen Wu (Mountain View, CA); Winnie Narang (San Carlos, CA); Yiyuan Tu (Milpitas, CA); Jaime Munoz Alcalde (Brooklyn, NY); Nitin Pasumarthy (Sunnyvale, CA); Thao Bach (Mountain View, CA); David Williams (Seattle, WA); Priyanka Gariba (San Francisco, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F40/35G06F9/445G06Q10/063112G06Q10/1053
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,645,886
App. No.
18/217,335
Granted
Jun 2, 2026
Kind
B2
Abstract

Embodiments of the disclosed technologies include generating a first thread classification prompt based on a first thread portion of an online dialog involving a user of a computing device, sending the first thread classification prompt to a first large language model, receiving a first thread classification generated and output by the first large language model based on the first thread classification prompt, formulating a plan execution prompt based on the first thread classification, sending the plan execution prompt to a second large language model, receiving a second thread portion generated and output by the second large language model based on the plan execution prompt and the online dialog, and generating a label for a third thread portion of the online dialog.

Claims (65)

1 . A method comprising:

generating a first thread classification prompt based on a first thread portion of an online dialog presented via an interface;

sending the first thread classification prompt to a first large language model;

receiving a first thread classification, wherein the first thread classification is generated and output by the first large language model based on the first thread classification prompt;

formulating a plan execution prompt based on the first thread classification, wherein in response to determining that at least one stored thread matches the first thread classification, the plan execution prompt is formulated based on the first thread portion and the at least one stored thread that matches the first thread classification;

sending the plan execution prompt to a second large language model;

receiving a second thread portion, wherein the second thread portion is generated and output by the second large language model based on the plan execution prompt and the online dialog, and wherein the second thread portion comprises an assessment of a target entity that is summarized and output by the second large language model based on the plan execution prompt;

generating a label for a third thread portion of the online dialog, wherein the label is based on the first thread classification and the third thread portion comprises the first thread portion and the second thread portion; and

providing the label to the interface.

2 . The method of claim 1 , further comprising:

labeling a fourth thread portion of the online dialog based on a second thread classification generated and output by the first large language model, wherein the online dialog comprises a plurality of natural language threads.

3 . The method of claim 1 , wherein generating the first thread classification prompt comprises:

sending the first thread portion to the first large language model; and

receiving a tagged version of the first thread portion, wherein the tagged version of the first thread portion comprises entity data associated with the first thread portion and the entity data is generated and output by the first large language model based on data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

4 . The method of claim 3 , wherein generating the first thread classification prompt comprises:

based on the tagged version of the first thread portion, retrieving a stored classification template, wherein the retrieved classification template comprises at least one instruction to be executed by the first large language model; and

including the retrieved classification template and the retrieved data in the first thread classification prompt.

5 . The method of claim 1 , wherein generating the first thread classification prompt comprises:

sending the online dialog to the first large language model; and

receiving a threaded version of the online dialog, wherein the threaded version of the online dialog comprises the first thread portion and the threaded version is generated and output by the first large language model.

6 . The method of claim 1 , wherein formulating the plan execution prompt comprises:

based on the first thread classification, retrieving data associated with a user from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion; and

including the retrieved data in the plan execution prompt.

7 . The method of claim 6 , wherein formulating the plan execution prompt comprises:

based on the first thread classification, retrieving a stored plan template, wherein the retrieved stored plan template comprises a plurality of instructions to be executed by the second large language model; and

including the retrieved plan template and the retrieved data in the plan execution prompt.

8 . The method of claim 1 , wherein the second thread portion comprises a plurality of tasks selected, prioritized, and output by the second large language model based on the plan execution prompt, the online dialog, and data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

9 . The method of claim 1 , wherein the assessment of a job is summarized and output by the second large language model based on the online dialog, and data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

10 . The method of claim 1 , wherein the second thread portion comprises a recommendation that is generated and output by the second large language model based on the plan execution prompt, the online dialog, and data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

11 . A system comprising:

at least one processor; and

at least one memory device coupled to the at least one processor, wherein the at least one memory device comprises instructions that, when executed by the at least one processor, cause the at least one processor to perform at least one operation comprising:

generating a first thread classification prompt based on a first thread portion of an online dialog presented via an interface;

sending the first thread classification prompt to a first large language model;

receiving a first thread classification, wherein the first thread classification is generated and output by the first large language model based on the first thread classification prompt;

formulating a plan execution prompt based on the first thread classification, wherein in response to determining that at least one stored thread matches the first thread classification, the plan execution prompt is formulated based on the first thread portion and the at least one stored thread that matches the first thread classification;

sending the plan execution prompt to a second large language model;

receiving a second thread portion, wherein the second thread portion is generated and output by the second large language model based on the plan execution prompt and the online dialog, and wherein the second thread portion comprises an assessment of a target entity that is summarized and output by the second large language model based on the plan execution prompt;

generating a label for a third thread portion of the online dialog, wherein the label is based on the first thread classification and the third thread portion comprises the first thread portion and the second thread portion; and

providing the label to the interface.

12 . The system of claim 11 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to perform at least one operation further comprising:

sending the first thread portion to the first large language model;

receiving a tagged version of the first thread portion, wherein the tagged version of the first thread portion comprises entity data associated with the first thread portion and the entity data is generated and output by the first large language model based on data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion;

based on the tagged version of the first thread portion, retrieving a stored classification template, wherein the retrieved classification template comprises at least one instruction to be executed by the first large language model; and

including the retrieved classification template and the retrieved data in the first thread classification prompt.

13 . The system of claim 11 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to perform at least one operation further comprising:

based on the first thread classification, retrieving data associated with a user from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion;

including the retrieved data in the plan execution prompt;

based on the first thread classification, retrieving a stored plan template, wherein the retrieved stored plan template comprises a plurality of instructions to be executed by the second large language model; and

including the retrieved plan template and the retrieved data in the plan execution prompt.

14 . The system of claim 11 , wherein the second thread portion comprises a plurality of tasks selected, prioritized, and output by the second large language model based on the plan execution prompt, the online dialog, and data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

15 . The system of claim 11 , wherein the assessment of a job is summarized and output by the second large language model based on the online dialog, and data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

16 . The system of claim 11 , wherein the second thread portion comprises a recommendation that is generated and output by the second large language model based on the plan execution prompt, the online dialog, and data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

17 . At least one non-transitory machine readable storage medium comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform at least one operation comprising:

generating a first thread classification prompt based on a first thread portion of an online dialog presented via an interface;

sending the first thread classification prompt to a first large language model;

receiving a first thread classification, wherein the first thread classification is generated and output by the first large language model based on the first thread classification prompt;

formulating a plan execution prompt based on the first thread classification, wherein in response to determining that at least one stored thread matches the first thread classification, the plan execution prompt is formulated based on the first thread portion and the at least one stored thread that matches the first thread classification;

sending the plan execution prompt to a second large language model;

receiving a second thread portion, wherein the second thread portion is generated and output by the second large language model based on the plan execution prompt and the online dialog, and wherein the second thread portion comprises an assessment of a target entity that is summarized and output by the second large language model based on the plan execution prompt;

generating a label for a third thread portion of the online dialog, wherein the label is based on the first thread classification and the third thread portion comprises the first thread portion and the second thread portion; and

providing the label to the interface.

18 . The at least one non-transitory machine readable storage medium of claim 17 , wherein the second thread portion comprises a plurality of tasks selected, prioritized, and output by the second large language model based on the plan execution prompt, the online dialog, and data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

19 . The at least one non-transitory machine readable storage medium of claim 17 , wherein the assessment of a job is summarized and output by the second large language model based on the plan execution prompt, the online dialog, and data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

20 . The at least one non-transitory machine readable storage medium of claim 17 , wherein the second thread portion comprises a recommendation that is generated and output by the second large language model based on the plan execution prompt, the online dialog, and data associated with a user retrieved from at least one of a stored thread, a data source, an entity connection graph, a domain application, or a recommendation system in response to receipt of the first thread portion.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2023
From: AMATRIAIN-RUBIO, XAVIER; BREMER, CHRISTOPHER M.; LOPEZ, CARLOS H.; MONESTIE, PIERRE Y.; TECLEMARIAM, LAURA; KASERA, YAMINI; KAZI, MICHAEEL; FU, ZHOUTONG; WU, MUCHEN; NARANG, WINNIE; TU, YIYUAN; MUNOZ ALCALDE, JAIME; PASUMARTHY, NITIN; BACH, THAO; WILLIAMS, DAVID; GARIBA, PRIYANKA
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064476/0225 →
Continuity (1)
Related Publication 20250005288A1 · Jan 2, 2025
References Cited (11)
US 20190306107A1 · Galbraith · 2019 [cited by examiner]
US 20240256785A1 · Sharma · 2024 [cited by examiner]
US 20240414108A1 · Sun · 2024 [cited by examiner]
US 20240427999A1 · Newman · 2024 [cited by examiner]
US 20250005297A1 · Davish · 2025 [cited by examiner]
WO WO2022089546A1 · 2022 [cited by examiner]
Kleef, The GPT revolution: a powerful language model that generates human-level text, 2021, blog entry, whole document (Year: 2021). [cited by examiner]
Friedman, et al., “Leveraging Large Language Models in Conversational Recommender Systems”, arXiv:2305.07961v1, May 13, 2023, 24 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/033693, mailed on Oct. 10, 2024, 16 pages. [cited by applicant]
Wei, et al., “Leveraging Large Language Models to Power Chatbots for Collecting User Self-Reported Data”, arXiv:2301.05843v1, Jan. 14, 2023, 22 pages. [cited by applicant]
Zhang, et al., “SGP-TOD: Building Task Bots Effortlessly via Schema-Guided LLM Prompting”, arXiv:2305.09067v1, May 15, 2023, 21 pages. [cited by applicant]