CoPrompt: Supporting Prompt Sharing and Referring in Collaborative Natural Language Programming
arXiv:2310.09235 · doi:10.1145/3613904.3642212
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.
arXiv commentProceedings of the CHI Conference on Human Factors in Computing Systems (CHI '24), May 11--16, 2024, Honolulu, HI, USA
References in corpus (12)
- Human-AI Collaboration in Data Science: Exploring Data Scientists' Perceptions of Automated AI
- The Programmer's Assistant: Conversational Interaction with a Large Language Model for Software Development
- "What It Wants Me To Say": Bridging the Abstraction Gap Between End-User Programmers and Code-Generating Large Language Models
- Prompting Is Programming: A Query Language for Large Language Models
- VISAR: A Human-AI Argumentative Writing Assistant with Visual Programming and Rapid Draft Prototyping
- Documentation Matters: Human-Centered AI System to Assist Data Science Code Documentation in Computational Notebooks
- Boba: Authoring and Visualizing Multiverse Analyses
- What is it like to program with artificial intelligence?
- Discovering the Sweet Spot of Human-Computer Configurations: A Case Study in Information Extraction
- Paths Explored, Paths Omitted, Paths Obscured: Decision Points & Selective Reporting in End-to-End Data Analysis
- The Types, Roles, and Practices of Documentation in Data Analytics Open Source Software Libraries: A Collaborative Ethnography of Documentation Work
- Eliciting Best Practices for Collaboration with Computational Notebooks
Cited by in corpus (5)
- Using AI-Based Coding Assistants in Practice: State of Affairs, Perceptions, and Ways Forward
- What Should We Engineer in Prompts? Training Humans in Requirement-Driven LLM Use
- Human-AI Experience in Integrated Development Environments: A Systematic Literature Review
- A Research Roadmap for Augmenting Software Engineering Processes and Software Products with Generative AI
- Unpacking Vibe Coding: Help-Seeking Processes in Student-AI Interactions While Programming