Conversational AI as a Coding Assistant: Understanding Programmers' Interactions with and Expectations from Large Language Models for Coding

📄 arXiv: 2503.16508v1 📥 PDF

作者: Mehmet Akhoroz, Caglar Yildirim

分类: cs.HC, cs.AI

发布日期: 2025-03-14

备注: 20 pages


💡 一句话要点

研究程序员与LLM代码助手交互模式,提出改进设计指南

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码助手 大型语言模型 人机交互 软件开发 用户研究 编程辅助 LLM应用

📋 核心要点

  1. 现有代码助手在上下文理解、准确性和用户信任度方面存在不足,阻碍了其广泛应用。
  2. 通过调查程序员与LLM代码助手的交互,分析其使用模式、感知和策略,揭示关键问题。
  3. 提出设计指南,强调上下文保持、透明度、多模态支持和用户偏好适应,旨在提升用户体验。

📝 摘要(中文)

本文研究了程序员在使用基于大型语言模型(LLM)的对话式AI作为代码助手时的交互模式、遇到的挑战以及影响采用的因素。通过一项调查,参与者报告了效率和解释清晰等优点,以及不准确、缺乏上下文感知和过度依赖等局限性。值得注意的是,一些程序员由于偏好独立学习、不信任AI生成的代码以及伦理方面的考虑而主动避免使用LLM。基于研究结果,本文提出了改进对话式代码助手的若干设计指南,强调上下文保持、透明度、多模态支持以及对用户偏好的适应性。这些见解有助于更广泛地理解如何将基于LLM的对话式代理有效地集成到软件开发工作流程中,同时解决采用障碍并提高可用性。

🔬 方法详解

问题定义:论文旨在解决程序员在使用基于LLM的对话式代码助手时遇到的问题,以及如何提升这类工具的可用性和用户接受度。现有方法的主要痛点包括:LLM生成的代码可能不准确,缺乏上下文感知,用户对其存在不信任感,以及过度依赖可能导致学习能力下降。

核心思路:论文的核心思路是通过调查研究,深入了解程序员与LLM代码助手的交互模式,从而发现问题并提出针对性的改进建议。通过分析程序员的反馈,识别出影响用户体验和采用意愿的关键因素。

技术框架:该研究采用调查问卷的方式收集数据,参与者是具有编程经验的程序员。调查内容包括他们使用LLM代码助手的频率、目的、遇到的问题、对工具的评价以及改进建议。研究人员对收集到的数据进行分析,识别出常见的用户模式和痛点。

关键创新:该研究的创新之处在于,它不是简单地评估LLM代码助手的性能,而是关注程序员与这类工具的交互过程,从用户的角度出发,理解他们的需求和期望。这种以用户为中心的研究方法有助于更有效地改进LLM代码助手的设计。

关键设计:调查问卷的设计是关键。问卷需要涵盖用户的使用习惯、遇到的问题、对工具的评价以及改进建议等多个方面。此外,研究人员还需要对收集到的数据进行有效的分析,识别出关键的用户模式和痛点。论文基于分析结果,提出了具体的设计指南,例如,强调上下文保持、透明度、多模态支持以及对用户偏好的适应性。

📊 实验亮点

调查结果显示,程序员在使用LLM代码助手时,普遍认为其在提高效率和提供清晰解释方面有帮助。然而,也存在对代码准确性、上下文理解和过度依赖的担忧。部分程序员因偏好独立学习和对AI代码的不信任而避免使用。研究提出的设计指南旨在解决这些问题,提升用户体验。

🎯 应用场景

该研究成果可应用于改进现有代码助手的设计,提升程序员的开发效率和代码质量。未来的应用方向包括:开发更智能、更个性化的代码助手,支持多模态输入和输出,提供更透明的解释和建议,以及更好地适应用户的编程风格和习惯。这些改进将有助于提高程序员对AI代码助手的信任度和接受度。

📄 摘要(原文)

Conversational AI interfaces powered by large language models (LLMs) are increasingly used as coding assistants. However, questions remain about how programmers interact with LLM-based conversational agents, the challenges they encounter, and the factors influencing adoption. This study investigates programmers' usage patterns, perceptions, and interaction strategies when engaging with LLM-driven coding assistants. Through a survey, participants reported both the benefits, such as efficiency and clarity of explanations, and the limitations, including inaccuracies, lack of contextual awareness, and concerns about over-reliance. Notably, some programmers actively avoid LLMs due to a preference for independent learning, distrust in AI-generated code, and ethical considerations. Based on our findings, we propose design guidelines for improving conversational coding assistants, emphasizing context retention, transparency, multimodal support, and adaptability to user preferences. These insights contribute to the broader understanding of how LLM-based conversational agents can be effectively integrated into software development workflows while addressing adoption barriers and enhancing usability.