Code development method and apparatus, and electronic device

CN122985128APending Publication Date: 2026-10-27HANGZHOU ALIBABA INT INTERNET IND CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610913381.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-23
Publication Date
2026-10-27

AI Technical Summary

Technical Problem

传统的开发由于是由程序员完成的,因此与其它环节协作并不是难题,而如今由AI编辑器进行开发时,就会面临无法协作的问题

Benefits of technology

[0024]本说明书实施例,提供了一种代码开发方案,通过将具有自动编程能力的代码编辑器集成到代码开发的平台,由平台中集成的多模态生成式模型自动生成项目开发所需的开发规范,并由平台将该开发规则注入到代码编辑器,整个过程都是自动化完成的,无需用户手动介入,实现了开发流程的自动化和规范化。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122985128A_ABST
    Figure CN122985128A_ABST
Patent Text Reader

Abstract

The embodiment of the present specification provides a code development method and device and electronic equipment. The method is applied to a platform for code development, the platform integrates a code editor with automatic programming capability and a multi-modal generative model, and the method comprises the following steps: receiving a request for code development of a target project, obtaining project information of the target project corresponding to the request; inputting the project information into the multi-modal generative model, and guiding the multi-modal generative model to determine a development specification for code development according to the project information; deploying the development specification output by the multi-modal generative model to the code editor, so that the code editor develops codes based on the development specification, and obtains project codes developed by the code editor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments in this specification relate to the field of computer technology, and in particular to a code development method, apparatus, and electronic device. Background Technology

[0002] With the popularization of AI technology, product code that traditionally requires programmers can gradually be generated by AI editors. While using AI editors can improve development efficiency, it also presents other challenges: From a product delivery perspective, development is only one part of the overall delivery process, and it typically requires programmers to collaborate with other teams. Traditional development, being done by programmers, didn't present a problem in terms of collaboration with other teams. However, when developing with an AI editor, collaboration becomes an issue.

[0003] For example, before formal development begins, there needs to be a discussion about development process specifications, such as defining product requirements, UI design, and development rules. The results of this discussion need to be injected into the AI ​​editor's development environment so that the code programmed after formal development begins conforms to the development process specifications. Summary of the Invention

[0004] This specification provides a code development method, apparatus, and electronic device through its embodiments.

[0005] According to a first aspect of the embodiments of this specification, a code development method is provided, applied to a code development platform, the platform integrating a code editor with automatic programming capabilities and a multimodal generative model, the method comprising: Receive a request to develop code for a target project, and obtain project information of the target project corresponding to the request; The project information is input into the multimodal generative model, and the multimodal generative model is guided to determine the development specifications for code development based on the project information; The development specifications output by the multimodal generative model are deployed to the code editor, so that the code editor can develop code based on the development specifications and obtain the project code developed by the code editor.

[0006] Optionally, the method further includes: The system receives the project code uploaded by the code editor, inputs the project code into the multimodal generative model, and guides the multimodal generative model to perform code testing on the project code. Based on the test results output by the multimodal generative model, determine whether the project code passes verification.

[0007] Optionally, the platform also integrates a knowledge base; the method further includes: When the test result is a pass verification, the multimodal generative model is guided to generate reusable development specifications based on the project code; The reusable development specifications are written into the knowledge base.

[0008] Optionally, the platform also integrates a knowledge base, which stores reusable development specifications; Before inputting the project information into the multimodal generative model and guiding the multimodal generative model to determine the development specifications for code development based on the project information, the process also includes: The knowledge base is queried to determine if there are any development specifications related to the project information. If it exists, deploy the retrieved development specifications to the code editor; If it does not exist, the project information is input into the multimodal generative model, and the multimodal generative model is guided to determine the development specifications for code development based on the project information.

[0009] Optionally, the project information includes the rules, skills, and / or knowledge required to develop the target project; The step of querying the knowledge base to see if there are any development specifications related to the project information includes: The knowledge base is queried to determine if there are any development specifications that match the rules, skills, and / or knowledge.

[0010] Optionally, the development specifications are deployed to the code editor, including: deploying the development specifications to a specified path in the workspace of the code editor, so that the code editor automatically loads the development specifications deployed in the specified path when it starts.

[0011] Optionally, the platform integrates a code editor with automatic programming capabilities, including: the platform integrates at least two code editors with automatic programming capabilities; After inputting the project information into the multimodal generative model, the method further includes: The multimodal generative model is guided to determine the development tasks assigned to the at least two code editors based on the project information; wherein each of the at least two code editors corresponds to at least one development task; The step of deploying the development specifications output by the multimodal generative model to the code editor, so that the code editor can perform code development based on the development specifications, includes: The development specifications and development tasks output by the multimodal generative model are deployed to the at least two code editors, so that each code editor performs code development based on the development specifications and the assigned development tasks.

[0012] Optionally, the platform also integrates a task management module; the method further includes: Receive development progress reports from any code editor and synchronize the development progress to the task management module; The system receives a query request for the development progress of the target project, queries the task management module for the development progress of each code editor, and displays the development progress in a visual format.

[0013] Optionally, there is a dependency between the development tasks assigned to the at least two code editors; the method further includes: When any code editor is waiting to execute the current development task, query the task management module for the development progress of the target development task that is dependent on the current development task; If the development progress of the target development task is completed, then an execution instruction is returned to the code editor so that the code editor can execute the current development task; If the development progress of the target development task is incomplete, a waiting instruction is returned to the code editor, and when the development progress of the target development task is updated to complete, the execution instruction is returned to the code editor.

