[논문 리뷰] Grounded Copilot: How Programmers Interact with Code-Generating Models
이 논문은 Copilot과의 상호작용에 대한 최초의 grounded theory를 제시하며, 두 가지 교대 모드—가속(acceleration)와 탐색(exploration)—를 식별하고 AI 프로그래밍 어시스턴트의 사용성 디자인 권고를 제공합니다.
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.
연구 동기 및 목표
- Copilot과의 상호작용에 대한 데이터 기반 이론을 grounded theory를 사용해 개발한다.
- 다양한 언어에서 Copilot 보조 프로그래밍을 관찰하여 언어 편향을 피한다.
- 상호작용 모드와 그 결정 요인을 특성화하여 향후 도구 설계에 정보를 제공한다.
- AI 어시스턴트를 IDE에 통합하고 사용성을 개선하기 위한 구체적인 권고를 제시한다.
제안 방법
- 다양한 경험의 20명 참가자가 Python, Rust, Haskell, Java에서 Copilot을 사용했다.
- Straussian Grounded Theory를 적용하여 비디오 녹화 및 인터뷰에서 테마를 반복적으로 코딩하고 정제했다.
- 가속과 탐색 행동을 이끌어내기 위해 네 가지 변화하는 프로그래밍 문제를 사용했다.
- Emerging 이론을 시험하고 정제하기 위해 이론적 샘플링을 사용했다.
- 패턴을 확증하기 위해 다섯 개의 라이브 스트리밍 비디오 분석으로 보완했다.
실험 결과
연구 질문
- RQ1프로그래머가 코딩 작업 중 Copilot과 어떻게 상호작용하는가?
- RQ2Copilot를 사용할 때 어떤 상호작용 모드가 나타나며 어떤 조건에서 이를 유발하는가?
- RQ3프로그래머는 Copilot 생성 코드를 어떻게 검증하고 수정하는가?
- RQ4프로그래머를 위한 Copilot 유사 도구의 사용성과 통합을 개선할 수 있는 설계 권고는 무엇인가?
주요 결과
- Copilot과의 상호작용은 가속(빠르고 흐름을 유지)과 탐색(신중하고 탐색적) 모드의 이중 모드로 구성된다.
- 가속 모드는 프로그래머가 작업을 미세 작업으로 분해하고 Copilot에 논리적 단위의 빠른 완성을 의존할 때 발생한다.
- 탐색 모드는 새로운 작업, API 탐색 및 여러 대안 평가를 위해 사용되며, 종종 명시적 프롬프트와 검증을 통해 이루어진다.
- 길고 여러 줄의 Copilot 제안은 흐름을 방해하고 거절되거나 무시될 수 있으며, 가속에서는 짧고 맥락 포함된 행 끝 힌트가 선호된다.
- 제안의 유용성을 판단하기 위해 패턴 매칭 및 키워드/구조 인식에 의존하는 검증이 흔하며, 사용자는 제안을 완전히 대체하기보다 수정하는 경향이 있다.
- 프로그래머의 탐구 성향은 문제의 새로움과 모델에 대한 자신감과 연결되며, 과도한 의존은 진전을 저해할 수 있다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.