AI가 스크래치 코드를 이해하는 최고의 방법은?
스크래치로 코딩을 처음 배우는 아이들, 많죠? 그런데 AI가 그 아이들이 짠 코드를 제대로 이해할 수 있을까요? 이 연구는 AI가 스크래치 프로그램을 가장 잘 '읽는' 방법을 찾아내기 위해 여러 가지 기술을 직접 비교했습니다.
왜 이런 연구가 필요했을까?
요즘은 AI가 컴퓨터 프로그램을 분석하는 기술이 많이 발전했어요. 예를 들어 깃허브의 코파일럿 같은 도구가 코드를 보고 도움을 주죠. 그런데 이런 기술은 대부분 텍스트로 된 코드(파이썬, 자바 같은)를 대상으로 합니다. 하지만 어린이들이 배우는 스크래치는 블록을 조립하는 시각적인 언어예요. 블록을 텍스트로 바꾸면 AI도 분석할 수 있지만, 블록이 가진 고유한 구조(예: 블록이 서로 어떻게 연결되는지)까지 제대로 반영하지 못할 수 있습니다. 그래서 이 연구팀은 스크래치 코드에 가장 적합한 '임베딩' 방법이 무엇인지 알아보고자 했습니다. '임베딩'이란 코드를 숫자로 변환해서 AI가 이해할 수 있게 만드는 기술이라고 생각하면 됩니다.
연구팀이 직접 비교해보니…
연구팀은 네 가지 대형 언어 모델(Large Language Model, LLM)과 다섯 가지 인기 있는 임베딩 방법을 가져와서 스크래치 프로그램에 적용해보았습니다. 예를 들어 '토큰 예측'이라는 과제를 만들었는데, 이는 코드 중간에 빈칸을 두고 다음에 올 블록이 무엇인지 맞히는 문제입니다. 또 프로그램이 어떤 종류인지 분류하는 과제도 만들었어요. 이렇게 여러 가지 테스트를 통해 어떤 임베딩 방법이 가장 뛰어난 성능을 보이는지 평가했습니다.
결과는 어떻게 나왔을까요? 블록의 구조 정보를 함께 담을 수 있는 전용 임베딩 모델들이 텍스트만으로 학습한 모델보다 더 좋은 성과를 냈습니다. 특히 전체 프로그램의 연결 구조를 그래프처럼 표현하는 방식이 효과적이었어요. 이는 스크래치 같은 시각 언어에서는 단순히 코드를 텍스트로 바꾸는 것보다 블록 간의 관계를 잘 반영하는 것이 중요하다는 것을 의미합니다.
우리 교육에 어떤 도움이 될까?
이 연구 결과는 AI가 교육용 프로그래밍을 더 잘 이해할 수 있는 길을 열어줍니다. 예를 들어 학생들이 스크래치로 만 작품을 AI가 분석해서 '이 학생은 반복문을 어려워하는 것 같아'라고 알려준다거나, 실수를 자주 하는 패턴을 찾아내서 맞춤형 도움을 줄 수 있습니다. 교사들이 일일이 모든 코드를 살펴보기 어려운 상황에서 AI가 학습 분석 도우미 역할을 할 수 있는 거죠. 앞으로 스크래치 학습 플랫폼에 이런 기술이 적용된다면 더 효과적인 코딩 교육이 가능해질 것입니다.
📖 원문 보기: arXiv 원문
본 요약은 AI로 작성되었습니다. arXiv 논문을 바탕으로 재구성되었습니다.