[0014] Optionally, the platform also integrates a file management module; the file management module is used to manage all accessible files connected to the platform; the method further includes: Receive a lock request for a target file from any code editor and query the file management module for the status of the target file; If the target file is unlocked, the file management module will change the target file to locked and record the code editor corresponding to the locked state; the locked target file can only be accessed by the code editor.

[0015] Optionally, the method further includes: If the target file is locked, then query the target code editor corresponding to the locked state of the target file; Determine the priority of the target code editor relative to the current code editor; If the current code editor has a higher priority, then the lock status of the target file will be updated to match the current code editor.

[0016] Optionally, the code editor and the platform interact with each other via a two-way communication protocol.

[0017] Optionally, the bidirectional communication protocol includes the MCP communication protocol, and the code editor and the platform interact with each other via the bidirectional communication protocol, including at least one of the following: The code editor reports the test results to the platform through the test result interface provided by the MCP communication protocol; The code editor reports the problem information found during the testing process to the platform through the problem reporting interface provided by the MCP communication protocol; The code editor reports the project code to the platform through the project output interface provided by the MCP communication protocol; The code editor reports the changed code of the project code to the platform through the code change interface provided by the MCP communication protocol.

[0018] Optional, also includes: Output the orchestration interface of the development process of the target project; the orchestration interface is used for users to customize process nodes and arrange the execution order between different process nodes.

[0019] According to a second aspect of the embodiments of this specification, a code development system is provided, the code development system integrating a code editor with automatic programming capabilities, as well as a multimodal generative model, a task management module, a file management module, and a knowledge base module; The multimodal generative model is used to determine the development specifications for code development based on the project information of the target project. The code editor is used for code development based on the development specifications; The task management module is used to manage the development progress of the target project across different code editors; The file manager is used to manage files connected to the code development system, and manages the code editors that can access the files through file locks; The knowledge base module is used to store reusable development specifications.

[0020] According to a third aspect of the embodiments of this specification, a code development apparatus is provided, which is applied to a code development platform. The platform integrates a code editor with automatic programming capabilities and a multimodal generative model. The apparatus includes: The receiving unit receives a request for code development for a target project and obtains project information of the target project corresponding to the request. The determining unit inputs the project information into the multimodal generative model and guides the multimodal generative model to determine the development specifications for code development based on the project information; The development unit deploys the development specifications output by the multimodal generative model to the code editor, so that the code editor can develop code based on the development specifications and obtain the project code developed by the code editor.

[0021] According to a fourth aspect of the embodiments of this specification, an electronic device is provided, comprising: processor; Memory used to store processor-executable instructions; The processor is configured to use any of the above-mentioned code development methods.

[0022] According to a fifth aspect of the embodiments of this specification, a computer-readable storage medium is provided, which, when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, enables the electronic device to perform the method of any of the above-described code developments.

[0023] According to a sixth aspect of the embodiments of this specification, a computer program product is provided, including a computer program or instructions that, when executed by a processor, implement the method of any of the above-described code developments.

[0024] This specification provides a code development solution by integrating a code editor with automatic programming capabilities into a code development platform. The multimodal generative model integrated in the platform automatically generates the development specifications required for project development, and the platform injects these development rules into the code editor. The entire process is automated and requires no manual intervention from the user, thus achieving automation and standardization of the development process. Attached Figure Description

[0025] Figure 1 This is a schematic diagram of the architecture of a code development system or platform provided in one embodiment of this specification; Figure 2 This is a schematic diagram of a process specification-driven development pipeline provided in one embodiment of this specification; Figure 3 This is a flowchart of a code development method provided in one embodiment of this specification; Figure 4 This is a flowchart illustrating the collaboration between a file lock and a code editor, as provided in one embodiment of this specification. Figure 5 This is a structural diagram of an electronic device provided in one embodiment of this specification; Figure 6 This is a module of the code development apparatus provided in one embodiment of this specification. Detailed Implementation

[0026] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this specification as detailed in the appended claims.

[0027] The terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of this specification. The singular forms “a,” “the,” and “the” as used in this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

[0028] It should be understood that although the terms first, second, third, etc., may be used in this specification to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this specification, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0029] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this manual are all information and data authorized by the user or fully authorized by all parties. The collection, use and processing of related data shall comply with the relevant laws, regulations and standards of the relevant regions, and corresponding operation portals shall be provided for users to choose to authorize or refuse.

[0030] In the feature delivery process, collaboration among product, design, R&D, engineering, and testing teams is becoming increasingly frequent. With the widespread adoption of AI-assisted programming, teams are increasingly relying on AI editors (such as Cursor, Claude Code, and Qoder) to improve work efficiency. However, current collaborative work faces several challenges: First, knowledge and experience are difficult to effectively accumulate and integrate. Discussions about requirements and design often circulate within chat tools, relying on manual documentation, making it difficult to continuously form structured assets. Valuable experiences, such as pitfalls encountered during projects, are scattered in chat logs and lost when projects end. The lack of knowledge management and integration mechanisms makes it difficult to reuse existing experience when starting new projects, leading to a serious problem of repeating past mistakes.

[0031] Secondly, the AI ​​editor is disconnected from task management. Developers need to manually copy and paste requirements into the AI ​​editor, which can easily lead to the omission of contextual information and affect development quality. There is a lack of a unified task distribution and progress tracking mechanism among multiple AI editors. Assets lack a self-reporting mechanism, and data such as test results, issues (development experience), and code changes are difficult to collect automatically.

