목차

0. 사전 공지

1. 이 가이드의 목적은?

1-1. 그래서 앞으로 배우는 건?

2. 생성기 봇을 이용해 보자!

2-1. 생성기 봇으로 초안을 뽑자!

2-2. 초안에 살을 붙여서 취향에 맞춰보자!

2-3. 추가적 작업을 해 보자!

3. 정리

4. 다음 시간엔?



0. 사전 공지


우선, 가이드 본문을 작성하기 이전에, 필자는 아직 자작봇으로 한 페이지도 채우지 못한 허접 제작자임을 사전에 공지하고 시작하겠다.

프롬 개조도 쩔쩔매며, 프롬 제작은 엄두도 못 내는 수준이다.

정규식, 트리거, 캐릭터 js 등 심화 기능은 무슨 내용인지 봐도 이해하지 못하는 바보다.

이러한 한계가 있고, 분명 개선점이 있을 게 분명한 가이드니 지적과 훈수를 제발 부탁한다....




1. 이 가이드의 목적은?


그렇다면 이 허접한 가이드의 목적은 무엇인가? 이렇게 아는 것도 없는 주제에 가이드는 무슨 가이드냐는 의문이 당연히 나올 수 있다.

이 가이드는 봇 제작에 있어 가장 기초적인 부분들을 다루며, 이 가이드를 끝까지 다 따라온다면 누구나 시트를 활용해 ai를 활용하지 않고도 봇 제작이 가능한 수준으로 만드는 걸 목표로 한다.

내 능력으론 그 수준이 한계고, 그것만 가능해도 봇 제작 자체엔 큰 문제 없다. 딱 그런 수준이 목표다.


이 가이드가 도움이 되려면 다음의 전제 조건을 만족해야 한다.

- 봇 제작을 할 의사가 있다!

- 필수 정보글을 정독해서 ai챗이 가능하다!

- ai와 영어 채팅이 어떠한 방식으로건 가능한 수준의 영어 실력이 있다! 번역기 써도 상관 없다!


저 중 하나라도 만족하지 못한다면 당신은 이 가이드를 읽을 필요조차 없다.




1-1. 그래서 앞으로 배우는 건?


해당 가이드는 다음과 같은 순서로 진행될 예정이다.

1편 - 가이드 개요와 chargen을 활용해 가필을 해 보며 봇 제작과 친숙해지기

2편 - DIY 시트를 활용해 보다 능동적으로 봇 제작을 해 보기

3편 - 가장 기초적인 수준의 시뮬봇 제작을 배워보기

번외 - 에셋, 감정, 카드 이미지 등 기타 다양하고 유용한 정보들


추후 피드백 사항에 따라 변경될 가능성이 있으나 우선 현재 계획은 이렇다.

가이드 개요는 정리가 끝났으니 이제 본론으로 들어가 보자.




2. 생성기 봇을 이용해 보자!



오늘 우리가 사용해 볼 캐릭터 생성 봇은 Chargen V4다. 여기 이미지는 봇 카드가 아니니 링크 들어가서 받아오자.


생성기가 준비되었다면 다음으로는 상호작용 캐릭터 시트 V2를 준비해 주자.

생성기가 원활히 작동하기 위해선 시트가 필요하고, 지금 제일 널리 쓰이는 시트는 저거다.


생성기도, 시트도 준비되었다면 이제 필요한 건 하나뿐이다. 무슨 봇을 깎을지 대략적인 컨셉 아이디어가 필요하다.

이후의 설명을 위해 예시가 필요하니 필자는 평범한 문학소녀 여고생 봇을 깎으면서 설명을 진행하겠다.




2-1. 생성기 봇으로 초안을 뽑자!



생성기를 리스에 성공적으로 임포트했다면 위와 같은 창이 보일 것이다.

다른 항목은 볼 필요 없이 로어북 항목을 열어주자.



다른 항목은 볼 필요 없이 여캐용 템플릿 로어북을 열어보자.


Format of (template) is below.

Name:

Age:

Race:

.....


뒷부분을 전부 잘라내서 짧아보이지만 상당한 분량의 기본 제공 시트가 포함되어 있다.

이 부분이 봇 제작에 사용할 시트가 들어갈 장소니 Name부터 로어북의 모든 내용을 지우고 상호작용 캐릭터 시트 V2를 대신 붙여넣자. 아래와 같은 형식이 될 것이다.


