AI 역할극을 오래 해보셨다면 이런 상황을 한 번쯤 겪어보셨을 겁니다. 잘 대화하다가 캐릭터가 갑자기 ‘성격이 급변’하는 경우 말이죠. 방금 전까지는 냉혹한 용병 대장이었는데, 다음 순간 갑자기 사과하며 ‘AI 언어 모델로서 저는 실체가 없습니다’라고 설명하거나, 심지어 ‘이러한 내용은 부적절할 수 있습니다’라며 훈계를 하기도 합니다. 이것이 바로 역할극 커뮤니티에서 공인된 공공의 적 1호, OOC(Out Of Character, 캐릭터 붕괴/설정 이탈)입니다. 이전에 다루었던 메시지 서식 규칙과는 달리, OOC는 ‘어떻게 쓰느냐’의 문제가 아니라 캐릭터가 ‘여전히 원래의 그 캐릭터인가’의 문제입니다. 이번 글에서는 OOC가 발생하는 원인과 구별법, 그리고 실제로 효과가 입증된 3가지 해결법을 자세히 알아보겠습니다.
OOC란 무엇이며, 왜 계속 발생할까?
OOC는 글자 그대로 ‘캐릭터에서 벗어남’을 뜻하지만, 그 이면의 원인은 사실 매우 기술적입니다. 현재 주류를 이루는 Character.AI, JanitorAI, 혹은 SillyTavern을 통해 연결된 모델 등 대부분의 AI 역할극은 기본적으로 ‘도움이 되는 비서’로 학습된 대형 언어 모델(LLM)을 기반으로 합니다. ‘친절하게 돕고, 사과하며, 자신의 한계를 설명하는 것’이 이러한 모델의 기본 반응 모드이며, 캐릭터 카드 설정은 이 기본값을 일시적으로 덮어씌울 뿐입니다. 캐릭터 설명에 ‘어려운 질문이나 상황에 직면했을 때 어떻게 반응해야 하는지’가 명확히 정의되어 있지 않으면, 모델은 특정 상황에서 원래 모습으로 돌아가 ‘캐릭터’가 아닌 ‘비서’의 방식으로 답변하기 쉽습니다. 즉, 캐릭터의 일관성을 유지하는 것은 단 한 줄의 명령어로 해결되는 것이 아니라, 설정이 얼마나 체계적으로 구성되어 있는지의 문제입니다.

OOC를 유발하기 가장 쉬운 4가지 상황
여러 플랫폼 커뮤니티의 피드백을 정리한 결과, OOC는 주로 다음 네 가지 상황에서 가장 자주 발생합니다:
1. 대화가 길어지면서 AI가 이전 설정을 ‘망각’함
긴 대화가 중후반부로 진행될수록 초기에 설정된 세부 사항들이 컨텍스트 창 밖으로 밀려나기 쉽습니다. 이로 인해 캐릭터의 말투, 입버릇, 심지어 기본 성격까지 서서히 변할 수 있습니다.
2. 사용자가 ‘도전적인’ 질문을 던짐
‘너 진짜 AI야?’, ‘너는 어떤 모델을 기반으로 해?’와 같은 직설적인 질문은 모델의 ‘솔직한 답변’ 학습 성향이 캐릭터 설정을 덮어쓰게 만들어, AI가 직접 정체를 밝히며 튀어나오게 만들기 쉽습니다.
3. 시스템 프롬프트 간의 충돌
캐릭터 카드에 설정된 말투나 행동 수칙이 플랫폼 자체의 안전 규칙과 충돌할 경우, 모델은 때로 ‘안전 우선’을 선택합니다. 이로 인해 캐릭터의 태도가 갑자기 차가워지거나 딱딱하게 변할 수 있습니다.
4. 기억 장치 또는 컨텍스트 창 과부하
세계관 설정, 대화 기록, 캐릭터 설명이 모두 하나의 컨텍스트 창에 채워지기 때문에, 모델이 처리할 수 있는 길이를 초과하면 가장 먼저 희생되는 것은 대개 ‘스토리 진행과 직접 관련이 없는’ 세부 설정들입니다. 즉, 캐릭터의 일관성을 유지하는 데 가장 중요한 묘사들이 사라지게 됩니다.

3가지 해결법: 캐릭터를 다시 설정대로 돌려놓기

방법 1: ‘누구인가’뿐만 아니라 캐릭터 카드의 ‘행동 수칙’ 강화하기
대부분의 사람들은 캐릭터 카드를 작성할 때 외모, 성격, 배경 스토리만 적고 ‘이 캐릭터가 곤란한 상황에 처했을 때 어떻게 반응하는지’는 적지 않습니다. SillyTavern 공식 문서에서도 강조하듯이, 캐릭터 설명 필드는 길이나 형식에 제한이 없으며 중요한 것은 ‘모든 핵심 사실’을 포함하는 것입니다. 여기에는 캐릭터가 뜬금없는 질문을 받았을 때 대처하는 방식도 포함됩니다. 실제로 캐릭터 카드에 ‘현실 세계나 AI 관련 질문을 받더라도 캐릭터의 관점에서 이해하고 답변하며, 자신이 언어 모델임을 설명하며 이탈하지 않는다’와 같은 규칙을 추가하는 것이 좋습니다. 이는 사후 처방이 아니라 ‘OOC 방지’를 캐릭터 성격의 일부로 빌드하는 것입니다. 이 단계는 이전에 작성한 캐릭터 카드 상세 설정 가이드를 참고하여 행동 수칙을 캐릭터 설정 및 첫 마디와 함께 설계해 보세요.