[0032] Secondly, collaborative development across multiple Git projects is difficult. Kanban boards (Markdown files) for different projects are scattered across various locations, making it difficult to view and manage progress uniformly. Development standards (coding conventions, Git guidelines, etc.) between teams rely on manual copying and passing, resulting in high maintenance costs and hindering the formation of a compounding effect.

[0033] Furthermore, the testing and acceptance phases are disconnected. Test results and acceptance checklists are stored in a scattered manner, lacking a unified tracking and statistical mechanism. When multiple editors collaborate, conflicts easily arise when multiple people modify the same file simultaneously, and there is a lack of effective conflict detection and arbitration mechanisms.

[0034] Existing solutions typically address single pain points and lack a systematic, holistic approach. For example, some tools offer task dashboards but do not support AI editor integration; some tools support knowledge bases but lack automatic knowledge accumulation and intelligent injection capabilities; and some tools support multiple editors but lack file locking mechanisms.

[0035] Cursor is an AI code editor that provides AI-assisted programming features, but it lacks multi-editor collaboration and knowledge accumulation mechanisms.

[0036] Claude Code:Anthropic's official CLI tool supports AI-assisted development, but does not support multi-project management or specification injection.

[0037] GitHub Copilot: An AI code completion tool, but it does not support task management or knowledge accumulation.

[0038] Linear: A task management tool that provides Kanban boards and progress tracking, but does not support AI editor integration or knowledge accumulation.

[0039] Notion: A knowledge base tool that supports document management, but lacks standardized development processes and AI editor collaboration.

[0040] Jira: A project management tool that supports Kanban boards and task tracking, but does not support AI editor integration and smart injection.

[0041] openclaw: An AI-powered intelligent assistant that can self-plan and fulfill user needs, but lacks a more user-friendly standard operating procedure (SOP) work experience within a long development process with specific paradigms.

[0042] OpenSPEC and SPEC-Kit are file assistants that can generate proposal files and task files through user-initiated triggers. However, they are fixed in type, lack user-defined knowledge capabilities, self-summarization capabilities, and a knowledge hub.

[0043] In response to the various problems faced by the aforementioned code editors, this application proposes a systematic solution that can integrate different software functions to automatically and collaboratively complete code development, ultimately achieving automation and standardization of the development process.

[0044] Please refer to the following: Figure 1 This manual provides an architectural diagram of the code development system or platform provided. For example... Figure 1 As shown, the system or platform integrates a code editor with automatic programming capabilities and a multimodal generative model; The multimodal generative model is used to determine the development specifications for code development based on the project information of the target project; the code editor is used to develop code based on the development specifications. The code editor can be one or more, such as, but not limited to, Cursor, Claude Code, and GitHub Copilot. Similarly, the multimodal generative model can also be one or more, such as, but not limited to, Tongyi Qianwen and GPT-4.

[0045] Multimodal generative models can generate development specifications required for code development, which the platform then injects into the code editor so that the code editor can develop code based on the specifications, thus achieving automated code development.

[0046] like Figure 1 As shown, the system or platform can also integrate task management modules, file management modules, knowledge base modules, etc.

[0047] The knowledge base module is used to store and manage reusable development specifications derived from accumulated knowledge. This knowledge base module includes, but is not limited to, the aforementioned Notion.

[0048] The task management module is used to manage the development progress of various projects and code editors after task assignment, thereby realizing the task management function. The task management module includes, but is not limited to, the aforementioned Linear and Jira.

[0049] The file management module is used to manage the files accessible on the platform. It manages the code editors that can access the files through file locks to avoid access conflicts.

[0050] Please refer to the following: Figure 3 This specification introduces embodiments of the code development method provided, applied to a code development platform. The platform integrates a code editor with automated programming capabilities and a multimodal generative model. The method may include: Step 210: Receive a request to develop code for the target project and obtain the project information of the target project corresponding to the request; Step 220: Input the project information into the multimodal generative model and guide the multimodal generative model to determine the development specifications for code development based on the project information; Step 230: Deploy the development specifications output by the multimodal generative model to the code editor, so that the code editor can develop code based on the development specifications and obtain the project code developed by the code editor.

[0051] First, as previously introduced Figure 1 The code development platform shown Figure 1 In this context, a development pipeline refers to a logical process orchestrated according to the project development lifecycle. Through a development pipeline, the platform can automatically execute each stage of project development in a step-by-step manner, avoiding errors.

[0052] like Figure 2 The diagram illustrates a process-driven development pipeline that covers nine stages of project development: requirements gathering, UI (interface) design, development rules, development knowledge, requirements decomposition, task assignment, development execution, testing and acceptance, and knowledge accumulation. The reusable data generated from knowledge accumulation can then feed back into requirements gathering, improving its efficiency and preventing the reinvention of processes.

[0053] In this application, each stage can have clearly defined outputs and acceptance criteria to ensure structured outputs. For example: The requirements discussion phase generates a requirements document; this requirements document allows you to set the data format that the code editor can load.

[0054] For the task assignment stage, a task list is generated; this task list can contain the dependencies between tasks, which are used for dependency verification during task progress.

[0055] For the testing and acceptance phase, a test acceptance report is generated.

[0056] Regarding the knowledge accumulation stage, the output is a reusable development specification derived from experience. This development specification can be archived in a knowledge base.

