100x-페르소나은(는) 무엇을 하나요?
한 줄 요약
스크립트/카피 텍스트를 입력하면, '누가 말할지'(인물) + '어디서 말할지'(장면, 독립 개체, 인물의 하위 필드가 아님) + 이 둘이 스크립트 원문과 어떻게 바인딩되는지를 출력합니다. 세 가지 모두 원문을 글자 단위로 역참조할 수 있습니다. 100x 체계 L2 창작 생성 레이어에 속하며, '3.1 인물×장면' 단계에 해당합니다.
언제 트리거되는가
사용자가 말할 때:
- "이 스크립트에 인물을 붙여줘" / "이 스크립트는 누가 말하는 게 좋을까" / "이 인물은 어떻게 정하지"
- "이 장면은 어떻게 설정하지" / "이 광고는 어떤 장면에서 찍는 게 좋을까" / "이 스크립트는 어디서 찍으면 좋을까"
- "who should deliver this script" / "what persona fits this product"
- "what setting fits this ad" / "where should this be filmed"
- 또는 스크립트 원문을 직접 주면서 "인물과 장면을 할당해줘" / "assign a character and setting"
입력
최소 입력(카테고리 A, 필수): source_script — 전체 스크립트/카피 텍스트. 이 스킬은 비디오 파일은 받지 않으며, 텍스트만 처리합니다.
상위에서 선택적으로 생성된 산출물(카테고리 C, 없으면 조용히 건너뛰며, 차단하지 않고, 사용자에게 다른 스킬을 먼저 실행하라고 요구하지 않음):
100x-segment가 생성한 segments[] (존재하는 경우 pairings[].segment_ref가 역으로 채워질 수 있으며, 없으면 해당 필드 전체를 생략하고 script_span_quote로 독립적으로 위치를 찾습니다).
출력
schema.json의 구조를 따릅니다: PersonaSceneBundle = source_script (원문을 그대로 반영하여 증거 대조용) + personas (인물 맵, 독립 개체) + scenes (장면 맵, 독립 개체이며, personas와 동등한 수준, 인물의 문자열 필드가 아님) + pairings (인물×장면×스크립트 원문 구절의 바인딩 테이블) + meta. 선택적으로 사람이 읽을 수 있는 Markdown 요약(인물 목록 / 장면 목록 / pairing 대조표)을 추가로 렌더링할 수 있습니다.
핵심 제약 (4가지 공리, 자세한 내용은 axioms.md 참조)
- 장면은 독립 개체이며 ID로 참조되고, 인물의 내장 필드가 아님 —
personas/scenes는 두 개의 동등한 맵이고,pairings[]안의persona_ref/scene_ref는 해당 맵에 실제로 존재해야 함 (참조 무결성) - 인물의 권위/대상 근거는 반드시 원문의 글자 단위 하위 문자열이어야 하며, 임의로 만들어내면 안 됨 —
authority_evidence_quote/audience_pain_quote/script_span_quote모두source_script안에서 글자 단위로 찾을 수 있어야 함. 알려진 한계(숨겨진 결함이 아님): 글자 단위 하위 문자열은 "이 문장이 원문에 있다"는 것만 증명할 뿐, "이 문장이 인물 필드 안에서 의미 방향이 반대로 사용되지 않았다"는 것은 증명하지 못함 — 예를 들어 자기 회의적인 문장("만약 당신이 나를 믿지 않는다면")을 반대로 권위 앵커로 사용해도 여전히 합법적인 하위 문자열임. 현재 메커니즘은 폐쇄 집합 자기 회의적 구문 탐지를 포함하고 있지만(적중 시 사람의 공개를 요구,axioms.md공리 2 참조), 아이러니/인용-반박 프레임워크 유형의 반전은 여전히 탐지할 수 없으며, 이는 문자열 매칭의 한계임, 자세한 내용은axioms.md공리 2의 "메커니즘 한계와 완화 조치" 단락 참조 - 장면은 미시적 좌표까지 구체적이어야 하며, 일반적인 장소를 쓰는 것은 허용되지 않음 — 폐쇄 집합 일반화 단어 목록 거부 + 최소 2개의 구체적인 소품
- 인물과 장면은 고아가 없어야 하며, 생성되면 반드시 적어도 하나의 pairing에서 참조되어야 함 — "행렬이 완전해 보이기 위해" 쌓아 올리지 않음
3단계 프로세스
자세한 내용은 workflow.md 참조: Phase 1 인물 역추론(스크립트에서 Authority/Pain 신호를 스캔하고, 글자 단위로 증거 문장을 추출) → Phase 2 장면 모델링(각 장면 단서를 독립 개체로 생성 + 인물/스크립트 원문 구절과 바인딩 + 고아 없는지 자체 점검) → Phase 3 출력(JSON 조립, 공리 1-4 모두 통과).
독립 호출 보장
카테고리 A(source_script)가 없으면 → 고정된 거절 문구로 질문하며, 임의로 추측하지 않고, 비디오 파일로 대체하지 않음. 카테고리 C(상위 100x-segment 산출물)가 없으면 → 조용히 건너뛰며, 사용자에게 다른 스킬을 먼저 실행하라고 요구하지 않음.
금지어
~하게 해줘 / 바랍니다 / 아마도 / 아마 / ~일 수도 있습니다 / 어쩌면 / ~일지도 모릅니다; AI 고객센터 어투(as an AI / I'd be happy to / feel free to); 스크립트 원문에 없는 자격/인증/증언/효과 데이터를 지어내지 않음; 어떤 고객 카테고리 사전도 하드코딩하지 않음; micro_coordinate는 폐쇄 집합 일반화 단어를 사용하지 않음(axioms.md 공리 3 참조: 어딘가/아무데나/어느 곳/TBD/somewhere/anywhere 등).
라우팅 (권장 사항, 강제 의존 아님)
- 이미 분할된 스크립트가 있고, 전체가 아니라 단락별로 인물/장면을 할당하려는 경우 → 단락 분할 스킬(이미 구축된 경우
segment_ref가 역으로 채워질 수 있음) - 인물/장면 설명을 AI 비디오 생성 프롬프트로 변환하려는 경우 → 프롬프트 조립 스킬(이미 구축된 경우)
- 먼저 검색 키워드로 참고 이미지를 찾은 후 인물/장면을 결정하려는 경우 → 검색 키워드 스킬(이미 구축된 경우)
- 입구로 돌아가서 다시 분류하려는 경우 → 100x 체계 전체 입구(이미 구축된 경우)
위는 모두 "산출물 생성 후 필요에 따라 추천"하는 것이며, 사전 의존성이 아닙니다. 해당 스킬이 아직 구축되지 않았더라도 이 스킬의 독립적인 작동에는 영향을 미치지 않습니다.
출고 자체 점검
node scripts/validate.js --selftest를 실행하여 검증합니다. schema.json에 선언된 구조 수준 제약(required/additionalProperties/enum/pattern/minItems 등)은 scripts/validate.js 내의 ajv(실제 JSON Schema draft-07 검증기, package.json에 선언된 devDependency, 먼저 npm install을 실행한 후 실행)에 의해 실제로 실행되며, 수동으로 필드를 열거하는 것이 아닙니다. 공리 1(참조 무결성), 공리 2(증거 하위 문자열), 공리 4(고아 없음)는 세 가지 유형의 객체 간/필드 간 집계 규칙으로, 기본 JSON Schema 구조로는 표현할 수 없으며, 이 세 가지는 scripts/validate.js 내의 수동 코드로 보완됩니다. 또한 checkAuthorityHedgeRisk(공리 2의 부분적 완화, 폐쇄 집합 자기 회의적 구문이 적중하면 meta.warnings 공개를 요구하고, 그렇지 않으면 FAIL)를 포함합니다 — 이 규칙은 완화일 뿐, 완전한 수정이 아닙니다. 아이러니/인용-반박 프레임워크 유형의 증거 문장 의미 반전은 여전히 탐지할 수 없으며, --selftest의 10번째 항목은 "현재 통과시키는" 실제 회귀 테스트 케이스를 남겨 이 경계를 증명하며, 이미 차단되었다고 주장하지 않습니다.
npm install # 첫 사용 시 ajv 설치
node scripts/validate.js <bundle.json> [bundle2.json ...] # 산출물 검증
node scripts/validate.js --selftest # 내장 회귀 테스트 실행
출처
이 스킬은 판단 기준 스타일 참조 및 필드 구조 사양에 기반한 독립적인 구축물입니다. 개별 판단 기준 출처, 필드 설계 출처 및 설계 결정에 대한 자세한 내용은 sources.md를 참조하십시오.