CoPrompt: Supporting Prompt Sharing and Referring in Collaborative Natural Language Programming
Li Feng, Ryan Yen, Yuzhe You, Mingming Fan, Jian Zhao, Zhicong Lu
TL;DR
CoPrompt addresses collaborative NL programming by introducing four mechanisms—referring, requesting, sharing, and linking—that support prompt co-engineering across teammates. A formative study identifies workflow stages and pain points, motivating a prototype that aids sense-making, leveraging others' work, and reducing repetitive updates. A two-part user study with 12 experienced programmers shows improved task completion time, higher usability, and lower cognitive load when using CoPrompt versus a baseline, with participants extensively adopting the four mechanisms. The work contributes a formative study, a functional prototype, and design implications for future NL-prompt collaboration tools, highlighting practical gains for teams using LLM-powered coding assistants.
Abstract
Natural language (NL) programming has become more approachable due to the powerful code-generation capability of large language models (LLMs). This shift to using NL to program enhances collaborative programming by reducing communication barriers and context-switching among programmers from varying backgrounds. However, programmers may face challenges during prompt engineering in a collaborative setting as they need to actively keep aware of their collaborators' progress and intents. In this paper, we aim to investigate ways to assist programmers' prompt engineering in a collaborative context. We first conducted a formative study to understand the workflows and challenges of programmers when using NL for collaborative programming. Based on our findings, we implemented a prototype, CoPrompt, to support collaborative prompt engineering by providing referring, requesting, sharing, and linking mechanisms. Our user study indicates that CoPrompt assists programmers in comprehending collaborators' prompts and building on their collaborators' work, reducing repetitive updates and communication costs.
