Powered by recent advances in code-generating models, AI assistants like Github Copilot promise to change the face of programming forever. But what is this new face of programming? We present the first grounded theory analysis of how programmers interact with Copilot, based on observing 20 participants--with a range of prior experience using the assistant--as they solve diverse programming tasks across four languages. Our main finding is that interactions with programming assistants are bimodal: in acceleration mode, the programmer knows what to do next and uses Copilot to get there faster; in exploration mode, the programmer is unsure how to proceed and uses Copilot to explore their options. Based on our theory, we provide recommendations for improving the usability of future AI programming assistants.
翻译:根据最近在代码生成模式方面的进展,像Github Copilot这样的AI助理机构承诺永远改变程序编制面貌。但是,这个新的程序编制面貌是什么?我们根据观察20名参与者,并使用该助理解决四种语言的不同方案编制任务,提出了关于程序设计员如何与共同操作员互动的首次有根据的理论分析。我们的主要结论是,与程序设计助理的互动是双向的:在加速模式下,程序设计员知道下一步要做什么,并使用共同操作员更快地到达那里;在探索模式下,程序设计员不确定如何进行和使用共同操作员来探索他们的选择。根据我们的理论,我们为改进未来人工设计助理的可用性提出了建议。