MEJE PROCESS · MEJE 라이브러링 워크플로 백서
13 제13장
제13장. 1,500을 빚으며 알게 된 것 - 실전의 풍경
어떤 것들은 미리 배워 두어도 직접 해봐야만 이해됩니다. 9분류를 읽고 머리로 아는 것과 5,000행짜리 CSV 파일을 앞에 두고 한 행씩 분류를 결정해 나가는 것은 전혀 다른 경험이고, 세계관축의 직교성을 설명할 줄 아는 것과 1,500개 표제어에 세계관축을 실제로 부착하면서 생태 드라마 세계관 「대수의 등」을 다듬을 때 "이 표제어는 대수인가 수심인가"를 그때그때 판단하는 것은 또 다른 차원의 일입니다.
이 장은 그렇게 실전에서 배운 것들을 정리합니다. 방법을 가르치는 강의가 아니라, 한 번 겪어 본 사람의 회고에 가깝습니다.
먼저 숫자부터 밝혀 둡니다. 어느 IP의 첫 번째 라이브러링 사이클에서 만들어진 표제어는 1,847개였고, 별칭을 대표 표제어로 이어 주려고 만드는, 아직 내용이 채워지지 않은 stub 파일까지 포함한 전체 파일은 4,200여 개였습니다. 2차 CSV에서 AI 작업 동료가 내놓은 동의어 후보 가운데 사람이 번복한 건수는 83건, hub로 확정된 표제어는 127개였으며, 4차 집필 단계에서 발생한 재요청 건수는 214건이었습니다.
이 숫자들이 어떻게 나왔는지, 그 과정이 이 장에서 이야기하려는 것입니다.
실전이 가르치는 것들
9분류의 경계가 생각보다 흐리다. 9분류를 말로 설명할 때는 경계가 또렷해 보여서, "대수의 걸음"은 장치이고 "등지기"는 인물이며 "비늘 그늘의 마을"은 장소입니다. 그런데 1차 추출을 실제로 해보면 어디에 넣어야 할지 애매한 경우가 예상보다 훨씬 많이 나옵니다. "수심에 든 수심자"는 인물인가, 장치인가, 미장센인가. "약속"은 개념인가 가치인가. "약속의 노래"는 사물인가 미장센인가. "걸음과 숨을 읽는 법"은 사물인가 장치인가. 이런 물음이 1차 추출 내내 수십 번씩 떠오릅니다.
처음에는 이런 모호함이 불편하게 느껴졌고, 분류의 일관성이 흐트러지지 않을까 걱정스러웠습니다. 그런데 실전을 몇 번 거치면서 알게 된 것은 경계가 애매한 표제어를 두고 너무 오래 고민하는 편이 오히려 더 큰 낭비라는 사실이었습니다. 일단 한쪽으로 정하고 다음으로 넘어가면 되는데, 어차피 2차 통합에서 사람이 한 번 더 검수하면서 잘못 분류된 것을 바로잡기 때문입니다. 실제로 1,847개 표제어 가운데 2차에서 분류가 수정된 것은 62건, 전체의 약 3.4%에 그쳤습니다. 1차에서 완벽한 분류를 고집했다면 이 수정 건수는 더 줄었을지 모르지만, 그렇게 "완벽한 분류"를 좇느라 들였을 시간은 훨씬 컸을 것입니다. 1차의 합격선을 60%로 잡은 이유를 실전에서 몸으로 느끼게 됩니다.
세계관축은 끝까지 조정된다. 세계관축은 1차 추출에 들어가기 전, 어떤 축으로 표제어를 가를지 미리 설계해 두는 프로파일링 단계에서 정하는데, 어느 IP의 경우 "대수", "등지기", "수심", "마을", "관계", "일반"의 여섯 축으로 시작했습니다. 그런데 1차 추출이 진행될수록 이 여섯 축 어디에도 깔끔하게 들어가지 않는 표제어들이 나타났습니다. "골짜기 강의 물긷기"는 등지기인가 마을인가. "노수심자의 집안"은 수심인가 관계인가. "약속의 노래"는 등지기인가 수심인가.
이럴 때 해결 방법은 새 축을 하나 만들거나 기존 축의 정의를 넓히거나 둘 중 하나인데, 실전에서 배운 것은 되도록 새로 만들기보다 정의를 넓히는 편이 낫다는 점이었습니다. 축이 늘어날수록 표제어마다 어느 축에 넣을지 판단하기가 더 까다로워지기 때문입니다. 가령 "수심" 축의 정의를 "대수의 속마음과 직접 관계된 모든 표제어"로 넓히면 "노수심자의 집안"도 자연스럽게 수심 축으로 들어옵니다. 결국 그 사이클은 프로파일링 단계의 6개에 "약속/절기" 축이 더해진 7개 축으로 마무리되었습니다. 처음부터 7개로 출발했더라면 더 일관되게 분류할 수 있었을 테니, 프로파일링에 시간이 좀 더 들더라도 그쪽이 낫습니다.
2차 통합에서 시간이 가장 오래 걸리는 작업은 동의어 묶음을 결정하는 일입니다. AI 작업 동료가 후보를 빠르게 뽑아 주기는 하지만, 그 후보를 한 건씩 검수하며 "이 둘이 정말 같은 것인가"를 판단하는 과정이 생각보다 까다롭습니다. 특히 5년 이상 운영된 IP에서는 시기에 따라 의미가 달라진 표제어가 많이 나오는데, 이름은 같은데 1판에서 가리키던 대상과 3판에서 가리키던 대상이 서로 다른 경우입니다. 예를 들어 "수심(獸心)"이라는 용어가 1판에서는 대수의 속마음 그 자체를 뜻하다가 3판에서는 그 마음을 느끼는 사람의 능력을 뜻하게 되기도 하는데, 이 두 의미를 하나의 표제어로 묶을지 별도 표제어로 나눌지는 IP의 역사를 깊이 아는 사람만이 판단할 수 있습니다. 어느 IP의 동의어 묶음 작업에서 AI의 후보를 사람이 번복한 83건 가운데 41건이 바로 이런 "시기별 의미 변화" 사례였습니다.
이런 판단은 라이브러링에서만 부딪치는 것이 아닙니다. 포가튼 렐름의 마법 여신 미스트라는 1판에서 한 인물이었지만 세계관에 큰 격변이 일어난 뒤 다른 인물이 같은 신격 호칭을 이어받았고, 포가튼 렐름 위키는 이 두 미스트라를 별도 페이지로 두고 넘겨주기 링크로 연결해 두었습니다. 마블 코믹스에서도 같은 호칭을 물려받은 여러 세대의 캐릭터가 똑같은 고민을 거칩니다. 한 IP가 오래 운영되다 보면, 표기와 의미가 일대일로 깔끔하게 대응하지 않는 일은 어디서나 흔하게 일어납니다.
hub 직접 집필이 이후 전체를 결정한다. 대표 hub를 먼저 직접 쓰는 일이 왜 중요한지는 9장에서 설명했지만, 막상 해보면 그 중요성을 훨씬 더 절실히 깨닫게 됩니다. 어느 IP의 첫 사이클에서 hub 12개를 직접 썼는데 그 가운데 3개는 결국 다시 고쳐 써야 했습니다. 처음 3개를 쓸 때는 문장의 톤을 제대로 잡지 못해 백과사전 같은 문체로 써 내려갔고, 5번째를 쓸 때쯤 "이게 아니다" 싶어 앞의 것들을 다시 손봤습니다.
처음에 잘못 쓴 "마지막" 표제어의 첫 문장은 이런 식이었습니다. "마지막은 대수가 걸음을 멈추고 누울 날을 가리키는 표제어이다. 이 날은 짐승의 노쇠가 한계에 이르렀을 때 찾아오며 마을의 생활 전반에 영향을 미친다." 개념을 풀어 설명하는 백과사전 문체여서, 이 IP에서 마지막이라는 날이 어떤 인물에게 어떻게 경험되는지가 전혀 담겨 있지 않습니다.
다시 고친 뒤의 첫 문장은 이렇게 바뀌었습니다. "마지막은 모두가 영원할 줄 아는 세계에서 단 한 사람만 미리 안고 사는 날이다. 마을이 그날을 모르는 동안, 수심자는 그 무게를 혼자 지고 산다." 이 세계관 안에서 그 표제어가 무엇을 뜻하는지를 먼저 말해 주어서, 독자가 이 한 항목에서도 IP의 온도를 느낄 수 있는 서술입니다. 바로 이런 것이 이 IP가 가진 서술의 목소리였습니다.
hub 12개를 모두 완성한 시점에서 위임을 시작한 경우와 처음 3개만 완성한 시점에서 위임을 시작한 경우를 비교하니 결과가 확연히 달랐습니다. 앞쪽의 재요청율은 11.7%였는데 뒤쪽을 시험 삼아 진행해 보니 31.2%까지 뛰었으니, hub 직접 집필의 품질이 위임 서술의 품질을 좌우한다는 사실이 숫자로 확인된 셈입니다. 결국 hub 직접 집필에 시간을 충분히 들이는 편이 전체 4차 집필 시간을 줄여 줍니다.
프로파일링이 없으면 2차가 두 배 오래 걸린다. 프로파일링을 건너뛰고 곧장 1차 추출부터 시작한 적이 있습니다. 1차 결과를 받아 놓고 보니 세계관축을 어떻게 잡아야 할지 감이 잡히지 않았는데, 그대로 2차 통합에 들어갔더니 표제어마다 세계관축을 즉흥적으로 정해야 했고, 그러다 보니 1,000번째 표제어에서 내린 판단이 1번째 표제어에서 내린 판단과 어긋났습니다. 결국 2차를 다 마친 뒤에 세계관축을 처음부터 다시 정리하고 전체 표제어의 축을 한꺼번에 재분류해야 했으니, 애초에 프로파일링을 해두었다면 이 재작업은 아예 없었을 것입니다. 30~60분의 프로파일링이 몇 시간짜리 재작업을 막아 줍니다. 이 일에서 배운 교훈은 분명한데, "빨리 시작하고 싶다"는 마음이 자꾸 프로파일링을 건너뛰게 만든다는 것입니다. 처음 다루는 IP라면, 또는 라이브러링 자체가 처음이라면, 프로파일링만큼은 건너뛰지 말아야 합니다.
작업 시간이 예상의 1.3~1.5배 든다. 3장의 시간 예산에는 한 사이클에 총 916시간을 적어 두었지만, 실전에서 어느 IP의 첫 사이클은 21.5시간이 걸렸습니다. 예상의 약 1.4배입니다. 어디서 시간이 더 들었는가 하면, 프로파일링이 예상보다 1시간, 동의어 묶음 결정이 2시간, hub 직접 집필에서 처음 3개를 다시 고치는 데 1시간이 더 들었습니다. 두 번째 IP 사이클은 14시간, 예상의 1.05배가 걸렸는데, 첫 사이클에서 배운 것들 덕분에 두 번째가 한결 빨라진 것입니다. 세 번째 이후 사이클들은 1012시간 선에서 안정되었습니다. 첫 사이클은 예상보다 시간이 더 걸린다는 사실을 미리 알고 시작하면, 작업 도중에 당황하는 일이 줄어듭니다.
그래프 뷰에서 예상치 못한 것들을 발견한다. 옵시디안 그래프 뷰를 처음 켰을 때만 해도 그저 보기 좋은 시각화 도구 정도로만 여겼는데, 실제로는 그래프 뷰가 몇 가지 구체적인 문제를 잡아내는 점검 도구 역할을 했습니다. 우선 어디에도 연결되지 않은 고립 노드가 눈에 띄어 그 표제어를 열어 보니 상세설명 안에 [[링크]]가 하나도 들어 있지 않았는데, 해당 표제어의 2차 CSV 상세설명에 관련키워드 연결이 빠져 있었던 것으로, 그래프 뷰가 없었다면 좀처럼 알아채기 어려웠을 문제입니다. 미처 생각지 못한 hub 후보도 드러났습니다. 점의 크기가 인용 횟수에 자동으로 비례하도록 설정해 두었더니 hub 목록에 넣지 않은 표제어 하나가 유독 크게 표시되었는데, 살펴보니 여러 인물의 상세설명 안에 자주 등장하는 핵심 개념이었지만 정작 프로파일링할 때는 그 비중을 놓쳤던 것이었습니다.
고정 숫자보다 검수 단위가 중요하다. 처음에는 4차 위임을 한 배치 15개, 동시에 3개 처리 같은 숫자로 기억했습니다. 실제로 이 값은 좋은 출발점이지만, 몇 사이클을 지나 보니 숫자 자체보다 한 배치를 같은 기준으로 검수할 수 있느냐가 더 중요했습니다. 주인공과 핵심 장치가 섞인 배치 15개는 너무 무거웠고, leaf 사물 20개는 오히려 가볍게 통과했습니다. 결국 배치 크기와 병렬 수는 고정 상수가 아니라, 표제어의 무게와 검수자의 집중을 기준으로 조정해야 한다는 쪽으로 정리되었습니다.
자동화는 코드가 아니라 계약으로 남겨야 한다. 골격 빌드나 링크 주입 같은 자동화는 한 번 작성해 돌리면 끝나는 것처럼 보입니다. 그러나 실전에서는 "무엇을 입력으로 받고, 무엇을 출력하며, 어떤 조건이면 통과인가"가 적혀 있지 않으면 다음 사이클에서 같은 자동화를 믿고 다시 쓰기 어렵습니다. 그래서 자동화마다 역할, 입력, 출력, 실행 시점, 검증 기준, 사람이 판단해야 할 경계를 적어 두는 방식이 필요했습니다. 이 계약이 생기고 나서부터는 오류가 났을 때 "코드가 이상하다"가 아니라 "어느 통과 조건이 깨졌는가"를 먼저 볼 수 있었고, 복구 시간이 크게 줄었습니다.
예상과 달랐던 점들
AI 작업 동료의 1차 추출 정확도는 예상보다 높았습니다. 분류 오류가 1020%쯤 나오리라 예상했는데 실제로는 57% 수준이었고, 특히 인물, 장소, 사물 분류는 거의 정확하게 나온 반면 헷갈렸던 경우는 장치, 개념, 가치처럼 추상도가 높은 분류여서, 추상 분류의 오류율이 구체 분류보다 3~4배 높았습니다.
서술 위임에서 hub 서술을 본보기로 함께 보낸 경우와 보내지 않은 경우의 재요청 빈도 차이도 예상보다 컸습니다. 본보기 없이 위임했을 때 재요청율이 31%, 함께 보냈을 때 12%로 거의 3배 차이가 났는데, hub 직접 집필의 품질이 위임 서술의 품질에 이토록 직접적으로 영향을 준다는 사실이 놀라웠습니다.
Vault 그래프 뷰의 실용성도 기대 이상이었습니다. 앞서 말한 고립 노드 발견은 물론이고, 세계관축별로 색을 달리해서 보았더니 어느 축이 허브 노릇을 하는지가 한눈에 들어왔습니다. 대수 축의 hub가 다른 축의 표제어들보다 훨씬 연결이 많다는 사실을 그래프로 처음으로 눈으로 확인했습니다.
역류를 두고 가장 예상과 달랐던 것은, 그것이 끝없이 이어지지는 않는다는 점이었습니다. 역류란 Vault를 참고해 단편을 쓰다가 기존 표제어에 없던 개념이 새로 생겨 Vault로 되돌아오는 흐름인데, 처음에는 단편을 쓸 때마다 새 어휘가 한없이 불어나 Vault가 끝없이 커지기만 할 줄 알았습니다. 그런데 표제어가 수천 개 규모에 이르자 역류가 저절로 잦아들면서, Vault가 어느 분량 언저리에서 스스로 갈무리되었습니다.
세계관마다 자기에게 맞는 표제어 분량이 따로 있는 듯했습니다. 같은 소재라도 그 결에 따라 단편이 될지 중편이 될지 장편이 될지가 스스로 정해지듯, 어떤 세계는 수백 개 언저리에서 이미 충분히 채워지는가 하면 어떤 세계는 수천 개에 이르러서야 비로소 제 모습을 갖춥니다. 그 분량을 미리 숫자로 정해 둘 수는 없지만, 운영을 하다 보면 "이만하면 이 세계가 충분히 채워졌다, 여기서 더 늘리기는 어렵겠다" 싶은 포화의 감각이 오는 IP가 있는가 하면, "아직 비어 있다, 더 확장할 여지가 있다" 싶어 역류가 한참 더 이어지는 IP도 있습니다. 역류가 활발하다는 것은 그 세계가 아직 자라는 중이라는 신호이고, 역류가 잦아든다는 것은 그 세계가 제 분량을 찾았다는 신호인 셈입니다.
다시 한다면 달리 할 것들
첫째, 프로파일링에 시간을 더 들이겠습니다. 3060분으로 잡았지만 처음 다루는 IP라면 12시간을 들이는 편이 낫습니다. 세계관축의 초안을 몇 가지 안으로 만들어 보고 표제어 샘플 50개에 차례로 적용해 보면서 가장 일관되게 작동하는 안을 고르면, 이 시간 투자가 2차 통합 전체를 빠르게 만들어 줍니다.
둘째, 1차 추출에서 분류를 너무 세밀하게 가르려 들지 않겠습니다. "이 표제어가 사물인지 장치인지"를 1차에서 끝내려 하면 시간이 늘어지므로, 2차에서 정하면 된다는 마음으로 1차는 가볍게 통과시킵니다.
셋째, hub 확정을 2차 통합 직후로 앞당기겠습니다. 처음에는 hub를 3차 골격 빌드 이후에 결정했는데, 자동 카운트 결과는 이미 2차 CSV 단계에서도 확인할 수 있으니 2차 통합 직후에 해도 무리가 없습니다. hub를 일찍 정해 둘수록 3차와 4차 작업의 우선순위가 또렷해집니다.
넷째, 스토리 다이제스트를 충분히 쓰겠습니다. 스토리 다이제스트는 4차 집필에서 AI에게 IP의 맥락을 요약해 건네는 입력인데, 처음 사이클에서는 이것을 원본 분량의 1/10까지 바짝 압축했더니 AI가 IP의 맥락을 충분히 파악하지 못한 채 서술을 만들어 냈는데, 두 번째 사이클에서 분량을 1/5로 늘렸더니 재요청 건수가 눈에 띄게 줄었습니다. 스토리 다이제스트에 공을 들이는 것이 결국 4차 전체 시간을 아껴 줍니다.
다섯째, P2 이슈는 다음 사이클로 과감히 넘기겠습니다. 처음 사이클에서는 P2 이슈까지 당장 해결하려는 마음이 커서 핸드오프가 자꾸 늦어졌습니다. P2는 "Vault 사용에 지장 없음" 등급이므로 과감히 다음으로 미뤄도 되고, 다음 증분 갱신 때 처리하면 충분합니다.
실전이 준 가장 중요한 교훈
라이브러링은 완벽한 Vault를 한 번에 만들어 내는 작업이 아니라, 합격선을 넘긴 Vault를 꾸준히 갱신해 나가는 운영입니다. 첫 사이클에서 모든 것을 완벽하게 만들려는 욕심은 오히려 작업 자체를 멈춰 세웁니다.
어느 IP의 첫 사이클 Vault를 다 만들고 나서야, 이것이 끝이 아니라 시작이라는 사실을 비로소 실감했습니다. P2 이슈 47건이 다음 사이클을 기다리고 있고 leaf 표제어 가운데 서술이 아직 쓰이지 않은 것이 83개 남아 있지만, 그럼에도 이 Vault는 이미 합격선을 넘겼기에 지금 핸드오프될 준비가 되어 있습니다. 이제부터 단편 집필이 시작되고, 그 과정에서 역류가 들어올 때마다 Vault는 계속 자라납니다.
60%에서 출발해 멈추지 않고 채워 나가는 것, 그것이 라이브러링의 운영 철학입니다.
14장은 이 글의 마지막 장입니다. 지금까지의 이야기가 전하고자 한 핵심이 무엇인지, 그리고 이 글을 다 읽은 뒤 어디로 나아가면 좋을지를 정리합니다.
© 2026 MEJE WORKS Corp. & 김동은WhtDrgon. All rights reserved.