TECH 으로 돌아가기
TECH HACKER NEWS 1주 전 6분 읽기 23 READS

방정식을 손으로 만져서 푼다 — 수학 실수를 원천 차단하는 Wyrm

방정식을 손으로 만져서 푼다 — 수학 실수를 원천 차단하는 Wyrm

수학을 '조작'하는 새로운 방식

중고등학교 때 방정식 풀다가 이런 실수 다들 해봤을 거예요. 등호 반대편으로 항을 넘기면서 부호 바꾸는 걸 깜빡한다든지, 양변을 나누는데 실수로 한쪽만 나눈다든지. 답은 뻔히 아는데 계산 과정에서 손이 미끄러져서 틀리는 거죠.

이번에 소개할 Wyrm(wyrm_math)은 바로 그 지점을 파고든 프로젝트예요. 한 문장으로 말하면 "방정식을 손으로 만져서 푸는 도구"인데요. 화면에 뜬 수식의 항을 손가락으로 끌어서 옮기거나 조작하면, 그 조작이 수학적으로 올바른지 프로그램이 실시간으로 검사해주는 거예요. 종이에 연필로 풀 때는 아무도 내 계산을 실시간으로 검산해주지 않잖아요. Wyrm은 그 검산관 역할을 옆에 딱 붙여둔 셈이에요.

'건전성 엔진'이 뭐길래

이 프로젝트에서 제일 흥미로운 부분은 밑바탕에 깔린 건전성 엔진(soundness engine)이에요. 이 단어가 좀 낯설 텐데, 쉽게 풀어볼게요.

수학이나 논리학에서 '건전성(soundness)'이라는 건 "규칙에 맞는 올바른 변형만 허용한다"는 뜻이에요. 방정식으로 치면, x + 3 = 7이라는 식이 있을 때 양변에서 3을 빼서 x = 4로 가는 건 허용돼요. 등식의 균형을 지키는 정당한 조작이니까요. 그런데 한쪽에서만 3을 빼서 x = 7로 만드는 건 규칙 위반이죠. 건전성 엔진은 바로 이 규칙을 코드로 딱 정해두고, 사용자가 시도하는 모든 조작을 "이건 등식을 깨뜨리지 않나?" 하고 검사하는 심판이에요.

그래서 Wyrm에서는 애초에 틀린 조작 자체가 불가능해요. 손으로 항을 끌어다 옮기면 엔진이 자동으로 부호를 맞춰주거나, 규칙에 어긋나는 동작은 막아버리거든요. 학생 입장에서는 "내가 지금 하는 이 변형이 수학적으로 말이 되는가?"를 몸으로 직접 익히게 돼요. 답을 대신 내주는 게 아니라, 올바른 길에서 벗어나지 않도록 난간을 세워주는 거죠.

이 엔진을 오픈소스로 따로 떼어놨다는 점도 중요해요. 즉 Wyrm은 이 검증 엔진을 눈으로 볼 수 있게 만든 하나의 예시일 뿐이고, 같은 엔진을 다른 교육용 앱이나 도구에 얼마든지 다시 갖다 쓸 수 있다는 뜻이거든요.

비슷한 도구들과 뭐가 다를까

수학 앱이라고 하면 많이들 떠올리는 게 Photomath 같은 서비스예요. 카메라로 문제를 찍으면 답이랑 풀이가 좌르륵 나오죠. 그런데 이런 앱은 사실 정답을 '보여주기만' 해요. 학생은 결과를 구경할 뿐, 직접 손을 움직여보는 경험은 없어요. 극단적으로는 숙제 베끼는 도구가 되기도 하고요.

반면 Wyrm은 DragonBox나 Graspable Math 같은 '조작형 수학 학습' 계열에 더 가까워요. 이 계열의 핵심 아이디어는 수식을 추상적인 기호 덩어리가 아니라 손으로 만질 수 있는 물체처럼 다루게 하는 거예요. 항을 블록처럼 끌어다 옮기면서, 규칙을 머리로 외우기 전에 감각으로 먼저 익히는 거죠. Wyrm은 여기에 '건전성 엔진'이라는 논리적 뼈대를 튼튼하게 깔아서, 조작의 자유로움과 수학적 엄밀함을 동시에 잡으려 한 게 특징이에요.

한국 개발자에게 주는 이야기

에듀테크(교육 기술) 쪽에 관심 있는 분이라면 이 접근이 꽤 영감을 줄 거예요. 우리가 앱을 만들 때 보통은 "정답을 어떻게 계산할까"에 집중하잖아요. 그런데 Wyrm은 "사용자가 틀린 길로 가는 걸 어떻게 애초에 막을까"를 고민했어요. 이건 수학뿐 아니라 화학 반응식, 논리 회로, 코딩 교육처럼 '규칙을 지키며 단계를 밟아나가는' 모든 학습에 응용할 수 있는 발상이에요.

그리고 '규칙을 코드로 정의하고 모든 입력을 그 규칙에 비춰 검증한다'는 구조는, 사실 우리가 서비스 만들 때 하는 유효성 검사(validation)나 상태 머신(state machine) 설계와 뿌리가 같아요. 잘못된 상태로는 아예 넘어갈 수 없게 설계하는 것, 이게 좋은 소프트웨어의 기본기거든요. 그런 관점에서 Wyrm의 엔진 구조를 뜯어보는 것만으로도 배울 게 있어요.

마무리

한 줄로 정리하면, Wyrm은 정답을 떠먹여 주는 대신, 틀릴 수 없는 환경을 만들어서 수학을 몸으로 익히게 하는 도구예요. 여러분이 학습용 도구를 만든다면, 정답을 보여주는 쪽과 틀린 시도를 막아주는 쪽 중 어느 방향이 진짜 실력을 키워줄까요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/dicroce/wyrm_math
SHARE
처리 중...