3 분 소요

바이브 코딩에서 학생-AI 상호작용 탐구

이 연구는 학생들이 바이브 코딩(Vibe Coding) 플랫폼을 사용하여 소프트웨어를 개발할 때 AI와 어떻게 상호작용하는지, 특히 프로그래밍 입문자와 숙련자 간의 차이점을 비교 분석합니다. 이를 통해 AI 기반 코딩 도구를 효과적으로 학습하고 활용하도록 지원하는 교육적 방안을 모색하는 데 기여하고자 합니다.

이미지


1. 연구의 목적

이 연구의 핵심 목적은 학생들이 바이브 코딩(Vibe Coding) 플랫폼을 사용하여 소프트웨어를 개발할 때 인공지능(AI)과 어떻게 상호작용하는지를 이해하는 것입니다. 특히, 프로그래밍 입문 수준의 학생(CS1)과 고급 소프트웨어 공학(SWE) 과정의 학생들 간에 이러한 상호작용 방식이 어떻게 다른지를 비교 분석하고자 했습니다. 이를 통해 AI 기반 코딩 도구를 효과적으로 학습하고 활용하도록 지원하는 방안을 모색하는 데 기여하고자 합니다.


2. 연구의 방법

본 연구는 질적 연구 방법론에 기반한 관찰 연구로 설계되었습니다.

  • 참여자: 프로그래밍 입문(CS1) 과정 학생 9명과 고급 소프트웨어 공학(SWE) 과정 학생 10명을 모집했습니다.
  • 연구 환경: 참가자들은 AI 통합 개발 환경인 리플릿(Replit)을 사용하여 ‘개인 예산 관리 웹 애플리케이션’을 개발하는 과제를 60분 동안 수행했습니다.
  • 데이터 수집: 연구는 ‘소리 내어 생각하기(think-aloud)’ 프로토콜을 사용하여 진행되었으며, 학생들의 화면과 음성을 모두 녹화하여 상호작용 과정을 상세히 기록했습니다. 과제 수행 후에는 반구조화된 인터뷰를 통해 학생들의 경험과 행동의 이유를 심층적으로 파악했습니다.
  • 데이터 분석: 수집된 영상 기록을 주제 분석(Thematic Analysis)하여 학생과 AI 간의 상호작용 유형(예: 프롬프트 작성, 프로토타입 테스트, 코드 수정 등)을 체계적으로 분류하고 레이블링했습니다.


3. 주요 발견

연구 결과, 프로그래밍 숙련도에 따라 AI와의 상호작용 방식에 뚜렷한 차이가 나타났습니다.

(1) 공통적인 행동 패턴

모든 학생들은 AI가 생성한 코드를 직접 보는 경우는 매우 드물었고(전체 상호작용의 7.38%), 대부분의 시간을 프로토타입을 테스트하거나(63.61%) AI에게 프롬프트를 작성하는 데(20.60%) 사용했습니다. 특히, 프롬프트 작성의 주된 목적은 디버깅(61.01%)이었습니다.

(2) 숙련도에 따른 차이

  • 코드 관여도: 고급 소프트웨어 공학(SWE) 학생들은 입문(CS1) 학생들보다 AI가 생성한 코드를 직접 해석하거나 수정하려는 경향이 더 높았습니다.
  • 프롬프트의 질: 입문(CS1) 학생들은 “작동이 안 돼요”와 같이 맥락이 부족하고 모호한 프롬프트를 사용하는 비율이 현저히 높았던 반면, SWE 학생들은 “routes.ts 파일 118번 줄에서…“와 같이 특정 파일이나 코드 조각을 언급하는 구체적이고 코드 중심적인 프롬프트를 사용하는 경향이 뚜렷했습니다.
  • 테스트 방식: SWE 학생들은 일반적인 기능 테스트를 넘어 엣지 케이스(Edge Case) 테스트를 시도하는 비율이 더 높았습니다.


4. 결론 및 시사점

이 연구는 바이브 코딩이 단순히 코딩을 위임하는 것을 넘어, 테스팅과 디버깅 중심의 새로운 개발 워크플로우를 형성함을 보여줍니다. 학생들은 AI를 통해 끊임없이 프로토타입을 만들고, 테스트하며, 발생하는 오류를 다시 AI에게 질문하여 해결하는 반복적인 과정을 거쳤습니다.