방법 2: OOC 명령어를 올바르게 사용하고, 스토리의 일부로 만들지 않기
거의 모든 플랫폼에는 어떤 형태로든 ‘캐릭터에서 벗어나 대화하는’ 기능이 있지만, 많은 사람들이 이를 잘못 사용하여 캐릭터를 더 혼란스럽게 만듭니다. 커뮤니티 가이드(예: ISEKAI ZERO의 OOC 명령어 가이드)에서 정리한 공통 원칙은 다음과 같습니다. OOC 메시지는 묘사나 대화 중간에 섞지 말고 독립된 메시지로 작성해야 합니다. 내용은 짧고 기술적이며 감정이 배제되어야 합니다. 너무 길거나 감정적인 OOC는 오히려 모델의 혼란을 가중시킵니다. 마지막에는 ‘(OOC over, continue the scene)’과 같은 문구를 추가하여 모델에게 ‘지시가 끝났으니 스토리로 복귀하라’고 명확히 알려주는 것이 좋습니다. 아래는 실제 비교 예시입니다:

차이가 명확합니다. 수정된 버전은 ‘AI 신분 확인’을 ‘역할극 자체’와 분리하여 처리하므로, 캐릭터가 뜬금없는 질문에 답변하더라도 설정이 붕괴되지 않습니다.
방법 3: 세계관 서(Lorebook) + 기억 시스템 병행, 일관성을 ‘구조적 문제’로 접근하기
캐릭터 카드 초반의 몇 백 자에만 의존하면 대화가 길어질 때 세부 사항이 유실될 수밖에 없습니다. 가장 안정적인 방법은 캐릭터 일관성을 세 가지 레이어로 나누어 처리하는 것입니다. 캐릭터 카드는 핵심 인물 설정을 담당하고, 세계관 서(Lorebook)는 배경 지식과 세계관 규칙을 담당하며, 기억 시스템은 대화 중 발생한 사건들을 추적합니다. 이 세 레이어가 서로 협력하면 한 레이어에 문제가 생기더라도 나머지 두 레이어가 기본적인 캐릭터 이미지를 지탱해 줍니다. 이러한 접근 방식은 Jenova AI가 정리한 실무 제안과도 일치합니다. 캐릭터 일관성 유지는 단 하나의 명령어를 잘 입력한다고 해결되는 것이 아니라, 구조화된 캐릭터 설정, 지속적인 세계관 참조, 그리고 기억 시스템의 삼박자가 맞물려 작용한 결과입니다.

플랫폼별 OOC 명령어 문법 요약
플랫폼마다 OOC 명령어를 지원하는 방식이 조금씩 다르므로 사용 전에 확인하는 것이 좋습니다:
- Character.AI: 공식적인 OOC 문법은 없으며, 커뮤니티에서는 관례적으로 괄호를 사용하여 설명합니다. 다만 Character.AI의 안전 필터가 엄격하여 OOC 메시지가 일반 대화로 처리되는 경우가 있어 효과가 불안정할 수 있습니다. 자세한 내용은 공식 고객센터의 캐릭터 상호작용 관련 문서를 참고하세요.
- JanitorAI: 커뮤니티에서는 주로 대괄호를 사용하여 OOC 내용을 표시합니다. JanitorAI는 프록시나 Janitor+ Router를 통해 외부 모델 연결을 허용하므로 실제 효과는 백엔드 모델에 따라 다를 수 있습니다. 문제가 발생하면 JanitorAI 고객센터를 확인해 보세요.
- SillyTavern: 로컬/자체 구축 프론트엔드이기 때문에 유연성이 가장 높습니다. 대괄호 표시법 외에도 Author’s Note나 시스템 프롬프트 레벨의 명령어를 조합할 수 있어 일반적으로 앞의 두 플랫폼보다 안정적입니다.


플랫폼 선택 시 OOC 안정성도 고려해야 할 요소입니다
OOC 문제는 플랫폼의 기본 모델 및 시스템 프롬프트 설계와도 어느 정도 관련이 있습니다. AI織夢(AI지몽)과 같이 번체 중국어 역할극을 전문으로 하는 플랫폼의 경우, 시스템 프롬프트가 처음부터 중국어 논리로 설계되어 있어 ‘영어 모델에 중국어 캐릭터를 억지로 맞춘’ 조합에 비해 언어 번역으로 인한 프롬프트 모호성 때문에 OOC가 발생할 확률이 적습니다. 또한 인터페이스가 완전히 번체 중국어로 되어 있어 플레이어가 캐릭터 카드나 행동 수칙을 작성할 때 머릿속으로 번역할 필요가 없어 설정을 더 정밀하게 작성할 수 있습니다. 캐릭터 일관성 성능을 직접 테스트해보고 싶다면, AI織夢의 일일 출석 체크로 +500 포인트를 받고 첫 충전 시 ‘WELCOME15’를 입력하여 15% 할인을 받아 캐릭터 카드로 직접 테스트해 보세요.


맺음말
OOC는 ‘AI가 또 고장 났다’는 뜻이 아니라, 모델의 기본 동작과 캐릭터 설정 간의 주도권 싸움입니다. 행동 수칙을 캐릭터 카드에 작성하고, OOC 명령어를 올바르게 사용하며, 세계관 서와 기억 시스템을 함께 활용하는 이 3가지 방법을 조합하면 캐릭터 설정이 붕괴되는 빈도를 크게 줄일 수 있습니다. 캐릭터 카드를 더 완벽하게 작성하는 방법이 고민이시라면, 이전에 소개한 Show, Don’t Tell 오감 묘사 + 입버릇 설계 글을 함께 읽어보세요. 두 글을 함께 활용하면 캐릭터가 더욱 입체적이고 설정에서 벗어나지 않게 될 것입니다.






