배경 및 목표
① 크툴루의 부름(Call of Cthulhu) 장편 캠페인 『니알라토텝의 가면들(Masks of Nyarlathotep)』을 오프라인으로 진행하는 키퍼로서, 룰북 416쪽과 캠페인 원서가 모두 PDF라 플레이어와 마주 앉은 자리에서 찾아보기가 느렸던 문제. ② 낭독과 판정 안내를 AI에 맡기면 원서에 없는 묘사와 단서를 지어내고, 수호자 전용 정보가 미리 새어 나가며, 세션 사이의 확정 사항과 “플레이어가 무엇을 알고 있나”가 흩어지는 문제.
→ 룰북과 캠페인 원서를 메타데이터·상호링크가 있는 마크다운으로 옮기고, AI의 역할·스포일러 통제·세션 준비 절차를 지침으로 고정해 탁자 옆에서 바로 쓰는 보조 진행자를 만드는 것을 목표로 함.
역할
전 과정 주도 (1인 개발: 원서 변환 · 검증 도구 · AI 운영 지침 · 세션 상태 관리)
주요 업무 및 성과
① 원서 PDF 변환과 커버리지 검증
- 변환 룰북 439개, 캠페인 챕터 166개, 부록 87개 문서를 병렬 에이전트로 나눠 변환하고, 모든 파일에 판정 키워드·스포일러 등급·단서 연결을 담은 메타데이터를 붙여 검색 가능하게 함. 원서 PDF가 커스텀 CID 폰트를 써서 일반 텍스트 추출로는 한글이 깨져 좌표 기반 추출로 바꿈.
- 원문 대조 원문 추출본과 변환본을 자동 대조해 커버리지를 수치로 확인(캠페인 챕터 99.6%, 룰북 99.9%, 부록 99.1%). 2단 조판의 사이드바 박스가 에이전트 담당 경계에 끼어 누락되던 문제를 찾아, x좌표로 사이드바를 검출하는 절차를 방법론 문서에 넣음.
② 단서 그래프 검사와 진행 막힘 방지
- 단서 검사 사건 파일의 단서 연결을 그래프로 엮어 핵심 단서를 놓치면 진행이 막히는 지점을 찾는 검사를 만들고, 첫 실행에서 단서 연결 오입력 7건을 잡음.
- 세션 준비 세션이 끝나면 다음 장면의 선독 목록과 상황 지도(진입점별 갈래·실패 경로·시한)를 만들어, 다음 세션을 시작할 때 AI가 먼저 읽고 들어가게 함.
- 규칙 선인출 무기를 뽑음·추격·신화 존재 목격 같은 장면 신호별로 해당 룰 파일을 미리 읽게 해, 탁자에서 멈추거나 기억으로 판정하지 않게 함.
③ 세션 간 상태·지식 일원화
- 상태 기록 게임 내 시간·위치 파일, 챕터별 세션 로그(완료 시 아카이브와 이월 요약), 탐사자 JSON으로 흩어진 상태를 한곳에 모음.
- 확정 상태 표시 AI 제안에는 ‘(AI 초안)’, 키퍼 승인에는 ‘(키퍼 확정)‘을 붙여 무엇이 확정인지 겉으로 보이게 함. 키퍼가 본 적 없는 안이 확정처럼 굳는 일을 막음.
- 지식 장부 누가 무엇을 아는지를 따로 기록해 스포일러 판단과 ‘지난 이야기’ 작성 기준으로 씀.
결과
① 탐사자 5명 파티로 2026.07 첫 챕터를 완주하고 다음 챕터를 진행 중. 한 세션 3~4시간 동안 키퍼가 플레이어의 선언과 주사위 결과만 짧게 입력하면 AI가 낭독문·판정 안내·선택지를 내고 상태 파일을 갱신하는 방식으로 운영하며, 필요한 핸드아웃 3종은 직접 만들어 실전에 씀.
② 실전에서 막힌 문제를 운영 지침으로 되먹여 6건을 고침: 시나리오 선독 규칙, 원문 대조 표시, 임의 판정 금지, 확정 상태 표시, 핸드아웃 생성을 백그라운드로 분리, 원서 흐름에 없는 장면은 AI가 잇지 않고 키퍼가 징검다리를 확정.
회고
AI가 빈칸을 그럴듯하게 채우는 성질이 게임에서는 버그였다. 분위기를 내려고 넣은 감각 묘사 하나가 원서에 없는 단서가 되어 추리를 엉뚱한 곳으로 보냈다. 그래서 자료 범위 안에서만 묘사하라는 규칙을 다른 문체 규칙보다 위에 두었다. 한 세션을 마치고 “빼먹은 게 많다”고 지적한 뒤에야 원인이 시나리오를 필요할 때만 읽는 구조라는 걸 알았고, 장면에 들어가기 전에 미리 읽는 쪽으로 바꾸었다.
지침은 써 놓은 것만으로는 맞는지 알 수 없고 실제로 돌려 봐야 틀린 곳이 보였다. 예외를 덧붙여 막으려 할 때마다 지침이 무거워지기만 해서, 예외를 늘리기보다 규칙에 우선순위를 주는 쪽이 오래간다는 것도 배웠다. 요약도 비슷했다. 상태 파일로 옮겨 적다 보면 “~한 경우에만” 같은 조건이 빠져서, 확정 사항은 원문을 그대로 옮기거나 링크만 걸고 원본 로그에서 확인하게 했다.