
It has always been said that Agent is the way to AGI. Many people talked about Tsinghua's ChatDev before, and today I will learn about it.
Software engineering is a field characterized by complex decision-making processes, often relying on subtle intuition and consultation. Recent advances in deep learning have begun to revolutionize software engineering practices by implementing refined designs at various stages of software development. In this paper, we propose an innovative paradigm that leverages large language models (LLMs) throughout the entire software development process, simplifying and unifying key processes through natural language communication, thus eliminating the need for specialized models at each stage. At the core of this paradigm is CHATDEV, a virtual chat-powered software development company that meticulously divides the development process into four distinct phases: design, coding, testing, and documentation writing. Each phase involves the participation of a team, such as programmers, code reviewers, and test engineers, promoting collaborative dialogue and facilitating smooth workflows. The chat chain acts as a facilitator, breaking down each phase into atomic subtasks. This enables dual roles, proposing and verifying solutions through context-sensitive communication, thereby efficiently solving specific subtasks. A significant analysis of CHATDEV highlights its remarkable efficacy in software generation, enabling the entire software development process to be completed in less than seven minutes at a cost of less than one dollar. It not only identifies and mitigates potential vulnerabilities but also corrects potential misconceptions while maintaining commendable efficiency and cost-effectiveness. The potential of CHATDEV reveals new possibilities for integrating LLMs into the field of software development.
Collaboration allows us to know more than we are capable of knowing by ourselves. It empowers us to think differently, access information we wouldn’t have otherwise, and combine ideas as we work together towards a shared goal.
— Paul Solarz

Different agents play different experts and then collaborate to complete the development of a game. Communication occurs between different roles, with added reflection phases.

- The "memory flow" will save records of each robot's conversation in each round so they can be read at any time, ensuring continuity of thought.
- The "self-reflection" mechanism generates a "pseudo-self" and feeds back the problems and related dialogues to the instructor when the robot completes its respective tasks but fails to meet the requirements.

However, only the paper has been released, without open-sourcing the code or making the demo available, so I can't reproduce it.
Paper link: https://arxiv.org/abs/2307.07924