교육적으로 이 연구는 중요한 시사점을 던져줍니다. AI 시대라 할지라도 프로그래밍의 근본적인 기술과 지식은 여전히 중요합니다. 고급 과정 학생들이 더 정교한 프롬프트를 작성하고 코드에 직접 관여할 수 있었던 것은 그들이 가진 컴퓨팅 지식이라는 안전망(safety net) 덕분이었습니다. 따라서 교육자들은 AI 도구의 사용법만 가르칠 것이 아니라, 학생들이 AI와 효과적으로 소통하고 그 결과물을 비판적으로 검증하는 데 필요한 핵심 컴퓨팅 개념과 디버깅, 테스팅 기술을 더욱 강조하여 가르쳐야 할 필요가 있습니다.


5. 리뷰어의 ADD(+) One: 생각 더하기

(1) 이 연구의 탁월한 점 (강점)

  • 시의성: 바이브 코딩이라는 최신 현상을 교육적 맥락에서 발 빠르게 탐구하여, AI가 프로그래밍 학습 환경을 어떻게 바꾸고 있는지 실증적인 데이터를 제공한 선도적인 연구입니다.
  • 비교 연구의 깊이: 단순히 AI 도구 사용 행태를 관찰하는 것을 넘어, ‘초급자’와 ‘숙련자’라는 두 집단을 비교함으로써 ‘기존의 프로그래밍 지식이 AI와의 상호작용에 얼마나 결정적인 영향을 미치는가’를 명확하게 보여주었습니다. 이는 “AI가 있으니 기초는 몰라도 된다”는 일각의 오해를 바로잡는 중요한 근거가 됩니다.
  • 생생한 연구 방법: 소리 내어 생각하기 기법을 통해 학생들이 문제에 직면했을 때의 인지 과정과 문제 해결 전략을 생생하게 포착하여, 정량적인 데이터만으로는 알 수 없는 학습자의 실제 경험을 깊이 있게 이해할 수 있게 했습니다.

(2) 교육 현장을 위한 추가 제언

  • 메타인지 훈련 강화: 연구에서 학생들이 디버깅에 많은 시간을 보내는 것으로 나타났습니다. 이는 단순히 좋은 프롬프트를 아는 것을 넘어, AI의 결과물을 언제 신뢰하고 언제 의심해야 할지, 어떤 방식으로 질문을 바꿔야 할지를 판단하는 메타인지 능력이 중요함을 의미합니다. 수업에서 AI를 ‘정답 자판기’가 아닌 ‘생각 파트-너’로 설정하고, AI의 제안을 검증하고 개선하는 활동을 설계해야 합니다.
  • 코드 읽기(Code Reading) 능력의 재조명: 바이브 코딩이 코드 작성의 부담을 줄여주지만, 문제 해결의 열쇠는 결국 코드 안에 있습니다. SWE 학생들이 코드 기반 프롬프트를 작성할 수 있었던 힘은 코드를 읽고 이해하는 능력에서 나옵니다. 따라서 AI가 생성한 코드를 분석하고 그 구조와 논리를 파악하는 코드 읽기 교육을 강화하여, AI 시대에 더욱 중요해진 디버깅 능력의 기초를 다져야 합니다.
  • 점진적인 AI 도구 도입: 처음부터 모든 것을 AI에 맡기는 환경보다는, 코드 일부 생성, 코드 설명, 간단한 오류 수정 등 제한된 기능을 가진 AI 도구부터 점진적으로 도입하는 교육 전략이 효과적일 수 있습니다. 이를 통해 학습자는 AI의 도움을 받으면서도 코드에 대한 이해와 통제감을 잃지 않고 성장할 수 있습니다.


6. 추가 탐구 질문

  • 장기적인 관점에서 바이브 코딩 경험은 학생들의 근본적인 컴퓨팅 사고력과 디버깅 능력 발달에 긍정적인 혹은 부정적인 영향을 미치는가?
  • 학생들의 프롬프트 작성 능력을 효과적으로 향상시키기 위한 구체적인 교육적 개입이나 피드백 시스템은 무엇일까?
  • 팀 프로젝트 환경에서 바이브 코딩은 협업 방식에 어떤 변화를 가져오는가? 팀원들은 AI와 어떻게 상호작용하며 공동의 목표를 달성하는가?
  • 이 연구에서 사용된 Replit과 달리, 코드의 가시성을 더 강조하는 다른 플랫폼(예: Cursor 또는 Windsurf)을 사용했을 때 학생들의 코드 관여도는 어떻게 달라질까?

출처: - Geng, F., Shah, A., Li, H., Mulla, N., Swanson, S., Soosai Raj, G., Zingaro, D., & Porter, L. (2025). Exploring Student-Al Interactions in Vibe Coding. arXiv. https://arxiv.org/abs/2507.22614v1