How Developers Interact with AI: A Taxonomy of Human-AI Collaboration in Software Engineering
Christoph Treude, Marco A. Gerosa
TL;DR
AI is transforming software development, but no shared framework exists for how developers interact with AI-powered tools. This paper introduces a taxonomy of 11 developer-AI interaction types, each defined by a trigger, AI response, and developer output, illustrated with real-world tools. It then outlines a research agenda addressing effectiveness, trust, context-awareness, control, cognitive load, ethics, privacy, and safety to guide future design and empirical evaluation. The taxonomy provides a foundation for comparing tools, guiding design decisions, and accelerating adoption of AI-assisted development in real-world workflows.
Abstract
Artificial intelligence (AI), including large language models and generative AI, is emerging as a significant force in software development, offering developers powerful tools that span the entire development lifecycle. Although software engineering research has extensively studied AI tools in software development, the specific types of interactions between developers and these AI-powered tools have only recently begun to receive attention. Understanding and improving these interactions has the potential to enhance productivity, trust, and efficiency in AI-driven workflows. In this paper, we propose a taxonomy of interaction types between developers and AI tools, identifying eleven distinct interaction types, such as auto-complete code suggestions, command-driven actions, and conversational assistance. Building on this taxonomy, we outline a research agenda focused on optimizing AI interactions, improving developer control, and addressing trust and usability challenges in AI-assisted development. By establishing a structured foundation for studying developer-AI interactions, this paper aims to stimulate research on creating more effective, adaptive AI tools for software development.
