프리셋 변수
이 가이드에서는 프리셋 변수를 설명합니다. 프리셋 변수는 프롬프트 프리셋 안에 들어 있는, 이름이 붙은 선택지입니다. 프리셋을 만든 사람이 한 번 정의해 두면, 그 프리셋을 쓰는 사람이 채팅에 지정할 때 옵션을 고릅니다. 프롬프트 글을 고치지 않고도 프리셋 하나가 여러 방식으로 동작하게 하려면 프리셋 변수를 사용하세요.
변수에 이름을 붙이고, 질문을 쓰고, 옵션을 나열하세요. 그런 다음 아무 프롬프트 섹션에 {{tone}}처럼 이름을 중괄호 두 겹으로 감싸 넣으세요. AI가 답변을 생성할 때 Marinara가 {{tone}}을 사용자가 고른 옵션 값으로 바꿉니다.
프리셋 변수는 프롬프트 프리셋이 있어야 하므로 Roleplay(롤플레이) 채팅에서 동작합니다. Conversation(대화) 채팅과 Game(게임) 채팅은 섹션 대신 프롬프트 글 하나를 쓰므로 적용되지 않습니다. 프리셋 자체는 Preset Editor와 프롬프트 관리를 참고하세요.
프리셋 변수의 종류
옵션이 여러 개인 변수는 기본적으로 단일 선택입니다. 사용자는 라디오 버튼으로 표시되는 옵션 중 하나를 고릅니다. 다음 세 가지 설정이 이 동작을 바꿉니다.
| 종류 | 만드는 방법 | 동작 |
| Boolean Toggle(불리언 토글) | 변수에 옵션을 정확히 하나만 두세요. | 켜기/끄기 스위치가 됩니다. 켜면 옵션 값이 삽입되고, 끄면 아무것도 삽입되지 않습니다. |
| Multi-Select(다중 선택) | Multi-Select를 켜세요. | 사용자가 옵션을 여러 개 고릅니다. 값은 구분자로 이어 붙이며, 기본 구분자는 , 입니다. Romance, Fantasy, Action은 "Romance, Fantasy, Action"이 됩니다. |
| Random Pick(무작위 선택) | Random Pick을 켜세요. | 단일 선택 변수에서는 새 채팅마다 Marinara가 옵션 하나를 무작위로 미리 고르며, 직접 바꿀 때까지 그 선택이 유지됩니다. Multi-Select를 켜면 사용자가 후보 묶음을 고르고, 답변마다 그 안에서 옵션 하나가 뽑힙니다. |
프리셋 변수 추가하기
- Presets(프리셋) 패널을 열고 프리셋을 클릭해 Preset Editor를 여세요.
- Sections(섹션) 탭으로 이동한 다음 맨 아래의 Preset Variables(프리셋 변수) 패널까지 스크롤하세요.
- Add Variable(변수 추가)을 클릭하세요. 새 변수 카드가 나타납니다. 카드를 클릭해 펼치세요.
- Variable Name(변수 이름)을 정하세요. 이 필드에는 영문자, 숫자, 밑줄만 남습니다. 중괄호 안에 넣는 이름이 바로 이 이름입니다.
- Question (shown to user)(질문(사용자에게 표시))를 채우세요. 사용자가 값을 고를 때 이 질문을 읽습니다.
- Options(옵션) 목록을 편집하세요. 옵션마다 사용자에게 보이는 Label과 프롬프트에 삽입되는 글인 Value가 있습니다. 값을 비워 두면 아무것도 삽입되지 않습니다.
- Presentation(표시 방식)에서 Auto, 버튼형(Radios 또는 Checkboxes), 간결형(Dropdown 또는 Listbox) 중 하나를 고르세요. 옵션을 라벨 순으로 정렬하려면 Alphabetical option display(옵션을 가나다순으로 표시)를 켜세요.
- <kbd>Escape</kbd>를 누르거나 Done(완료)을 클릭하세요. 변경 사항은 자동으로 저장되며, 아래쪽에 "Changes auto-save. Press Escape to close."라고 표시됩니다.
이제 프롬프트 섹션에 이름을 중괄호로 감싸 넣으세요. 예를 들어 섹션에 {{tone}}을 넣고, Gentle 옵션과 Harsh 옵션이 있는 tone 변수를 만드세요. 사용자가 Harsh를 고르면 그 섹션에 Harsh의 값이 들어갑니다.
변수에는 옵션이 항상 하나 이상 남습니다. 마지막 옵션을 지우려고 하면 Marinara가 그 옵션을 남겨 둡니다.
변수에 답하기
변수가 있는 프리셋을 채팅에 지정하면 Configure Preset Variables(프리셋 변수 구성) 창이 열립니다. 창에는 "This preset has configurable variables. Select option(s) for each to customize your experience."라고 적혀 있습니다.
각 변수에는 질문, {{tone}} 같은 토큰, 그리고 해당할 때만 붙는 배지(Boolean toggle, Multi-select, Random pick)가 표시됩니다.
- 변수마다 값을 고르세요.
- Confirm Choices(선택 적용)를 클릭하세요.
다른 버튼은 다음과 같습니다.
- Save as default(기본값으로 저장)는 고른 값을 프리셋에 저장해 다음번에 미리 채워지게 합니다.
- Skip(건너뛰기)은 저장하지 않고 창을 닫습니다.
Confirm Choices는 모든 단일 선택 변수에 값이 있을 때까지 비활성화 상태로 남습니다. Boolean toggle 변수와 Multi-select 변수는 아무것도 고르지 않아도 버튼을 막지 않습니다. 다른 프리셋으로 바꾸면 이전 프리셋에서 고른 값은 지워집니다.
나중에 답 바꾸기
선택한 프리셋에 변수가 있으면 Chat Settings(채팅 설정)의 Prompt Preset(프롬프트 프리셋) 섹션에 연필 버튼인 Edit preset variables(프리셋 변수 편집)가 나타납니다. 이 버튼을 클릭하면 현재 고른 값이 채워진 상태로 창이 다시 열립니다.
변수가 아닌 이름
Marinara는 {{user}}, {{char}} 같은 내장 매크로를 먼저 처리합니다. 그다음 나머지 {{NAME}}(영문자, 숫자, 밑줄)을 프리셋 변수와 대조합니다. 일치하는 것이 없으면 Chat Settings의 Chat Variables(채팅 변수) 섹션에 있는 채팅 자체의 변수를 확인합니다. 양쪽에 같은 이름이 있으면 프리셋 변수가 우선합니다. 어느 쪽에도 그 이름이 없으면 텍스트는 오류 없이 입력한 그대로 남습니다. 프롬프트 매크로를 참고하세요.
옵션 안의 판정 블록
옵션 값에도 다른 프롬프트 텍스트처럼 {{#if decision:"..."}} 판정 블록을 넣을 수 있습니다. 채팅에서 선택한 옵션에 대해서만 판정을 묻고, 이 질문은 Decision statements per turn(턴당 판단문 수)에 포함됩니다. Random Pick 변수는 어떤 옵션이든 뽑힐 수 있으므로 후보 묶음의 모든 옵션에 대해 묻습니다. Decision 모델에 묻기를 참고하세요.
변수 값은 {{name}}이 놓인 자리에 들어갑니다. 판정이 프리셋 앞부분에서 그 값을 바꾸면 서비스의 프롬프트 캐시 재사용을 상당 부분 잃을 수 있습니다. 자주 바뀌는 내용은 뒤쪽에 두세요. 판정 블록과 프롬프트 캐시를 참고하세요.
인사말
프리셋 변수는 캐릭터 인사말에서도 치환되며, 인사말을 만든 뒤에 확인한 선택도 반영됩니다. 원본 인사말은 매크로를 그대로 유지한 채 수정할 수 있습니다.
관련 가이드
- Preset Editor와 프롬프트 관리
- 프롬프트 매크로