Haeminway haemin/way
English
5 분 분량 수정:

영어 강사가 코드를 짜게 된 건, 게을러서였습니다

영어 강사가 매주 클리닉지와 해설지를 만들며 겪은 반복 작업을 줄인 기록입니다. 문항 생성보다 검수와 재사용에 더 손이 갔던 이유, 현재 직접 확인하는 부분을 설명합니다.

매주 교재를 다시 만들다 보니, 문항을 쓰는 속도보다 만든 내용을 검수하고 다음 수업에 다시 쓰는 과정이 더 중요했습니다. 이 글은 제가 영어 수업에서 그 과정을 직접 만들게 된 기록입니다. 도구를 쓰면 검수가 없어지는 것은 아닙니다.

처음부터 코드를 짜려던 건 아닙니다. 저는 영어 강사였고, 그 지역에서 제일 잘나가는 선생님 밑에 클리닉 팀장으로 들어가 클리닉을 맡았습니다.

매주 돌아오는 하루

클리닉 팀장이 매주 하는 일은 이랬습니다.

진도가 확정되면 바로 시작입니다. 지난주 진도에 맞춰 기존 문제 파일을 뒤져 문항을 고르고, 잘라 붙이고, 모자라는 유형은 새로 만들어서 다음 주 클리닉지 한 부를 완성합니다. 그걸 네 반 몫으로.

마감은 살벌했습니다. 진도가 정해지는 날과 클리닉지가 나가야 하는 날 사이가 너무 짧아서, 그 틈에 반마다 다른 진도를 맞춘 네 부를 뽑아내야 했거든요. 하루가 통째로 들어갔습니다.

그리고 다음 주에 또 돌아왔습니다.

게을러서, 바로 자동화했습니다

저는 게으릅니다. 그래서 바로 자동화했습니다.

첫 구조는 단순했습니다.

스프레드시트에서 스크립트, AI를 거쳐 문서 파일로 이어지는 네 단계 사슬. AI 옆에 작은 경고 표시

  • 지문 원문을 엑셀에 저장해 둡니다.
  • 파이썬 스크립트가 엑셀을 읽습니다.
  • 스크립트가 AI APIAPI 에이피아이 프로그램이 AI를 직접 부르는 연결 통로. 쓴 만큼(토큰만큼) 요금을 냅니다.를 불러 문항을 만듭니다.
  • 결과를 워드 파일로 뽑습니다.

돌려 보니 생각보다 훨씬 빨랐습니다. 하루를 통째로 잡아먹던 일이 금방 끝났고, 나온 문항도 그대로 쓸 수 있는 수준이었습니다.

진짜 빠져든 건 해설지였습니다

속도보다 크게 다가온 게 있었습니다.

처음부터 모든 걸 제가 만든 건 아닙니다. 받아 온 자료에서 시작했고, 대부분 한글 파일이었습니다. 주석과 메모가 연결돼 있었고 해설은 복사해 붙인 것들이었는데, 품질이 처참했습니다. 해설이 한 줄짜리인 경우가 흔했습니다.

그래서 처음 만든 클리닉 양식을 갈아엎었습니다. 그리고 자동화하면서 해설지를 직접 만들었습니다. 한 줄 해설 대신 이렇게 넣었습니다.

  • 지문 전체의 한국어 해석
  • 문제 풀이 해설
  • 선지마다 왜 정답이고 왜 오답인지

한 줄 낙서만 있는 받아 온 메모 옆에, 얇은 클리닉지 묶음과 그보다 훨씬 두꺼운 해설지 묶음을 나란히 놓은 그림. 해설지 맨 위 장은 세 칸으로 나뉘어 있다

그러다 보니 해설지가 사실상 클리닉지 본책보다 길어졌습니다. 쪽수가 훨씬 많았습니다. 반응이 좋았습니다. “어떻게 이렇게 빠른 시간에 만들었냐”는 말도 들었습니다. 거기서 빠져들었습니다.

쓰다가 거슬리는 걸 하나씩 고쳤습니다

거기서 멈추지 않았습니다. 쓰면서 불편한 게 보이면 그때그때 고쳤습니다.

첫째는 정답 쏠림이었습니다. 첫 버전에서는 5지선다 정답이 1번이나 2번에 몰렸습니다.

다섯 막대 중 앞의 두 개만 높은 막대그래프와, 다섯 막대가 고르게 맞춰진 막대그래프를 나란히 놓은 그림

