[논문 리뷰] Exploring Context-Aware Conversational Agents in Software Development
이 연구는 소프트웨어 개발자가 개발 과정에서 반복적이고 맥락 의존적인 작업을 보조하기 위해 맥락 인식 챗봇을 사용하는 것을 탐구한다. 슬랙을 활용한 워즈드 오브 오즈 실험을 통해 개발자들은 주로 작업 안내와 맥락 인식 추천을 위해 챗봇을 선호하며, 경력이 많은 개발자일수록 더 높은 유용성 인식을 보였으며, 향후 구현에 있어 개인화와 맥락 인식의 필요성을 강조한다.
Software development is a complex endeavor that depends on a wide variety of contextual factors involving a large amount of distributed information. This knowledge could include: technology-related tasks, software operating environments and stakeholder requirements. A major roadblock to using this knowledge in software development is that most of this information is implicit and captured in the developers' minds (tacit) or spread through volumes of documentation. Developers, as they work often have to maintain mental models of these tasks as they produce the software. As a result, context can be easily lost or forgotten and developers often use trial-and-error approaches while finishing the project. This study aims at analyzing whether supporting software developers with a chatbot during task execution can improve the overall development experience. The chatbot can assist the developers in executing different tasks based on implicit contextual information. We propose an implementation to explore the viability of using textual chatbots to assist developers automatically and proactively with software development project activities that recur.
연구 동기 및 목표
- 채팅봇이 맥락 인식 작업 실행을 지원함으로써 소프트웨어 개발 경험을 향상시킬 수 있는지 탐구하기.
- 실시간 개발 워크플로우에서 개발자들이 챗봇 상호작용을 선호하는 방식을 특정하기.
- 소프트웨어 개발에서 암묵적이고 암시적인 지식을 대화형 에이전트를 통해 명시화할 수 있는 방법 탐색하기.
- 반복적인 개발 작업을 위한 프로액티브 보조자로서 챗봇의 실현 가능성을 평가하기.
제안 방법
- 실제 개발 맥락에서 챗봇을 시뮬레이션하기 위해 슬랙을 상호작용 플랫폼으로 사용한 워즈드 오브 오즈 연구를 수행하였다.
- 사전 및 사후 실험 설문지와 채팅 상호작용의 직접 관찰을 통해 정성적 및 정량적 데이터를 수집하였다.
- 개발자 입력과 작업 시나리오에 기반해 맥락 인식 응답을 시뮬레이션하기 위한 챗봇 인터페이스를 설계하였다.
- 풀 리퀘스트, Git 명령어, 워크플로우 진행과 같은 일반적인 개발 작업에 집중하였다.
- 향후 구현을 위한 기준으로 Rasa를 활용하였으며, 의도 인식과 대화 관리에 중점을 두었다.
- 채팅 로그와 피드백을 분석하여 반복적인 질문과 상호작용 패턴을 식별하였다.
실험 결과
연구 질문
- RQ1채팅봇이 개발 작업을 수행하는 동안 소프트웨어 개발자들을 얼마나 잘 지원할 수 있는가?
- RQ2개발자들이 챗봇을 통해 가장 자주 위탁하거나 안내를 원하는 유형의 작업은 무엇인가?
- RQ3프로액티브하게 맥락 인식 행동을 제안하는 챗봇의 유용성은 어떻게 평가되는가?
- RQ4맥락(예: 저장소, 브랜치, 커밋 패턴 등)은 개발자들이 챗봇 보조 기대에 어떤 영향을 미치는가?
- RQ5개발자 경력 수준은 챗봇 지원의 인식 가치에 어떤 영향을 미치는가?
주요 결과
- 개발자들은 주로 작업 관리와 워크플로우 안내를 위해 챗봇을 지원 도구로 사용하고자 하는 강한 관심을 보였다.
- 평균 상호작용 시간은 10.8분으로, 참가자들이 평균 15개의 질문을 던지며 활발한 참여를 보였다.
- 1년 이상의 경력이 있는 개발자들은 챗봇이 유용하다고 평가했지만, 경력이 짧은 개발자들은 낮은 평가를 내렸으며, 초보자에게는 더 구체적인 지원이 필요함을 시사한다.
- 참가자들은 풀 리퀘스트에 자주 질문을 던지며, 이는 그들의 워크플로우에서 고마찰성과 반복적인 작업임을 나타낸다.
- 대부분의 참가자들이 푸시, 풀, 클론과 같은 기본 Git 작업에 대해 묻지 않았으며, 이는 이러한 작업이 낮은 노력 또는 잘 이해된 작업으로 간주되기 때문임을 시사한다.
- 참가자들은 저장소, 브랜치, 커밋 메시지 패턴 등을 알고 있는 맥락 인식의 중요성을 강조하였으며, 이는 챗봇의 관련성과 유용성을 향상시키는 데 기여한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.