[0057] In this application, the code development platform supports the custom orchestration of the aforementioned development pipeline, thereby freeing up users' time in a paradigmatic office environment.

[0058] In one exemplary embodiment, the above method may further include: Output the orchestration interface of the development process of the target project; the orchestration interface is used for users to customize process nodes and arrange the execution order between different process nodes.

[0059] For example, for step 220, a custom process node 1 for defining development specifications can be defined; for step 230, a custom process node 2 for code development can be defined; and for code testing that may be involved after step 230, a custom process node 3 for code testing can be defined, with the execution order arranged as follows: process node 1, process node 2, and process node 3. It should be noted that each process node can have several agents added, and each agent can have its own knowledge base. For example, an agent for the multimodal generative model can be configured for process node 1, and an agent for code testing can be configured for process node 3, etc. After configuring the development process, the user can upload project information related to the target project to be developed to the platform and trigger a code development request on the platform. Upon receiving the request, the platform automatically generates the development specifications required for code development based on the uploaded project information and the multimodal generative model integrated into the platform.

[0060] Because multimodal generative models support different types of data, the platform can support different types of project information, such as documents in various formats (e.g., Word, PDF, TXT), as well as audio and video information containing project information.

[0061] In this application, the development specifications may include one or a combination of the following: Rules, also known as the development constitution, are used to define coding conventions, Git specifications, test constraints, and other standards. Skills: Also known as project skills (such as Spec-Driven, git-workflow, etc.).

