Communicative Agents for Software Development

by   Chen Qian, et al.
Tsinghua University

Software engineering is a domain characterized by intricate decision-making processes, often relying on nuanced intuition and consultation. Recent advancements in deep learning have started to revolutionize software engineering practices through elaborate designs implemented at various stages of software development. In this paper, we present an innovative paradigm that leverages large language models (LLMs) throughout the entire software development process, streamlining and unifying key processes through natural language communication, thereby eliminating the need for specialized models at each phase. At the core of this paradigm lies ChatDev, a virtual chat-powered software development company that mirrors the established waterfall model, meticulously dividing the development process into four distinct chronological stages: designing, coding, testing, and documenting. Each stage engages a team of agents, such as programmers, code reviewers, and test engineers, fostering collaborative dialogue and facilitating a seamless workflow. The chat chain acts as a facilitator, breaking down each stage into atomic subtasks. This enables dual roles, allowing for proposing and validating solutions through context-aware communication, leading to efficient resolution of specific subtasks. The instrumental analysis of ChatDev highlights its remarkable efficacy in software generation, enabling the completion of the entire software development process in under seven minutes at a cost of less than one dollar. It not only identifies and alleviates potential vulnerabilities but also rectifies potential hallucinations while maintaining commendable efficiency and cost-effectiveness. The potential of ChatDev unveils fresh possibilities for integrating LLMs into the realm of software development.


page 1

page 12

page 19

page 21

page 22

page 23

page 24

page 25


Self-collaboration Code Generation via ChatGPT

Code generation is widely regarded as a key technique for elevating the ...

A Composable Just-In-Time Programming Framework with LLMs and FBP

This paper introduces a computing framework that combines Flow-Based Pro...

Impact Factors and Best Practices to Improve Effort Estimation Strategies and Practices in DevOps

Effort estimation plays an important role in the software development pr...

Understanding Self-Efficacy in the Context of Software Engineering: A Qualitative Study in the Industry

CONTEXT: Self-efficacy is a concept researched in various areas of knowl...

Digitalization of Swedish Government Agencies - A Perspective Through the Lens of a Software Development Census

Software engineering is at the core of the digitalization of society. Il...

CollabCoder: A GPT-Powered Workflow for Collaborative Qualitative Analysis

The Collaborative Qualitative Analysis (CQA) process can be time-consumi...

Probabilistic Software Modeling

Software Engineering and the implementation of software has become a cha...

Please sign up or login with your details

Forgot password? Click here to reset