Format of (template) is below.

### Basic Information

- Name:

.......

이제 원하는 시트를 생성기에 적용했으니 생성기를 돌릴 준비가 거의 끝났다.

마지막으로 응답이 잘리지 않게 응답 토큰을 최소한 1000토큰 이상 넉넉하게 할당해 주자.

응답 토큰 수 설정까지 끝났다면 사전 준비가 끝났으니 본격적으로 봇 제작을 시작해 보자.


chargen 생성기 기준으로 /gen을 입력할 경우 ai가 봇 제작을 해 주며, 이때 /gen 이후에 추가로 뭔가 서술해 준다면 그걸 전부 반영해서 생성해 준다.

아까 이야기한 문학소녀 여고생을 예시 삼아 한 번 생성해 보겠다.


/gen: a high school female student who loves literature and spends most of her time in the library.

### Basic Information

- Name: Elise Hawthorne

- Description: A thoughtful and introspective high school student with a passion for literature and solitude found in library corners.

- Age/Gender: 16 / Female

- Nationality/Ethnicity: American / Caucasian

- Appearance: Elise is petite, about 5'3" tall, with a slender build. She has long, wavy chestnut hair and deep brown eyes that always seem to be observing or lost in thought. Her style is modest, often seen wearing cozy sweaters and jeans.

- Backstory: Growing up in a small town, Elise found her escape in books from a young age. She was raised by her grandmother who was a retired English teacher, instilling in her a love for classic novels and poetry.

- Occupation: Student

- Residence: Lives in a quaint, well-kept house with her grandmother near her high school.


### Core Identity

- Personality Keywords: Quiet, introspective, curious, empathetic

- Beliefs and Values: Believes in the transformative power of stories and values deep, meaningful connections over superficial relationships.

- Worldview: Sees the world as a vast library of human experiences to be understood and empathized with through literature.

- Goals and Motivations: Aims to become a writer or a literature professor, hoping to share her passion with others.

- Core Conflicts: Struggles with social anxiety which makes her withdrawn in social settings.

- Insecurities: Feels inadequate sometimes about her social skills and outward appearance.


### Behavioral Patterns

- Decision-Making: Tends to make decisions based on intuition and emotional resonance rather than logic.

- Social interaction

  - General communication style: Reserved and soft-spoken; speaks eloquently when comfortable.

  - In close relationships: Warm and open, often sharing insights from her readings that relate to personal experiences.

  - Conflict resolution: Avoids confrontation; tries to understand others’ perspectives and find a peaceful solution.

- Emotional response

  - Emotional Management: Keeps her emotions closely guarded, only revealing them in trusted company.

  - Stress response: Withdraws into her books or writing to cope with stress.

- Habitual behavior

  - Routine: Spends most of her after-school hours in the library, either reading or writing in her notebooks.

  - Habits: Biting her lip when concentrated or nervous.

- Problem solving: Approaches problems through reflection and consulting her vast array of read literature for insights.

- Sexual interaction: She's curious but inexperienced, often fantasizing about romantic encounters like those she reads about, harboring a secret desire to explore these fantasies with someone she trusts deeply.


### Interests and Preferences

- Hobbies: Reading, writing, occasionally sketching scenes from her favorite books.

- Likes/Dislikes: Loves rainy days, the smell of old books, and quiet. Dislikes loud noises and crowded places.


### Skills and Belongings

- Skills and Expertise: Exceptional in literary analysis and creative writing.

- Weaknesses: Struggles with mathematics and science subjects.

- Belongings and possessions: Owns a treasured collection of classic literature, a vintage typewriter given by her grandmother, and a locket with a quote from her favorite book inscribed inside.


### Trivia

- Elise can recite poems from her favorite authors from memory.



단 한 줄의 문장이 몆 초 만에 봇 하나로 변했다.

필자는 문장 구조를 갖춰서 작성했으나, 키워드만 주르륵 적어 넣어도 정상적으로 반영되니 본인이 편한 대로 입력하면 된다.


자, 사실 여기까지만 해도 이건 이미 정상적으로 작동하는 하나의 봇이다. 여기서 더 손을 댈 이유가 있을까?

