톺키

한글 배열 연구의 진행 기록

톺키는 큰 화면 iPhone을 두 엄지로 잡고 쓰는 한글 배열을 처음부터 다시 따져 왔습니다. 2026년 7월 말부터 1인 스튜디오가 여러 AI 에이전트와 함께 가설을 등록하고, 계산으로 걸러내고, 실패를 기록한 과정입니다. 이 페이지는 그 기록을 바깥에서 읽을 수 있게 간추린 것이고, 지금까지 나온 시험용 배열 다섯의 자판 그림이 아래에 있습니다.

2026년 7월 29일 시작 · 10월 22일까지의 기록 · 2026년 10월 22일에 정리

기간
12주
연구 폴더의 커밋
251개
파일
2,777개
코드와 문서
약 24만 9천 줄
연구 폴더 · 가설 폴더
25개 · 26개
해시로 봉인한 등록 문서
25건
합친 연구 브랜치
18개

연구 폴더를 고친 커밋의 공동 작성자 서명을 세면 Claude Fable 5.1 62건, Claude Opus 5.5 51건, Codex 41건, Claude Opus 5 26건, Claude Fable 5 23건, Qwen3.8-Max 8건입니다. 한 커밋에 여러 서명이 있으면 각각 셌고, 서명이 없는 커밋이 있어 이 수는 하한입니다. 숫자는 연구 저장소의 git 기록에서 셌고, 결과 데이터 파일의 줄 수는 코드·문서에 넣지 않았습니다. 쓴 토큰의 총량은 잴 수 없어 적지 않습니다.

무엇을 찾는가

찾는 것은 어느 기존 배열의 변형이 아니라, 큰 화면 iPhone에서 두 엄지로 치는 데 맞춰 처음부터 만든 한글 배열입니다. 만든 사람은 고유한 배열이 준비되어야 톺키를 내놓기로 했습니다. 한글 자판의 흔한 기준은 둘입니다. 글쇠가 많은 쪽은 쿼티형 두벌식이고, 글쇠가 적은 쪽은 천지인입니다. 판정은 처음에 그중 가장 넘기 어려운 문턱인 무이단모음 하나를 기준 배열로 두고 했습니다. 톺키의 지금 기본 배열이고, 두벌식에서 갈라져 나온 배열 가운데 글쇠가 크고 외울 규칙이 적어 이미 좋은 배열이기 때문입니다. 10월 22일부터는 두벌식과 천지인을 더해 세 기준으로 잽니다. 아래에서 '기준 배열'은 무이단모음을 뜻합니다.

좋다는 기준은 속도가 아니라 오타입니다. 자동 교정에 기대지 않고, 교정 전의 입력 자체가 덜 틀려야 합니다. 그리고 규칙은 숨겨져 있으면 안 됩니다. 처음 보는 사람이 화면만 보고 모든 글자를 칠 수 있어야 하고, 같은 동작은 어디서나 같은 뜻이어야 합니다. 긋기나 밀기로 글자를 만드는 입력은 쓰지 않습니다.

세 기준으로 다시 잰 결과

모델 계산에서 새 배열들은 두벌식(10열 쿼티형)보다 오타·누름·시간이 모두 적습니다. 다만 그 차이의 대부분은 7열 키가 10열 키보다 넓어서 모델이 주는 몫이고, 지금의 기본 배열도 이미 같은 이유로 두벌식을 넘습니다. 진짜 시험은 천지인(12키)이었습니다. 천지인은 키가 커서 보지 않고 쳐도 글자가 덜 틀리지만, 글자당 누름이 1.5배 가깝고 그만큼 느립니다. 6열 후보 셋(시험용 솔, 6열 가·나)과 행을 키운 7열 후보(시험용 느티)는 천지인보다 오타도 누름도 적었고, 7열 후보 둘(시험용 버들, 7열에서 가장 좋았던 배열)은 작은 화면에서는 천지인과 오타가 같고 큰 화면에서만 적었으며 누름은 늘 적었습니다. 행 높이만 바꾼 틀 둘(시험용 자작·모과)도 오타와 누름에서 두 기준을 넘었지만, 지금 기본 배열이 못 치는 받침이 든 문장 하나를 그대로 물려받아 정확 입력 조건에서는 걸렸습니다.

