카테고리 없음

[작도앱 만들기 ②] 방구석 코딩 배틀의 심판이 되다

키보드몬스터 2026. 6. 23. 07:50

 

첫 성공의 달콤함은 짧았다. 스마트폰 화면에 선을 긋고 지우는 '디지털 스케치북'을 만드는 것까진 좋았는데, 기하학의 핵심인 '작도 논리'를 넣으려니 프로그램이 자꾸만 삐걱거렸다.

가장 큰 난관은 SSS 합동(세 변의 길이가 주어졌을 때 삼각형을 그리는 것)이었다. 컴퍼스로 양 끝점에서 원을 그려서 만나는 교점을 찾아야 하는데, 내가 쓰는 AI(제미나이)에게 이걸 구현해 달라고 하니 자꾸만 선이 화면 밖으로 도망가거나, 삼각형이 엉뚱하게 뒤집히기 일쑤였다.

"아니, 반지름이 5랑 7인 두 원이 만나는 점을 구하는 게 그렇게 어려워? 피타고라스 정리 몰라?"

화면 모니터를 향해 수학 교사로서의 답답함을 토로해 봤자, AI는 그저 "죄송합니다. 코드를 다시 수정했습니다"라며 똑같이 고장 난 결과물을 뱉어낼 뿐이었다. 코딩 문법을 모르니 어디가 틀렸는지 콕 집어 고쳐줄 수도 없고, 그렇다고 수학 공식을 줄줄이 타이핑해서 가르치자니 막막했다.

그때, 뉴스에서 스쳐 지나가듯 들었던 이야기가 떠올랐다. 세상에는 챗GPT, 제미나이, 클로드 등 성격이 다른 여러 AI가 있다는 것. 문득 재미있는 호기심이 발동했다.

'잠깐, 수학 계산이나 꼼꼼한 논리는 클로드가 잘한다고 했던 것 같은데? 둘을 같이 써보면 어떨까?'

클로드의 답변입니다.

 

 

인정할것은 인정하는 일 잘하는 친구

 

 

그날 밤, 텅 빈 교실에 남아 모니터 양쪽에 창을 두 개 띄웠다. 왼쪽엔 코드의 전체 뼈대를 씩씩하게 잘 만들어주는 제미나이를, 오른쪽엔 논리적이고 차분하다는 클로드를 배치했다. 나는 졸지에 두 인공지능을 조율하는 심판이자 통역사가 되었다.

나: "제미나이야, 네가 짠 원의 교점 구하는 코드를 클로드한테 보여줄게." (오른쪽 창으로 코드를 복사해서 넘긴다) 나: "클로드, 제미나이가 짠 기하학 코드인데 자꾸 교점이 반대로 찍혀. 수학적으로 어디가 틀렸는지 찾아봐."

그러자 클로드가 마치 다른 학원의 깐깐한 수학 강사처럼 문제점을 조목조목 짚어냈다. "제미나이의 코드는 두 원이 만나는 두 개의 교점 중, y좌표가 양수인 것만 무조건 선택하도록 하드코딩되어 있습니다. 사용자가 아래쪽으로 선을 그을 때를 대비해 벡터 방향을 계산하는 수식이 들어가야 합니다. 수정된 계산식은 다음과 같습니다."

오호라! 나는 클로드가 짜준 수학 계산 코드를 낼름 복사해서 다시 왼쪽의 제미나이에게 던졌다.

나: "제미나이야, 클로드가 너 수학 틀렸대. 이 공식으로 다시 넣어봐."

두 AI 사이에서 코드를 '복붙'하며 나르는 과정은 묘한 쾌감이 있었다. 나는 코드를 단 한 줄도 짤 줄 몰랐지만, 무엇이 문제이고 어떤 방향으로 가야 하는지 '지휘'하고 있었다.

제미나이는 클로드의 꼼꼼한 수학 논리를 흔쾌히 받아들여 전체 프로그램에 예쁘게 녹여냈다. 다시 테스트 버튼을 눌렀다. 스마트폰 화면에서 손가락으로 가상의 컴퍼스를 주욱 늘려 교점을 잡는 순간, '찰칵' 하는 느낌과 함께 완벽한 삼각형이 그려지며 '정답!' 알림이 떴다.

 

"됐다!!"

교실에 나 혼자 있었기에 망정이지, 하마터면 소리를 지를 뻔했다. 내가 코드를 몰라도, AI들의 장점을 잘 조합하고 명확한 '작업 지시'만 내리면 얼마든지 복잡한 수학 교구를 만들어낼 수 있다는 걸 증명한 순간이었다.

가장 어려운 기술적 고비는 넘겼다. 작도 엔진이 완성된 것이다. 하지만 다음날, 완성된 빈 캔버스를 멍하니 바라보다가 새로운 문제에 직면했다.

'기능은 다 돌아가는데... 여기다 무슨 문제를 풀게 하지?'

아무리 좋은 오락기라도 팩(게임 타이틀)이 없으면 고철 덩어리에 불과하다. 중학교 1학년 2학기 교과서에 나오는 수많은 작도 문제들, 다양한 난이도의 스테이지들을 이 앱 안에 하나하나 집어넣어야 했다. 코딩이라는 큰 산을 넘었더니, '노가다'라는 더 큰 산이 기다리고 있었다.

(3편 '수십 개의 기하학 문제, 노가다 없이 밀어 넣기'에서 계속)

 

 

 

실제로 여기까지 오기는 대단히 많은 시행착오가 있었습니다. 두 AI에게 배틀을 시켜서 오류를 계속해서 잡아나가면서 새로운 버전을 계속 만들었거든요. 디자인은 위에것이 좀 더 맘에 들기는 하는데, 이것도 뭐 깔끔하고 나쁘지는 않은것 같습니다