The use of generative AI (GenAI) tools has fundamentally transformed software development. Central to this shift is prompt engineering, the practice of crafting textual prompts to guide GenAI tools in generating useful content. Although prompt engineering has emerged as a critical skill, prior research has focused primarily on cataloging of prompting techniques, with limited attention to how software practitioners employ GenAI within real-world development workflows. To address this gap, this study presents a systematic investigation of practitioners' integration of GenAI tools into software development, drawing on a rigorous survey that examines prompting strategies, conversation patterns, and reliability assessments across core software development tasks. We surveyed 72 software practitioners who actively use GenAI to characterize AI usage patterns throughout the development process. By combining qualitative and quantitative analyses of the survey responses, we identified 13 key findings that describe how prompting is performed in practice. Our study shows that while code generation is nearly universal, proficiency strongly correlates with the use of GenAI for more nuanced tasks such as debugging and code review. Practitioners also tend to favor iterative multi-turn conversations to single-shot prompting. Documentation tasks are perceived as most reliable, while complex code generation and debugging remain major challenges. Our findings provide an empirical view of practitioner practices, ranging from basic code generation to deeper integration of GenAI into development workflows, enabling us to offer recommendations for improving both GenAI tools and the ways practitioners interact with them.
翻译:生成式人工智能(GenAI)工具的使用已从根本上改变了软件开发。这一转变的核心在于提示工程,即通过设计文本提示来引导GenAI工具生成有用内容的实践。尽管提示工程已成为一项关键技能,但先前研究主要集中于对提示技术进行分类,而较少关注软件从业者如何在真实开发工作流中运用GenAI。为填补这一空白,本研究通过一项严谨的调查,系统探究了从业者将GenAI工具整合至软件开发的过程,考察了核心软件开发任务中的提示策略、对话模式及可靠性评估。我们调查了72位积极使用GenAI的软件从业者,以刻画其在全开发流程中的AI使用模式。结合对调查回复的定性与定量分析,我们归纳出13项关键发现,描述了提示工程在实践中的具体实施方式。研究表明,尽管代码生成几乎无处不在,但从业者能否熟练运用GenAI处理调试、代码审查等更精细任务与其熟练程度密切相关。从业者亦倾向于采用迭代式多轮对话而非单次提示。文档撰写任务被认为最可靠,而复杂代码生成与调试仍是主要挑战。我们的发现提供了从业者实践经验的实证视角,涵盖从基础代码生成到GenAI深度融入开发工作流的全过程,从而为改进GenAI工具及优化从业者与工具的交互方式提出了建议。