[0062] Knowledge, also known as project knowledge (such as specialized names, terms, and specific vocabulary within the project's field), is typically archived by project.

[0063] After obtaining the development specifications of the multimodal generative model output, the platform deploys the development specifications to a specified path in the code editor's workspace, so that the code editor will automatically load the development specifications deployed in the specified path when it starts up, and automatically complete the code development based on the development specifications.

[0064] Different types of development specifications have corresponding write addresses in the workspace: For example, the write addresses for Rules are ".cursor / rules / dev-rules.mdc", "CLAUDE.md", and ".github / copilot-instructions.md"; The write address for Skills is ".otia / skills.json".

[0065] After introducing the code development process, such as Figure 2 As shown, it also includes a testing and acceptance phase.

[0066] In one exemplary embodiment, after step 230, the following may also be performed: The system receives the project code uploaded by the code editor, inputs the project code into the multimodal generative model, and guides the multimodal generative model to perform code testing on the project code. Based on the test results output by the multimodal generative model, determine whether the project code passes verification.

[0067] In implementation, the code editor uploads the project code to the platform via the data reporting interface provided by the aforementioned two-way communication protocol. After receiving the project code, the platform automatically performs code testing using the multimodal generative model integrated into the platform. This achieves automated testing of the project code.

[0068] In one exemplary embodiment, the platform further integrates a knowledge base; the method further includes: When the test result is a pass verification, the multimodal generative model is guided to generate reusable development specifications based on the project code; The reusable development specifications are written into the knowledge base.

[0069] In this embodiment, when the project code passes the test, it indicates that the target project has met the acceptance criteria. At this point, a multimodal generative model can be used to identify reusable development specifications in the project code and archive them into a knowledge base to achieve automated knowledge accumulation. Furthermore, the development specifications in the knowledge base can provide a reference for subsequent project development, improving project development efficiency.

[0070] In this application, different knowledge assets in the development specifications can be stored in different directories of the knowledge base and managed hierarchically: For example, the .otia / features / directory is used to store: feature files; The .otia / requirements / directory is used to store requirement files; The .otia / decisions / directory is used to store decision records. The .otia / pitfalls / directory is used to store records of pitfalls encountered. The .otia / patterns / directory is used to store project patterns; The .otia / contracts / directory is used to store interface contracts; The directory .otia / test-specs / is used to store test specifications; The .otia / reports / directory is used to store raw data reported based on MCP. The directory .otia / test-registry.json / is used to store the test case registry.

[0071] Layered management makes it easier to manage and maintain knowledge assets in the knowledge base, facilitates quick access to required development standards in the code editor, and improves knowledge reuse rate.

[0072] Regarding the aforementioned knowledge reuse, in an exemplary embodiment, prior to step 220, the following may also be included: The knowledge base is queried to determine if there are any development specifications related to the project information. If it exists, deploy the retrieved development specifications to the code editor; If it does not exist, proceed with step 220.

[0073] This application has completed reusable development specifications in projects through knowledge accumulation, and has also injected reusable development specifications into new projects, thereby forming a continuously value-added knowledge asset circulation mechanism and realizing the knowledge flywheel effect (as the development specifications in the knowledge base become richer and richer, the development needs of most projects can be met without the need to manually add new development specifications).

[0074] The project information may include the rules, skills and / or knowledge required to develop the target project; The step of querying the knowledge base to see if there are any development specifications related to the project information includes: The knowledge base is queried to determine if there are any development specifications that match the rules, skills, and / or knowledge.

[0075] As previously introduced, development specifications can be categorized into rules, skills, and knowledge. Therefore, this embodiment provides query methods based on three different matching dimensions—rules, skills, and knowledge—required for a development project to retrieve reusable development specifications from the knowledge base. For example, relevant development specifications can be retrieved from the knowledge base using methods such as Retrieval-augmented Generation (RAG).

[0076] If reusable development rules can be found, the development specifications in the knowledge base can be used directly for deployment. If no reusable development rules can be found, or only some development rules can be found, the remaining development rules can be generated by the multimodal generative model from step 220 to generate the development rules required for the target project.

[0077] It is understandable that a prompt message can be constructed to guide the multimodal generative model in determining the development specifications for code development based on the project information. For example, after obtaining the project information, the project information and a prompt template can be assembled to obtain a complete prompt, which can then be used as the model input for the multimodal generative model, thereby obtaining the development specifications generated by the multimodal generative model.

[0078] In one exemplary embodiment, the platform integrates a code editor with automatic programming capabilities, including: the platform integrates at least two code editors with automatic programming capabilities; After inputting the project information into the multimodal generative model, the method further includes: The multimodal generative model is guided to determine the development tasks assigned to the at least two code editors based on the project information; wherein each of the at least two code editors corresponds to at least one development task; The step of deploying the development specifications output by the multimodal generative model to the code editor, so that the code editor can perform code development based on the development specifications, includes: The development specifications and development tasks output by the multimodal generative model are deployed to the at least two code editors, so that each code editor performs code development based on the development specifications and the assigned development tasks.

[0079] exist Figure 2The development pipeline shown also includes a task assignment stage. This stage breaks down the complete development task of the target project into several different development tasks based on the requirements breakdown, and then assigns these different development tasks to different code editors. Typically, one code editor can correspond to one development task, or one code editor can correspond to multiple development tasks. The specific assignment strategy can be based on a load balancing strategy. When assigning development tasks, matching can be based on the compatibility between the code editor and the development task. For example, if a code editor is good at handling code development related to data interaction, then code development tasks related to data interaction can be assigned to that code editor; similarly, if a code editor is good at code development related to UI design, then code development tasks related to UI design can be assigned to that code editor.

[0080] Through this embodiment, the platform can enable multiple code editors to collaborate on code development by assigning tasks, which can significantly improve the speed of code development.

[0081] In one exemplary embodiment, the platform further integrates a task management module; the method further includes: Receive development progress reports from any code editor and synchronize the development progress to the task management module; The system receives a query request for the development progress of the target project, queries the task management module for the development progress of each code editor, and displays the development progress in a visual format.

[0082] In this embodiment, the task management module is used to manage the development progress of each code editor, so that when a query for development progress is received, the development progress of each code editor can be displayed in a visual form.

[0083] For example, in addition to showing the development progress, other information can also be displayed, such as: All projects are categorized into four statuses: pending development, ready, in progress, and completed.

[0084] Task dependency refers to the relationship between different tasks within the same project. For example, task A depends on the completion of task B before it can be executed.

[0085] The development pipeline progress shows which of the nine stages it is currently in.

[0086] The dashboard spans multiple projects and can display the total number of projects, a summary of ongoing projects, and a summary of completed projects.

[0087] Test coverage statistics include test execution and pass / fail status by task.

[0088] The development experience (Issue) tracking showcases bugs, improvements, and lessons learned during the development process.

[0089] By displaying the above information, users can gain a comprehensive understanding of the details of each project on the platform, making it easier for them to implement precise project management.

[0090] In one exemplary embodiment, there is a dependency between the development tasks assigned to the at least two code editors; the method further includes: When any code editor is waiting to execute the current development task, query the task management module for the development progress of the target development task that is dependent on the current development task; If the development progress of the target development task is completed, then an execution instruction is returned to the code editor so that the code editor can execute the current development task; If the development progress of the target development task is incomplete, a waiting instruction is returned to the code editor, and when the development progress of the target development task is updated to complete, the execution instruction is returned to the code editor.

[0091] In this embodiment, by setting dependencies between development tasks and performing dependency checks before any development task is executed, the development tasks are ensured to be executed in the correct order, thereby improving the collaboration efficiency between multiple code editors.

[0092] In one exemplary embodiment, reliable data interaction between the code editor and the platform can be achieved through a bidirectional communication protocol.

[0093] In this application, the bidirectional communication protocol may include, but is not limited to, the following: Figure 1 The MCP (Model Context Protocol) communication protocol is shown in the image. The MCP communication protocol is used to build a two-way bridge between the code editor and each execution stage, enabling automated data retrieval and reporting capabilities.

[0094] For data retrieval capabilities, this can be achieved through data retrieval interfaces provided by a two-way communication protocol (generally named GET class interfaces). Furthermore, data retrieval interfaces can be further subdivided to accommodate different functionalities. Assuming the platform is Otia: For example, there is the interface otia_get_task for pulling tasks; the interface otia_get_context for pulling project context; and the interface otia_get_changes for pulling requirement changes.

[0095] For data reporting capabilities, it can be implemented through the data reporting interface (generally named the report class interface) provided by the bidirectional communication protocol, and can also be further subdivided into data reporting interfaces with different functions: For example, there is the interface otia_report_test for reporting test results; the interface otia_report_issue for reporting issues; the interface otia_report_output for reporting task outputs; and the interface otia_report_diff for reporting code changes.

[0096] Based on this, in an exemplary embodiment, the code editor and the platform interact with each other via a bidirectional communication protocol, including at least one of the following: The code editor reports the test results to the platform through the test result interface (otia_report_test) provided by the MCP communication protocol; The code editor reports the issues discovered during testing to the platform through the issue reporting interface (otia_report_issue) provided by the MCP communication protocol; The code editor reports the project code to the platform through the project output interface (otia_report_output) provided by the MCP communication protocol; The code editor reports the changed code of the project code to the platform through the code change interface (otia_report_diff) provided by the MCP communication protocol.

[0097] Through a two-way communication protocol, the code editor can automatically retrieve data and, after completing an action, automatically call the data reporting interface to report test results, development experience (problems), code changes, and other data, without manual intervention, thus achieving automated data collection and aggregation.

[0098] In one exemplary embodiment, the platform further integrates a file management module; the file management module is used to manage all accessible files connected to the platform; the method further includes: Receive a lock request for a target file from any code editor and query the file management module for the status of the target file; If the target file is unlocked, the file management module will change the target file to locked and record the code editor corresponding to the locked state; the locked target file can only be accessed by the code editor.

[0099] like Figure 4 As shown, the process of code editor 1 accessing the target file is as follows: Step 501: Code editor 1 requests the file management module to lock the target file; Step 502: The file management module checks the status of the target file; Step 503: When the target file is not locked, use a file lock to lock the target file so that the target file's status is changed to locked; Step 504: The file management module returns a message indicating successful locking to code editor 1; Step 504: The file management module records the locking information, that is, it records the code editor 1 corresponding to the locking status of the target file.

[0100] Since the target file is locked by code editor 1, only code editor 1 can access the target file at this time.

[0101] Through the above embodiments, the file management module can use file locks to limit the access of a target file to only one code editor at a time. This can mitigate the risk of data conflicts when multiple code editors access the same file simultaneously. For example, if a code editor modifies some data in the file, and the modified data cannot be synchronized to other code editors in real time, if other code editors still reference the data before the modification, this will result in a discrepancy with the modified data, leading to a data conflict.

[0102] In one exemplary embodiment, the method further includes: If the target file is locked, then query the target code editor corresponding to the locked state of the target file; Determine the priority of the target code editor relative to the current code editor; If the current code editor has a higher priority, then the lock status of the target file will be updated to match the current code editor.

[0103] like Figure 4 As shown, if code editor 2 also wants to access the target file when it is already locked by code editor 1, the access can include the following: Step 511: Code editor 2 requests the file management module to lock the target file; Step 512: The file management module checks the status of the target file; Step 513, the target file is locked; Step 514: The file management module returns a message indicating that locking failed to occur to the code editor 2.

[0104] Step 515: Code editor 2 requests the file management module to forcibly release the file lock of the target file, triggering arbitration.

[0105] The arbitration process involves the file management module determining which of the two code editors, code editor 1 and code editor 2, has access to the target file. If code editor 1 wins the arbitration, code editor 2's forced release fails, and it still cannot access the target file. However, if code editor 2 wins the arbitration, the file lock on the target file is forcibly released, and step 516 is executed.

[0106] Step 516: Update the lock status of the target file from the locked state of being locked by code editor 1 to the unlocked state, and further update it to the locked state of being locked by code editor 2.

[0107] Step 517, return "Release successful"; In step 518, the file management module returns a message indicating successful locking to code editor 2. At this point, only code editor 2 can access the target file.

[0108] Through the above embodiments, the file management module performs access conflict detection and file lock arbitration when multiple code editors collaborate (accessing the same file simultaneously), determining that the file can be accessed by a code editor with higher priority, which is suitable for file conflict management under multi-party collaboration.

[0109] In summary, the code development platform provided in this application, based on the collaborative cooperation between its integrated code editor, multimodal generative model, knowledge base module, task management module, and file management module, integrates multiple functions such as development specification injection, code development, knowledge accumulation, knowledge reuse, task management, and file conflict management, thereby achieving automation and standardization of the code development process.

[0110] After introducing the methods of exemplary embodiments of this specification, the apparatus, electronic devices, computer-readable storage media, and computer program products of exemplary embodiments of this specification will be described next.

[0111] In an exemplary embodiment of this specification, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor implements the method described above by executing the executable instructions.

[0112] Figure 5 An exemplary embodiment provides a schematic structural diagram of an electronic device. Please refer to... Figure 5At the hardware level, the electronic device includes a processor, an internal bus, a network interface, memory, and non-volatile memory, and may also include other necessary hardware. One or more embodiments of this specification can be implemented in software, such as by the processor reading the corresponding computer program from non-volatile memory into memory and then running it. Of course, besides software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of hardware and software. That is to say, the execution entity of the following processing flow is not limited to individual logic units, but can also be hardware or logic devices.

[0113] Please see Figure 6 This is a block diagram of a code development apparatus provided in one embodiment of this specification, the apparatus corresponding to... Figure 3 The illustrated embodiment is a platform for code development, which integrates a code editor with automatic programming capabilities and a multimodal generative model. The device includes: The receiving unit 710 receives a request for code development for a target project and obtains project information of the target project corresponding to the request. The determining unit 720 inputs the project information into the multimodal generative model and guides the multimodal generative model to determine the development specifications for code development based on the project information; The development unit 730 deploys the development specifications output by the multimodal generative model to the code editor, so that the code editor can develop code based on the development specifications and obtain the project code developed by the code editor.

[0114] Optionally, the device further includes: The testing unit receives the project code uploaded by the code editor, inputs the project code into the multimodal generative model, and guides the multimodal generative model to perform code testing on the project code; based on the test results output by the multimodal generative model, it determines whether the project code passes the verification.

[0115] Optionally, the platform also integrates a knowledge base; the device further includes: The knowledge accumulation unit, when the test result is a pass verification, guides the multimodal generative model to generate reusable development specifications based on the project code; and writes the reusable development specifications into the knowledge base.

[0116] Optionally, the following may be included before the determining unit 720: The query unit queries the knowledge base to see if there are any development specifications related to the project information; if they exist, the queryed development specifications are deployed to the code editor; if they do not exist, the determination unit 720 is executed.

[0117] Optionally, the project information includes the rules, skills, and / or knowledge required to develop the target project; The query unit is further configured to query the knowledge base to determine whether there are development specifications that match the rules, skills, and / or knowledge.

[0118] Optionally, the development specifications are deployed to the code editor, including: deploying the development specifications to a specified path in the workspace of the code editor, so that the code editor automatically loads the development specifications deployed in the specified path when it starts.

[0119] Optionally, the platform integrates a code editor with automatic programming capabilities, including: the platform integrates at least two code editors with automatic programming capabilities; The determining unit 720 is further configured to guide the multimodal generative model to determine the development tasks assigned to the at least two code editors based on the project information; wherein each of the at least two code editors corresponds to at least one development task; The development unit 730 further includes: The development specifications and development tasks output by the multimodal generative model are deployed to the at least two code editors, so that each code editor performs code development based on the development specifications and the assigned development tasks.

[0120] Optionally, the platform also integrates a task management module; the device further includes: The synchronization subunit receives the development progress reported by any code editor and synchronizes the development progress to the task management module; The display subunit receives a query request for the development progress of the target project, queries the task management module for the development progress of each code editor, and displays the development progress in a visual format.

[0121] Optionally, there is a dependency between the development tasks assigned to the at least two code editors; the apparatus further includes: The dependency verification unit queries the task management module for the development progress of target development tasks that are dependent on the current development task when any code editor is about to execute the current development task. If the development progress of the target development task is completed, an execution instruction is returned to the code editor to instruct the code editor to execute the current development task. If the development progress of the target development task is incomplete, a waiting instruction is returned to the code editor, and the execution instruction is returned to the code editor when the development progress of the target development task is updated to complete.

[0122] Optionally, the platform also integrates a file management module; the file management module is used to manage all accessible files connected to the platform; the device further includes: The query subunit receives a lock request for a target file from any code editor and queries the file management module for the status of the target file. In the locking subunit, if the target file is unlocked, the file management module changes the target file's status to locked and records the code editor corresponding to the locked status; the locked target file can only be accessed by the code editor.

[0123] Optionally, the device further includes: If the target file is locked, the lock subunit queries the target code editor corresponding to the lock status of the target file; determines the priority of the target code editor and the current code editor; if the current code editor has a higher priority, the lock status of the target file is updated to that of the current code editor.

[0124] Optionally, the code editor and the platform interact with each other via a two-way communication protocol.

[0125] Optionally, the bidirectional communication protocol includes the MCP communication protocol, and the code editor and the platform interact with each other via the bidirectional communication protocol, including at least one of the following: The code editor reports the test results to the platform through the test result interface provided by the MCP communication protocol; The code editor reports the problem information found during the testing process to the platform through the problem reporting interface provided by the MCP communication protocol; The code editor reports the project code to the platform through the project output interface provided by the MCP communication protocol; The code editor reports the changed code of the project code to the platform through the code change interface provided by the MCP communication protocol.

[0126] Optionally, the device further includes: The configuration unit outputs an orchestration interface for the development process of the target project; the orchestration interface is used for users to customize process nodes and orchestrate the execution order between different process nodes.

[0127] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method. For relevant details, please refer to the description of the method implementation method. It will not be repeated here.

[0128] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the units or modules can be selected to achieve the purpose of the solution described in this specification, depending on actual needs. Those skilled in the art can understand and implement this without any inventive effort.

[0129] The systems, devices, modules, or units described in the above embodiments can be implemented by a computer or entity, or by a product with a certain function. A typical implementation device is a computer, which can be a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0130] In exemplary embodiments of this specification, a computer-readable storage medium is also provided, which, when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, enables the electronic device to perform the aforementioned method embodiments.