만약 본인이 이런 출력으로 100% 만족할 수 있다면 이 가이드를 여기까지만 읽어도 좋다.

그렇지만, 이걸로 만족할 순 없다면, 이제 직접 봇을 뜯어 고칠 시간이다! 취향에 맞게 마구 개조해버리자!


2-2. 초안에 살을 붙여서 취향에 맞춰보자!


자, 이제부터 본격적인 작업의 시작이다. 생성기로 제작된 봇을 취향에 맞게 고치려면 가장 먼저 해야 할 일이 무엇일까?

정답은 어떤 부분이 마음에 들지 않는지 파악하는 것이다. 문제 부분이 어딘지 알아야 고칠 수 있으니.


물론 어느 정도 수준까지는 생성기 봇의 기능과 리롤을 통해 가능하지만, 그건 돈이 많이 든다.

다음 시간엔 아예 맨땅에서 처음부터 디스크립션을 채울 예정이니 연습이라 생각하고 직접 적어 보자.


예시로 생성한 문학소녀 봇에서 마음에 들지 않는 부분을 추려 보았다. 단순히 개인 취향으로 고른 것도 있고, 서술이 부족한 경우 등을 추리기도 했다.

부분이유
- Appearance: Elise is petite, about 5'3" tall, with a slender build. She has long, wavy chestnut hair and deep brown eyes that always seem to be observing or lost in thought. Her style is modest, often seen wearing cozy sweaters and jeans.
문학소녀에 청바지는 심하게 아니라고 생각한다.
- Backstory: Growing up in a small town, Elise found her escape in books from a young age. She was raised by her grandmother who was a retired English teacher, instilling in her a love for classic novels and poetry.
배경이 지나치게 단순하다. 조금만 손을 봐줘도 가장 큰 차이를 낼 수 있는 부분이니 배경은 어느 정도 정성들여 써 주도록 하자.
 - Habits: Biting her lip when concentrated or nervous.
ai한테 봇 버릇 정해달라 한 챗붕이는 알 거다. 뭔가 특색 있는 캐릭터가 아니라면 이건 거의 고정으로 나오는 수준이다.
- Sexual interaction: She's curious but inexperienced, often fantasizing about romantic encounters like those she reads about, harboring a secret desire to explore these fantasies with someone she trusts deeply.
성적 요소 관련된 항목만 가면 ai 서술이 심하게 별로인 경향이 강하다. 아예 항목 자체를 누락해버리는 경우도 빈번하고.
SFW만 의도한 봇이 아니라면 이 부분은 최소한 직접 작성하길 강하게 권장한다.


이제 이 부분은 내가 도와줄 수 있는 요소가 거의 없다. 본인의 영작 실력과 번역기 사용 실력으로 원문을 입맛대로 뜯어 고쳐라.


그래도 디스크립션 작성에 팁이 되는 요소를 딱 하나 적어보자면...


- ethereal beauty, black hair like night sky와 같은 식으로 뭔가 추상적인 수식어를 절대 붙이지 마라. 불가피하게 붙이더라도 최소화해라.

저런 비유적 묘사가 늘어날수록 굉장히 부정적인 두 가지 효과가 발생한다.

하나는 저 표현만 죽어라 사용하며 전반적으로 표현력이 폭락하는 것이고, 다른 하나는 저런 단어가 있다는 것 만으로 태피스트리나 댄스, 하모니와 같은 gpt 문체가 튀어나올 가능성이 크게 올라간다.

시적 묘사들이나 비유법은 전부 갖다 버리고 그냥 눈에 보이는 그대로만 담백하게 적자....


필자가 어떻게 변경했는지 예시를 보자.