모든 수치는 손가락 흔들림을 키 크기와 무관하게 둔 모델의 계산이며 사람이 쳐 본 자료는 없습니다. 흔들림이 키가 클수록 커진다고 두면 천지인 대비 오타 이득은 줄고, 극단에서는 뒤집힙니다. 천지인은 제품의 기본 설정 그대로 쟀고, 제품 천지인이 못 치는 받침(않·삶 같은 글자)이 든 문장은 비교에서 뺐습니다.

어떻게 해 왔는가

등록하고, 찾고, 처음 보는 자료로 판정합니다

가설마다 탐색을 돌리기 전에 무엇을 바꾸고 무엇으로 판정할지를 문서에 적고 해시로 봉인합니다. 탐색은 개발 표본에서 하고, 그 표본의 결과를 본 뒤 세운 가설은 그렇다고 적습니다. 판정 기준을 넘은 후보만 봉인하고, 어떤 평가에도 쓰지 않은 독립 자료를 한 번 열어 다시 잽니다. 독립 자료는 한 번 열면 다시 쓸 수 없어서, 열지 않은 채 남겨 둔 후보도 있습니다. 결과를 본 뒤에는 후보를 고치지 않습니다.

해외 실측 연구로 보정한 평가기

사람이 아직 쳐 보지 않았으므로 판정은 계산입니다. 평가기는 두 엄지의 터치가 글쇠 중심에서 어떻게 흩어지는지를 해외 터치 실측 연구의 값으로 두고, 한국어 대화 말뭉치의 문장을 각 배열로 쳤을 때 글자가 얼마나 틀리는지, 고쳐 쓰기까지 몇 번 누르는지, 시간이 얼마나 드는지를 셉니다. 기준은 셋입니다. 화면을 보지 않고 끝까지 쳤을 때의 글자 오류가 기준 배열보다 적고, 고쳐 쓰기를 포함한 총 누름이 늘지 않고, 정확히 쳤을 때 깨지는 문장이 없어야 합니다. 이것을 메신저와 온라인 대화, 두 화면 폭의 네 조건 모두에서 넘어야 후보입니다.

이 페이지에는 그 수치를 적지 않습니다. 말뭉치의 이용 조건 때문이고, 또 사람 자료가 없는 계산값이 숫자로 떠돌면 사실처럼 읽히기 때문입니다. 결과는 "모델 계산에서 기준 배열보다 오타가 적었다"처럼 근거의 성격을 밝혀 말로 씁니다.

여러 AI 에이전트를 나눠 운영합니다

한 세션이 가설을 세우고 돌리면 다른 세션이 그 결과를 검수합니다. 10월의 익숙한 틀 라운드에서는 Claude Opus 5.5와 Claude Fable 5.1이 각각 코드를 다시 돌려 독립으로 검수했고, 둘이 같은 지적을 냈습니다. 규칙을 얼마나 풀어 줄지도 단계로 나눴습니다. A 세션은 만든 사람의 설계 규칙을 모두 지키며 발명하고, B 세션은 규칙 하나를 풀 수 있고, C 세션은 입력 문법까지 새로 만들 수 있습니다. 세 세션은 한 Mac에서 무거운 계산이 겹치지 않게 잠금을 나눠 썼습니다.

평가기에 없는 동작을 쓰는 후보는 따로 다룹니다. 길게 누르기나 행 높이가 다른 자판은 평가기를 확장해야 잴 수 있는데, 그 확장은 발명한 세션이 아니라 별도 검증 세션이 확인한 뒤에만 판정에 씁니다. 모델에 없는 동작은 실수 비용이 0으로 계산되므로, 자기가 만든 확장으로 자기를 채점하면 착시 후보가 이기기 때문입니다.

