학원 대신, 하루 만에 나만의 어학 학습기를 만들었다

나는 개발자가 아니다. 그런데 일본어를 시작했고, 어쩌다 영어 말하기 시험까지 접수해버렸다. 학원을 알아보다가 문득 며칠 전 AI 비서와 만들어둔 조그만 단어 암기 페이지가 떠올랐다. "이걸 키우면 되지 않나?" 그 하루 동안 벌어진 일 — 로봇 목소리 사건, 말을 끊는 AI, 오답을 덮어버리는 튜터 — 을 기록한다.

1. 발단 — 단어 24개짜리 페이지가 있었다

원래 있던 건 소박했다. 언어당 단어 24개, 카드 뒤집기, 간격반복. 딱 "만들어봤다" 수준. 이걸 진짜 학습기로 키우려면 필요한 게 명확했다: 레벨별 단어장, 문형 연습, 문법 정리, 회화 연습, 그리고 시험 대비. 혼자라면 몇 달짜리지만, 나에겐 AI 비서가 있다. 내 역할은 코딩이 아니라 요구하고, 써보고, 불평하는 것이다. 그리고 이 불평이야말로 이 글의 핵심이다.

2. 콘텐츠 공장 — AI가 만들고, 검증기가 거른다

학습기의 몸통은 콘텐츠다. 영어 단어 260개, 일본어 단어 260개, 문형 50개, 문법 레슨 24개. 이걸 사람이 타이핑하면 며칠이 간다. 그래서 AI에게 통째로 생성을 시켰다 — 단, 조건이 있다. AI가 만든 것을 AI 말만 믿고 쓰지 않는다. 형식이 맞는지, 중복은 없는지, 빈칸 문제의 빈칸이 실제로 문장 안에 있는지, 기계적으로 전수검사하는 검증 스크립트를 먼저 만들게 했다.

이 검증기가 바로 첫 사고를 잡았다. 일본어 단어장을 260개 요청했는데 돌아온 건 초급 100개뿐 — 대량 생성 도중에 출력이 조용히 잘린 것이다. 에러도 없이, 그럴듯한 모양으로. 검증기가 "중급 0개, 상급 0개"를 찍어주지 않았다면 그대로 배포했을 것이다. 잘린 만큼만 다시 생성해서 이어 붙였다.

교훈: AI 산출물의 무서운 점은 틀리는 게 아니라 그럴듯하게 부족한 것이다. 세는 것은 기계에게 시켜라.

3. 사건 1 — "목소리가 왜 이래?"

단어에 발음 듣기 버튼을 달았다. 브라우저에 내장된 음성 합성 기능이라 서버 비용도 없다. 뿌듯하게 배포했는데, 영어 모드를 잠깐 써본 첫 반응이 이랬다. "목소리가 왜 이래?"

들어보니 정말 심했다. 로봇 같은 톤에, 한국어 억양으로 영어를 읽는 듯한 목소리. 원인은 단순했다 — 브라우저의 음성 합성은 기기의 '기본 음성'을 쓰는데, 폰에 따라 이 기본값이 아주 낮은 품질의 엔진으로 잡혀 있다. 좋은 음성이 기기 안에 이미 설치되어 있어도, 지정하지 않으면 안 쓴다.

해결은 "음성을 고르는 코드"였다. 기기에 설치된 음성 목록을 전부 받아서 이름에 Natural이 들어가면 몇 점, 특정 제조사 계열이면 몇 점 — 이런 식으로 점수를 매겨 가장 좋은 영어/일본어 음성을 명시적으로 선택하게 했다. 배포 후 반응은 "훨씬 나은 정도가 아니라, 이래야지." 한 줄 요약: 브라우저 음성 기능을 쓴다면 목소리 선택 코드는 옵션이 아니라 필수다.

4. 사건 2 — 프리토킹인데, AI가 내 말을 끊는다

회화 탭에는 AI 튜터를 붙였다. 주제를 고르면 그 언어로 말을 걸어오고, 내 답의 문법 오류를 한국어로 교정해준다. 여기에 마이크를 달아 진짜 '프리토킹'을 만들었다 — 말하면 음성인식이 받아 적고, 말이 끝나면 자동 전송.

그런데 써보니 이상했다. "말을 하다가 잠깐만 멈춰도 전송이 돼버린다." 음성인식은 짧은 침묵을 '문장 끝'으로 판정한다. 외국어로 말하다 보면 단어를 고르느라 숨을 고르는 게 당연한데, 그 순간 문장이 잘려서 날아가는 것이다.

고친 방법은 '침묵 타이머'다. 인식을 연속 모드로 바꾸고, 2초 동안 아무 소리가 없을 때만 "말이 끝났다"고 판정한다. 새 소리가 들어오면 타이머는 리셋. 급하면 마이크 버튼을 다시 눌러 즉시 전송. 이 2초라는 숫자는 코드가 아니라 실제로 더듬거리며 말해본 사람의 피드백에서 나왔다.

5. 사건 3 — 오답을 내면 화제를 바꿔버리는 튜터

제일 흥미로운 버그는 기술이 아니라 성격이었다. 회화 연습에서 내가 이상한 답을 하면, 튜터가 교정은 해주는데 대화를 슬쩍 다른 화제로 돌려버렸다. 어색한 순간을 새 질문으로 덮는, 눈치 빠른 사회인 같은 행동. 하지만 학습자 입장에선 최악이다 — 못 알아들은 부분을 다시 연습할 기회가 사라진다.