여러 방법을 써 봤습니다. 만들 때 아예 정답 번호를 AI에게 먼저 알려 주기도 했고, 나온 뒤에 제가 직접 다시 배치하고 조정하기도 했습니다.

둘째는 검수입니다. 처음에는 AI에게 문항 생성만 시켰는데, 점점 검토와 확인까지 AI에게 넘겼습니다.

셋째는 표지입니다. AI로 만든 멋있는 표지 이미지 위에 HTML을 얹고, 몇 주차인지는 체계적으로 관리되도록 자동화했습니다.

잘 만든 문항인데, 다시 쓸 수가 없었습니다

처음 자동화는 워드로 뽑았습니다. 문항 자체는 잘 나왔습니다. 그런데 재활용이 안 됐습니다.

만든 문항마다 문항 데이터만 덩그러니 있었습니다. 어느 원문 지문에서 나왔는지, 어떤 유형으로 만든 건지 같은 메타데이터가 하나도 없었습니다. 내용은 좋은데 다시 꺼내 쓸 방법이 없었던 겁니다.

서식은 잘 갖췄지만 태그가 없는 문항 페이지와, 같은 문항에 '출처'와 '유형' 태그가 붙은 데이터 카드를 나란히 놓은 그림

그래서 JSONJSON 제이슨 프로그램끼리 데이터를 주고받는 글 형식. 항목 이름과 값을 짝지어 적습니다.으로 체계화했습니다. 문항 내용과 함께 출처와 유형을 같이 적어 둡니다. 왜 이게 중요한지는 공들여 만든 문제, 다시 쓰기 어려운 이유에 따로 적었습니다.

디자인은 HTML에 따로 뒀습니다

HTML은 클리닉지 때문에 들어온 게 아닙니다. 따로 교재 자체를 만들어야 할 일이 생기면서 들어왔습니다.

처음에는 HTML 파일 하나에 지문이고 문항이고 전부 들어 있었습니다. 보기에는 좋았지만 아무것도 규격화가 안 돼 있었습니다.

중괄호가 그려진 데이터 카드 여러 장이 파란 화살표를 따라 '3주차' 표지가 찍힌 교재로 흘러 들어가는 그림

그래서 둘을 나눴습니다. 내용과 메타데이터는 JSON에, 디자인은 HTML에 둡니다. 거기서 자리를 잡았습니다. 이 방식은 JSON으로 옮겼는데, 내일 교재는 어떻게 만드나에 자세히 적어 뒀습니다.

그리고 비용이 커졌습니다

문제는 시간이 지나면서 나왔습니다. 비용입니다. 반마다, 주마다, 문항마다 모델모델 model AI의 '두뇌' 하나하나를 부르는 말. 같은 회사도 크기·성능별로 여러 모델을 냅니다.을 부르고 있었으니 API 호출이 쌓일수록 청구 금액도 같이 불어났고, 빠르다는 건 결국 그만큼 많이 부르고 있다는 뜻이었습니다.

그때부터 AI에게 무엇을 시키고 무엇을 시키지 않을지 따지기 시작했습니다.

지금은 최종 검수만 합니다

완성된 교재 더미 위에 파란 펜을 든 손 하나. 맨 위 장에 파란 체크 표시

지금 제가 하는 일은 최종 검수 하나입니다. 원문을 넣으면 문항과 해설이 만들어지고, 기계 검사를 거쳐 인쇄할 수 있는 파일까지 알아서 나옵니다. 저는 마지막에 봅니다.

그 사이에 AI와 코드가 일을 어떻게 나눠 갖는지는 따로 적어 뒀습니다. 지금은 어떻게 나눠 쓰는지 보시면 됩니다.

선생님들께 한 줄만

AI 써라.

원장님이든 강사든, 매주 하루를 문항지 만드는 데 쓰고 있다면 지금 바로 쓰시면 됩니다. 요즘 모델은 영어 지문을 읽고 그럴듯한 오답까지 갖춘 문항을 쓰는 걸 이미 정말 잘합니다.

다만 제가 돌아서 온 길을 조금 줄여 드리자면, AI에게는 쓰는 일을 맡기고 확인과 조립은 따로 두세요. 규격 맞추기, 번호 매기기, 반별로 묶기 같은 건 엑셀 수식이든 스크립트든 기계가 하는 편이 싸고 정확합니다. 그렇게 나누면 처음의 그 속도는 살리면서 비용이 불어나는 쪽만 막을 수 있습니다.

새 글 소식

새 글이 나오면 메일로 알려 드립니다.

새 글 주소와 한 줄 요약만 보냅니다. 광고는 보내지 않습니다.