[0131] Computer-readable storage media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0132] Program code contained on a computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RE, or any suitable combination thereof.

[0133] Program code for performing the operations described herein can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0134] In exemplary embodiments of this specification, a computer program product is also provided, including a computer program or instructions that, when executed by a processor, implement the method embodiments described above.

[0135] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0136] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0137] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of one or more embodiments of this specification. The singular forms “a,” “described,” and “the” used in one or more embodiments of this specification and in the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0138] It should be understood that although the terms first, second, third, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first information may also be referred to as second information without departing from the scope of one or more embodiments of this specification, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "in response to a determination," or "when," or "in the event of a determination."

[0139] The above description is merely a preferred embodiment of one or more embodiments of this specification and is not intended to limit the scope of one or more embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this specification should be included within the protection scope of one or more embodiments of this specification.

Claims

1. A code development method, applied to a code development platform, said platform integrating a code editor with automatic programming capabilities and a multimodal generative model, said method comprising: Receive a request to develop code for a target project, and obtain project information of the target project corresponding to the request; The project information is input into the multimodal generative model, and the multimodal generative model is guided to determine the development specifications for code development based on the project information; The development specifications output by the multimodal generative model are deployed to the code editor, so that the code editor can develop code based on the development specifications and obtain the project code developed by the code editor.

