Low-code programming allows citizen developers to create programs with minimal coding effort, typically via visual (e.g. drag-and-drop) interfaces. In parallel, recent AI-powered tools such as Copilot and ChatGPT generate programs from natural language instructions. We argue that these modalities are complementary: tools like ChatGPT greatly reduce the need to memorize large APIs but still require their users to read (and modify) programs, whereas visual tools abstract away most or all programming but struggle to provide easy access to large APIs. At their intersection, we propose LowCoder, the first low-code tool for developing AI pipelines that supports both a visual programming interface (LowCoder_VP) and an AI-powered natural language interface (LowCoder_NL). We leverage this tool to provide some of the first insights into whether and how these two modalities help programmers by conducting a user study. We task 20 developers with varying levels of AI expertise with implementing four ML pipelines using LowCoder, replacing the LowCoder_NL component with a simple keyword search in half the tasks. Overall, we find that LowCoder is especially useful for (i) Discoverability: using LowCoder_NL, participants discovered new operators in 75% of the tasks, compared to just 32.5% and 27.5% using web search or scrolling through options respectively in the keyword-search condition, and (ii) Iterative Composition: 82.5% of tasks were successfully completed and many initial pipelines were further successfully improved. Qualitative analysis shows that AI helps users discover how to implement constructs when they know what to do, but still fails to support novices when they lack clarity on what they want to accomplish. Overall, our work highlights the benefits of combining the power of AI with low-code programming.
翻译:低代码编程允许公民开发者通过可视化(例如拖放)界面以最少的编码工作创建程序。与此同时,近期基于AI的工具(如Copilot和ChatGPT)可从自然语言指令生成程序。我们认为这两种模式具有互补性:ChatGPT等工具大幅减少了记忆大型API的需求,但仍要求用户阅读(并修改)程序;而可视化工具虽然抽象化了大部分甚至全部编程过程,却难以轻松访问大型API。基于两者的交叉点,我们提出LowCoder——首个用于开发AI管道的低代码工具,同时支持可视化编程界面(LowCoder_VP)和AI驱动的自然语言界面(LowCoder_NL)。通过用户研究,我们利用该工具初步揭示了这两种模式是否及如何帮助程序员。我们邀请20位具备不同AI专业水平的开发者,使用LowCoder实现四个机器学习管道,并在半数任务中将LowCoder_NL组件替换为简单关键词搜索。总体发现,LowCoder尤其在以下两方面表现突出:(i)可发现性:使用LowCoder_NL时,参与者在75%的任务中发现新算子,而在关键词搜索条件下,通过网页搜索或滚动浏览选项发现新算子的比例分别为32.5%和27.5%;(ii)迭代组合:82.5%的任务成功完成,且许多初始管道得到进一步改进。定性分析表明,AI能帮助用户在明确目标时发现实现方法,但当新手对目标缺乏清晰认知时仍无法提供有效支持。总体而言,我们的工作凸显了将AI能力与低代码编程相结合的优势。