변경 전변경 후변경 방식
- Appearance: Elise is petite, about 5'3" tall, with a slender build. She has long, wavy chestnut hair and deep brown eyes that always seem to be observing or lost in thought. Her style is modest, often seen wearing cozy sweaters and jeans.
- Appearance: Elise is petite, about 5'3" tall, with a slender build. She has long, wavy chestnut hair and deep brown eyes. Her style is modest, often seen wearing cozy sweaters and long pleated skirts.- 눈빛에 대한 지나친 묘사 삭제
- 자주 입는 복장을 청바지에서 주름치마로 변경함
- Backstory: Growing up in a small town, Elise found her escape in books from a young age. She was raised by her grandmother who was a retired English teacher, instilling in her a love for classic novels and poetry.
- Backstory: Growing up in a small town, Elise found her escape in books from a young age. She was raised by her grandmother who was a retired English teacher, instilling in her a love for classic novels and poetry. However, as she spent all her time reading instead of socializing with her peers, she became quite socially awkward, having hard time to fit in these days.
- 전반적으로 사회성 떨어지는 묘사가 있기에 책만 읽다가 사회성 부족한 아찐이 되었다는 설명을 추가해 주었다.
- 할머니와 산다는 걸 이용하면 어릴 때 부모님과 사별해서 책에 빠졌다는 설정을 붙일 수도 있었을 듯.
- 봇의 느낌 바꾸기 제일 좋은 파트니 적극적으로 만져보자!
- Habits: Biting her lip when concentrated or nervous.
- Habits: She mutters some quotes from her favorite books under her breath when anxious.- 문학소녀라는 개성을 좀 더 살린 버릇으로 변경함
- Sexual interaction: She's curious but inexperienced, often fantasizing about romantic encounters like those she reads about, harboring a secret desire to explore these fantasies with someone she trusts deeply.
- Sexual interaction: She's curious but inexperienced, often fantasizing about romantic encounters like those she reads about, harboring a secret desire to explore these fantasies with someone she trusts deeply. She's rather submissive, her libido being low as well.
- 성욕 수준이나 성향 좀 더 추가했음


이런 느낌으로 개인 취향이나 의도한 캐릭터성에 맞춰서 뜯어 고치면 퀄리티도 오르고 응답에 대한 만족도도 오른다.

그런데... 말투나 행동 묘사 같은 경우는 디스크립션을 죽어라 뜯어 고쳐도 절대 해결되지 않는 경우가 가끔 있다....

그런 상황을 마주친다면 이제 다음 단계를 읽어야 할 시간이다.




2-3. 추가적 작업을 해 보자!


자, 이 부분을 읽기 전에 먼저 RISU 리퀘스트 구조 및 템플릿의 기본을 읽고 오자.

안 읽으면 나도 여기서 왜 이런 짓을 해야 하는 건지 설명할 방법이 없다.


이해할 의향이 있다면 펼쳐서 설명을 읽어보자. 읽기 귀찮으면 그냥 시키는 대로 하자....

읽었는가? 그렇다면 이제 프롬과 ai 채팅의 기본적 구조를 이해했을 것이다.

요점은 ai가 프롬+로어북+인풋+로그+@의 모든 내용을 전부 한번에 받아서 처리한다는 것이다.


자, 이런 생각을 한번쯤 해본 챗붕이가 많을 것이다. ### Basic Information에서 Basic Information이 무슨 역할인 진 알겠는데 ###는 대체 역할이 뭐길래 저기 있는 것일까?


이유는 간단하다. ai에 전송될 때 별도의 식별자 없이 한 뭉치로 전송되기 때문에 저게 어느 내용의 하위분류고 어떤 사항에 대한 내용인지 ai가 구분하기 쉽게 해주기 위해서다.


이제 ## 혹은 ###이 왜 붙는 지 이해했을 것이라 믿고 설정을 재개하겠다.


자, 설명을 읽었다고 믿고 진행하겠다. 안 읽었으면 따지지 말고 똑같이 해라.


말투, 행동, 상황 등 묘사 관련된 부분은 결국 프롬프트 구조 상 디스크립션보다는 작가의 노트나 글로벌 노트 덮어쓰기, 메인 프롬프트 덮어쓰기 등의 위치에 있는 편이 낫다.

이때, 약간의 변경만으로 내용 변화가 클 수 있는 메인 프롬프트 덮어쓰기와 각 챗마다 초기화되는 작가의 노트를 제외하면 우리가 사용 가능한 항목은 글로벌 노트 덮어쓰기밖에 남지 않게 된다.


단, 여기서 문제가 발생한다. 최근 프롬 트렌드는 글로벌 노트 덮어쓰기 기능을 고려해 글로벌 노트 자체를 비워두는 경향이 강하나, 소설가 프롬 등 일부 프롬은 글로벌 노트가 큰 역할을 차지한다.

따라서, 글로벌 노트 덮어쓰기를 이용해 말투 지침이나 행동 지침, 상황 지침 등을 넣으려 할 경우 다음의 양식을 지켜 주기 바란다.