2. The method according to claim 1, further comprising: The system receives the project code uploaded by the code editor, inputs the project code into the multimodal generative model, and guides the multimodal generative model to perform code testing on the project code. Based on the test results output by the multimodal generative model, determine whether the project code passes verification.

3. The method according to claim 2, wherein the platform further integrates a knowledge base; the method further includes: When the test result is a pass verification, the multimodal generative model is guided to generate reusable development specifications based on the project code; The reusable development specifications are written into the knowledge base.

4. The method according to claim 1, wherein the platform further integrates a knowledge base, and the knowledge base stores reusable development specifications; Before inputting the project information into the multimodal generative model and guiding the multimodal generative model to determine the development specifications for code development based on the project information, the process also includes: The knowledge base is queried to determine if there are any development specifications related to the project information. If it exists, deploy the retrieved development specifications to the code editor; If it does not exist, the project information is input into the multimodal generative model, and the multimodal generative model is guided to determine the development specifications for code development based on the project information.

5. The method according to claim 4, wherein the project information includes the rules, skills and / or knowledge required to develop the target project; The step of querying the knowledge base to see if there are any development specifications related to the project information includes: The knowledge base is queried to determine if there are any development specifications that match the rules, skills, and / or knowledge.

6. The method according to claim 4, wherein the development specification is deployed to the code editor, comprising: The development specifications are deployed to a specified path in the workspace of the code editor so that the code editor automatically loads the development specifications deployed in the specified path when it starts.

