How Developers Interact with AI: A Taxonomy of Human-AI Collaboration in Software Engineering
싱가포르경영대학교와 노던애리조나대학교 연구진이 발표한 논문에 따르면, 소프트웨어 개발 과정에서 인공지능(AI)이 개발자를 지원하는 방식이 11가지 유형으로 처음 분류됐다. 대규모 언어모델과 생성형 AI가 소프트웨어 개발의 전 주기에 걸쳐 강력한 도구로 부상하고 있다는 점이 주목된다.
개발자-AI 협업의 11가지 상호작용… 실시간 제안부터 API 응답까지
자동 완성 코드 제안은 깃허브 코파일럿을 통해 “def calculate_area”를 입력하면 즉시 함수 본문을 제안하는 방식으로 구현된다. 명령어 기반 작업의 경우 ‘copilot:summary’ 명령어를 입력하면 깃허브에서 풀 리퀘스트 요약을 자동 생성한다. 대화형 지원은 챗GPT를 통해 딕셔너리 목록 정렬과 같은 문제에 대해 단계별 설명을 제공한다.
맥락 기반 추천의 경우 소스그래프 코디가 파일 유형을 해석하여 관련 데이터베이스 라이브러리를 추천한다. 선택 기반 향상은 소서리가 특정 코드 세그먼트를 강조 표시하여 리팩토링을 제안한다. IDE의 명시적 UI 작업은 보안 취약점을 검토하기 위한 플래그를 표시한다.
주석 기반 프롬프트는 개발자가 작성한 설명적 주석을 기반으로 코드를 생성하며, 이벤트 기반 트리거는 깃랩 오토 데브옵스가 풀 리퀘스트에서 취약점을 자동 검사한다. 단축키 활성화 명령은 인텔리제이 아이디어에서 단축키로 코파일럿 제안을 표시한다.
파일 인식 제안은 코드위스퍼러가 .test 파일에 대한 테스트 템플릿을 제안하며, 자동화된 API 응답은 코드클라이메이트가 풀 리퀘스트를 분석하여 품질 문제를 보고한다.
상호작용 효과성 연구 결과…초보자와 전문가의 선호도 차이 발견
연구진은 다양한 상호작용 유형이 생산성과 코드 품질에 미치는 영향을 분석했다. 특히 주목할 만한 점은 초보 개발자들이 자동 완성이나 대화형 지원을 선호한 반면, 경험이 많은 전문가들은 명령어 기반 작업이나 선택 기반 향상과 같은 정교한 기능을 더 자주 활용했다는 것이다. 작업 완료 시간, 정확도, 사용자 만족도를 측정한 비교 연구에서는 특히 코드 자동 완성과 맥락 기반 추천 기능이 반복적인 작업의 생산성을 크게 향상시키는 것으로 나타났다.
AI 도구 채택의 핵심 요소…보안 검사에서 신뢰도가 결정적
AI 도구의 투명성, 신뢰성, 제어 수준은 개발자 신뢰 형성의 핵심 요소로 확인됐다. 특히 보안 검사와 같은 중요한 작업에서는 AI의 결정 과정과 출력 결과가 명확하게 설명되어야 한다는 점이 강조됐다. 행동 실험 결과, 개발자들은 AI가 제안한 코드 변경사항 중 보안이나 성능에 직접적인 영향을 미치는 부분에 대해서는 더욱 신중한 검토 패턴을 보였다. 연구진은 AI 시스템이 제안의 근거를 명확히 제시하고 개발자가 쉽게 검증할 수 있는 방식으로 정보를 제공해야 한다고 제안했다.
AI 도구 채택의 핵심 요소…보안 검사에서 신뢰도가 결정적
AI 도구의 투명성, 신뢰성, 제어 수준은 개발자 신뢰 형성의 핵심 요소로 확인됐다. 특히 보안 검사와 같은 중요한 작업에서는 AI의 결정 과정과 출력 결과가 명확하게 설명되어야 한다는 점이 강조됐다.
행동 실험 결과, 개발자들은 AI가 제안한 코드 변경사항 중 보안이나 성능에 직접적인 영향을 미치는 부분에 대해서는 더욱 신중한 검토 패턴을 보였다. 연구진은 AI 시스템이 제안의 근거를 명확히 제시하고 개발자가 쉽게 검증할 수 있는 방식으로 정보를 제공해야 한다고 제안했다.
맥락 인식 AI의 발전 방향…프로젝트 히스토리 활용이 관건
AI 도구들의 현재 한계는 프로젝트의 전체적인 맥락을 이해하지 못하는 데 있다. 연구진은 프로젝트의 과거 커밋 이력, 의존성 그래프, 아키텍처 문서 등을 AI 모델이 학습하면 더 관련성 높은 제안이 가능할 것으로 전망했다. 실험 결과, 프로젝트의 이전 코드 변경 패턴을 학습한 AI 모델이 더 정확한 코드 제안을 생성할 수 있었으며, 특히 프로젝트 특화된 코딩 컨벤션을 잘 따르는 것으로 나타났다.
AI 환각 현상 대응 전략…신뢰도 점수 시스템 도입 제안
AI 시스템의 환각 현상은 특히 코드 생성과 문서화 과정에서 빈번히 발생하는 것으로 확인됐다. 연구진은 AI 제안에 신뢰도 점수를 부여하고, 특정 임계값 이하의 제안은 개발자 검토를 필수화하는 시스템을 제안했다. 또한 AI가 생성한 코드에 대한 자동화된 테스트 실행과 정적 분석을 통해 잠재적 문제를 사전에 탐지하는 방안도 제시됐다.
개발자 제어와 맞춤화…AI 제안 빈도 조절로 생산성 20% 향상
연구진이 진행한 실험에서 개발자가 AI 도구의 동작을 직접 조정할 수 있을 때 생산성이 크게 향상되는 것으로 나타났다. 특히 AI 제안의 빈도와 상세도를 개발자가 직접 설정할 수 있는 경우, 작업 생산성이 평균 20% 향상됐다. 개발자들은 코드 작성 시에는 잦은 제안을, 코드 검토 시에는 최소한의 개입을 선호하는 것으로 조사됐다. 연구진은 AI 도구가 개발자의 작업 맥락을 인식하고 자동으로 제안 빈도를 조절하는 적응형 인터페이스의 개발이 필요하다고 강조했다.
개발자 인지 부하 최소화…시선 추적으로 최적 상호작용 시점 파악
시선 추적 실험 결과, AI 제안이 개발자의 시선이 코드 편집기를 벗어난 직후에 제시될 때 인지 부하가 가장 낮은 것으로 확인됐다. 작업 전환 분석에서는 개발자가 문제 해결에 깊이 몰입한 상태에서 AI가 개입하면 생산성이 최대 35%까지 저하되는 것으로 나타났다. 주관적 정신 부하 평가에서는 AI 제안이 현재 작업 맥락과 일치할 때 개발자의 스트레스가 현저히 감소하는 것으로 조사됐다.
AI-개발자 협업의 미래…맥락 인식형 상호작용으로 진화
이번 연구에서 제시된 11가지 상호작용 유형은 AI 도구 개발의 새로운 이정표가 될 것으로 전망된다. 연구진은 향후 AI 도구들이 개발자의 전문성 수준, 프로젝트 특성, 작업 맥락을 종합적으로 고려하여 최적의 상호작용 방식을 자동으로 선택하는 방향으로 발전할 것으로 예측했다.
특히 프로젝트의 복잡도와 위험도에 따라 AI의 자율성을 자동으로 조절하고, 개발자의 작업 패턴을 학습하여 개입 시점을 최적화하는 지능형 협업 시스템의 등장이 예상된다. 연구진은 이러한 발전이 소프트웨어 개발의 생산성과 품질을 획기적으로 향상시킬 것으로 전망했다.
프라이버시 중심 AI 개발 환경…기기 내 처리 모델의 가능성
연구진은 코드와 개발 관련 데이터의 프라이버시 보호를 위해 새로운 접근법을 제시했다. 특히 기기 내 처리 모델은 민감한 코드나 프로젝트 데이터를 외부 서버로 전송하지 않고도 AI 지원이 가능하다는 장점이 있다.
실험 결과, 연합 학습을 적용한 AI 모델은 중앙 서버로의 데이터 전송을 최소화하면서도 90% 이상의 정확도를 유지할 수 있었다. 또한 개발자들은 프로젝트별로 데이터 공유 수준을 세밀하게 제어할 수 있는 옵션을 선호하는 것으로 나타났다.
해당 기사에서 인용한 논문은 링크에서 확인할 수 있다.
이미지출처: 이디오그램 생성
기사는 클로드 3.5 Sonnet과 챗GPT-4o를 활용해 작성되었습니다.
관련 콘텐츠 더보기