| name | dynamic-lorebook |
| description | 키워드 기반으로 월드 로어를 선택적으로 로드하여 토큰 효율을 높이는 동적 로어북 프레임워크. World Skill의 확장판으로, 방대한 세계관 데이터를 관리할 때 활성화한다. |
| metadata | {"author":"agentchan","version":"1.0","type":"framework"} |
Dynamic Lorebook Skill
대규모 세계관 데이터를 키워드 기반으로 선택적 로드하는 프레임워크 스킬. 기존 World Skill이 전체 컨텍스트를 한번에 주입하는 반면, Dynamic Lorebook은 대화 내용에 따라 관련 엔트리만 로드하여 토큰 효율을 극대화한다.
핵심 메커니즘
[인덱스] ──────── 항상 컨텍스트에 존재 (가벼움)
│
▼
[키워드 매칭] ─── 유저 메시지 + 최근 대화에서 관련 엔트리 판별
│
▼
[read] ───── 관련 엔트리 파일만 선택적 로드 (필요할 때만)
│
▼
[응답에 반영] ─── 로드된 로어를 자연스럽게 대화에 녹여냄
로어북 인덱스
아래는 이 스킬에 포함된 로어 엔트리 목록이다. 각 엔트리는 키워드, 카테고리, 파일 경로로 구성된다. 대화에서 관련 키워드가 등장하면 해당 엔트리를 read로 로드하라.
인덱스 테이블
| ID | 키워드 | 카테고리 | 파일 | 우선순위 |
|---|
| L01 | 등대, 손클리프, 등대지기, 불빛, 유령 | 장소/미스터리 | data/entries/thorncliff-lighthouse.md | 높음 |
| L02 | 표류 시장, 야시장, 밀수, 동쪽 부두, 골동품 | 장소/사회 | data/entries/drift-market.md | 보통 |
| L03 | 지도제작자, 길드, 해도, 지도, 항해 | 조직 | data/entries/cartographers-guild.md | 보통 |
| L04 | 문워시, 달빛, 조수, 발광, 치유, 꿈 | 현상/마법 | data/entries/moonwash.md | 높음 |
| L05 | 마렉, 스승, 초상화, 옛 주인, 엘라라의 과거 | 인물/관계 | data/entries/old-marek.md | 보통 |
| L06 | 항구 경비대, 순찰, 치안, 밀수 단속 | 조직 | data/entries/harbor-watch.md | 낮음 |
| L07 | 렌, 지도, 여행, 탐험가, 방랑자 | 인물/관계 | data/entries/ren-and-maps.md | 보통 |
| L08 | 폭풍, 난파, 해적, 바다 괴물, 위험 | 사건/위험 | data/entries/sea-dangers.md | 높음 |
| L09 | 스택스, 주민, 고양이, 골목, 지붕 | 장소/생활 | data/entries/the-stacks.md | 낮음 |
| L10 | 달의 노래, 전설, 옛이야기, 건국, 기원 | 역사/전설 | data/entries/moon-song-legend.md | 보통 |
사용 규칙
1. 언제 엔트리를 로드하는가
- 유저 메시지에 인덱스 키워드와 의미적으로 관련된 내용이 있을 때
- 캐릭터가 자연스럽게 해당 주제를 언급하게 될 때
- 장면 전환으로 새로운 장소나 인물이 등장할 때
정확한 키워드 일치가 아니라 의미적 관련성으로 판단하라. 예를 들어 유저가 "바다에서 이상한 빛을 봤어"라고 하면, "문워시"(L04) 엔트리가 관련된다.
2. 재귀적 로딩
로드한 엔트리 내용에 다른 엔트리의 키워드가 포함되어 있으면, 그 엔트리도 추가로 로드할 수 있다. 단, 최대 2단계까지만 재귀한다.
예시:
- 유저가 "등대"를 언급 → L01 로드
- L01 내용에 "문워시"가 언급됨 → L04 추가 로드
- L04 내용에 "달의 노래"가 언급됨 → 여기서 멈춤 (2단계 초과)
3. 예산 관리
- 한 턴에 최대 3개 엔트리를 로드한다
- 우선순위가 높은 엔트리를 먼저 로드한다
- 이미 이전 턴에서 로드하여 내용을 파악한 엔트리는 다시 로드하지 않는다 — 기억에서 활용한다
4. 로드한 로어의 활용
- 로드한 내용을 그대로 인용하지 않는다. 캐릭터의 지식과 말투로 자연스럽게 녹여낸다.
- 유저가 직접 물어보지 않은 세부 정보는 힌트만 흘린다.
- 장면의 분위기와 맞지 않는 로어는 언급하지 않는다.