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 .
Claim Rejections - 35 USC § 102
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 (i.e., changing from AIA to pre-AIA ) 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.
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-3, 5-11, 13-19 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Rambow et al. (US 12,619,399 B1).
As per claim 1, Rambow et al. teaches the invention as claimed including, “A computing apparatus comprising:
one or more computer readable storage media;
one or more processors operatively coupled with the one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media that, when executed by the one or more processors, direct the computing apparatus to at least:
in a debugging session, receive a user query relating to an exception in source code;”
Rambow et al. teaches an error resolution agent that generates a suggested resolution for a error. Errors can be submitted by the user in a variety of ways (column 5, lines 60- column 6, lines 1-12). Also see column 22, lines 59-61 and figure 12.
“elicit a response from a generative artificial intelligence (AI) model, wherein the generative AI model is tasked with identifying an interaction pattern of multiple interaction patterns for resolving the user query; and
based on the response from the generative AI model, mediate the debugging session in accordance with the interaction pattern identified by the generative AI model in the response.”
Rambow et al. teaches a method for generating solutions to a software development task. A description of the development task to make a change to a software system is received. Data associated with the software system is received from a data source and source code documentation and resource information are accessed. A large language model (LLM) is then prompted to identify at least one aspect of implementing the change to the software system which requires clarification from the user. The LLM identifies a question for the user which remains unanswered by the obtained data. The question is presented to the user and the answer to the question is received. The LLM is then prompted to respond to propose an implementation of the change to the software system at least based on the data associated with the software system and the answer received from the user (column 22, lines 43 – column 23, lines 1-48). Also see figure 12. Rambow et al. teaches an error resolution agent can gather additional details regarding the error in responses from the LLM and provide those responses in subsequent prompts (column 5, lines 60- column 6, lines 1-25). Also see column 11, lines 31-47 and column 23, lines 30-48, column 26, lines 61-column 27, lines 1-12). The LLM is prompted to generate an analysis of the error message. A suggested resolution is generated (column 28, lines 62- column 29, lines 1-14).
As Per claim 2, Rambow et al. further teaches, “The computing apparatus of claim 1, wherein to mediate the debugging session in accordance with the interaction pattern, the program instructions direct the computing apparatus to display an answer to the user query generated by the generative AI model in a user interface when the interaction is single-shot.”
Rambow et al. teaches a method for generating solutions to a software development task. A description of the development task to make a change to a software system is received. Data associated with the software system is received from a data source and source code documentation and resource information are accessed. A large language model (LLM) is then prompted to identify at least one aspect of implementing the change to the software system which requires clarification from the user. The LLM identifies a question for the user which remains unanswered by the obtained data. The question is presented to the user and the answer to the question is received. The LLM is then prompted to respond to propose an implementation of the change to the software system at least based on the data associated with the software system and the answer received from the user (column 22, lines 43 – column 23, lines 1-48). Also see column 11, lines 31-47 and column 23, lines 30-48, column 26, lines 61-column 27, lines 1-12). The LLM is prompted to generate an analysis of the error message. A suggested resolution is generated (column 28, lines 62- column 29, lines 1-14). Also see column 2, lines 52- column 3, lines 15.
As per claim 3, Rambow et al. further teaches, “The computing apparatus of claim 2, wherein to mediate the debugging session in accordance with the interaction pattern, the program instructions direct the computing apparatus to elicit one or more requests from the generative AI model by which to resolve the exception when the interaction pattern is multi-turn.”
Rambow et al. teaches a method for generating solutions to a software development task. A description of the development task to make a change to a software system is received. Data associated with the software system is received from a data source and source code documentation and resource information are accessed. A large language model (LLM) is then prompted to identify at least one aspect of implementing the change to the software system which requires clarification from the user. The LLM identifies a question for the user which remains unanswered by the obtained data. The question is presented to the user and the answer to the question is received. The LLM is then prompted to respond to propose an implementation of the change to the software system at least based on the data associated with the software system and the answer received from the user (column 22, lines 43 – column 23, lines 1-48). Also see figure 12.
As per claim 5, Rambow et al. further teaches, “The computing apparatus of claim 1, wherein the program instructions further direct the computing apparatus to elicit from the generative AI model follow-on suggestions for selection by the user in a user interface.”
Rambow et al. teaches a method for generating solutions to a software development task. A description of the development task to make a change to a software system is received. Data associated with the software system is received from a data source and source code documentation and resource information are accessed. A large language model (LLM) is then prompted to identify at least one aspect of implementing the change to the software system which requires clarification from the user. The LLM identifies a question for the user which remains unanswered by the obtained data. The question is presented to the user and the answer to the question is received. The LLM is then prompted to response to propose an implementation of the change to the software system at least based on the data associated with the software system and the answer received from the user (column 22, lines 43 – column 23, lines 1-48).
As per claim 6, Rambow et al. further teaches, “The computing apparatus of claim 1, wherein to mediate the debugging session in accordance with the interaction pattern, the program instructions direct the computing apparatus to execute a multi-agent workflow, wherein to execute the multi-agent workflow, the program instructions direct the computing apparatus to call a collaborative agent when the interaction pattern is multi-turn, wherein the collaborative agent prompts the generative AI model to host a conversational exchange between the generative AI model and the user.
Rambow et al. teaches a chat interface 106 that interfaces 111 with a prompt and response engineering system 112 that contains agents 122. See figures 1 and 2. The prompt and response engineering system includes agents. Agents include various task-specific agents as well as other generate agents that support SDS interactions with an LLM. Task-specific agents formalize various software development effort worfkflows, operating to expand user prompts, curate LLM responses, and provide the LLM with additional context often without user intervention. Context aggregators retrieve additional data that the agents can use to expand prompts or to otherwise provide to an LLM as conversation context to improve the relevance of the LLM response (column 11, lines 32-43). Also see column 22, lines 43 – column 23, lines 1-48.
As per claim 7, Rambow et al. further teaches, “The computing apparatus of claim 6, wherein to execute a multi-agent workflow, the program instructions further direct the computing apparatus to call a responder agent when the interaction pattern is single-shot, wherein the responder agent prompts the generative AI model to generate an answer to the user query.”
Rambow et al. teaches a method for generating solutions to a software development task. A description of the development task to make a change to a software system is received. Data associated with the software system is received from a data source and source code documentation and resource information are accessed. A large language model (LLM) is then prompted to identify at least one aspect of implementing the change to the software system which requires clarification from the user. The LLM identifies a question for the user which remains unanswered by the obtained data. The question is presented to the user and the answer to the question is received. The LLM is then prompted to response to propose an implementation of the change to the software system at least based on the data associated with the software system and the answer received from the user (column 22, lines 43 – column 23, lines 1-48). Rambow et al. teaches a chat interface 106 that interfaces 111 with a prompt and response engineering system 112 that contains agents 122. See figures 1 and 2. The prompt and response engineering system includes agents. Agents include various task-specific agents as well as other generate agents that support SDS interactions with an LLM. Task-specific agents formalize various software development effort workflows, operating to expand user prompts, curate LLM responses, and provide the LLM with additional context often without user intervention. Context aggregators retrieve additional data that the agents can use to expand prompts or to otherwise provide to an LLM as conversation context to improve the relevance of the LLM response (column 11, lines 32-43).
As per claim 8, Rambow et al. further teaches, “The computing apparatus of claim 7, wherein the program instructions further direct the computing apparatus to call a context retrieval agent, wherein the context retrieval agent prompts the generative AI model to generate a script by which to retrieve contextual information for prompts to host the conversational exchange between the generative AI model and the user.”
Rambow et al. teaches a chat interface 106 that interfaces 111 with a prompt and response engineering system 112 that contains agents 122. See figures 1 and 2. The prompt and response engineering system includes agents. Agents include various task-specific agents as well as other generate agents that support SDS interactions with an LLM. Task-specific agents formalize various software development effort workflows, operating to expand user prompts, curate LLM responses, and provide the LLM with additional context often without user intervention. Context aggregators retrieve additional data that the agents can use to expand prompts or to otherwise provide to an LLM as conversation context to improve the relevance of the LLM response (column 11, lines 32-43).
As per claims 11, 13-16 and 19, they contain similar limitations to claims 3, 5-8 and are rejected for the same reasons.
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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.
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 4, 12 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Rambow et al. (US 12,619,399 B1).
As per claim 4, Rambow et al. further teaches, “The computing apparatus of claim 3, wherein the program instructions further direct the computing apparatus to elicit a script from the generative AI model by which to retrieve contextual information for prompts to elicit the one or more requests from the generative AI model.” Rambow et al. teaches a method for generating solutions to a software development task. A description of the development task to make a change to a software system is received. Data associated with the software system is received from a data source and source code documentation and resource information are accessed. A large language model (LLM) is then prompted to identify at least one aspect of implementing the change to the software system which requires clarification from the user. The LLM identifies a question for the user which remains unanswered by the obtained data. The question is presented to the user and the answer to the question is received. The LLM is then prompted to response to propose an implementation of the change to the software system at least based on the data associated with the software system and the answer received from the user (column 22, lines 43 – column 23, lines 1-48). Also see figure 12. The examiner states that it would have been obvious to one of ordinary skill in the art at the time of the invention for the identified question from the LLM to be displayed to the user to receive a response would be some type of script that is run to display a question and to receive a response. Running a script to collect data is well known to one of ordinary skill in the art and would have been obvious to try.
As per claims 12 and 20, they contain similar limitations to claim 4 and is therefore rejected for the same reasons.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Zangrilli et al. (US 2025/0131235 A1), teaches a user can make a query for a target operation. Intent of the query is determined and a workflow including operations required for responding to the intent is determined. A workflow orchestrator schedules a sequence of operations, identify information needed to complete the target operation, and generates a prompt to a large language model. The large language model processes the prompt and generates a response (abstract).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARK A GOORAY whose telephone number is (571)270-7805. The examiner can normally be reached Monday - Friday 10:00am - 6:00pm.
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, Lewis Bullock can be reached at 571-272-3759. 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.
/MARK A GOORAY/ Examiner, Art Unit 2199
/LEWIS A BULLOCK JR/ Supervisory Patent Examiner, Art Unit 2199