해결은 코드가 아니라 지시문 한 단락이었다. "오류가 있거나 동문서답이어도 절대 화제를 바꾸지 마라. 같은 맥락을 이어가고, 학습자가 질문을 이해 못한 듯하면 같은 질문을 더 쉬운 표현으로 다시 물어라." 테스트로 식당 주문 대화에서 뜬금없이 "우리 강아지 귀여워요"라고 답해봤다. 수정 후 튜터의 반응: "강아지 귀엽네요! 그런데, 무엇을 드시겠어요?" — 받아주되, 돌아온다. 이게 튜터다.

6. 시험 모드 — 저작권은 피하는 게 아니라 이해하는 것

말하기 시험을 접수했으니 시험 대비 모드도 필요했다. 처음엔 겁부터 났다. 시험 문제는 저작권 덩어리 아닌가? 알아보니 선이 명확했다. 기출 문제를 복사하면 침해지만, 문제 유형과 형식 자체는 저작권 보호 대상이 아니다. 시중 문제집이 다 그렇게 만들어진다.

그래서 AI에게 "기출 복사 금지, 형식만 같은 창작 문제"를 조건으로 문법·청해·급수별 문제 230개를 만들게 했고, 정답 인덱스가 실제로 맞는지 샘플 검수를 거쳤다. 말하기 연습은 이 앱의 마이크 인프라를 재활용했다 — 준비 시간과 답변 시간을 실제 시험처럼 카운트다운하고, 내 답을 음성인식으로 받아 AI가 채점한다. 잘한 점, 고칠 점, 모범 답안까지.

여기서 정직함이 하나 필요했다. 음성인식 '전사'를 채점하는 것이므로 발음과 억양은 평가할 수 없다. 이 한계를 화면에 그대로 적었다. 못 하는 걸 하는 척하는 것보다, 문장력·논리 연습 도구라고 선을 긋는 쪽이 오래 쓰인다.

7. 마지막 요청 — "강의 보면서 공부하고 싶어"

끝났다 싶었는데 요청이 하나 더 왔다. 교재 출판사가 공식으로 올려둔 무료 강의 영상을 학습기 옆에 띄워놓고 싶다는 것. 이것도 저작권 걱정부터 들었지만, 동영상 플랫폼의 공식 임베드 기능은 약관이 허용하는 방식이다. 영상을 복사하는 게 아니라 원래 플레이어가 그 자리에서 재생되는 것이라, 조회수와 광고 수익은 전부 원작자에게 간다.

재미있는 함정은 '시리즈 등록'에서 나왔다. 단일 영상 링크에는 그 영상이 속한 시리즈 정보가 없다. 그런데 영상 페이지 원문 어딘가에는 소속 재생목록의 흔적이 남아 있다 — 문제는 그 위치가 문서의 88만 번째 글자 근처라는 것. 처음에 앞부분 50만 자만 읽도록 만들었더니 "시리즈 없음"이라는 답만 돌아왔다. 읽는 범위를 넓히자 그제야 잡혔다. 이제 링크 하나만 붙여넣으면 "이 영상은 ○○ 시리즈의 일부예요. 전체를 등록할까요?"라고 물어본다.

8. 하루가 끝나고 — 배운 것 세 가지

  • 앱은 배포가 아니라 다섯 번째 불평을 고친 뒤에 완성된다. 목소리, 끊김, 화제 이탈, 마이크 실종, 전송 타이밍 — 전부 배포 후 실사용에서 나왔다. 만들 때는 절대 안 보인다.
  • AI가 만든 콘텐츠는 AI를 믿지 않는 검증기로 거른다. 형식 검사, 개수 세기, 정답 인덱스 확인. 지루한 검사가 그럴듯한 부족함을 잡는다.
  • 저작권은 회피 대상이 아니라 이해 대상이다. 기출 복사는 안 되지만 형식 창작은 되고, 영상 다운로드는 안 되지만 공식 임베드는 된다. 선을 알면 만들 수 있는 게 훨씬 많다.

FAQ

Q. 비개발자가 하루 만에 정말 가능한가?

'하루'는 과장이 아니지만 전제가 있다. 며칠 전 만든 뼈대(단어 페이지)가 있었고, AI 비서가 코드를 전부 썼고, 나는 기획·테스트·불평을 맡았다. 그리고 이 글에 적은 것처럼 배포 후 수정이 이어졌다. "하루 만에 v1, 불평이 완성"이 정확하다.

Q. 어학 앱 많은데 왜 직접 만드나?

기성 앱은 평균적인 학습자를 위해 만들어진다. 내 것은 내 시험 일정, 내가 보는 강의, 내가 자주 틀리는 문제(오답노트)에 맞춰져 있고, 고치고 싶으면 오늘 고친다. 그 맞춤의 감각이 공부를 계속하게 만든다.

Q. AI 회화 연습이 실제 회화에 도움이 되나?

발음 교정은 한계가 있다(위에 쓴 대로 정직하게 못 한다). 대신 "문장을 끝까지 만들어 말하는 근육"과 "틀려도 대화를 이어가는 담력"은 확실히 는다. 사람 상대 전에 부담 없이 실수해볼 수 있는 연습 상대로는 충분하다.