전치사는 영어 학습에서 늘 작은 단어처럼 보인다.
in, on, at, through, against, by.
단어 하나하나는 짧다.
하지만 막상 쓰려고 하면 이상하게 헷갈린다.
상자 안이면 in.
책상 위면 on.
3시라면 at.
월요일이면 on.
6월이면 in.
위치에서 시작한 말이 시간으로, 다시 추상적 관계로 넘어간다.
저는 이 헷갈림을 단순 암기 문제가 아니라 인터페이스 문제로 보기 시작했다. 그래서 작은 실험을 하나 배포했다.
장난감에서 학습 세계로
처음 출발점은 아주 단순한 토이였다.
빨간 공을 상자 주변으로 드래그하면 배경 단어가 바뀐다.
공이 상자 안에 있으면 in.
위에 있으면 on.
통과하면 through.
문제는 이 장난감이 귀엽기는 했지만, 영어 전치사의 넓은 지도를 담기에는 너무 작았다는 점이다.
그래서 목표를 바꿨다.
전치사를 표로 외우게 하지 말고, 하나의 상호작용 가능한 세계로 보여주자. 공간 전치사, 시간 전치사, 추상 전치사를 서로 다른 화면에 가두지 말고, 같은 이미지 스키마가 어떻게 변형되는지 보여주자.
예를 들어 at은 공간에서는 점이다.
시간에서는 3 PM 같은 시각의 점이다.
추상에서는 at risk, at war처럼 어떤 상태의 지점에 놓인 느낌이 된다.
이 연결을 눈으로 보게 만들고 싶었다.
LLM Wiki 관점에서 본 프롬프트
이 실험에서 흥미로운 부분은 앱 자체만이 아니다. 그보다 더 중요한 것은 앱이 만들어진 방식이다.
먼저 Preposition World라는 생성 프롬프트를 하나의 지식 문서처럼 설계했다.
그 문서는 단순히 “예쁜 전치사 앱을 만들어줘”가 아니었다.
문서 안에는 다음이 들어갔다.
- 인지언어학 관점: 원형 의미와 은유적 확장
- 한국어 화자를 위한 전이 오류 메모
- 공간, 시간, 추상 전치사의 데이터 구조
- Pointer Events 기반 드래그 처리
- 정규화 좌표를 쓰는 순수 감지 함수
- TypeScript strict, Zod, 테스트, 접근성 조건
- 배포 가능한 React/Vite 앱 구조
이런 프롬프트는 명령문이라기보다 작은 LLM Wiki 페이지에 가깝다. 모델에게 “무엇을 만들지”만 주는 것이 아니라, 왜 그렇게 만들어야 하는지, 어떤 기준으로 검증해야 하는지, 어떤 약점을 고쳐야 하는지까지 문서화한다.
LLM Wiki의 핵심은 벡터 DB가 아니라 지식 아키텍처다에서 말한 것처럼, 중요한 것은 정보를 많이 넣는 일이 아니다. 중요한 것은 모델이 다시 읽고 실행할 수 있는 구조로 지식을 정리하는 일이다.
이번 실험에서 프롬프트는 지식이고, 앱은 그 지식의 렌더링 결과다.
배포하면서 확인한 것
이번 배포에서는 단순히 “화면이 뜬다”에서 멈추지 않았다.
React + TypeScript 래퍼를 만들고, Vite 빌드를 통과시키고, 전치사 감지 함수에 테스트를 붙였다.
특히 against 데모 좌표가 door 포인트와 겹치면서 at으로 오감지되는 문제를 발견했고, 좌표를 조정했다.
작은 버그였지만 의미는 컸다.
언어 학습 도구에서 좌표 하나가 틀리면, 학습자는 잘못된 개념을 배운다. 그래서 이런 앱은 예쁜 애니메이션보다 검증 가능한 감지 로직이 먼저다.
이번 버전에서 확인한 기준은 이렇다.
| 항목 | 결과 |
|---|---|
| TypeScript strict | 통과 |
| Vitest | 55개 테스트 통과 |
| 빌드 | Vite build 통과 |
| 배포 | GitHub Pages Actions 성공 |
| 라이브 URL | https://reasonofmoon.github.io/preposition-globe/ |
학습 도구는 글과 코드 사이에 있다
이 앱은 아직 완성된 제품이라기보다 실험에 가깝다. 하지만 방향은 분명하다.
글은 설명한다. 앱은 조작하게 한다. LLM Wiki는 그 둘 사이에서 지식 구조를 보존한다.
예전에는 블로그 글을 쓰면 거기서 끝났다. 이제는 조금 다르게 볼 수 있다.
하나의 글은 다음 앱의 설계 문서가 되고, 하나의 앱은 다음 글의 사례가 된다. 프롬프트는 그 사이에서 지식을 코드로 바꾸는 계약서가 된다.
Preposition Globe는 영어 전치사 앱이지만, 제 관심사는 전치사 하나에만 있지 않다. 제가 보고 싶은 것은 이런 흐름이다.
노트가 프롬프트가 되고, 프롬프트가 앱이 되고, 앱이 다시 학습 기록으로 돌아오는 순환.
이 순환이 잘 작동하면 개인 블로그는 단순 포트폴리오가 아니라 작은 연구실이 된다. 그리고 LLM Wiki는 그 연구실의 작업대가 된다.
다음 실험
다음 단계에서는 세 가지를 더 보고 싶다.
- 전치사별 인지 스키마를 더 명확한 다이어그램으로 보여주기
- 한국어 학습자가 자주 틀리는 예문을 챌린지 모드에 넣기
- Obsidian 노트와 블로그 글, 배포된 앱을 하나의 학습 지식 그래프로 연결하기
전치사는 작은 단어다. 하지만 작은 단어를 제대로 가르치려면 생각보다 큰 세계가 필요하다.
이번 실험은 그 세계를 하나 만들어보려는 첫 배포다.
댓글
GitHub 계정으로 의견을 남길 수 있습니다. 댓글은 GitHub Discussions에 저장됩니다.