석 달의 흐름

7월 말
연구 일지를 열었습니다. 휴대전화 두벌식의 작은 글쇠와 높은 오타율이 출발점이었습니다. 첫 주에 Codex와 Claude가 각각 탐색과 적대 검토를 돌렸고, 두벌식에 익은 손에 가까운 '오리진'과 한글 구조를 새 공간 문법으로 푸는 '플러스' 두 트랙으로 나눴습니다. 문서를 해시로 봉인하는 습관도 이때 시작했습니다.
8월
사전 등록과 독립 설계 경계를 계약 문서로 고정하고, 중단해도 같은 자리에서 다시 시작할 수 있는 봉인 탐색기를 만들었습니다. 8월 19일의 첫 실제 실행은 상한까지 돌고도 수렴하지 않았습니다. 진단은 분명했습니다. 확보한 말뭉치의 극히 일부만 탐색에 들어갔고, 계산 비용의 대부분이 과학이 아니라 무결성 증명에 쓰였습니다. 기계에 과학을 맞춘 것입니다. 이어 만든 첫 대리 비용함수도 폐기했습니다. 두 엄지가 번갈아 치는 이동을 0으로 세는 수정이 왼엄지가 실제로 움직인 거리를 지웠고, 점수는 배열이 아니라 그 구멍을 재고 있었습니다. 그 반례는 회귀 시험으로 남겨, 이 시험을 통과하지 못하는 비용함수로는 탐색을 시작하지 않습니다. 8월 말에는 두 엄지가 병렬로 움직이는 시간 모델을 세우되, 결함이 남아 있는 동안은 비교 수치를 내지 않게 만들었습니다.
9월
진행을 감사했습니다. 검증 장치의 완성도와 계산 세대 수는 보고했지만, 큰 폰에서 어떤 불편을 얼마나 줄였는지 보여 주는 산출물이 없었습니다. 그래서 첫 결과물을 '배열도와 좋아진 점·나빠진 점·모르는 점'으로 다시 정했습니다. 9월 말에는 해외 실측 연구로 착지 흔들림을 보정한 평가기를 사전 등록하고, 봉인 뒤 독립 자료로 6열과 7열 후보를 쟀습니다. 둘 다 기준 배열을 넘지 못했습니다. 글쇠가 넓어진 대신 누름 수가 늘었기 때문입니다.
10월 전반
특수키를 쓰는 4~7열 연구를 복구하면서 이전의 '통과' 판정 하나를 철회했습니다. 일반 글자 키를 변환 키로 겸용한 입력기가 음절 경계에 공백과 삭제를 몰래 끼워 넣고 있었습니다. 기준을 다시 세우고 돌린 특수키 오류 라운드에서 6열 배열 둘('6열 가', '6열 나')이 독립 자료를 통과해 톺키의 실험 빌드에 들어갔습니다. 다만 두 배열은 하단행을 다시 짜고 초성 ㅇ을 생략하는 규칙에 기대고 있었고, 만든 사람은 그 두 가지를 받아들이지 않았습니다. 그래서 다음 라운드는 '무이단모음 사용자가 그대로 받아들일 틀'을 규칙으로 못 박고 시작했습니다.
10월 20~21일
익숙한 틀 라운드. 하단행, 삭제키 자리, 같은 키 두 번 습관을 그대로 둔 7열 가설 일곱과 6열 가설 다섯을 돌렸습니다. 두 모델의 독립 검수가 핵심 전제 하나를 바로잡았습니다. "키별 빗나감 횟수가 배치와 무관하다"는 관찰이 아니라 착지 모델의 정의에서 나오는 성질이었고, 실제 손이 그런지는 재 본 적이 없었습니다. 7열에서 가장 좋았던 배열은 개발 표본을 넘었지만 독립 자료에서는 메신저 조건을 넘지 못했습니다. 6열 이하는 이 규칙 아래에서는 누름 수가 반드시 늘어난다는 것이 산수로 닫혔습니다. 다음 진전은 배치가 아니라 규칙에서 나와야 했습니다.
10월 21일
규칙을 단계별로 푸는 A·B·C 세 세션. A는 획키 칸을 없애고 모음을 왼쪽 세 열, 자음을 오른쪽 네 열에 둔 7열을, B는 '탭과 더블탭만'이라는 규칙 하나를 풀어 길게 누르기로 획을 더하는 6열을, C는 한글판의 숫자행을 빼고 글쇠를 세로로 키운 4행 판을 냈습니다. C의 이득은 배치보다 틀(행 높이)의 몫이 커서, 배열 후보와 별개로 지금 기본 배열의 행 높이만 바꾸는 틀 제안 둘을 따로 적었습니다. 셋 모두 확인 표본을 넘어 봉인했고, 독립 자료는 열지 않았습니다. 그리고 다섯 배열에 시험용 이름을 붙여 톺키의 실험 빌드에 넣었습니다.
10월 22일
만든 사람의 결정으로 기준을 셋으로 늘렸습니다. 찾는 것은 완전한 새 배열이니 글쇠가 적은 쪽은 천지인, 많은 쪽은 쿼티형 두벌식이 기준이어야 한다는 것입니다. 두 배열을 제품 기본 설정 그대로 평가기에 넣는 확장은 별도 세션이 검증했고, 그 과정에서 두벌식 타자 모델의 고쳐 쓰기 규칙에서 결함을 찾아 고친 뒤 다시 쟀습니다. 결과는 '무엇을 찾는가' 아래에 있습니다.

