AI 챗봇이 프로그래밍 학습자의 인지적 노력을 어떻게 재분배하는가?
1. 연구의 목적
(1) AI 챗봇(LLM)이 프로그래밍 교육에 도입되면서, 학생들의 AI 활용 방식과 학습 과정의 변화를 이해해야 할 필요성이 커짐. 기존 연구들은 AI와의 단편적인 상호작용에 초점을 맞추거나, AI 사용이 학습에 필수적인 ‘생산적 고군분투’를 저해할 수 있다는 우려를 제기함. 하지만 시간 제약이 있는 실제 문제 해결 과정에서 학생들이 AI와 어떻게 상호작용하는지, 그 행동 패턴이 어떻게 진화하는지에 대한 총체적인 이해가 부족했음.
(2) 이 연구는 시간 제약이 있는 프로그래밍 과제에서 학생들이 LLM과 어떻게 상호작용하는지, 그 상호작용 궤적이 어떻게 발전하는지 밝히고자 함. 또한, AI가 생성한 코드와 학생이 제출한 코드의 유사성, 그리고 이러한 상호작용 패턴이 과제 성과 및 전체 학기 성적에 미치는 영향을 분석하여 개인 맞춤형의 생산적인 학생-AI 협업 학습을 촉진하는 교육용 AI 시스템 설계에 대한 시사점을 도출함.
2. 연구의 방법
(1) 연구는 정성적 접근 방식과 정량적 분석을 결합함. 먼저 학생들의 LLM 대화 기록에 대한 질적 코딩과 순서 분석을 통해 프롬프트 수준의 상호작용 테마와 궤적을 규명함. 이와 병행하여 학생이 제출한 코드와 AI가 생성한 코드 간의 유사성을 평가하고, 제출된 코드들을 클러스터링 분석하여 수렴 및 발산 정도를 측정함.
(2) 연구는 미국 R1 연구 중심 대학의 파이썬 입문 과정 학생 163명(유효 데이터 146명)을 대상으로 함. 학생들은 50분 내에 숫자 맞추기 게임을 프로그래밍하는 과제를 수행했으며, 이때 LLM(ChatGPT 3.5-turbo 무료 버전) 사용이 허용됨. 연구팀은 학생들의 LLM 채팅 기록과 최종 제출 코드를 수집하여, 프롬프트 수준의 상호작용 전략, 시간 흐름에 따른 상호작용 궤적, AI 생성 코드와 학생 제출 코드의 유사성, 그리고 이러한 상호작용 패턴이 과제 점수 및 전체 학기 성적에 미치는 영향을 분석함.
3. 주요 발견
이 연구는 학생-LLM 상호작용에서 8가지 프롬프트 테마와 8가지 상호작용 궤적, 그리고 5가지 코드 유사성 수준을 발견했음. 이는 학생들이 AI를 활용하여 프로그래밍 문제를 해결하는 복합적인 방식을 보여줌.
(1) 프롬프트 수준 상호작용 테마
학생들은 LLM과 소통할 때 다양한 전략을 사용함. 연구는 크게 컨텍스트 제공과 LLM 참여 방식의 두 가지 범주로 12가지 테마를 분류함.
| ID | 테마 이름 | 설명 | 관찰된 프롬프트 수 (비율) |
|---|---|---|---|
| 1 | 과제 지침 제공 | 워드 문서의 전체 과제 지침을 업로드/붙여넣음. | 93 (14.0%) |
| 2 | 코드 스켈레톤 제공 | .py 파일의 템플릿 코드를 업로드/붙여넣음. | 126 (19.0%) |
| 3 | 선택적 지침 제공 | 단계별 지침, 기능 설명, 출력 예시 등을 스크린샷이나 텍스트로 선택적으로 포함함. | 60 (9.1%) |
| 4 | 자기 설명 | 학생이 과제 전체, 단계별 지침, 기능 설명, 출력 예시를 자신의 말로 설명함. | 25 (3.8%) |
| 5 | 완전한 코드 솔루션 | LLM에게 전체 코드 솔루션을 명시적 또는 암시적으로 요청함. | 187 (28.2%) |
| 6 | 단계/기능 코드 | LLM에게 특정 단계 또는 기능에 대한 코드를 명시적 또는 암시적으로 요청함. | 57 (8.6%) |
| 7 | 오류/누락 부분 | 오류를 설명하거나 누락된 부분을 지적하여 코드 수정 또는 변경을 요청함. | 27 (4.1%) |
| 8 | 일반적인 수정/변경 | 특정 요구사항 없이 코드 수정을 요청함. | 34 (5.2%) |
| 9 | 설명 요청 | AI에게 생성된 코드에 대한 설명을 요청함. | 4 (0.6%) |
| 10 | 요약/통합 요청 | AI에게 이전 대화의 결과물을 종합해달라고 요청함. | 8 (1.2%) |
| 11 | 기타 안내 요청 | 답변이나 코드 구현이 아닌 다른 종류의 안내(예: 주석 추가, 개념 설명)를 요청함. | 15 (2.3%) |
| 12 | AI에 대한 응답 | AI의 질문에 답변하거나 AI가 제안한 조치를 수락함. | 26 (3.9%) |
가장 흔한 상호작용은 완전한 코드 솔루션 요청(Theme 5)으로, 이는 과제 지침(Theme 1)이나 코드 스켈레톤(Theme 2)을 제공하는 프롬프트와 함께 자주 나타남. 이는 학생들이 문제 해결을 LLM에 위임하면서도, 충분한 컨텍스트를 제공하려 노력했음을 보여줌.
위 그림은 학생들이 LLM에 프롬프트를 보낼 때, 다양한 ‘테마’들이 얼마나 자주 함께 나타나는지를 보여줌. 숫자가 클수록, 그리고 색이 진할수록 해당 테마들이 동시에 사용되는 경우가 많음을 의미함. 예를 들어, ‘과제 지침 제공(Theme 1)’은 ‘완전한 코드 솔루션 요청(Theme 5)’과 자주 함께 사용되었음을 알 수 있음.
(2) 8가지 상호작용 궤적
학생들은 문제 해결 과정에서 자신과 LLM 사이에 인지적 노력을 분배하는 다양한 방식을 보였으며, 이는 8가지 궤적으로 나타남.
| ID | 궤적 이름 | 설명 | 비율 |
|---|---|---|---|
| 1 | 단순 위임 (Simple Delegation) | 한 번의 프롬프트로 LLM이 완전한 솔루션을 생성하도록 하고, AI 코드를 그대로 제출함. 효율성을 추구하며 전체 과제를 LLM에 맡김. | 35.6% |
| 2 | 사례 학습-적응 (Worked-Example Adaptation) | LLM으로부터 완전한 솔루션을 한 번 얻은 후, 이를 실질적으로 수정하고 개선하여 제출함. 단순히 복사하는 것을 넘어 AI 코드를 이해하고 적용하려 노력함. | 4.8% |
| 3 | 최소 활용 (Minimal Use) | LLM과 짧게 상호작용하지만, 최종적으로는 자신의 코드를 주로 사용하거나 AI 출력과 현저히 다른 코드를 제출함. AI 솔루션이 효과적이지 않다고 판단하거나 독립적인 해결을 선호할 수 있음. | 6.8% |
| 4 | 지속적 위임 (Persistent Delegation) | 여러 라운드에 걸쳐 LLM에게 전체 문제에 대한 완전한 솔루션을 반복적으로 요청함. 시작 방법이나 진행 방식이 불확실할 때 프롬프트를 재구성하거나 다시 질문함. | 25.0% |
| 5 | 단계별 탐색 (Stepwise Exploration) | 과제를 작은 기능 단위로 나누고, 각 구성 요소에 대해 LLM에 순차적으로 프롬프트를 보냄. 과제 지침의 구조를 활용하여 LLM의 기여를 구조화함. | 3.4% |
| 6 | 역방향 스캐폴딩 (Backwards Scaffolding) | LLM에게 완전한 솔루션을 먼저 요청한 후, 오류 피드백을 제공하거나 특정 기능을 재생성하도록 지시하면서 반복적으로 솔루션을 수정함. 초기에는 LLM에 위임하지만, 나중에는 LLM을 협력적으로 스캐폴딩하여 솔루션을 개선함. | 23.6% |
| 7 | 디버깅 협업 (Debugging Collaboration) | 주로 자신의 코드를 업로드하고 LLM에게 특정 오류 디버깅을 요청하거나, 과제 지침에 따라 솔루션을 개선하도록 요청함. | 2.0% |
| 8 | 의존성 순환 (Cycle of Dependency) | 솔루션 생성과 수정 요청을 반복하지만, 작동하는 최종 솔루션을 찾지 못하고 반복적인 수정 루프에 갇힘. 새로운 코드를 요청하고 그 결과물을 고치는 과정을 계속함. | 5.4% |
위 Sankey 다이어그램은 지속적 위임 궤적을 따르는 학생들의 대화 흐름을 보여줌. 대부분의 학생이 Round 1에서 ‘완전한 코드 솔루션(Theme 5)’을 요청하며 시작하고, 이후 라운드에서도 ‘완전한 코드 솔루션(Theme 5)’을 반복적으로 요청하는 경향이 나타남. 이는 학생들이 AI에게 문제 해결을 전적으로 위임하려는 모습을 보여줌.
이 Sankey 다이어그램은 단계별 탐색 궤적을 보여줌. 학생들은 ‘단계/기능 코드(Theme 6)’를 요청하며 시작하여, 과제를 작은 구성 요소로 나누어 LLM의 도움을 받아 순차적으로 해결해나가는 패턴을 따름. 이는 좀 더 구조화된 문제 해결 방식을 의미함.
이 Sankey 다이어그램은 역방향 스캐폴딩 궤적을 나타냄. 학생들은 초기 라운드에서 ‘완전한 코드 솔루션(Theme 5)’이나 ‘단계/기능 코드(Theme 6)’를 요청한 후, 이후 라운드에서 ‘오류/누락 부분(Theme 7)’이나 ‘일반적인 수정/변경(Theme 8)’과 같은 디버깅 및 수정 요청으로 전환하여 AI와 협력적으로 솔루션을 개선해나가는 모습을 보여줌.
(3) 코드 유사성 및 수렴
학생들이 제출한 코드의 대부분은 AI 생성 코드와 유사했음.
| ID | 코드 유사성 테마 | 설명 | 비율 |
|---|---|---|---|
| 1 | 직접 복사 (Direct Copy) | AI 생성 코드를 최종 제출물에 거의 그대로 재사용함. | 80.4% |
| 2 | 사소한 수정 (Minor Modification) | AI 코드에 변수 이름 변경, 형식 지정, 주석 변경과 같은 작은 표면 수준의 편집만 함. | 4.0% |
| 3 | 반복적 통합 (Iterative Incorporation) | AI 코드를 반복적으로 디버깅, 통합 또는 특정 수정과 함께 재사용함. | 3.4% |
| 4 | 상당한 수정 (Substantial Modification) | AI 코드를 크게 조정하거나 논리를 재구성함. 표면적 편집을 넘어서는 명확한 작성자 변경 사항이 있음. | 4.0% |
| 5 | 독립적인 코드 (Independent Code) | 최종 제출물이 AI 출력과 크게 다름. AI 코드의 재사용이 거의 또는 전혀 없음. | 6.8% |
전체 학생의 80% 이상이 AI가 생성한 코드를 직접 복사하거나 사소한 수정만 거쳐 제출했음. 코드 클러스터링 분석에서도 대부분의 학생 코드가 기능적, 구조적, 의미적으로 유사한 구현으로 수렴하는 경향을 보임. 이는 LLM이 기초 프로그래밍 학습을 효율적으로 지원하고, 학생들이 기능적으로 올바른 솔루션에 도달하도록 도왔음을 시사함. 그러나 일부 학생들은 상당한 수정을 가하거나 독립적인 코드를 작성하여 창의성과 더 깊은 참여의 가능성도 보여줌.
(4) 과제 및 학기 성과
LLM을 거의 사용하지 않은 Minimal Use (최소 활용) 궤적의 학생들이 LLM에 전적으로 위임한 Simple Delegation (단순 위임) 궤적의 학생들보다 과제 점수가 유의미하게 낮았음. 이는 AI를 전혀 사용하지 않는 것이 오히려 단기적인 과제 성과에 불리할 수 있음을 나타냄.
위 그림은 학생들이 LLM과 상호작용하는 궤적 유형에 따른 과제 점수를 비교함. Simple Delegation 궤적의 학생들이 대체로 높은 과제 점수를 받은 반면, Minimal Use 궤적의 학생들은 낮은 점수를 받는 경향을 보였음을 알 수 있음.
하지만 흥미롭게도, 이러한 과제 점수 차이에도 불구하고 전체 학기 성적에서는 궤적 유형별 유의미한 차이가 발견되지 않음. 이는 단일 시간 제한 과제에서의 LLM 사용 방식이 장기적인 학습이나 학업 성취도를 예측하는 지표는 아님을 시사함.
4. 결론 및 시사점
(1) 이 연구는 학생들이 LLM을 프로그래밍 문제 해결의 ‘인지적 파트너’로 활용하며, 이때 상호작용 궤적이 시간 제약 속에서 인지적 부담을 관리하는 전략을 반영함을 입증함. 대부분의 학생은 AI 생성 코드를 직접적으로 재사용하여 코드의 높은 유사성을 보였지만, 이는 기초 학습 과정에서 효율적인 스캐폴딩 역할을 함. LLM에 전적으로 의존하는 ‘단순 위임’ 그룹이 과제 점수는 높았으나, 학기 전체 성적에서는 상호작용 방식에 따른 유의미한 차이가 없었음.
(2) 교육 현장과 AI 설계자들은 LLM을 활용한 프로그래밍 학습을 ‘제품 프로토타이핑(product prototyping)’의 사이클로 재구성해야 함.
- 반복, 테스트, 수정의 과정을 명시적으로 보상해야 함: 학생들이 AI의 결과물을 단순히 복사하는 것을 넘어, 비판적으로 평가하고 자신의 아이디어를 반영하여 수정하는 과정을 장려해야 함. 과제 평가 기준에 코드의 정확성뿐만 아니라, AI 생성 코드의 실험, 변경 사항 문서화, 트레이드오프 설명 등을 포함하여 학생들이 성찰적인 학습을 하도록 유도해야 함.
- 생산적인 실패를 장려하는 환경을 조성해야 함: LLM은 즉각적인 피드백과 대안적인 코드 초안을 제공함으로써 ‘생산적인 실패’의 인지적, 시간적 비용을 낮출 수 있음. 과제 설계 시 실패와 회복의 사이클을 통합하여, 오류를 프로토타이핑 과정의 자연스러운 부분으로 받아들이도록 해야 함.
(3) 추가적인 시사점은 다음과 같음.
- 프롬프트 작성을 학습의 핵심 요소로 부각해야 함: 많은 학생들이 LLM을 ‘모든 것을 아는 해석자’로 여기고 과제 지침을 그대로 업로드하는 경향이 있음. 프롬프트 작성을 위한 지시어 재구성, 구조적 분해, 프롬프트 정당화 등을 요구하는 활동을 설계하여, 프롬프팅 자체를 문제 해결 과정과 프로토타이핑 사이클의 비판적 단계로 인식하게 해야 함.
- AI 활용 능력의 형평성을 지원해야 함: 학생들의 LLM 사용 경험과 숙련도는 불균등하며, 이는 학습 결과의 불균형으로 이어질 수 있음. 효과적인 프롬프팅 모범 사례를 모델링하고, 성찰을 위한 스캐폴딩을 제공하며, 단순히 위임하는 것보다는 반복적인 개선 노력을 보상함으로써, 이전 경험이 성공의 주요 동인이 되지 않도록 형평성을 높여야 함.
5. 리뷰어의 ADD(+) One: 생각 더하기
(1) 이 논문에서 가장 주목할 만한 지점은 LLM 사용 여부 그 자체보다 ‘어떤 방식으로 LLM과 상호작용하는가’가 학습 성과에 미치는 영향, 그리고 그 영향이 단기 과제와 장기적인 학기 성적 간에 차이를 보인다는 점이다. 특히, LLM을 최소한으로 사용한 그룹이 오히려 LLM에 전적으로 위임한 그룹보다 과제 성적이 낮았다는 발견은 LLM이 단순히 치팅 도구가 아니라, 올바르게 활용할 경우 학습을 효율적으로 지원하는 강력한 ‘인지적 도구’임을 시사한다. 기존 논의가 LLM 사용 자체의 윤리적 문제나 학습 효과 유무에 집중했다면, 이 연구는 학생들의 구체적인 ‘상호작용 궤적’이라는 행동 패턴을 분석하여 LLM 활용 학습의 복잡성과 실제를 심층적으로 드러냈다는 점에서 중요하다고 생각한다. 이는 교육 현장이 LLM을 단순히 금지하거나 허용하는 이분법적 접근을 넘어, 그 활용 방식을 섬세하게 디자인해야 할 필요성을 강조한다.
(2) 이 연구는 AI를 인간의 인지 과정을 증강하는 ‘인지적 파트너’로 재개념화할 수 있는 더 넓은 의미를 가진다. 인지과학적 관점에서 볼 때, LLM은 단순한 코딩, 디버깅, 문법 확인 등 저수준의 인지 부하를 줄여줌으로써, 학생들이 문제 해결의 큰 그림을 그리거나, 다양한 해결 전략을 탐색하고, 생성된 코드를 비판적으로 평가하는 등 고수준의 메타인지 활동에 집중할 수 있도록 돕는다. 이는 비고츠키의 사회문화적 관점에서 도구가 인간의 사고를 중재하고 확장하는 방식과 유사하다. 즉, LLM은 인간 사고의 ‘확장된 인지(extended cognition)’를 가능하게 하는 새로운 형태의 인지 도구로 볼 수 있으며, 이는 교육 철학적으로 학습자의 주체성과 AI의 역할에 대한 근본적인 재고를 요구한다.
(3) 이 연구를 발전시킬 구체적인 아이디어는 학생들의 상호작용 궤적에 기반한 적응형 AI 학습 도우미 개발이다. 예를 들어, AI 챗봇이 학생의 프롬프트 패턴과 코드 수정 이력을 실시간으로 분석하여 다음과 같은 개입을 제안할 수 있다. 첫째, 단순 위임 궤적을 보이는 학생에게는 “이 코드의 어떤 부분이 가장 중요한가요?”, “이 코드를 당신의 말로 설명해 보세요.”와 같은 자기 설명 프롬프트를 제시하여 깊이 있는 이해를 유도한다. 둘째, 의존성 순환 궤적에 갇힌 학생에게는 문제 분해 전략을 안내하거나, “이 문제를 해결하기 위해 스스로 어떤 부분을 먼저 시도했나요?”, “현재까지의 접근 방식에서 가장 어려웠던 점은 무엇인가요?”와 같은 반성적 질문을 통해 막다른 길에서 벗어나 새로운 관점을 찾도록 돕는다. 셋째, 단계별 탐색 궤적을 따르는 학생에게는 각 단계별로 코드를 통합하고 전체적인 구조를 파악하도록 돕는 프롬프트를 제공하여 부분과 전체를 연결하는 학습을 지원할 수 있다. 이러한 시스템은 학생들의 LLM 활용 행동을 단순히 효율성 추구에서 ‘학습 지향적’ 행동으로 전환시키는 데 기여할 것이다.
6. 추가 탐구 질문
(1) 이 연구는 LLM 사용 궤적이 장기적인 학기 성적에 유의미한 차이를 보이지 않는다고 밝혔음. 그렇다면 LLM을 통해 얻은 코드를 학생들이 장기적으로 자신의 지식으로 내재화하고 활용하는 과정은 어떻게 이루어지는가? 특히 ‘최소 활용’ 그룹 학생들의 과제 성적이 낮음에도 학기 성적에는 차이가 없었다는 점에서, 학생들이 LLM 사용을 회피하거나 제한했을 때 어떤 자기조절학습 전략을 사용하며, 이것이 장기적인 학습에 어떤 영향을 미치는지에 대한 심층적인 연구가 필요하지 않을까?
(2) 이 연구는 파이썬 입문 과정이라는 특정 맥락에서 진행되었음. 만약 창의성을 요구하는 디자인 프로젝트, 협업이 필수적인 팀 프로그래밍 과제, 또는 추상적 개념 이해가 중요한 고급 이론 과목 등 다른 맥락에 LLM이 적용된다면, 학생들의 상호작용 궤적은 어떻게 달라질까? 또한, LLM이 아닌 다른 종류의 AI 교육 도구(예: 자동화된 피드백 시스템, 지능형 튜터링 시스템)와 함께 사용될 때, 학습자 행동 패턴의 변화는 어떠할까?
(3) LLM은 때때로 환각(hallucination)이나 코드 내 잠재적 편향을 생성할 수 있음. 학생들이 AI 생성 코드를 그대로 복사하거나 사소한 수정만을 거쳐 제출하는 경향이 강한 상황에서, 이러한 AI의 불완전성이 학습자의 비판적 사고 능력, 오류 검증 능력 발달에 어떤 윤리적/기술적 문제를 야기할 수 있을까? 교육 현장에서 LLM의 한계를 명확히 인식시키고, AI의 결과물을 맹목적으로 신뢰하지 않도록 가르치는 효과적인 방법은 무엇일까?
<출처> - Shao, T., Feijóo-García, M., Zhang, Y., Castellanos, H., Salem, T., Magana, A., & Li, T. (2025). Tracing Prompt-Level Trajectories to Understand Student Learning with AI in Programming Education. *Proceedings of the ACM on Human-Computer Interaction, 9*(2), 1–23. 출처>