DETAILED ACTION
1. This action is responsive to Application no.18/946,629 filed 11/13/2024. All claims have been examined and are currently pending.
Notice of Pre-AIA or AIA Status
2. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 102
3. In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
4. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
5. Claims 1, 3-6, 10-16, 18-19 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Subramanian et al (12,645,729).
Regarding claim 1 Subramanian et al (12,645,729) teaches One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors (fig 8 computing device; processor; memory; col 1 l. 49-51: methods, apparatus, systems, and non-transitory computer-readable storage media for prompt template optimization; col 1 l 60-63: generating template variants, evaluating those variants, and selecting a “best” variant for continued iteration or as the optimized template to output as a result.), cause performance of:
accessing a user input comprising a task description and a set of training data configured for prompt tuning (figure 3; Col 2 l. 9-21: prompt template; given class of tasks; col 9 l. 30-32: training data that can be used by various stages of the prompt template optimization workflow; col 14 l. 15-17 training…data);
generating, by an optimizer large language model (LLM) and based on the task description, a baseline prompt (figure 3, 6; Col 2 l. 46-59: optimizer; orchestrator; leverages a language model e.g., an LLM; col 2 l. 60-66: optimizer can execute an iterated workflow including…initial iteration prompt; col 16 l 35-49 candidate prompt template);
generating, by a target LLM and based on the baseline prompt, an output responsive to the user input (fig 6 target model; col 2 l. 60-66: optimizer can execute an iterated workflow including…variant evaluation in which the GAI model output from the generated variants are scored;
col 16 l. 63 – col 17 l 9: the orchestrator 156 performs operations 705 to obtain responses 757 from a model using the previously generated prompt template variants. The model may be a targeted model that will be used with the optimized prompt template, the language model 192A used to generate the prompt template variants, or another model. In this example, the model is a target model 694, which may be specified as part of a prompt template optimization request. As part of obtaining responses, the orchestrator 156 can convert the prompt template into a prompt by substituting in example data (e.g., from the training/evaluation data 174) into the placeholder(s) of the prompt template variants. The orchestrator 156 can store these responses for each {prompt template variant, example data}-tuple as responses 757.);
generating, by the optimizer LLM and based on the set of training data and the output, one or more modifications to the baseline prompt (fig 6 template variants; fig 7; col 2 l. 50-52: Such an optimizer, also referred to herein as an “orchestrator,” can iteratively generate, evaluate, and select prompt variants to improve an initial prompt template; col 2 l. 60-66: optimizer can execute an iterated workflow including… variant generation in which variants of an initial iteration prompt are generated; col 16 l. 55-57 orchestrator bases its variant generation off an output from the language model); and
generating, by the optimizer LLM and based on the one or more modifications, a final prompt (fig 6 178; fig 7 706 outputting the final prompt template; col 2 l. 57-59: Through one or more iterations, the optimizer can identify and output an optimized prompt template; col 2 l. 60-66: optimizer can execute an iterated workflow including… variant selection in which a variant is selected (either to initialize the next iteration or as the final “optimized” prompt)).
Regarding claim 3 Subramanian teaches The media of Claim 1, wherein the instructions when executed by the processors, cause further performance of:
accessing the target LLM via an application programming interface (API) (fig 1; col 3 l. 20-56 leverage LLMs, within the cloud provider network; col 5 l. 4-7: Users can interact with a cloud provider network 100 across one or more intermediate networks (e.g., the internet) via one or more interface(s), such as through use of application programming interface (API) calls; l 25-27: Users can interact with the prompt template optimization service 112 in various ways, generally via an interface 122 (e.g., an API). ).
Regarding claim 4 Subramanian teaches The media of Claim 1, wherein the one or more modifications comprise one or more of modifying prompt structure, adjusting wording, providing additional context, or incorporating relevant examples
(col 2 l 50-52: Such an optimizer, also referred to herein as an “orchestrator,” can iteratively generate, evaluate, and select prompt variants to improve an initial prompt template;
col 11 l 39-40 adjust tokens in the initial prompt template;
col 16 l 57-62: Note that the output may be a response to a meta-prompt that includes the variant generation, or may be based on a numeric calculation of a loss and backpropagation through the model 192A to identify tokens (e.g., words) within a prompt template contributing to the loss.).
Regarding claim 5 Subramanian teaches The media of Claim 1, wherein the set of training data comprise one or more input-output pairs, each input-output pair comprising an example input to an LLM and an example output by the LLM (col 9 l 39-45: Training/evaluation data 174 can include samples, samples with associated labels or ground-truths, or some combination of both. For example, for a prompt template used in classification, the training data can include examples to be classified as well as their corresponding classification label (e.g., 0 or 1 for binary classification tasks; happy, sad, neutral for sentiment analysis tasks, etc.).; col 9 l. 57-59 For example, for a document summarization task, training data can include example documents, example summaries, and associated summary scores.).
Regarding claim 6 Subramanian teaches The media of Claim 5, wherein the example output exemplifies one or more of a desired output style, a desired output format, or an output requirement (col 9 l 39-45: Training/evaluation data 174 can include samples, samples with associated labels or ground-truths, or some combination of both. For example, for a prompt template used in classification, the training data can include examples to be classified as well as their corresponding classification label (e.g., 0 or 1 for binary classification tasks; happy, sad, neutral for sentiment analysis tasks, etc.).; col 9 l. 57-59 For example, for a document summarization task, training data can include example documents, example summaries, and associated summary scores.).
Regarding claim 10 Subramanian teaches The media of Claim 1, wherein the instructions when executed by the processors, cause further performance of:
providing, to the optimizer LLM, an instruction to incorporate chain-of-thought reasoning when generating prompts, wherein the baseline prompt and the modifications to the baseline prompt are based on chain-of-thought reasoning
(Col 10 l 30-40 An exemplary meta-prompt template for use in a simple variant generation function is shown below.
1 Generate and improvement of the following prompt template. Do not change any placeholders within the prompt template. The placeholders begin and end with braces { }.
2 Here is the prompt template.
3 [[prompt_template]]
4 Here is an example of another prompt that works well.
5 [[example_prompt]]
6 Your response should include only the improved prompt template).
Regarding claim 11 Subramanian teaches The media of Claim 1, wherein the instructions when executed by the processors, cause further performance of:
accessing a plurality of inputs to the target LLM and plurality of outputs generated by the target LLM responsive to the respective inputs (col 16 l. 63 – col 17 l 9: the orchestrator 156 performs operations 705 to obtain responses 757 from a model using the previously generated prompt template variants. The model may be a targeted model that will be used with the optimized prompt template, the language model 192A used to generate the prompt template variants, or another model. In this example, the model is a target model 694, which may be specified as part of a prompt template optimization request. As part of obtaining responses, the orchestrator 156 can convert the prompt template into a prompt by substituting in example data (e.g., from the training/evaluation data 174) into the placeholder(s) of the prompt template variants. The orchestrator 156 can store these responses for each {prompt template variant, example data}-tuple as responses 757); and
identifying, by the optimizer LLM and based on an analysis of the accessed inputs and outputs, one or more edge cases where the target LLM generated incorrect or unexpected outputs (col 17 l. 21-30: the score can be calculated without using a model such as models 692A, 692B. For example, the operations 708 can use a loss function to compare a label in the training data associated with an example used to populate a prompt template with the associated response. As another example, the operations 708 can measure the similarity between the example and the response (e.g., for summarization tasks). As yet another example, the operations 708 can score the responses with a measurement of the quality of the output (e.g., for media generation tasks).).
Regarding claim 12 Subramanian teaches The media of Claim 11, wherein the instructions when executed by the processors, cause further performance of:
generating, by the optimizer LLM and based on the edge cases, one or more modifications to the baseline prompt (col 2 l. 60-66: The optimizer can execute an iterated workflow including example stages of (1) variant generation in which variants of an initial iteration prompt are generated, (2) variant evaluation in which the GAI model outputs from the generated variants are scored, and (3) variant selection in which a variant is selected (either to initialize the next iteration or as the final “optimized” prompt).;
col 14 l. 25-29:The user interface includes fields 320 and 324 in which the user can specify stopping conditions, such as a maximum number of iterations of the workflow, when a score is reached (e.g., MSE below some value), or when the improvement of the prompt template plateaus).
Regarding claim 13 Subramanian teaches The media of Claim 11, wherein the analysis of the accessed inputs and outputs comprises one or more of anomaly detection, outlier detection, or clustering analysis (col 17 l. 21-30: the score can be calculated without using a model such as models 692A, 692B. For example, the operations 708 can use a loss function to compare a label in the training data associated with an example used to populate a prompt template with the associated response. As another example, the operations 708 can measure the similarity between the example and the response (e.g., for summarization tasks). As yet another example, the operations 708 can score the responses with a measurement of the quality of the output (e.g., for media generation tasks).).
Regarding claim 14 Subramanian teaches The media of Claim 1, wherein the optimizer LLM and the target LLM are based on different models
(fig 1; col 3 l. 48-56: Language models 192 can include general or specialized language models such as GPTs, GPTs as modified by adapters, fine-tuned language models, models with similar architectures but different parameters, and so on. Other models 194 can include other models with natural language interfaces that generate other format outputs such as images, video, audio, and so on. Through one or more iterations of the stages, the orchestrator 156 can generate an “optimized” prompt template; Col 13 l 53 – col 14 l. 4: different models; Col 16 l. 8-15 when different stages do engage a model, different stages may engage different models).
Regarding claim 15 Subramanian teaches The media of Claim 1, wherein the optimizer LLM and the target LLM are based on a same model (fig 1; col 3 l. 48-56: Language models 192 can include general or specialized language models such as GPTs, GPTs as modified by adapters, fine-tuned language models, models with similar architectures but different parameters, and so on. Other models 194 can include other models with natural language interfaces that generate other format outputs such as images, video, audio, and so on. Through one or more iterations of the stages, the orchestrator 156 can generate an “optimized” prompt template.; Col 13 l 53 – col 14 l. 4; Col 16 l 65- col 17 l 1).
Regarding claim 16 Subramanian et al teaches A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions, when executed using the processors (fig 8 computing device; processor; memory; col 1 l. 49-51: methods, apparatus, systems, and non-transitory computer-readable storage media for prompt template optimization; col 1 l 60-63: generating template variants, evaluating those variants, and selecting a “best” variant for continued iteration or as the optimized template to output as a result.), cause the system to execute:
accessing a user input comprising a task description and a set of training data configured for prompt tuning;
generating, by an optimizer large language model (LLM) and based on the task description, a baseline prompt;
generating, by a target LLM and based on the baseline prompt, an output responsive to the user input;
generating, by the optimizer LLM and based on the set of training data and the output, one or more modifications to the baseline prompt; and
generating, by the optimizer LLM and based on the one or more modifications, a final prompt.
Recites limitations similar to claim 1 and is rejected for similar rationale and reasoning
Claim 18 Recites limitations similar to claim 3 and is rejected for similar rationale and reasoning
Regarding claim 19 Subramanian et al teaches A method comprising, by one or more computing systems (fig 8 computing device; processor; memory; col 1 l. 49-51: methods, apparatus, systems, and non-transitory computer-readable storage media for prompt template optimization; col 1 l 60-63: generating template variants, evaluating those variants, and selecting a “best” variant for continued iteration or as the optimized template to output as a result.):
accessing a user input comprising a task description and a set of training data configured for prompt tuning;
generating, by an optimizer large language model (LLM) and based on the task description, a baseline prompt;
generating, by a target LLM and based on the baseline prompt, an output responsive to the user input;
generating, by the optimizer LLM and based on the set of training data and the output, one or more modifications to the baseline prompt; and
generating, by the optimizer LLM and based on the one or more modifications, a final prompt.
Recites limitations similar to claim 1 and is rejected for similar rationale and reasoning
Claim Rejections - 35 USC § 103
6. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
7. Claims 2, 17, 20 are rejected under 35 U.S.C. 103 as being unpatentable over Subramanian et al in view of Thompson (2025/0272577).
Regarding claim 2 Subramanian does not specifically teach where Thompson teaches The media of Claim 1, wherein the instructions when executed by the processors, cause further performance of:
accessing a user query associated with a task associated with the task description (0039: search query); and
generating, by the target LLM and based on the final prompt, a response to the user query (0039: more accurately search for the information, to obtain more relevant results).
It would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate Thompson for an improved system allowing for the implementation of the system with the final optimized prompt.
Subramanian already teaches performing prompt optimization to obtain a final prompt to better perform user queries and responses, and one could look to Thompson to further allow the optimized prompt to then be used, not just for evaluation, but for runtime to process a proper user query to more accurately search for the information, to obtain more relevant results (Thompson 0039).
Claims 17, 20 Recite limitations similar to claim 2 and are rejected for similar rationale and reasoning
8. Claims 7-9 are rejected under 35 U.S.C. 103 as being unpatentable over Subramanian et al in view of Chen et al (2025/0077792).
Regarding claim 7 Subramanian teaches The media of Claim 5, wherein generating the output responsive to the user input by the target LLM and based on the baseline prompt and generating the modifications to the baseline prompt by the optimizer LLM and based on the set of training data and the output are iterated for a number of iterations {corresponding to a number associated with the input-output pairs} (col 2 l. 50-54: Such an optimizer, also referred to herein as an “orchestrator,” can iteratively generate, evaluate, and select prompt variants to improve an initial prompt template for some threshold number of iterations or until an earlier stopping condition is reached.);
But does not specifically teach where Chen teaches a number associated with the input-output pairs (117 limited set of …training data; five manually labeled input-output pairs).
It would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate a limited set of training data, and the training set as the limit, to provide a maximum number of iterations for improved optimization to maintain efficiency (considering time and processing).
Subramanian already teaches The user interface includes fields 320 and 324 in which the user can specify stopping conditions, such as a maximum number of iterations of the workflow, when a score is reached (e.g., MSE below some value), or when the improvement of the prompt template plateaus (col 14 l. 25-29), and the use of training data. Chen teaches a limited set of training data, and it would be obvious to use the number (of training data) as the maximum number of iterations to still provide optimized prompts but within specific constraints for efficiency.
Regarding claim 8 Subramanian teaches The media of Claim 7, wherein, during each iteration, generating the modifications to the baseline prompt by the optimizer LLM is based on one distinct input-output pair of the input-output pairs (col 9 l 39-45: Training/evaluation data 174 can include samples, samples with associated labels or ground-truths, or some combination of both. For example, for a prompt template used in classification, the training data can include examples to be classified as well as their corresponding classification label (e.g., 0 or 1 for binary classification tasks; happy, sad, neutral for sentiment analysis tasks, etc.).; col 9 l. 57-59 For example, for a document summarization task, training data can include example documents, example summaries, and associated summary scores.).
Regarding claim 9 Subramanian does not specifically teach where Chen teaches The media of Claim 5, wherein the set of training data comprise no more than five input-output pairs (117).
Rejected for similar rationale and reasoning as claim 7
Conclusion
9. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: See PTO-892.
Jia et al (2025/031356)
Abstract: Methods, systems, and computer-readable storage media for providing an initial version of a prompt template, the prompt template including dynamic input and first static input, generating a prompt using the initial version of the prompt template at least partially by populating the dynamic input with training data, receiving, from a large language model (LLM), an output that is responsive to the prompt, providing an evaluation at least partially based on the output, and selectively updating the prompt template to provide an updated version of the prompt template by prompting the LLM at least partially based on the evaluation, the updated version of the prompt template including second static input that is generated by the LLM and that is different from the first static input.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHAUN A ROBERTS whose telephone number is (571)270-7541. The examiner can normally be reached Monday-Friday 9-5 EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Andrew Flanders can be reached on 571-272-7516. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov.
For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/SHAUN ROBERTS/Primary Examiner, Art Unit 2655