지금 나온 것

시험용 배열 다섯과, 앞서 실험 빌드에 들어간 6열 가·나입니다. 그림은 402pt 폭 iPhone의 비율로 그렸고, 행의 높이도 실제 비율입니다. 어느 것도 아직 톺키의 정식 배열이 아니고, 출시용 빌드의 배열 목록에는 없습니다.

시험용 버들 — 7열, 획키 없음. 모음과 ㅊ이 왼쪽 세 열, 자음이 오른쪽 네 열입니다. 숫자행·하단행·삭제키 자리는 그대로입니다.
외울 것: 같은 소리 자리의 자음은 서로 붙어 있고(ㄷㄴㄹ 가로, ㅁㅂ·ㅇㅎ·ㄱㅋ·ㅅㅈ 위아래), ㅌ은 ㄴ 두 번, ㅍ은 ㅁ 두 번입니다. 그 밖의 같은 키 두 번은 지금의 기본 배열과 같습니다.
시험용 솔 — 6열. 획을 더한 글자는 바탕 글자를 길게 누릅니다. ㅈ은 ㅊ, ㄷ은 ㅌ, ㅂ은 ㅍ, ㅏ는 ㅐ, ㅓ는 ㅔ가 됩니다(키캡 구석의 작은 글자). 글쇠가 넓어진 대신 길게 누르는 시간이 듭니다.
외울 것: 그 한 문장과 자음 묶음(ㄹㄴㄷ 가로, ㅁㅂ·ㅇㅎ·ㅅㅈ·ㄱㅋ 위아래). 같은 키 두 번은 지금의 기본 배열과 같고, ㅒ·ㅖ는 ㅏ·ㅓ를 길게 두 번입니다.
시험용 느티 — 7열, 한글판에 숫자행이 없는 4행. 본문 세 행이 52pt에서 69⅓pt로 커집니다. 모음이 첫 줄에 가로로 놓입니다.
외울 것: 같은 소리 자리의 자음은 붙어 있고(ㅋㄱ·ㅅㅈ·ㄷㄹㄴ·ㅁㅂ 가로, ㅎㅇ 위아래), 왼쪽 아래의 획키를 글자 뒤에 한 번 눌러 ㄷ은 ㅌ, ㅂ은 ㅍ, ㅈ은 ㅊ으로 만듭니다. 숫자는 기호판에서 칩니다.
시험용 자작 — 지금 기본 배열의 글자와 규칙 그대로입니다. 한글판의 숫자행을 36pt로 얇게 하고 본문 세 행을 57⅓pt로 키운 틀만 다릅니다(글자는 그림에서 비웠습니다).
외울 것: 없습니다. 숫자행이 얇아진 것만 느낍니다.
시험용 모과 — 지금 기본 배열 그대로, 한글판에서 숫자행을 빼고 본문 세 행을 69⅓pt로 키운 틀입니다(글자는 그림에서 비웠습니다). 영문판과 기호판은 지금처럼 숫자행이 있습니다.
외울 것: 숫자는 기호판에서 칩니다.
톺키 6열 가 — ㅇ 생략과 획키. 단어 첫머리와 받침 없는 글자 뒤에서는 초성 ㅇ을 안 쳐도 됩니다. 하단행에 낱자키와 획키가 들어가 간격 키가 좁아지고, 삭제키와 한/영·기호의 자리가 바뀝니다.
외울 것: 획키로 만드는 글자(ㄷ은 ㅌ, ㅂ은 ㅍ, ㅈ은 ㅊ, ㅏ는 ㅐ, ㅓ는 ㅔ, ㅒ·ㅖ는 ㅏㅏ획·ㅓㅓ획), 다음 자모를 새 글자로 떼는 낱자키, ㅇ 생략이 되는 자리와 안 되는 자리.
톺키 6열 나 — ㅇ 생략과 쌍키·획키, 같은 키 두 번 없음. 시간 안에 두 번 눌러야 하는 입력이 하나도 없어 ㅋㅋ나 학교처럼 같은 키가 이어질 때 기다리지 않습니다. 하단행에 키가 여덟이라 더 좁습니다.
외울 것: 된소리와 ㅑㅕㅛㅠ는 글자 뒤에 쌍키, 거센소리와 ㅐㅔ는 획키, 낱자키, ㅇ 생략.

