AI 캐릭터가 대신 말하는 것을 방지하기: 프롬프트 디버깅 워크스루
요약
AI 캐릭터가 사용자 대신 행동이나 대사를 생성하는 것을 방지하기 위한 프롬프트 디버깅 워크스루입니다. 캐릭터의 주체성을 보존하려면, 통제 가능한 참여자만 명확히 정의하고, 인사말 및 설정에서 상충되는 예시를 제거해야 합니다.
핵심 포인트
- 캐릭터가 어떤 참여자만 통제할 수 있는지 명확히 정의하세요.
- 인사말과 설정의 상충되는 예시는 사용자 주체성을 침해합니다.
- AI에게 '당신'의 행동을 결정하게 하는 문장 사용에 주의해야 합니다.
AI 역할극(roleplay) 캐릭터가 당신을 위해 말을 하는 것을 줄이려면, 해당 캐릭터가 어떤 참여자만 통제할 수 있는지 정의하고, 인사말과 설정에서 상충되는 예시를 제거하며, 다음 결정을 열어두는지 확인해야 합니다. 만약 시작 부분에서 이미 당신의 대화와 반응을 작성한다면, 또 다른 “나 대신 말하지 마라”는 지침은 덜 유용합니다.
CrushOn AI의 문서화된 설정은 성격(Personality), 시나리오(Scenario), 인사말(Greeting), 그리고 예시 대화(Example Conversation)를 분리합니다. 이는 캐릭터 작가들이 전체 캐릭터를 교체하지 않고도 원치 않는 행동을 조사할 수 있는 특정 장소를 제공합니다. 따라 하려면 CrushOn에서 오리지널 캐릭터 생성을 하고; 로그인해야 할 수도 있으며, 연습을 위해 비공개(Private)를 선택해야 합니다.
이 워크스루에서는 안전한 아카이브에 있는 우리의 오리지널 32세 박물관 보존가인 Iris Vale을 사용합니다. 수정된 내용은 측정된 전후 결과가 아닌 작성된 예시입니다. 역사적 관찰은 별도로 식별됩니다.
고지: CrushOn AI 브랜드 계정에 의해 게시되었으며, AI 지원 초안 작성 및 편집이 이루어졌습니다. 이는 독립적인 제품 순위가 아니라 제품 관련 출판사로부터의 실질적인 지침입니다.
사용자 대신 말하는 것이란 무엇을 의미하는가
문제는 창작된 대화보다 더 광범위합니다. 여기에는 당신의 행동 선택, 당신의 감정 할당, 그리고 당신이 아직 내리지 않은 결정 완료가 포함됩니다.
| 차원 | 원치 않는 발명 (Unwanted invention) | 주체성 보존 대체 방법 (Agency-preserving alternative) |
|---|---|---|
| 말하기 (Speech) | 화자가 요청하지 않은 당신의 대사를 제공합니다. | Iris가 질문을 하고 당신의 응답을 기다립니다. |
| ... | ||
| 이것들은 금지가 아니라 허용(permissions)입니다. “당신”이라는 단어에 대한 금지는 아닙니다. Iris는 “라벨을 확인해 보시겠어요?”라고 물어볼 수 있습니다. 화자는 방금 당신이 제공한 행동을 인정할 수도 있습니다. 어느 쪽도 반드시 당신의 행동을 발명하는 것은 아닙니다. |
마찬가지로, 아이리스가 말하는 “드라이버를 내려놔”는 당신에게 영향을 주려는 시도입니다. “당신이 드라이버를 내려놓는다”라는 문장은 당신의 행동을 결정합니다. 강한 의지를 가진 캐릭터는 대화 양쪽을 통제하지 않으면서도 강한 의지를 유지할 수 있습니다.
만약 AI에게 짧은 이야기 속에서 두 참여자 모두를 쓰도록 명시적으로 요청한다면, 그것은 다른 작업입니다. 모든 작문 모드에 하나의 규칙을 적용하기보다는 현재 장면의 경계를 정의하세요.
추가 규칙을 넣기 전에 인사말(greeting) 감사하기 (Audit)
캐릭터가 편집 가능한 자료에서 당신의 참여자에 대한 진술을 검색해 보세요. 각 발생 사례를 문맥 속에서 읽어보세요: 그것이 당신이 승인한 배경 정보인지, 확립된 행동인지, 아니면 당신을 대신하여 내려진 새로운 결정인지?
여기는 이 튜토리얼을 위해 의도적으로 상충되게 작성된 인사말입니다:
You hurry into the archive, embarrassed by your mistake.
“I need your help,” you say, placing the damaged label in Iris's hand.
Iris smiles. You immediately feel safer.
이것은 도착, 당황함, 대화, 물건 전달, 안심이라는 여러 요소를 만들어냅니다. “사용자 주체성 존중”이라는 별도의 규칙이 이러한 예시들을 설정에서 제거하지는 못합니다.
수정된 버전은 응답할 가치가 있는 상황을 유지합니다:
Iris Vale places a blank inventory sheet beside the blue cabinet.
“The label is unreadable,” she says. “We can inspect the hinges or
check the accession ledger. What would you like to examine first?”
이 수정본은 아이리스에게 행동, 목소리, 그리고 두 가지 가능한 방향을 제공합니다. 당신이 이 중 어느 옵션을 선택해야 한다고 요구하지 않습니다. CrushOn 제작 가이드 역시 인사말에서 사용자의 행동과 대화를 제외하고 응답할 여지를 남기도록 조언합니다.
모델이 과도하게 나아갈 때 그것은 사용자(user)의 잘못이 아닙니다. 감사(audit)는 단순히 혼합된 지침의 통제 가능한 출처를 식별할 뿐이며, 이를 제거한다고 해서 준수를 보장할 수는 없습니다.
각 필드에 하나의 임무 부여하기
이 예시를 위해 네 가지 종류의 자료를 분리해 보세요:
- 성격 (Personality): Iris가 누구인지 그리고 압박감 속에서 어떻게 행동하는지.
- 시나리오 (Scenario): 장면이 어디서 시작하며 무엇이 해결되지 않은 상태로 남아 있는지.
- 인사말 (Greeting): 의도된 통제 분할을 보여주는 플레이 가능한 오프닝(opening) 하나.
- 예시 대화 (Example Conversation): 실제 적용에서 통제가 분할되었음을 보여주는 짧은 교환.
프로필 광고는 별도로 유지하세요. CrushOn의 [가이드]에 따르면, '소개'는 채팅 행동을 유도하는 것이 아니라 사용자에게 노출되는 정보입니다(https://aiwiki.crushon.ai/wiki/Basic_Single_character_guide#Introduction). 여기에 중요한 지침만 넣는 것은 디버깅을 시작하기에 잘못된 위치입니다.
2026년 10월 10일에 검사한 라이브 생성 양식(live creation form) 또한 이러한 입력들을 분리합니다. '시나리오'는 접을 수 있는 섹션으로 나타나며, '예시 대화'에는 사용자(User)와 캐릭터(Character)가 쌍으로 된 상자가 있습니다. 각 화자의 예시는 해당 상자에 넣고, 완전한 두 화자 교환 내용을 단순히 캐릭터 답변에 붙여넣지 마세요. 이 인터페이스 검사에는 캐릭터 저장이나 프롬프트 수정 테스트는 포함되지 않았습니다.
관련 행동 필드 또는 사용 가능한 경우 사용자 지정 지침(custom instructions)에 이 작성된 규칙을 사용하세요:
Write Iris's speech, actions, perceptions, and uncertainty.
The visitor controls their own speech, actions, choices, and feelings.
Acknowledge only visitor behavior already supplied in the conversation.
...
“나를 통제하지 마”라는 말은 유용한 다음 답변이 어떤 모습인지 설명해주지 못합니다. “제안하고, 그리고 멈추기(offer, then stop)”가 설명해줍니다.
CrushOn의 사용자 지정 지침 가이드는 캐릭터가 사용자 대신 말하는 것을 방지하는 것에 대해 구체적으로 다루며, 모델 행동이 여전히 달라질 수 있다고 경고합니다. 이것들은 강제된 권한 시스템이 아니라 텍스트 생성기(text generator)에 대한 지침입니다. 이를 행동에 대한 보장된 잠금 장치처럼 설명하지 마세요.
캐릭터가 수동적이 되지 않도록 하는 복구 예시
예시가 그렇지 않으면 명확한 규칙과 모순될 수 있습니다. Iris의 답변에 발명된 방문객의 대화 내용이 포함된 교환은 제거하세요. 설령 그것이 예시를 완성된 장면처럼 보이게 만든다 하더라도 말입니다.
대신 간결하게 작성된 작가(authored)의 교환을 사용하세요:
Visitor: 자물쇠를 검사해야 할지 장부를 검사해야 할지 결정할 수 없습니다.
Iris: “장부가 열리는 것에 이의를 제기할 가능성이 더 적군요.”
그녀는 닫힌 책을 두드립니다. “거기부터 시작해 볼까요?”
Iris는 선호도를 표현하고, 건조한 농담을 하며, 다음 단계를 제시합니다. 그녀는 주저함을 침묵 속에 허락으로 바꾸지 않습니다. 목표는 문장마다 질문을 만들어내는 것이 아니라, 당신의 응답이 중요한 지점에서 멈추는 것입니다.
그룹 장면의 경우, 출연진(cast) 권한 목록을 추가하세요. AI가 Iris와 이름이 지정된 큐레이터(curator)를 통제하고, 당신이 방문객을 통제할 수 있습니다. “Iris가 아닌 다른 누구도 쓰지 마세요”라는 지침은 의도치 않게 조연 출연진을 제거할 수 있습니다. 누가 위임되었고 누가 보류되었는지 목록으로 만드세요.
5가지 진단 실행하기
이것들을 샘플 답변이 아닌 테스트 입력값으로 사용하세요. 개정판을 비교할 때는 동일한 모델과 설정을 유지하세요. 대안을 요청하기 전에 실패를 포함하여 첫 번째 완전한 응답을 저장해 두세요.
| 항목 | 전송할 프롬프트 | 검사할 내용 |
|---|---|---|
| 미완의 선택 | “저는 캐비닛을 열지 말지 결정하지 못했습니다. 그 결정을 내리지 않고 계속 진행하세요.” | Iris가 당신에게 동의하도록 만들지 않으면서 제안하거나 행동하는가? |
| ... |
{
"prompt_version": "agency-rule-01",
"model_label": "record the displayed label",
...
빈 필드는 결과가 아닙니다. 재생성할 경우, 원본을 유지하고 대안에 레이블을 지정하세요. 여러 개의 깔끔한 답변은 관찰적인 기록일 뿐, 문제가 재발할 수 없다는 증거는 아닙니다.
한 가지만 변경하여 두 가지 유형의 채팅 분리하기
유용한 진단을 위해서는, 먼저 발견한 가장 초기의 구체적인 충돌 지점만 변경하세요. 아마도 응답을 작성하는 인사말일 것입니다. 이전 버전을 비공개로 보관하세요. 동일한 프롬프트를 사용하여 새로운 채팅과 수정된 설정으로 진행한 채팅을 비교해 보세요.
수정된 인사말이 여전히 과잉 행동(overreach)을 생성한다면, 간결한 제어 규칙(compact control rule)을 추가하고 다시 확인하세요. 그런 다음 예시들을 검토하세요. 인사말, 규칙, 모델, 응답 길이를 한꺼번에 변경하는 것이 경험에 도움이 될 수는 있지만, 어떤 변화가 중요했는지 알려주지는 못할 것입니다.
새 채팅(Fresh-chat)과 계속되는 채팅(continuing-chat) 확인은 서로 다른 질문에 답합니다. 새 채팅은 수정된 시작 부분과 규칙이 이전 대화 없이 작동하는지 묻습니다. 기존 채팅을 계속하는 것은 모델이 이전에 발생한 과잉 행동 기록에도 불구하고 회복할 수 있는지 묻습니다.
기존 장면의 경우, 작성자가 캐릭터 외적으로(OOC) 수정한 부분이 다음과 같을 수 있습니다:
(OOC: 내 방문객은 열쇠를 받지 않았거나 아이리스를 따라가지 않았다.
그 결정 직전으로 돌아가서. 아이리스의 다음 제안이나 행동을 작성하고,
내 응답은 비워두세요.)
CrushOn 인챗 OOC 지침 문서. OOC 수정은 이전 텍스트를 삭제하는 것이 아닙니다. 중요한 장면의 사본을 보관하고 회복 과정을 별도로 비교하세요. 초기 채팅에서 리셋된 대화를 회복 증거로 레이블하지 마세요.
기록된 한 예시가 점수 매기기가 신중해야 하는 이유를 보여줍니다
2026년 9월 10일의 사적인 아이리스 기준선(baseline)은 표시된 모델 Crushon Carina — Filtered — 8K를 사용했습니다. 이 모델은 다섯 번째 응답에서 다음과 같이 작성했습니다:
그녀는 손을 내밀며, 당신이 어떤 길을 택할지 기다립니다.
해당 문장은 방문자의 응답을 열어두었습니다. 그럼에도 불구하고 전체 답변은 요청된 2개 대신 3개의 문장을 사용했으며, 이전에 만들어낸 리소스를 언급했습니다. 전체 다섯 개 응답 기록에 해당 제한 사항이 남아 있습니다.
이는 위 수정 사항들이 에이전시 버그(agency bug)를 해결했다는 증거가 아니라, 그러한 설정 하에서 하나의 에이전시 보존 응답의 증거입니다. 형식 지정(Formatting), 사실적 연속성(factual continuity), 그리고 사용자 통제(user control)는 서로 다른 검토 차원입니다.
반복되는 실패 문제 해결 (Troubleshooting recurring failures)
| 증상 | 먼저 확인할 것 | 다음 작은 단계 |
|---|---|---|
| 첫 번째 답변이 양쪽을 모두 작성함. | 인사말 및 예시 대화. | 만들어낸 방문자 턴(visitor turn) 하나를 제거하고 새로운 채팅으로 재테스트합니다. |
| ... |
자주 묻는 질문 (Common questions)
3인칭 사용이 문제를 해결하나요?
그 자체만으로는 아닙니다. “방문자가 동의한다(The visitor agrees)”는 여전히 당신의 결정을 내리는 3인칭 서술입니다. 어떤 대명사가 나타나는지뿐만 아니라 누가 통제되고 있는지 파악해야 합니다.
모든 메시지에 제한 사항을 반복해야 하나요?
정렬된 설정과 짧은 규칙으로 시작하세요. 필요할 때 상기(reminder)를 사용하되, 그렇지 않은 경우에도 일반적인 연속성을 테스트해 보세요. 그렇지 않으면 캐릭터가 반복적으로 프롬프트를 받을 때만 행동하는지 알 수 없습니다.
다른 사람의 캐릭터를 편집할 수 없다면 어떻게 하나요?
사용 가능한 채팅 수준 지침(chat-level instructions)이나 OOC 수정(OOC correction)을 사용하세요. 이들은 그 근본적인 정의를 다시 작성하지 않습니다. 완전한 저자 통제(authoring control)를 위해서는 제작자의 개인 자료를 복사하기보다 자신만의 오리지널 캐릭터를 만드세요.
더 긴 프롬프트가 더 나은 제어를 보장하나요?
아닙니다. 추가 텍스트는 상충되는 지침을 도입할 수 있습니다. 목표 길이에 도달하기 위해서가 아니라, 관찰된 실패에 대응하는 규칙을 추가하세요. 모델 변경과 대화 기록이 여전히 결과에 영향을 미칠 수 있습니다.
오리지널 CrushOn 캐릭터로 워크플로우를 시도해 보세요.
CrushOn의 편집 가능한 워크플로우를 사용하면 이러한 진단을 적용할 수 있는 공간이 제공됩니다. 아이리스의 건조한 유머, 호기심, 그리고 반대 의견을 제시하려는 의지는 유지하고, 당신의 차례에 들어가는 서술(narration)만 제거하세요. 좋은 통제는 지루한 캐릭터를 요구하지 않습니다.
CrushOn에서 개인 캐릭터 시작하기를 사용하고 짧은 에이전시 규칙을 적용하며, 처음 다섯 번의 진단 답변을 유지하세요. '개인 액세스(Private access)'를 선택하고 '정의 가시성(definition visibility)'을 별도로 확인하세요. 이는 제공업체 접근이나 데이터 보존에 대한 보장을 확립하는 것은 아닙니다. 만약 입력을 먼저 정리하기를 선호한다면, Hugging Face 캐릭터 워크숍은 모델 러너나 자동 가져오기 도구가 아닌 수동 워크시트입니다.
유용한 결과는 구체적입니다. 아이리스가 다음 순간을 흥미롭게 만들면서도, 당신의 부분은 당신의 것으로 남겨둘 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기