Skip to content

로어북

더욱 많은 프롬프트를 사용하기 위한 시스템입니다.

개요

때로는 기본 시스템 프롬프트 이외에 추가 프롬프트가 필요할 때가 있습니다.
로어북은 응답에 특정 키워드가 포함되었을 경우, 추가 프롬프트를 불러오는 시스템입니다.

UI 미리보기

로어북 제목로어북 구분용입니다. 프롬프트에는 포함되지 않습니다.
내용직접적으로 프롬프트로 반영되는 내용입니다.
키워드감지할 키워드입니다. 유저의 응답이나 직전 대화에 키워드가 들어갔다면 활성화됩니다.

키워드는 하나라도 발견되면 감지되는 시스템을 사용하고 있습니다.

주요 활용 방안

1. 캐릭터 디테일 추가

메인 프롬프트에는 첫 턴에만 필요한 간략한 정보만 적고, 구체적인 캐릭터 설정은 로어북에 저장합니다.
키워드로는 주로 캐릭터 이름이 들어가게 됩니다.

특히 많은 캐릭터를 넣는 시뮬레이션의 경우, 거의 필수적으로 사용하는 기법입니다.

2. 특수 모드

일반적인 캐릭터 진행이 아닌, 특수한 상황을 활성화해 즐길 수 있도록 하는 방법입니다.
키워드로는 주로 절대 나오지 않을 키워드를 명령어 형태로 사용합니다.

3. 있으면 좋고 없어도 괜찮은 정보

그닥 중요한 정보는 아니지만 있으면 좋은 내용을 로어북에 저장하는 경우가 있습니다.
코멧의 특수 키워드인 {#} default를 키워드로 설정해 놓는다면, 로어북 공간이 남을 경우 자동으로 로어북을 불러옵니다.

항상 나오는 키워드 (., ,, ?, !) 설정과의 차이

예전에 사용되던 기법 중 하나로, 위와 같은 필수적인 문자를 키워드로 설정하는 기법이 있습니다.
이렇게 하고 키워드북을 뒤로 미뤄놓는다면, {#} default와 비슷한 효과를 낼 수 있는데요.

코멧의 로어북은 조금 더 복잡하게 동작하고 있습니다.
구체적으로는 아래와 같이 동작합니다.

  1. 전처리 명령어 키워드 실행
  2. 유저 입력 검사
  3. 직전 채팅 검사
  4. {#} default 실행

이렇다 보니, 코멧에서 위와 같은 기법을 사용할 경우 2번 절차에서 활성화가 될 수 있습니다.
직전 채팅 검사를 실행하기도 전에 모든 로어북 자리가 채워지기에, 코멧에서는 {#} default 문법을 추천드립니다.

4. 턴수에 따른 스토리 진행

스토리가 주가 되는 캐릭터의 경우, 특정 턴을 기준으로 시나리오를 이어가고 싶을 때가 있습니다.
이 경우 코멧의 특수 키워드인 {#} {turn} 문법을 사용하면 훨씬 정교하게 구현할 수 있습니다.

시스템 상에서 {turn}은 유저의 첫 채팅일 때 1이 되고, 이후 채팅이 늘어날 때마다 1씩 증가합니다.
따라서, 첫 5턴동안 실행되는 로어북을 만들고 싶으시다면 {#} {turn}: 1~5를 적으면 동작합니다.
({#} {turn}: ~5 역시 작동합니다.)

6턴때부터 계속 활성화를 원할 경우 {#} {turn}: 6~를 사용하면 되고,
정확히 10번째 턴에만 작동되기를 의도할 경우 {#} {turn}: 10을 사용하면 됩니다.

5. 랜덤 이벤트

무작위로 특정 이벤트를 발생하게 하고 싶은 경우에도 로어북이 효과적입니다.
코멧의 특수 키워드인 {#} {dice6} 문법을 사용하면 LLM 의존 없이 랜덤을 구현할 수 있습니다.

{dice20}, {dice100} 역시 지원합니다.
각 숫자는 구간을 의미합니다. {dice6}의 경우 1 ~ 6 사이의 랜덤 값을 꺼내옵니다.

turn과 마찬가지로, 구간을 설정하여 랜덤을 구현할 수 있습니다.