We all know that large language models (LLMs) represented by ChatGPT have code generation capabilities, after all, code itself is also a language. All employees of the company are LLM, which can complete the entire software development process from analyzing requirements to writing code to document production end-to-end, and realize one-stop software development services. Ideally, based on this framework, users can simply ask for a request and get a well-documented software! Involves software requirements, design, implementation, testing, and maintenance. The software development process involves a variety of job functions, including organizational coordination, task assignment, code writing, system testing, documentation, and more. Therefore, complex software requires long development cycles and a high level of attention to detail.
a model framework running in a company mode, and divides the development process into four stages: design, writing code, testing and documentation. Several different agents are used at each stage, which play different roles in the company, such as programmers, reviewers, and testers. To facilitate effective communication and collaboration, each phase is divided into atomic, easy-to-perform subtasks. In a chat chain, each node represents a specific subtask, and two roles engage in multiple rounds of context-aware discussions to propose and validate solutions. This approach ensures that customer requirements are analyzed, creative ideas are generated, prototype systems are designed and implemented, potential problems are identified and resolved, debugging information is interpreted, attractive graphical interfaces are created, and user manuals are generated. Guiding the software development process through a design chat chain along the chat chain (blockchain and chat) enables the delivery of the final software to the user, including source code, dependency specifications, and user manuals. is a chat-based software development framework. Users simply specify a task, and ChatDevelopment designs, writes code, tests, and documents sequentially. This new paradigm unifies the main development process through language communication, eliminating the need for specialized models at each stage, which greatly simplifies the software development process.The researchers propose chat chains that break down the development process into atomic-level subtasks that are executed sequentially. Each subtask requires collaborative interaction and cross-checking between the two roles. The framework supports multi-agent collaboration, user checking of intermediate outputs, error diagnosis, and inference-derived interventions. This ensures fine-grained attention to specific subtasks in each chat, facilitating effective collaboration and helping to get the desired output.
To further mitigate the potential challenges associated with code hallucinations, researchers introduced thought instruction mechanisms that can be used for each individual chat during the write-code, review, and testing phases. By performing "role flipping", the instructor can clearly inject specific ideas for modifying code into instructions, so as to guide the auxiliary programmer more accurately.
• Experimental verification shows that ChatDevelopment can effectively and efficiently automate the software development process. Through effective communication, suggestions, and mutual review between roles in each chat, the framework enables effective decision-making.
• During the design phase, ChatDevelopment gets an idea from a human customer. This phase involves three predefined roles: CEO (Chief Executive Officer), CPO (Chief Product Officer), and CTO (Chief Technology Officer). The chat chain then breaks down the design phase into atomic, sequential chat tasks, including chats that determine the target software pattern (CEO and CPO) and chats that decide programming languages (CEO and CTO).