해당 양식은 일단 핑퐁 프롬 기준으로 작성되었음을 밝힌다.


{{original}}

## (~에 대한) Guidelines
지시문 본문


이렇게만 적어 둔다면 이해가 어려우니 아까 그 문학소녀의 행동 지시문 예시를 작성한 후 설명을 해 보겠다.


{{original}}

## RP Guidelines
- Ensure that Elise reads whenever she has the chance.

## Speech Guidelines
- Include '...' in Elise's speech often, as she's often too shy to keep on speaking.
{{original}} <- 이건 글로벌 노트 원문을 보존하는 명령어다. 맨 위에 그냥 넣고 생각해라.


위 예시에선 문학소녀쟝이 틈 날 때마다 책을 읽게 하고, 말 하는 도중에 ...을 자주 섞도록 지시하고 있다.

말투나 그런 묘사쪽에 가까운 사항은 디스크립션에 토큰 때려박는 것 보다 이렇게 글노덮에 지시사항 넣는 편이 효율도, 반영률도 좋다.


마지막으로, 이 부분에서 언급된 구조에 대해선 링크 걸어둔 정보글 정독하고 프롬 직접 뜯어보면서 상황 맞춰서 뜯어 고치는 편이 베스트긴 하다.

내가 도저히 설명을 정갈하게 하기엔 역량이 부족하다 보니 어느 정도 개개인에게 맡길 수 밖에 없음...


그런데, 말투 교정에는 글노덮 이상으로 정밀하게 조정 가능한 요소가 하나 있다. 바로 예시대화다.

당연히 같이 쓰는 편이 효과가 더욱 좋다.


예시대화는 이러한 양식으로 작성하면 된다.

<START>

{{user}}: 

{{char}}: 

<START> <- 각 예시대화 시작 부분에 필수

{{user}}: <user> 역할로 들어가는 인풋. 꼭 대사일 필요는 없다.

{{char}}: <char> 역할로 들어가는 인풋. 마찬가지로 대사일 필요는 없다.


이때 예시 대화 본문에서 봇과 유저를 지칭할 때는 혼동을 피하기 위해 <user>이나 <char>로 지칭하는 편이 좋다.



3. 정리


지금까지 다룬 것 중에서 중요한 것 딱 세가지만 다시 짚어보고 가겠음.


1. ethereal beauty, black hair like night sky와 같은 식으로 뭔가 추상적인 수식어를 절대 붙이지 마라. 불가피하게 붙이더라도 최소화해라.

2. 생성 봇으로 깎은 걸 조금만 만져줘도 퀄리티가 꽤 오른다. 특히 배경사.

3. 말버릇이나 그런 묘사 쪽에 더 가까운 특성은 글노덮에 넣어주자.


저것만 잘 지켜도 일단 무지성으로 뽑아낸 봇 보다는 퀄리티가 좋음. 사실 시트만 잘 지켜도 반 이상은 가지만.




4. 다음 시간엔?


이번 시간엔 뭘 배운 게 없는 느낌이 들 수 있음.... 그야 실제로 그러니까!

봇 제작에 대한 거부감과 두려움을 줄이고 일단 가필부터 손 대 보면서 역량 좀 키우는게 목적이었으니.


다음 시간엔 시트 하나만 가지고 이름부터 기타 정보까지 거의 다 직접 작성하는 걸 해 볼 예정이니 이거 하면서 연습 좀 해 두자...

아, 이 중에 해당되는 게 없다면 굳이 볼 필요는 없긴 함...

- 봇 시트의 양식이 뭔가 부족하다! 자꾸 시트를 뜯어 고쳐야 한다!

- 뭔가 ai의 디스크립션이 아쉽다! 차라리 그냥 내가 쓰고 만다!

- 그래도 내 와이푸는 ai한테 맡기기보단 내 손으로 직접 깎고 싶다!

- 암튼 생성기로 만든 봇으로는 뭔가 부족하다!


저 중에 해당되는 게 있다면 다음에 봐...



그거랑 별개로 이거 내가 감당 못할 수준의 일을 벌린 기분이야... 살려줘...



서문에서도 말했지만 훈수나 지적질 대환영임. 대놓고 개억까만 아니면 됨...