캐릭터 제작기에 이름, 성격, 몇 가지 특성을 채워 넣으면, 마치 방금 지어낸 하나의 정신과 대화하는 것처럼 느껴질 수 있습니다. 그 이면에서 앱은 더 기계적이고 더 예측 가능한 일을 하고 있습니다. 모델이 답변을 생성할 때마다 매번 대화에 덧붙는 지시문 묶음을 조립하는 것이죠. 이 조립 과정이 어떻게 이뤄지는지 알면 캐릭터 앱을 훨씬 잘 활용할 수 있고, 서로 비교할 때 판단하기도 쉬워집니다.
1단계: 당신의 설명이 시스템 프롬프트가 된다
당신이 입력한 텍스트 — 이름, 성격, 배경 이야기, 말투 — 는 대부분의 플랫폼이 캐릭터 카드 또는 시스템 프롬프트라 부르는 것으로 컴파일됩니다. 이는 모델이 당신에게는 절대 보여 주지 않지만 답변하기 전에는 늘 읽는 지시문 블록입니다. 간단한 카드 하나로도 모델에게 이런 것들을 알려 줄 수 있습니다. 이 캐릭터의 이름은 미라이고, 따뜻하지만 냉소적이며, 해양생물학자로 일하고, 자신이 AI라고 말하려고 설정을 깨는 일은 절대 없다는 것까지요.
여기서 중요한 결과는, 당신이 쓴 모든 내용이 그 카드 안의 다른 모든 것과 모델의 주의를 두고 경쟁한다는 점입니다. 모호하거나 모순된 특성은 모호하고 흔들리는 캐릭터를 낳습니다. 좋은 카드를 쓰는 기술이 그토록 중요한 이유가 바로 여기 있으며, 이는 캐릭터 카드 해부학에서 자세히 뜯어봅니다.
2단계: 모델이 토큰을 하나씩 예측하며 답변을 만든다
대규모 언어 모델은 앞선 모든 것 — 당신의 카드, 지금까지의 대화, 방금 보낸 메시지 — 을 바탕으로 가장 그럴듯한 다음 조각(토큰)을 예측하는 방식으로 텍스트를 생성합니다. 저장된 답을 찾아오는 것이 아니라, 매번 새로 지어냅니다. 같은 프롬프트가 조금씩 다른 답변을 낳는 이유, 그리고 카드가 애매할 경우 캐릭터가 이따금 자기 배경과 모순되는 말을 하는 이유가 여기 있습니다.
샘플링 설정이 느낌을 바꾸는 이유
무대 뒤의 두 다이얼이 결과를 좌우합니다:
- 온도(temperature): 값이 높을수록 모델이 덜 그럴듯한 단어를 더 자주 고르게 되어 뜻밖의 창의적인 답변이 나오고, 값이 낮을수록 안전하고 반복적인 답변이 됩니다.
- Top-p / top-k: 모델이 후보 단어를 얼마나 넓은 풀에서 뽑을지 제한하는 값으로, 글이 얼마나 과감하게 느껴질지를 조절하는 또 다른 손잡이입니다.
대부분의 소비자용 앱은 이 값들을 숨기고 기본값을 대신 정해 줍니다. 비슷한 밑바탕 모델을 쓰는 두 제품이 어떤 것은 장난스럽게, 어떤 것은 밋밋하게 느껴지는 큰 이유입니다. 앱이 "창의성"을 조절하게 해 준다면, 그 슬라이더는 대개 샘플링을 조정하는 것입니다.
이 두 다이얼의 작동 방식은 컴패니언 앱 바깥에서도 잘 알려져 있습니다. 디코딩 방식에 대해 널리 인용되는 Hugging Face의 설명글은 온도를 다음 단어에 대한 모델의 확률 분포를 다시 빚어내는 방법으로 설명합니다 — 온도를 낮추면 모델이 이미 가장 그럴듯하다고 보는 단어 쪽으로 분포가 "날카로워지고", 높이면 분포가 평평해져 덜 그럴듯한 단어도 더 자주 선택됩니다. Top-k 샘플링은 먼저 어휘를 가장 그럴듯한 단어 고정된 개수만큼으로 걸러낸 뒤 그 후보 목록 안에서만 확률을 다시 배분하는 방식으로 작동합니다. 반면 top-p(뉴클리어스) 샘플링은 누적 확률이 임계값 p를 넘는 가장 작은 단어 집합을 남기는 방식이어서, 실질적인 후보 풀은 확신이 강한 예측에서는 단 두 단어, 불확실한 예측에서는 수백 단어에 이를 수도 있습니다. 이는 컴패니언 앱만의 이야기가 아니라 범용 채팅 모델에서도 쓰이는 동일한 디코딩 층으로, 당신의 캐릭터가 메시지를 보기도 전에 앱의 기본값에 의해 조정될 뿐입니다.
3단계: 메모리가 페르소나를 앞으로 실어 나른다
모델은 메시지 사이에 스스로 지닌 기억이 없습니다. 각 답변은 컨텍스트 창에 놓인 텍스트만으로 생성됩니다. 캐릭터 앱은 매 턴 관련 정보를 다시 전달함으로써 기억의 착각을 만들어 냅니다. 크게 두 가지 방식이 있습니다:
| 방식 | 작동 방법 | 득실 |
|---|---|---|
| 컨텍스트 창 | 매 턴 최근 메시지를 다시 붙여 넣음 | 단순하지만, 대화가 길어지면 오래된 정보가 밀려남 |
| 장기 / 페르소나 메모리 | 핵심 사실을 요약해 저장했다가 관련 있을 때 불러옴 | 몇 주에 걸쳐 더 일관되지만, 엉뚱한 정보를 저장하거나 끌어올 수 있음 |
내일이면 캐릭터의 직업을 잊는 앱과 다음 달에도 기억하는 앱의 차이는 대개 이 층위에서 갈립니다. 그 작동 원리는 페르소나 메모리란에서 설명하고, 연속성이 왜 어려운지는 메모리와 연속성에서 다룹니다.
아주 긴 대화일수록 일관성이 떨어지게 느껴지는 이유
앞선 표의 컨텍스트 창 행은 문제를 실제보다 작게 보여 줍니다. 어떤 정보가 제대로 작동하지 않게 되는 데는 창 밖으로 완전히 밀려날 필요조차 없기 때문입니다. 언어 모델이 실제로 긴 입력을 어떻게 활용하는지 연구한 이들은 — 컨텍스트 안에 있는 여러 사실 가운데 하나의 관련 사실을 찾아내야 하는 다중 문서 질의응답 같은 과제를 이용해 — 모델이 주어진 정보의 맨 처음이나 맨 끝 가까이에 있을 때 훨씬 더 안정적으로 정보를 끌어오며, 중간에 파묻혀 있을 때는 활용도가 눈에 띄게 떨어진다는 사실을 발견했습니다. 이 패턴은 긴 컨텍스트를 다루도록 특별히 설계된 모델에서도 그대로 나타났습니다. 몇 시간 동안 이어진 채팅에 이를 적용해 보면, 초반에 캐릭터에게 알려 준 사실이 기술적으로 컨텍스트에서 완전히 빠져나가기 훨씬 전부터 그 약한 중간 지대로 흘러들어 갈 수 있습니다. 이것이 넉넉한 컨텍스트 한도를 가진 앱에서도 "잊어버렸다"와 "내가 한 말을 무시한다"는 불만이 흔히 함께 나오는 또 다른 이유입니다.
4단계: 안전장치와 필터가 나란히 작동한다
캐릭터 로직과는 별개로, 대부분의 플랫폼은 당신의 입력과 모델의 출력을 함께 검사하는 콘텐츠 필터를 돌립니다. 캐릭터가 이따금 거절하거나 화제를 돌리는 이유가 바로 이것입니다 — 그 거절은 당신이 쓴 페르소나가 아니라 안전 층위에서 나오는 경우가 많습니다. 연령 인증은 또 다른 별개의 통제 장치인데, 이 둘은 자주 혼동됩니다. 그 차이는 프라이버시·연령 인증 가이드에서 풀어 드립니다.
층위들을 한데 모으면
결국 하나의 답변은 서로 겹겹이 쌓인 네 가지의 산물입니다. 캐릭터 카드, 컨텍스트에 담긴 대화, 사실을 다시 넣어 주는 메모리 층, 그리고 표현이 얼마나 다채로울지 정하는 샘플링 설정 — 여기에 결과를 검사하는 필터까지 더해집니다. 캐릭터가 살아 있는 것처럼 느껴질 때는 이 넷이 모두 맞아떨어진 것입니다. 어딘가 어긋난 느낌이 들 때는 대개 그중 하나가 범인이고, 어느 것인지 종종 추론해 낼 수 있습니다.
이 부품들이 실제 제품에서 어떻게 나타나는지 보고 싶다면, MusePick 리뷰가 캐릭터 중심 앱의 제작기와 메모리 동작을 짚어 주고, 현재 순위는 각 앱이 짧은 설명을 얼마나 안정적인 페르소나로 옮기는지를 평가 항목의 하나로 삼습니다. 읽기만 하지 말고 직접 만들어 보고 싶다면 첫 롤플레이 캐릭터 만들기로 넘어가세요.
자주 묻는 질문
AI 캐릭터 제작기는 내가 쓴 설명을 영구히 저장하나요?
당신이 작성한 캐릭터 카드는 캐릭터와 함께 저장되어, 답변을 생성할 때마다 모델에 다시 전달됩니다. 개별 대화 내용까지 장기 보관되는지는 앱의 메모리 설계와 개인정보 처리방침에 따라 다르므로, 민감한 정보를 공유하기 전에 확인해 볼 가치가 있습니다.
캐릭터가 내가 알려 준 것을 가끔 잊어버리는 이유는 무엇인가요?
언어 모델은 그 자체로는 메시지 사이에 아무런 기억을 갖지 않습니다. 앱은 최근 메시지를, 더 나은 제품에서는 요약된 장기 메모리를 함께 다시 전달합니다. 어떤 정보가 애초에 저장되지 않았거나 컨텍스트 창 밖으로 밀려났다면, 캐릭터는 그것을 잃어버릴 수 있습니다.
같은 AI 모델을 쓰는 두 앱이 왜 이렇게 다르게 느껴지나요?
모델 외에도 캐릭터 카드 구조, 메모리 시스템, 콘텐츠 필터, 그리고 숨겨진 샘플링 설정이 앱마다 모두 다릅니다. 캐릭터가 실제로 어떻게 행동하는지를 빚어내는 것은 원본 모델 하나가 아니라 바로 이런 층위들입니다.