AI 코딩 어시스턴트의 세 시대(자동완성·채팅·에이전트)와 10가지 설계 차원을 정리하고, 산업계 vs 학계의 경향과 6개 사용자 페르소나에 따른 트레이드오프를 논의한다.
AI 코딩 도구의 설계 공간
Associate Teaching Professor
Carnegie Mellon University
2025년 10월 18일

AI 코딩 어시스턴트를 만들 때 어떤 설계 결정들이 필요할까?
최근 UC San Diego의 Sam Lau와 Philip Guo가 이러한 질문에 답하려는 논문, The Design Space of LLM-Based AI Coding Assistants: An Analysis of 90 Systems in Academia and Industry을 발표했다.
이들은 90개의 AI 코딩 어시스턴트를 살펴보고 10가지 설계 차원을 도출했다. 논문은 자동완성에서 채팅을 거쳐 에이전트로 어떻게 진화했는지, 그리고 왜 산업계는 속도와 마감 품질에 수렴하는 반면 학계는 새로운 상호작용 디자인을 탐색하는지 설명한다. 이후 이 설계 차원들을 6개의 사용자 페르소나에 매핑하고 각 페르소나의 핵심 트레이드오프를 제시한다.
지금까지 AI 코딩 어시스턴트에는 세 가지 주요 UI가 있었다:
자동완성(2021-2022): 탭으로 수락하는 인라인 회색 텍스트. 마찰 최소, 플로우 최대. 원하는 함수가 Stack Overflow나 GitHub에 있을 때 탁월하다.
채팅(2023-2024): 다중 턴의 보정과 코드 블록이 있는 프롬프트. “이거 설명해줘”, “테스트 작성”, “리팩터링” 등의 기능. IDE 파워 유저를 넘어 대상을 확장했다.
에이전트(2024-2025): 리포를 읽고/쓰고, 명령을 실행하고, 문서를 찾아보고, 단계를 연쇄하는 도구. UI는 이제 diff 리뷰어가 있는 CI 로그처럼 보인다. 작동할 때는 마법 같다.
연구자들은 2021-2025년의 코드 생성 도구 90개(산업계 제품 58개, 학계 프로젝트 32개)를 조사하고, 실제 도구(가능한 경우), 문서, 출판물, 제품 사이트, 데모 영상을 질적 분석했다.
그 분석에서 AI 코딩 어시스턴트의 4가지 광범위한 설계 범주를 식별했다: 사용자 인터페이스, 시스템 입력, 역량, 출력. 이 4개 범주는 다시 10가지 설계 차원으로 구성된다: 개발 환경, 사용자 행동, 주도권, 입력 형식, 의미적 컨텍스트, 개인화, 자율성, 시스템 행동, 출력 형식, 설명가능성.
내 말로 풀어 쓰면:
산업계는 수렴한다: 모든 제품이 인라인 + 채팅 + 에이전트로 구성된 동일한 번들을 “생각의 속도” 같은 슬로건과 함께 출시한다. 초점은 지연시간, 마감 품질, 폭(기능 범위)에 맞춰져 있다. 사용자가 “탭, 탭, 탭” 하거나 원클릭 대규모 리팩터링을 마치 마법처럼 할 수 있다고 판다.
“이 연구를 수행하면서 반복적으로 관찰된 점은 일부 산업계 제품이 정확히 무엇을 하는지 알아내기가 매우 어렵다는 것이었다.”
학계는 분기한다: 반성(reflection)을 위한 스캐폴딩, 능동적 보조 커서, 학습 지향적 마찰, 멀티모달 스케치-투-코드, 데이터 과학을 위한 더 나은 설명가능성 등 더 기이한 경계를 탐색한다. 반짝임은 덜하고, 기발한 아이디어가 더 많다.
논문의 논의 부분에서 연구자들은 이들 AI 코딩 어시스턴트를 사용하는 6가지 페르소나를 제안하고, 각 페르소나의 요구에 설계 차원을 매핑한다.
이 도구들의 설계는 전적으로 트레이드오프의 문제이며, 이는 새롭지 않다. 사용자에게 얼마나 많은 통제를 줄 것인가? 얼마나 많은 커스터마이즈를 허용할 것인가? 파워 유저를 우선할 것인가, 초보자를 우선할 것인가? 이런 질문들은 언제나 어떤 시스템을 설계할 때의 근본 과제였다. 물론 AI는 도구 제작자가 사용자에게 온갖 기능을 던져 놓기 쉬워졌다는 점에서(그리고 유혹적이라는 점에서) 복잡성을 더한다.
접근성과 파워, 통제와 편의, 단순함과 역량 사이에서 선택해야 한다. 브라우저 UI는 시도하기 쉽지만 커스터마이즈와 통합에 한계가 있다. 인라인 자동완성은 사용자의 플로우를 유지시키는 반면, 다중 턴 채팅은 마찰을 감수하는 대가로 더 풍부한 컨텍스트를 제공한다. 능동적 기능은 우연한 발견을 줄 수 있지만 사용자의 통제감을 약화시킬 수 있다. 개인화가 늘면 전문가에게는 도움이 되지만 초보자에게는 부담이 될 수 있다. AI가 다단계 변경을 계획하고 더 많은 시스템 작업을 호출하게 하면 강력하지만 실패의 표면적이 커진다. 등등.
“와, 코드도 써준다” 단계를 이미 지났다. 이제 흥미로운 일은 이 어시스턴트들이 실제 워크플로에 어떻게 들어맞을지를 다듬는 것이다. 즉, 언제는 빨라야 하고 언제는 신중해야 하는지, 어떤 컨텍스트를 포함할지, 그리고 사용자를 압도하지 않으면서 인간을 루프 안에 두는 방법을 결정하는 일이다.
저자들은 마무리에서 산업계의 제품화 엄격함과 학계의 혁신을 결합해 “두 문화”의 간극을 메우고 하이프를 넘어설 필요가 있다고 주장한다.
논문은 여기에서 읽을 수 있다: The Design Space of LLM-Based AI Coding Assistants: An Analysis of 90 Systems in Academia and Industry.
관련 글 몇 편도 살펴보세요: