DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statement (IDS) was submitted on 8/20/2025. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Response to Amendment
Claims 1-4, 6-7, 14-17, and 19-20 are amended. Claims 8-13 are cancelled. Claims 21-26 are newly added. As such, claims 1-7 and 14-26 are presented for examination.
Response to Arguments
Rejection under 35 U.S.C. 101
Applicant's arguments have been fully considered but they are not persuasive. Applicant argues “For example, at least the claimed ‘first model output,’ ‘instruction of the programmatic block,’ and ‘second model output’ each preclude performance of any such alleged abstract idea in the human mind.” However, claims may still recite a mental process when a computer is used as a tool to perform the mental process, as stated in MPEP 2106.04(a)(2)(III.)(C). The recited limitations in claim 1 can be mentally performed by a person using a generic computer. For example, a person can determine some prompt/data to input into a machine learning block or programmatic block, which can be an LLM such as ChatGPT, and observe one or more outputs using a computer. The person can then take the one or more outputs and use it as input to a second LLM model and record the output of the second LLM model by using a computer. Further, when considering the machine learning blocks and the programmatic block as additional elements, the machine learning blocks and programmatic block are recited at a high level of generality and lack any details explaining how they are trained or specifically used to generate an output. Thus, they provide nothing more than mere instructions to implement an abstract idea on a generic computer, and do not amount to significantly more than the judicial exception (abstract idea) itself.
Rejection under 35 U.S.C. 102
Applicant's arguments have been fully considered but they are not persuasive. Applicant argues “To be sure, ‘edits to intermediate data made by a user’ or ‘outputs of [a] model configured to process data,’ cannot be said to anticipate the claimed ‘instruction of the programmatic block’ of the machine learning execution chain, much less where the programmatic output is further used to ‘generat[e] . . . a second model output for the second machine learning block of the machine learning execution chain,’ as recited by amended claim 1.” However, under the broadest reasonable interpretation of the claims, “an instruction of the programmatic block” can refer to user input to the programmatic block. For example, paragraph [0012] of Cai states, “In some implementations, the operations further comprise: providing a user interface that enables a user to edit the respective the respective prompt to each model instantiation in the model chain.” The model instantiations recited in Cai can represent the “programmatic blocks” and “machine learning blocks” as recited in the claim. Further, Cai teaches using outputs of previous model instantiations as input for subsequent model instantiations. Specifically, paragraph [0019] of Cai states, “the respective model input to at least one of the plurality of model instantiations in the model chain comprises: the model output from the sequentially previous model instantiation in the model chain; and the model output from one or more model instantiations in the model chain that each precede the sequentially previous model instantiation in the model chain.” Thus, Cai teaches generating a second model output based on the programmatic output and the first model output.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-7 and 14-26 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Regarding claim 1, the claim recites "(a) obtaining input to process", "(b) generating, based on the input and a first prompt, a first model output", "(c) processing an instruction of the programmatic block to generate programmatic output for the programmatic block", “(d) generating, based on the programmatic output and the first model output, a second model output for the second machine learning block,” and "(e) providing an indication of output in response to the obtained input". Limitations (a) - (e) recite mental processes that may be practically performed in the mind using pen and paper or a generic computer. For example, limitation (a) can be done by someone receiving a natural language input. Limitation (b) can be done by someone using a generic computer to input a prompt into ChatGPT and observing the output. Limitation (c) can be done by someone evaluating an instruction and using a LLM on a generic computer to determine an output. Limitation (d) can be done by someone using previous model outputs as input to a LLM and receiving an output using a generic computer. Limitation (e) can be done by someone presenting an output. Under its broadest reasonable interpretation when read in light of the specification, the actions of "obtaining," "generating," "processing," and "providing" encompass mental processes practically performed in the human mind by evaluation and judgement using pen and paper or a generic computer. Accordingly, the claim recites an abstract idea (Step 2A, Prong One).
The judicial exception is not integrated into a practical application. In particular, the claim recites the additional element of "(f) according to a machine learning execution chain, wherein the machine learning execution chain includes a first machine learning block, a programmatic block, and a second machine learning block." Further, limitations (a) - (e) are recited as being performed by a computer. In limitation (a), the computer is used as a tool to perform the generic computer function of receiving data. In limitations (b) - (e), the computer is used to perform an abstract idea, as discussed above in Step 2A, Prong One, such that it amounts to no more than mere instructions to apply the exception using a generic computer. The limitation (f) provides nothing more than mere instructions to implement an abstract idea on a generic computer. The different models/blocks recited in limitation (f) are used to perform limitations (a) - (e) without placing any limits on how these models/blocks function. Rather, these models/blocks only recite the outcomes and do not include any details on how the outcomes are accomplished. Additionally, limitation (f) merely indicates a field of use or technological environment in which the judicial exception is performed. This type of limitation merely confines the use of the abstract idea to a particular technological environment (machine learning) and thus fails to add an inventive concept to the claims. Even when viewed in combination, these additional elements do not integrate the recited judicial exception into a practical application (Step 2A, Prong Two: NO), and the claim is directed to an abstract idea (Step 2A: YES).
The claim does not include additional elements that are sufficient to amount to more than the judicial exception. As discussed above, the recitation of a computer to perform limitations (a)-(e) amounts to no more than mere instructions to apply the exception using a generic computer component. Even when considered in combination, these additional elements represent mere instructions to implement an abstract idea or other exception on a computer, or insignificant extra-solution activity, which do not provide an inventive concept (Step 2В).
Regarding claim 14, the claim is rejected with similar analysis to claim 1.
Regarding claim 21, the claim recites "(a) obtaining input to process", "(b) generating, based on the input and a first prompt, a first model output", "(c) processing an instruction of the programmatic block to generate programmatic output for the programmatic block", “(d) generating, based on the programmatic output, the first model output, and a second prompt of the second machine learning block, a second model output for the second machine learning block,” and "(e) providing an indication of output in response to the obtained input". Limitations (a) - (e) recite mental processes that may be practically performed in the mind using pen and paper or a generic computer. For example, limitation (a) can be done by someone receiving a natural language input. Limitation (b) can be done by someone using a generic computer to input a prompt into ChatGPT and observing the output. Limitation (c) can be done by someone evaluating an instruction and using a LLM on a generic computer to determine an output. Limitation (d) can be done by someone using previous model outputs and another prompt as input to a LLM and receiving an output using a generic computer. Limitation (e) can be done by someone presenting an output. Under its broadest reasonable interpretation when read in light of the specification, the actions of "obtaining," "generating," "processing," and "providing" encompass mental processes practically performed in the human mind by evaluation and judgement using pen and paper or a generic computer. Accordingly, the claim recites an abstract idea (Step 2A, Prong One).
The judicial exception is not integrated into a practical application. In particular, the claim recites the additional element of "(f) according to a machine learning execution chain, wherein the machine learning execution chain includes a first machine learning block, a programmatic block, and a second machine learning block." Further, limitations (a) - (e) are recited as being performed by a computer. In limitation (a), the computer is used as a tool to perform the generic computer function of receiving data. In limitations (b) - (e), the computer is used to perform an abstract idea, as discussed above in Step 2A, Prong One, such that it amounts to no more than mere instructions to apply the exception using a generic computer. The limitation (f) provides nothing more than mere instructions to implement an abstract idea on a generic computer. The different models/blocks recited in limitation (f) are used to perform limitations (a) - (e) without placing any limits on how these models/blocks function. Rather, these models/blocks only recite the outcomes and do not include any details on how the outcomes are accomplished. Additionally, limitation (f) merely indicates a field of use or technological environment in which the judicial exception is performed. This type of limitation merely confines the use of the abstract idea to a particular technological environment (machine learning) and thus fails to add an inventive concept to the claims. Even when viewed in combination, these additional elements do not integrate the recited judicial exception into a practical application (Step 2A, Prong Two: NO), and the claim is directed to an abstract idea (Step 2A: YES).
The claim does not include additional elements that are sufficient to amount to more than the judicial exception. As discussed above, the recitation of a computer to perform limitations (a)-(e) amounts to no more than mere instructions to apply the exception using a generic computer component. Even when considered in combination, these additional elements represent mere instructions to implement an abstract idea or other exception on a computer, or insignificant extra-solution activity, which do not provide an inventive concept (Step 2В).
Similarly, dependent claims 2-7, 15-20, and 22-26 include additional steps that are considered abstract ideas because they fail to provide meaningful significance that goes beyond generally linking the use of an abstract idea to a particular technological environment and using the computer to perform an abstract idea.
Claims 2 and 15 recite using a generic computer to process multiple instances of output based on a prompt.
Claims 3, 16, and 22 read on someone receiving an input and determining a prompt template using part of the input information.
Claims 4 and 17 recite determining an input prompt and other input data and inputting them into an LLM to receive an output using a generic computer.
Claims 5, 18, and 23 read on someone using branching logic to determine a path of processing from one block to another.
Claims 6 and 19 read on someone using looping logic to determine a path of processing that causes a prompt to processed repeatedly.
Claims 7, 20, and 24 read on someone determining previous processing output to be used as input for further processing blocks such as an LLM.
Claims 25 and 26 read on someone creating a prompt that includes obtaining context and inputting the prompt into a LLM using a generic computer to obtain an output.
Claim Rejections - 35 USC § 102
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)(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.
Claims 1-7 and 14-24 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Cai et al. (US 20230112921 A1; hereinafter referred to as Cai).
Regarding claim 1, Cai teaches: a system comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor ([0110] The user computing device 102 includes one or more processors 112 and a memory 114), cause the system to perform a set of operations, the set of operations comprising: obtaining input to process ([0010] The operations include receiving an initial language input) according to a machine learning execution chain, wherein the machine learning execution chain includes a first machine learning block, a programmatic block ([0010] The model chain comprises a plurality of model instantiations of one or more machine-learned language models. Each model instantiation is configured to receive and process a model input to generate a model output), and a second machine learning block ([0019] the respective model input to at least one of the plurality of model instantiations in the model chain comprises: the model output from the sequentially previous model instantiation in the model chain; and the model output from one or more model instantiations in the model chain that each precede the sequentially previous model instantiation in the model chain);
generating, based on the input and a first prompt of the machine learning block, a first model output ([0010] Each model instantiation is configured to receive and process a model input to generate a model output, wherein at least a portion of the model input comprises a model prompt descriptive of a task performed by the model instantiation on the model input to generate the model output);
processing an instruction of the programmatic block ([0041] the provided user interface can enable the user to: construct and/or edit a new or existing model chain and/or view and edit the inputs, outputs, and/or prompts for each instantiation within the chain. The user input can be an instruction.) to generate programmatic output for the programmatic block of the machine learning execution chain ([0044] an interactive user interface can display a live visualization of the model chain structure and can allow users to customize chains at various levels. As examples, the user can be enabled to: iterate on or otherwise modify the local prompts per step; edit intermediate data transformed between steps; and/or reconstruct or modify the architecture of flow of the model chain);
generating, based on the programmatic output and the first model output ([0043] In a chain, a problem can be broken down into a number of smaller sub-tasks, each mapped to a distinct step with a corresponding prompt; results of one or more previous steps can be aggregated in the next step's input prompt. The output of the second model can use data from a previous programmatic output and first model output), a second model output for the second machine learning block of the machine learning execution chain ([0040] the present disclosure introduces the concept of chaining instantiations of machine-learned language models (e.g., LLMs) together, where the output of one instantiation becomes the input for the next, and so on, thus aggregating the gains per step);
and providing an indication of output for the machine learning execution chain in response to the obtained input ([0023] The method includes processing the initial language input with the model chain to generate the language output. The method includes providing, for display within the user interface, data indicative of the respective model output of one or more of the plurality of model instantiations in the model chain).
Regarding claim 2, Cai teaches: the system of claim 1, wherein: the second model output is generated using a second prompt of the second machine learning block ([0058] example systems and methods of the present disclosure can assist in resolving this issue by chaining multiple prompts together, so that the problem is broken down into a number of smaller sub-tasks, each mapped to a distinct step with a corresponding prompt. In particular, in FIG. 1B, while the underlying LLM remains the same as was used in FIG. 1A, by splitting presentation problems and ideating suggestions per problem into distinct subtasks), thereby generating the second model output ([0019] the respective model input to at least one of the plurality of model instantiations in the model chain comprises: the model output from the sequentially previous model instantiation in the model chain; and the model output from one or more model instantiations in the model chain that each precede the sequentially previous model instantiation in the model chain).
Regarding claim 3, Cai teaches: the system of claim 1, wherein generating the first model output comprises populating the first prompt with at least a part of the obtained input ([0010] Each model instantiation is configured to receive and process a model input to generate a model output, wherein at least a portion of the model input comprises a model prompt descriptive of a task performed by the model instantiation on the model input to generate the model output. A user can also edit a prompt to contain part of the obtained input.), thereby generating a prompt template for processing by a machine learning model associated with the first machine learning block ([0085] Some example implementations define prompt templates per operation primarily with task descriptions. They specify the desired model functionality in an application-agnostic manner with key verbs and placeholders for application-specific details, improving model generalization).
Regarding claim 4, Cai teaches: the system of claim 1, wherein generating the first model output comprises: providing, to a machine learning service ([0113] one or more machine-learned models 140 can be included in or otherwise stored and implemented by the server computing system 130 that communicates with the user computing device 102 according to a client-server relationship. For example, the machine-learned models 140 can be implemented by the server computing system 140 as a portion of a web service (e.g., a model creation/interaction service)), an indication of the input and the first prompt ([0026] enables a user to edit, for each of the one or more of the model instantiations, a respective prompt that forms a portion of the respective model input of the one or more of the model instantiations);
and receiving, from the machine learning service, the first model output for the first machine learning block ([0127] The machine-learned model(s) can process the text or natural language data to generate an output).
Regarding claim 5, Cai teaches: the system of claim 1, wherein the programmatic block includes branching logic that corresponds to one or more additional blocks of the machine learning execution chain ([0134] The output may comprise a text output which is mapped to the spoken utterance. In some cases, the task comprises encrypting or decrypting input data. In some cases, the task comprises a microprocessor performance task, such as branch prediction or memory address translation. Also see Fig. 4, which includes branching logic.).
Regarding claim 6, Cai teaches: the system of claim 1, wherein the programmatic block includes looping logic that causes the first prompt of the first machine learning block ([0043] in a chain, a problem can be broken down into a number of smaller sub-tasks, each mapped to a distinct step with a corresponding prompt; results of one or more previous steps can be aggregated in the next step's input prompt. Prompts can be repeated for subsequent blocks.) to be processed in a subsequent iteration of at least a part of the machine learning execution chain ([0120] The training computing system 150 can include a model trainer 160 that trains the machine-learned models 120 and/or 140 stored at the user computing device 102 and/or the server computing system 130 using various training or learning techniques, such as, for example, backwards propagation of errors... Gradient descent techniques can be used to iteratively update the parameters over a number of training iterations).
Regarding claim 7, Cai teaches: wherein the programmatic block of the machine learning execution chain includes a reference to output generated by a previous block of the machine learning execution chain other than the first machine learning block ([0043] In a chain, a problem can be broken down into a number of smaller sub-tasks, each mapped to a distinct step with a corresponding prompt; results of one or more previous steps can be aggregated in the next step's input prompt. Thus, chaining enables users to run one or more language models (e.g., in some cases the same LLM) on multiple sub-tasks, with each sub-task having a higher probability of success (e.g., as opposed to solving the entire task in one go). Also see Fig. 4, which uses previous output of blocks in subsequent blocks.).
Regarding claim 14, it recites similar limitations as claim 1 and therefore is rejected similarly.
Regarding claim 15, it recites similar limitations as claim 2 and therefore is rejected similarly.
Regarding claim 16, it recites similar limitations as claim 3 and therefore is rejected similarly.
Regarding claim 17, it recites similar limitations as claim 4 and therefore is rejected similarly.
Regarding claim 18, it recites similar limitations as claim 5 and therefore is rejected similarly.
Regarding claim 19, it recites similar limitations as claim 6 and therefore is rejected similarly.
Regarding claim 20, it recites similar limitations as claim 7 and therefore is rejected similarly.
Regarding claim 21, Cai teaches: a system comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor ([0110] The user computing device 102 includes one or more processors 112 and a memory 114), cause the system to perform a set of operations, the set of operations comprising: obtaining input to process ([0010] The operations include receiving an initial language input) according to a machine learning execution chain, wherein the machine learning execution chain includes a first machine learning block, a programmatic block ([0010] The model chain comprises a plurality of model instantiations of one or more machine-learned language models. Each model instantiation is configured to receive and process a model input to generate a model output), and a second machine learning block ([0019] the respective model input to at least one of the plurality of model instantiations in the model chain comprises: the model output from the sequentially previous model instantiation in the model chain; and the model output from one or more model instantiations in the model chain that each precede the sequentially previous model instantiation in the model chain);
generating, based on the input and a first prompt of the machine learning block, a first model output ([0010] Each model instantiation is configured to receive and process a model input to generate a model output, wherein at least a portion of the model input comprises a model prompt descriptive of a task performed by the model instantiation on the model input to generate the model output);
processing an instruction of the programmatic block ([0014] receiving, via the user interface, a user input that modifies the respective model output of the at least one of the model instantiations in the model chain; and modifying the respective model output in accordance with the user input prior to inputting the respective model output into a sequentially subsequent model instantiation in the model chain. The user input can be an instruction.) to generate programmatic output for the programmatic block of the machine learning execution chain ([0044] an interactive user interface can display a live visualization of the model chain structure and can allow users to customize chains at various levels. As examples, the user can be enabled to: iterate on or otherwise modify the local prompts per step; edit intermediate data transformed between steps; and/or reconstruct or modify the architecture of flow of the model chain);
generating, based on the programmatic output, the first model output ([0043] In a chain, a problem can be broken down into a number of smaller sub-tasks, each mapped to a distinct step with a corresponding prompt; results of one or more previous steps can be aggregated in the next step's input prompt. The output of the second model can use data from a previous programmatic output and first model output), and a second prompt of the second machine learning block ([0058] example systems and methods of the present disclosure can assist in resolving this issue by chaining multiple prompts together, so that the problem is broken down into a number of smaller sub-tasks, each mapped to a distinct step with a corresponding prompt), a second model output for the second machine learning block of the machine learning execution chain ([0040] the present disclosure introduces the concept of chaining instantiations of machine-learned language models (e.g., LLMs) together, where the output of one instantiation becomes the input for the next, and so on, thus aggregating the gains per step);
and providing an indication of output for the machine learning execution chain in response to the obtained input ([0023] The method includes processing the initial language input with the model chain to generate the language output. The method includes providing, for display within the user interface, data indicative of the respective model output of one or more of the plurality of model instantiations in the model chain).
Regarding claim 22, it recites similar limitations as claim 3 and therefore is rejected similarly.
Regarding claim 23, it recites similar limitations as claim 5 and therefore is rejected similarly.
Regarding claim 24, it recites similar limitations as claim 7 and therefore is rejected similarly.
Claim Rejections - 35 USC § 103
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.
Claims 25-26 are rejected under 35 U.S.C. 103 as being unpatentable over Cai, as applied to claims 1-7 and 14-24 above, and further in view of Khyatti (US 20250356218 A1).
Regarding claim 25, Cai teaches: the system of claim 1. Cai does not explicitly, but Khyatti discloses: wherein: the instruction of the programmatic block is to obtain, from a data source, additional grounding context ([0233] the task description may be accompanied by supplemental information, such as target output, context information, and guidelines, to add to directions provided by the task description for the machine learning model. Such supplemental information enables an output result that aligns closer with a target result of the user. For example, context information may be entered by the user 402 to provide considerations for the CoT meta-prompting process. Context information may include, for example, background information, particulars to be included in the task, reasons or applications for the task, a user perspective on the task, a setting and/or scope, etc);
and the programmatic output comprises the additional grounding context as input for processing by the second machine learning block ([0259] the backend builds a next prompt for the loop over steps based, at least in part, on one or more previous instructions outputs by the machine learning model in the CoT. The next prompt is input into the machine learning model, which executes the creation of the next instruction based on the inputted prompt).
Cai and Khyatti are considered analogous in the field of machine learning. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Cai to combine the teachings of Khyatti because doing so would improve chaining of different ML models for executing a specific task by allowing for more flexibility in the type of input used, such as contextual input, for the ML models (Khyatti [0207] For example, a prompt that recites, “Create instruction for the task X” may result in a JSON output representing the CoT. The updated model may be used to output an improved prompt for creating further CoT chains for a specific task).
Regarding claim 26, it recites similar limitations as claim 25 and therefore is rejected similarly.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Nathan Tengbumroong whose telephone number is (703)756-1725. The examiner can normally be reached Monday - Friday, 11:30 am - 8:00 pm 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, Hai Phan can be reached at 571-272-6338. 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. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. 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, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/NATHAN TENGBUMROONG/Examiner, Art Unit 2654
/HAI PHAN/Supervisory Patent Examiner, Art Unit 2654