본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 06. 15. 10:04

대규모 언어 모델(LLM)을 이용한 학생들의 Java 프로그래밍 오류 시뮬레이션

요약

LLM을 활용하여 학생들의 Java 프로그래밍 오류를 시뮬레이션하는 연구를 소개합니다. 다양한 프롬프팅 전략을 통해 생성된 합성 오류가 실제 학생의 실수와 기능적으로 구별되지 않음을 입증했습니다.

핵심 포인트

  • LLM이 프로그래밍 교육을 위한 확장 가능한 학생 대리인 역할을 수행 가능함
  • Claude Sonnet 4가 오류 다양성과 실제 정렬 측면에서 가장 균형 잡힌 성능을 보임
  • 문제 난이도가 높을수록 오류의 다양성은 증가하나 학생답지 않은 오류가 발생함
  • 합성 오류를 지능형 튜터링 시스템 및 학습 분석에 통합할 수 있는 가능성 제시

프로그래밍 교육에서 학생들의 오류를 이해하는 것은 초석과 같지만, 새로운 과제를 설계할 때마다 대표성 있는 학생 오류 세트를 확보하는 것은 여전히 느리고 비용이 많이 드는 작업입니다. 실제 제출물은 광범위한 수업 적용이 이루어진 후에야 축적되기 때문입니다. 본 논문은 대규모 언어 모델(LLMs)이 코드 제출물에서 현실적인 논리적 오류를 시뮬레이션함으로써 학생들을 위한 확장 가능한 대리인(proxies) 역할을 할 수 있는지 탐구합니다. 37개 문제에 걸친 74,000개 이상의 고유한 학생 Java 제출물로 구성된 CodeWorkout 데이터셋을 사용하여, 우리는 세 가지 주요 프롬프팅 전략인 입력-출력(Input-Output, IO), 사고의 사슬(Chain-of-Thought, CoT), 그리고 반복적 자기 개선(iterative Self-Refine) 하에서 5개의 LLM을 평가합니다. 우리는 두 가지 핵심 차원인 다양성(distinct error patterns의 범위)과 정렬(alignment, 실제 학생의 실수와의 일치성)을 따라 성능을 평가하며, 프로그래밍 과제의 난이도(struggling level)에 따라 이러한 요소들이 어떻게 변하는지 조사합니다. 우리의 정량적 연구 결과에 따르면, 모든 모델이 다양한 오류를 생성하지만 실제 인간의 제출물과의 정렬(alignment) 측면에서는 차이를 보였으며, Claude Sonnet 4가 가장 균형 잡힌 성능을 달성했습니다. 또한, 우리는 합성 오류와 실제 오류를 비교하는 눈가림 전문가 주석 연구(blinded expert annotation study, N = 401)를 수행했습니다. 이러한 질적 분석은 생성된 오류가 실제 학생의 오류와 기능적으로 구별할 수 없음을 확인해 줍니다. 더욱이, 난이도가 더 높은 문제는 더 다양하지만 학생답지 않은(less student-like) 오류를 유도합니다. 이러한 결과는 인간 학습자를 시뮬레이션하기 위해 LLM을 사용하는 데 있어 트레이드오프(trade-offs)가 존재함을 강조하며, 합성 오류를 교육용 에이전트(teachable agents), 지능형 튜터링 시스템(intelligent tutoring systems), 그리고 대규모 학습 분석(large-scale learning analytics)에 통합하기 위한 설계 고려 사항을 제시합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0