7. The method according to claim 1, wherein the platform integrates a code editor with automatic programming capabilities, comprising: The platform integrates at least two code editors with automatic programming capabilities. After inputting the project information into the multimodal generative model, the method further includes: The multimodal generative model is guided to determine the development tasks assigned to the at least two code editors based on the project information; wherein each of the at least two code editors corresponds to at least one development task; The step of deploying the development specifications output by the multimodal generative model to the code editor, so that the code editor can perform code development based on the development specifications, includes: The development specifications and development tasks output by the multimodal generative model are deployed to the at least two code editors, so that each code editor performs code development based on the development specifications and the assigned development tasks.

8. The method according to claim 7, wherein the platform further integrates a task management module; the method further includes: Receive development progress reports from any code editor and synchronize the development progress to the task management module; The system receives a query request for the development progress of the target project, queries the task management module for the development progress of each code editor, and displays the development progress in a visual format.

9. The method of claim 8, wherein there is a dependency between the development tasks assigned to the at least two code editors; the method further comprises: When any code editor is waiting to execute the current development task, query the task management module for the development progress of the target development task that is dependent on the current development task; If the development progress of the target development task is completed, then an execution instruction is returned to the code editor so that the code editor can execute the current development task; If the development progress of the target development task is incomplete, a waiting instruction is returned to the code editor, and when the development progress of the target development task is updated to complete, the execution instruction is returned to the code editor.

10. The method according to claim 7, wherein the platform further integrates a file management module; The file management module is used to manage all accessible files connected to the platform; the method further includes: Receive a lock request for a target file from any code editor and query the file management module for the status of the target file; If the target file is unlocked, the file management module will change the target file to locked and record the code editor corresponding to the locked state; the locked target file can only be accessed by the code editor.

11. The method according to claim 10, further comprising: If the target file is locked, then query the target code editor corresponding to the locked state of the target file; Determine the priority of the target code editor relative to the current code editor; If the current code editor has a higher priority, then the lock status of the target file will be updated to match the current code editor.

12. The method according to any one of claims 1-11, wherein the code editor and the platform interact with each other via a bidirectional communication protocol.

13. The method according to claim 12, wherein the bidirectional communication protocol includes the MCP communication protocol, and the code editor and the platform interact with each other via the bidirectional communication protocol, comprising at least one of the following: The code editor reports the test results to the platform through the test result interface provided by the MCP communication protocol; The code editor reports the problem information found during the testing process to the platform through the problem reporting interface provided by the MCP communication protocol; The code editor reports the project code to the platform through the project output interface provided by the MCP communication protocol; The code editor reports the changed code of the project code to the platform through the code change interface provided by the MCP communication protocol.

14. The method according to claim 1, further comprising: Output the programming interface for the development process of the target project; The orchestration interface is used for users to customize process nodes and orchestrate the execution order between different process nodes.

15. A code development system, said code development system integrating a code editor with automatic programming capabilities, a multimodal generative model, a task management module, a file management module, and a knowledge base module; in, The multimodal generative model is used to determine the development specifications for code development based on the project information of the target project; The code editor is used for code development based on the development specifications; The task management module is used to manage the development progress of the target project across different code editors; The file manager is used to manage files connected to the code development system, and manages the code editors that can access the files through file locks; The knowledge base module is used to store reusable development specifications.

16. A code development apparatus, a platform for code development, the platform integrating a code editor with automatic programming capabilities and a multimodal generative model, the apparatus comprising: The receiving unit receives a request for code development for a target project and obtains project information of the target project corresponding to the request. The determining unit inputs the project information into the multimodal generative model and guides the multimodal generative model to determine the development specifications for code development based on the project information; The development unit deploys the development specifications output by the multimodal generative model to the code editor, so that the code editor can develop code based on the development specifications and obtain the project code developed by the code editor.

17. An electronic device comprising: processor; Memory used to store processor-executable instructions; The processor is configured to perform the method as described in any one of claims 1-14.

18. A computer-readable storage medium, characterized in that, It stores computer-readable instructions that, when executed by a processor, implement the method as described in any one of claims 1-14.

19. A computer program product comprising a computer program or instructions that, when executed by a processor, implement the method as described in any one of claims 1-14.