6열 가와 나는 만든 사람이 받아들이지 않은 두 규칙(하단행 재배치, ㅇ 생략) 위에 서 있어 그대로 정식 배열이 될 가능성은 낮지만, 10월 후반 라운드의 비교 기준이 되었습니다. 시험용 다섯은 각각 다른 비용을 요구합니다. 버들은 글자 열아홉 개의 자리를 새로 외워야 하고, 솔은 길게 누르는 시간이 들고, 느티와 모과는 한글판에서 숫자행이 사라지고, 자작은 숫자행이 얇아집니다.

한계와 다음 단계

모든 판정은 착지 모델의 계산이고, 사람이 쳐 본 자료는 없습니다. 모델의 착지 흔들림은 해외 실측 연구의 값이며 만든 사람의 손으로 잰 값이 아닙니다. 6열이 오타를 줄이는 폭도, 7열에서 배치가 더 할 수 있는 일이 적다는 결론도 그 가정 하나에 걸려 있습니다. 두 검수와 검증 세션이 모두 같은 것을 권고했습니다. 실제 터치로 흔들림을 한 번 재라는 것입니다.

길게 누르기(솔)의 실수율과, 큰 글쇠에서 손이 세로로 어떻게 흔들리는지(느티·모과·자작)는 모델에 가정으로 들어 있고 실측이 없습니다. 규칙을 익히는 시간, 더블탭 시간창을 놓치는 실수, 피로도 모델에 없습니다.

다음 단계는 만든 사람의 실사용과 실제 터치 측정입니다. 다섯 배열은 시험용 빌드로 손에 들어가 있고, 쳐 본 뒤에 터치 좌표를 한 번 재서 모델의 흔들림을 보정합니다. 그 결과에 따라 평가기와 판정 기준을 다시 등록하고 탐색을 이어갑니다.

시험용 배열은 정식 배열이 아닙니다. 출시용 빌드의 배열 목록은 바뀌지 않았고, 톺키의 기본 배열은 무이단모음입니다. 이 기록은 연구가 나아가는 대로 고칩니다.