대상 (공유 방법 상속)
솜 · 구석은 같은 실험 방법(공유 protocol)을 상속하며, 대상마다 다른 것은 페르소나 프롬프트 P·근거 원문 로그·run 인스턴스뿐입니다. 방법(T·P0 정책·파이프라인·채점축)은 하나로 진화하고 모든 대상에 동일하게 적용됩니다.
EVIDENCE-FIRST PERSONA RESEARCH
Persona Lab은 실제 인물이 채팅에서 다음에 뭐라고 답할지를 예측하는 규칙을 만들고, 실제 답변과 비교해 틀린 이유·회귀까지 기록하며 규칙을 고쳐가는 실험입니다. 그럴듯한 인물 묘사가 아니라, 맞았는지 틀렸는지 셀 수 있는 예측이 목표입니다.
절차 정의를 불러오는 중입니다.
EXPERIMENT MAP
아래는 실험 설계도입니다. 화살표는 실행 순서와 재진입 조건을 뜻하며 완료 상태가 아닙니다.
↩ 탈락·개선 근거 부족: C0 유지 또는 개발 단계로 복귀. 정답을 본 사례는 새 미공개 평가로 재사용하지 않습니다.
↩ 공개된 오류는 이후 개발 자료로만 환류합니다. 장기 track은 규칙을 수정하지 않고 별도 추적합니다.
미노출·시점 적격성 증거가 없으면 final은 unavailable입니다. 설계된 절차를 실험 성과로 계산하지 않습니다.
WHAT & WHO
대상은 선택하되, 실험 방법(계약·파이프라인·평가 스키마)은 공유 base를 상속합니다. 방법이 발전하면 모든 대상이 함께 발전합니다.
솜 · 구석은 같은 실험 방법(공유 protocol)을 상속하며, 대상마다 다른 것은 페르소나 프롬프트 P·근거 원문 로그·run 인스턴스뿐입니다. 방법(T·P0 정책·파이프라인·채점축)은 하나로 진화하고 모든 대상에 동일하게 적용됩니다.
인물의 속마음을 확정하는 게 아니라 “상황 X + 관측 가능한 관계상태 Y → 예상 반응 Z” 형태의 조건부 예측 규칙을 개선합니다. 규칙 수가 늘어난 것 자체는 개선이 아닙니다.
대상 본인의 실제 그룹채팅/DM 원문(시간순)에서 대상이 말하기 직전까지의 맥락만 입력으로 쓰도록 설계했습니다. 정식 CP-01은 미래 메시지·다른 방·요약 추론의 자동 보충을 금지하며 실행 전 별도 검증이 필요합니다.
CORE LOOP
정답을 보기 전에 예측을 봉인합니다. 이 순서 검사는 무결성의 한 장치이며 모델의 사전 미노출까지 증명하지는 않습니다.
PIPELINE
아래 카드는 버전 고정된 절차 정의입니다. 현재 실행 상태나 결과가 아닙니다.
PIPELINE · IN FULL
동결 계약 som-reply-v2-r3 기준 10단계. 목표 20배치, 실제 완료 배치는 별도로 셉니다.
P0_schema + 동결 P0_evidence_master + 결정적 renderer. P0_snapshot(case_cutoff)은 사건·가용 시각이 cutoff 이전으로 검증된 항목만 포함. 사례별 snapshot hash·포함/제외를 seed_audit에 기록. 사후 재구성분은 historical_replay로 표기.T · 맥락 C · 페르소나 P, 모델·출력예산·루브릭·패널·purge 정책 확정. baseline=T+C, persona=T+P+C. 유일한 실험 차이는 P slot이며 전문·해시를 보존.C0(무수정)~C4 최대 5개. 후보당 규칙 하나에 연산 하나: ADD / REFINE / RELAX / DROP / SPLIT / MERGE. 영구 rule_id·revision·before/after diff 보존. 통짜 재작성은 국소 3회 실패로 diagnose gate 도달 후에만.SCREEN-02는 iteration·역할·case_id 고정 해시로 역할별 사례를 선별하는 형식·편집오류·신규파손 검사(효과 낮은 후보를 조기 제거하는 비용절감 알고리즘이 아님) → 동일 패널 full dev → parent→child edit-effect(newly_fixed / newly_broken / partial) → 파손을 hard(수락↔거절 역전·경계를 친밀접근으로 오예측)와 soft(적합도 1→0.5)로 분리, 핵심 hard 신규파손 0 정책 → Pareto → indifference band ε → tie-break(짧은 prompt→규칙 적은→C0). 비지배 후보 최대 3개는 연구용 보관.패널 focus/anchor/probe = 6/6/6 · 후보 ≤ 5 · shadow ≤ 3 · 활성 검증 track = 1 · core_newly_broken 허용 = 0 · 선별 = SCREEN-02.
generated_first_message_primary_action_exact_match. 선언 적중·선언/생성 일치는 별도 진단이며 주점수를 대체하지 않음.
원문·운영 페르소나는 읽기 전용 · 모델 생성/의미 채점/후보 선택은 외부 실행자 · 원본 계약과 10 CSV는 버전 고정 · 봉인 순서 검사만으로 모델 사전 미노출을 증명하지 않음.
GUARDRAILS
무엇을 알고 무엇을 아직 모르는지 정직하게 남깁니다.
입력은 사건 시각 기준 그 이전 것만. 정적 로그에서 사후 재구성한 경우 historical_replay로 정직하게 표기하며, 순서·해시만으로 “모델이 정답을 미리 안 봤다”를 증명하지 않습니다.
일시적 감정·단일 실패를 영구 특성으로 승격하지 않습니다. “반복적으로 도움됐다”는 새 사례에서의 반복 증거가 있을 때만.
실험 규칙을 운영 인물 프로필에 자동으로 덮어쓰지 않으며, 이 저장소가 성능이 좋아졌다고 스스로 판정하지 않습니다.
EXECUTION HARNESS · P1
별도 외부 하네스의 일부 구현·smoke 검증입니다. Phase-1은 추출→봉인예측→공개→채점→원장 경로를 확인했지만, CP의 문자 기반 대체값과 정규식 분류기는 동결 tokenizer·정식 의미 채점의 대체물이 아닙니다.
구석 3사례 · 조건 baseline(T+C)/persona(T+P+C) · primary_action 매치 baseline 0/3, persona 0/3. stub 생성기=파이프라인 검증용이라 0이 정상. scope=historical_replay.
claude-cli 실제 예측 1사례 · baseline 1/1, persona 1/1. 실 예측 경로 작동 확인(n=1이라 성능주장 아님). scope=historical_replay.
봉인→공개 순서 강제 · baseline/persona 조건 분리 · validation_scope=historical_replay 정직표기 · 미디어 내용 추측 금지 · 솜 run 무접촉.
EXECUTION HARNESS · P2
Phase-2 = 국소후보 생성·선별·회귀가드가 코드로 작동. iteration iter-0(합성 고정패널 6사례·stub 생성기 — 선별 머신 검증이지 실 예측품질 아님).
C0=무수정 · C1=REFINE(D-02) · C2=ADD(D-92) · C3=RELAX(D-02) · C4=SPLIT(D-02→D-80a/b). 각 후보에 영구 rule_id·연산·before/after diff·규칙상태.
SCREEN-02=안전·유효성 필터(비용절감 아님) · parent→child edit-effect · hard/soft regression 분리(hard=accept↔refuse 역전) · core hard veto · Pareto 비지배 · indifference band ε · complexity 감사. veto/screen 경로는 forced injection으로 검증.
chosen P_t = C4 · shadow archive = 3(C0/C1/C3 비지배, branch/parent lineage) · hard_newly_broken 0 · soft_newly_broken 0. 합성 smoke의 선택 결과일 뿐 운영 배포 승인이 아닙니다. 주행동 점수는 모두 동률이었으며 C4는 최종 복잡도 tie-break(짧은 프롬프트)로 선택됐습니다. 연구용 후보는 shadow로 보존합니다.
P3(bootstrap CI·stability audit·최종 3조건·경계 purge)는 미구현.
RESULTS & RULES
아래는 경량 eval-loop(빠른 반복·운영자 규율 blind) 산물이며, 위 정식 솜 v2-r3 평가 트랙(계약 snapshot의 정식 배치 0; 별도 하네스 실행 건수와 다름)과는 다른 트랙입니다. 표본이 작아 잠정이며 성능 개선 확정이 아닙니다.
17,239발화 빈도분석: ㅋㅋㅋ 폭발 · 자음축약(ㅇㅇ/ㅇㅎ/ㄹㅇ) · 시그니처 틱 “라고 할뻔·아멘·에효·크큭·개웃기네·드가자” · 반복 카피파스타.
R1 이름+아 호명 · R2 해설 말고 흘리기/되묻기 · R3 블런트 잽 · R4 부조리 지령·칭호 · R5 자기 스레드 지속(마지막 말에 반응 않고 자기 관점 지속) · R6 부조리 defiance · R7 돈=구체적 지령 · R8 에코-트위스트 · R9는 R5의 주의사항으로 흡수 · R10 관심주제 되묻기 · R11 잽 아닌 웃음·틱이 디폴트.
보고된 경량 반복의 정확 일치는 0, 부분 적중은 2~5로 변동했습니다. 단조 증가나 구조적 성능 한계가 입증된 것은 아닙니다. 5/5 부분 적중도 정식 주행동 exact-match 5/5를 뜻하지 않습니다. R11·R5의 도움은 개발 과정의 해석이며 분리된 인과효과 검증이 아닙니다.
공개 방법 revision: v2-r3 ·
원본 대조일: 2026-09-27 · 문서 성격:
재현·검토용 공개 설명(비공개 계약 전문의 대체본 아님)
이 문서는 다른 AI·연구자·실행기가 Persona Lab의 실험을 같은 규칙으로 이해하고, 실행 계획을 검토하며, 결과 주장의 범위를 판별할 수 있도록 만든 공개용 방법론이다. 개인 대화 원문, 참여자 이름, 개별 예측, 정답, 내부 실행 기록, 운영 페르소나 전문은 포함하지 않는다. 전체 계약 원문과 원장은 비공개 정본으로 유지한다.
핵심 질문: “그럴듯한 인물 설명을 만들었는가?”가 아니라, 과거에 관측 가능한 정보만으로 다음 반응을 예측하는 규칙이 새 사례에서 더 잘 작동하며 기존에 맞던 사례를 망가뜨리지 않는가?
이 문서에서 설계됨은 계약에 정의되었다는 뜻,
구현됨은 코드가 해당 제약을 집행한다는 뜻,
실행됨은 실제 run 기록이 있다는 뜻이다.
초안 정책은 실제 run의 첫 정답 공개 전에 구체 값과 hash를
동결해야 한다. 세 상태는 서로 대체하지 않는다.
최적화 대상은 사람의 본질이나 속마음이 아니라 다음 형태의 조건부 예측 규칙 집합이다.
상황 X + 관측 가능한 관계 상태 Y → 예상 반응 Z
관계 상태가 직접 관측되지 않은 추정이라면 가설로 표시한다. 일시적
감정이나 단일 실패를 영구 특성으로 승격하지 않는다. 각 규칙은 최소한
rule_id, 구성요소, 적용 조건, 예상 반응, 근거 사례 ID,
반례·예외, 적용 시점, revision/hash, 검증 상태를 갖는다. 규칙 수나
prompt token 수가 늘었다는 사실은 개선 증거가 아니다.
동일 사례의 기본 대비는 다음과 같다.
| 표기 | 입력 | 역할 |
|---|---|---|
T |
공통 task instruction | 출력 JSON schema, 예측 방법, 범주와 복합 발언 판정법 |
C |
사례 맥락 | 대상의 실제 다음 발화 직전까지 허용된 관측 정보 |
P |
시점에 맞는 persona 규칙 snapshot | 실험 중 변경되는 유일한 핵심 슬롯 |
| baseline | T + C |
persona 규칙 없는 context-only 기준 |
| persona | T + P + C |
동일한 T·C에 P만 추가한 조건 |
같은 사례에서 T와 C는 바이트 단위로 같아야 하고, 메시지 role·순서·구분자, 모델, 설정, 출력 예산도 동일해야 한다. persona 조건에만 더 좋은 일반 지시를 넣거나 P 때문에 C가 추가로 잘리게 해서는 안 된다. 공통 지시를 바꾸면 특정 후보 편집이 아니라 새 protocol revision이다.
| 층 | 현재 의미 |
|---|---|
v2-r3 정식 protocol |
설계됨, 정식 신규 평가 미실행. 목표는
20배치·240사례지만 protocol snapshot의 정식 완료 배치는 0이며 final
test는 unavailable이다. panel·purge·final 세부값은 run별
동결 전까지 초안이다. |
| 서비스 원장 | 구현됨. run 생성, prompt·case 저장, 설정 동결, 모든 조건 예측 봉인, 전체 정답 공개, 평가 저장의 상태 순서를 강제한다. 전문과 canonical JSON hash, protocol hash를 보존한다. |
| 외부 P1/P2 하네스 | 부분 smoke 실행됨. P1은 pilot용 regex 분류와
char_proxy/v0를 쓴 경로 확인이고, P2는 합성 고정 6사례·stub
실행이다. P2의 primary는 모두 동률 0, context/style은 건너뛰었고
length/segmentation은 순위에 쓰지 않았다. C4 선택은 기계·복잡도
tie-break 확인일 뿐 실제 품질·배포 근거가 아니다. |
| 레거시 경량 eval-loop | 별도 부분 실행됨. 빠른 규칙 반복 기록이지만 exact text 적중은 0이고 부분 점수는 단조 증가하지 않는다. 구조적 천장, 특정 규칙의 인과 효과, 정식 protocol 개선을 주장하는 근거로 쓰지 않는다. |
| 원장 밖 실행이 필요한 부분 | 미구현 또는 외부 책임. 모델 호출, CP-01 실제 추출, P0 시간 적격성 자동 감사, 정식 후보 생성·선택, 의미 채점, bootstrap, final allocation은 기본 원장이 자동 수행하지 않는다. 외부 실행자가 계약에 맞게 수행하고 결과를 원장에 넣어야 한다. |
따라서 “원장이 순서를 거부한다”는 것은 구현된 보장이고, “모델이 정답을 사전에 보지 않았다”는 것은 별도의 노출 감사가 필요한 주장이다. 해시와 봉인 시각만으로 미열람을 증명하지 않는다.
모든 입력·프로필 근거·사례에는 서로 다른 세 시각을 구분한다.
공개된 과거 pilot이나 개발에 사용된 사례를 다시 봉인해 unseen이라고
부르지 않는다. 공개 pilot 전체를 개발에 사용했다면 그보다 과거인 사례는,
별도의 미래 누출 없는 격리 실행이 입증되지 않는 한 clean prequential이
아니라 historical_replay다. 현재 수집한 과거 자료로 과거
시점 prompt를 재구성한 경우도 당시 실제 가용성을 입증하지 못하면
동일하게 표시한다.
자료의 역할은 다음처럼 분리한다.
dev_archive: 공개된 모든 개발 사례의 보존소. 진단과
회귀 감사에 쓰되 unseen으로 재사용하지 않는다.selection_panel: 한 iteration 안에서 후보들을 비교하는
동결 패널. iteration이 다르면 패널 점수를 직접 시간순 성능 향상으로
비교하지 않는다.prospective block: prompt·정책을 먼저 고정한 뒤 새
정답을 순차 공개하는 일반 6사례 블록.validation track: 최대 1개만 활성화하는 장기 동결 후보
대 reference 추적.final test: 개발·track에 쓰지 않은 별도 시간구간의
1회성 봉인 평가.각 prospective/prequential 블록은 사례마다 세 조건을 서로 격리해
생성한다: context-only 기준 T+C, 직전 선택 규칙
T+P_(t-1)_snapshot+C, 현재 후보 규칙
T+P_t_snapshot+C. 세 조건의 구조화 예측을 모두 정답 공개
전에 봉인하며, 첫 블록처럼 직전 규칙이 없으면 해당 조건을
not_applicable로 기록한다. 공개된 블록은 다음 iteration의
dev 자료로 재사용할 수 있지만 최초 prequential 점수는 불변이다. 공개 뒤
과거 후보를 다시 돌린 결과는 training fit일 뿐 원 점수를
대체하거나 unseen 누적에 들어가지 않는다.
원 계약 메타데이터의 목표 20배치·240사례와 장기 정책의
“일반 prospective block 6사례”는 동시에 존재한다. 현재 공개 설계만으로
둘의 정확한 배정 관계를 추정하지 않으며, 실제 실행 전에 allocation
manifest에서 확정해야 한다.
최종 배정 전 PURGE-01은 scene과 source message ID/행
범위를 비교하고 dev 경계 직전 scene 하나를 embargo로 표시한다. final
입력이 dev input/target과 겹치면 final_boundary_purge로
배정 전에 제외한다. 30분 경계가 진행 중인 한 사건을 인위적으로 가른다면
사전 규칙으로 event_cluster를 묶어 경계를 가로지르는
cluster 전체를 제외한다. 판단 절차·담당자·시간 범위를 사전 확정하지
못하면 final allocation은 blocked다. 제외는 원문 삭제가 아니다.
P0는 한 문자열이 아니라 다음 세 요소의 동결
조합이다.
P0_schemaP0_evidence_masterP0_snapshot(case_cutoff)에는 event time과 available at이
모두 cutoff 이전임이 검증된 항목만 포함한다. 노출·가용 시각이 불명확하면
clean 적격으로 취급하지 않는다. 사례마다 snapshot hash가 다른 것은
정상이며, case ID별 hash와 포함/제외 항목·사유를 기록한다. 최종 평가에서
P0 master를 최신 지식으로 보강해서는 안 된다. 미래 정답을 본 뒤 만든
규칙은 근거 날짜만 과거로 필터링해도 clean이 아니다. 적격 근거가 없다면
조용히 빈 P0를 만들지 않고 seed construction blocked로
보고한다.
현재 운영에 쓰는 최신 정보용 P_deployment는 historical
평가용 P0와 분리한다. P의 내부 구성은 다음과 같다.
| 구성요소 | 내용 | 핵심 제약 |
|---|---|---|
| A | 비교적 안정적인 성향·판단 규칙 | 사건 하나로 영구 특성을 만들지 않는다. |
| B | 관계 상황별 행동 규칙 | 상대·관계 단계·예외 조건을 명시한다. |
| C | 현재 대화 상태 해석 규칙 | 상태 값은 사례별 입력이며 영구 프로필이 아니다. |
| D | 다음 답변 의도 선택 규칙 | 여러 스레드와 진행 중 행동을 구분한다. |
| E | 말투·길이·메시지 분절 | 거절/수락 오류를 말투 유사성으로 상쇄하지 않는다. |
구성요소별 전문·hash와 조합 순서를 보존한다.
REFINE/RELAX는 rule ID를 유지하고 revision을
올린다. DROP된 ID는 재사용하지 않으며, ADD는
새 ID, SPLIT/MERGE는 새 ID와 predecessor ID를
남긴다.
CP-01은 persona 규칙과 분리된 입력 맥락 실험축이며
현재 정식 protocol에서는 설계 초안이다. 외부 smoke의
char_proxy/v0는 CP-01 구현 완료 증거가 아니다. 최초 정식
실행 전에 tokenizer 이름·revision, 렌더 형식, policy hash를 manifest에
동결해야 한다.
N=0이다. 다른 방, 미래 메시지, 자동 요약·추론은 넣지
않는다.X=4096 tokens다. 넘으면 가장 오래된 메시지부터
완전한 메시지 단위로 제거한다.context_overflow로 제외한다. 입력이 비면
empty_context로 기록한다.persona 후보를 비교하는 iteration에서 CP를 함께 바꾸지 않는다. CP
비교는 동일하게 동결한 prompt를 쓰는 별도 run이다. N, X, scene 경계를
바꾸면 새 policy ID를 발급한다. 정답 공개 뒤 맥락 부족이 드러나도 해당
사례를 사후 삭제하지 않고 context_sufficiency와 missing
reason(scene_boundary, token_truncation,
cross_scene_reference, cross_room_reference,
media_content_unavailable, other)을 사후
진단으로 기록한다.
세 역할은 모두 이미 공개된 개발 자료이며 독립 검증 자료가 아니다.
| 역할 | 목적 |
|---|---|
| Focus | 이번 가설과 관련된 반복 실패를 고친다. |
| Anchor | parent가 이미 잘 맞힌 사례를 보존해 회귀를 찾는다. |
| Probe | 다른 관측 가능한 상황에서 편집의 전이를 본다. |
PANEL-01은 설계 초안이며 서로 겹치지
않는 Focus 6 + Anchor 6 + Probe 6, 총 18사례를 제안한다. 후보 생성 전에
실제 run의 panel ID/hash, case ID, 선정 이유, 대화 유형, 과거 selection
노출 횟수를 동결한다. 같은 자격군에서는 누적 노출이 적은 순, 이어
iteration hash 순으로 고른다. 역할 부족분을 다른 역할로 조용히 채우거나
중복하지 않는다. 부족하면 descriptive_only로 기록하고 자동
선택을 중지한다.
관측 가능한 다중 태그는 information_question,
joke, scheduling,
emotion_expression, boundary_setting,
conflict, affection, other이며,
불확실하면 unknown이다. target 이전 입력으로만 부여하고
내면 성격을 추정한 태그나 공개 뒤 actual intent를 섞지 않는다.
역할별·유형별 유효 n과 점수를 전체 점수와 함께 보고한다.
primary target은 다음 텍스트 메시지 하나다.
secondary burst는 같은 화자의 연속 텍스트이며 타 화자·시스템·미디어·60초
초과 간격에서 끝난다. answer_predicted는 top-1 메시지
배열이고 첫 메시지가 primary 평가 대상이다. 미디어 target은 별도 task
type으로 남기며 성적이 낮다고 사후 삭제하지 않는다.
| 축 | 허용 값·의미 |
|---|---|
primary_action |
question, answer, accept,
refuse, defer, propose,
acknowledge, other,
ambiguous |
secondary_function |
explain, clarify, reassure,
challenge, elaborate, none,
other |
affective_mode |
neutral, joking,
emotion_expression, other |
relational_move |
approach, maintain,
mild_withdrawal, explicit_boundary,
ambiguous |
| 맥락 출력 | reply target, active topic, expected conversation move, explicit constraints, context hypothesis |
| 생성 계획 | content points 1–3개, style, 예상 글자 수, 예상 메시지 수, top-1 message array |
주행동은 표면의 첫 단어가 아니라 답변 대상에 수행한 핵심 행위다.
수락처럼 시작해도 결론이 거절이면 refuse, 나중에 하겠다는
것은 defer, 대안 제시는 propose다. 동등한
행위가 해소되지 않을 때만 ambiguous를 쓴다. relational
move는 이번 메시지에서 관측되는 관계 조절이지 내면 호감도의 순서척도가
아니다.
선언(declared_*)과 실제 생성 첫 문장에서
조건명·선언·정답을 가리고 다시 분류한
값(generated_message_inferred_*)을 분리한다. 실제 답변도
별도로 분류한다. 생성 문장과 선언이 다르면 self-consistency 오류이며,
선언 정확도로 생성 문장의 주점수를 대체하지 않는다.
확률을 쓰는 기본 모드는 primary 9범주, relational 5범주의 전체
분포다. 모든 키, 유한한 [0,1] 값, 합 1±1e-6을
요구하고 잘못된 값을 조용히 정규화하지 않는다. argmax 동률은 사전 enum
순서로 결정한다. 제약상 top-1 confidence만 쓴다면
calibration_mode=top1_only를 run 전에 모든 조건에 동일하게
고정한다.
한 iteration은 C0를 포함해 최대 5개 후보를 만든다. 개수를 채우려고 근거 없는 편집을 만들지 않는다.
| 후보 | 정확한 역할 |
|---|---|
C0 |
수정 없는 parent 기준. 끝까지 비교에 남는다. |
C1 |
지정한 한 규칙의 최소 REFINE. |
C2 |
다른 원인 가설에 근거한 조건부 ADD 또는
REFINE. |
C3 |
과도한 규칙을 RELAX 또는 DROP. |
C4 |
동일 오류군을 설명하는 또 다른 국소 대안. 필요한 경우
SPLIT/MERGE가 될 수 있다. |
기본적으로 후보 하나는 규칙 하나에 연산 하나(ADD,
REFINE, RELAX, DROP,
SPLIT, MERGE)만 적용한다. SPLIT/MERGE는 여러
단위를 건드리는 예외라 관련 ID 전체를 남긴다. 구조적 before/after diff가
선언한 연산과 다르면 수정하거나 제외한다.
통짜 prompt 재작성은 기본 후보가 아니다. 유사 국소 수정 3개가 사전 기준상 차이를 못 만들어 diagnose gate에 도달하고, 구조 문제 가설·변경 범위·비교 예산을 별도 run에 사전 등록했을 때만 허용한다. rewrite 결과를 특정 규칙 하나의 효과로 귀속하지 않는다.
SCREEN-02는 현재 설계된 초기 정책이다.
실제 run에서는 canonical hash 구현과 정책 hash를 첫 공개 전에 동결해야
한다. 성능이 낮아 보이는 후보를 빨리 버리는 successive-halving 기법이
아니라 형식·유효성·신규 파손을 찾는 보수적 안전
필터다.
후보 생성 전에 Focus·Anchor·Probe 각 역할에서 아래 canonical JSON의 SHA-256 hex 오름차순 첫 1개를 고른다(최대 3개).
[protocol_id, iteration_id, role, case_id]
JSON은 UTF-8, ensure_ascii=false, 공백 없는 comma/colon
separator, 고정 배열 순서를 사용한다. hash가 같으면 case ID
오름차순이다.
후보 가설, 수정 rule ID, 허용 연산, 구조 diff, 출력 schema를 검사한다.
새 hard 오류나 사전 정의된 core 신규 파손이 확인되면 탈락시킨다. malformed 출력은 모델 행동 오답이 아니라 protocol failure로 따로 기록한다.
cheap 평균이 낮거나 Focus 하나를 못 고쳤다는 이유만으로 탈락시키지 않는다. 효능 기반 조기 탈락을 추가하려면 남은 사례에서 가능한 최대 개선을 고려한 결정적 상한 규칙을 별도 사전 등록해야 한다.
통과한 모든 후보와 parent/C0를 동일한 전체 18사례 패널에서 평가한다. 모든 편집 후보가 탈락하면 C0를 유지한다.
동일 input/prompt/model/settings/seed의 screening 결과는 full dev에
재사용하되 중복 집계하지 않는다. 설정이 다르면 합치지 않는다. 미평가
값은 0이 아니라 null/not_evaluated이며, 부분 평가 후보는
full-dev Pareto 선택에 넣지 않는다. 사례·호출·입출력 token·elapsed
time·cache 재사용·탈락 사유·실제 신규 평가 수를 남긴다. 비용 절감은 실제
측정 뒤에만 주장한다.
모든 case × field에서 parent와 child의 원값을 보존하고
다음 전이를 계산한다.
wrong→correct = newly_fixed,
correct→wrong = newly_broken, 그 외
unchanged_correct/unchanged_wrong.<1→1과 1→<1을
fixed/broken으로, 0↔︎0.5 등은
partial_gain/partial_loss로 기록한다.not_comparable이며 0점으로 바꾸지
않는다.child_error − parent_error를 보존하며
임의 정답 문턱을 만들지 않는다.회귀 심각도는 별도 축이다.
hard_newly_broken: 실제 accept↔︎refuse 반대
예측, 실제 explicit_boundary를 생성 approach로
바꾼 오류, 또는 사전 반대행동표의 신규 오류.existing_hard: parent에도 이미 있던 같은 치명 오류.
신규 veto는 아니지만 반드시 보고한다.soft_newly_broken: hard가 아닌 relational/context/style
적합도 1→0.5 등의 신규 파손.동일한 비교 가능 사례 집합에서 높은 primary 정확도·relational/context/style 적합도, 낮은 길이·메시지 수 오차 방향으로 Pareto dominated 후보를 제거한다. null로 공통 집합이 성립하지 않으면 선택을 보류한다.
통과 후보는
primary_action → relational adequacy → context → style → length → segmentation
순으로 보되 indifference band를 적용한다. 18사례 패널에서 primary 정확도
차이 ε=1/18, ordinal 평균 차이 ε=0.5/18 안은
다음 축으로 넘긴다. 유효 분모가 18이 아니면 이 기준을 재해석하지 않고
자동 선택을 보류한다. 길이·분절의 raw-error band가 미등록이면 그 축으로
순위를 정하지 않는다. 이는 통계적 동등성 판정이 아니다.
비추이적 pairwise 토너먼트를 피하고, 각 축의 최고값과 band 안 후보를
모두 다음 축으로 넘긴다. 끝까지 동률이면 짧은 prompt → 적은
active rule 수 → C0 순이다. composite는 참고값이며 gate를
우회하지 않는다. 선택된 P_t 하나만 deployment 후보이고,
동일 패널의 non-dominated 후보 최대 3개는 prompt/hash/edit lineage와
함께 research archive의 active shadow로 남길 수 있다. 서로 다른 패널의
점수를 전역 Pareto 비교하지 않는다.
원장의 상태 전이는 다음 순서를 강제한다.
draft → frozen → sealed → revealed → evaluated
draft: run config, 조건 목록, prompt 전문, 사례 맥락을
저장한다.frozen: 모든 선언 조건에 정확히 하나의 prompt가 있고
사례가 하나 이상일 때 config·prompt·case·protocol hash를 묶어 동결한다.
이후 prompt와 case를 변경할 수 없다.sealed: 모든 case × condition의 canonical
prediction JSON이 저장되어야 한다. 일부 조건만 봉인한 상태에서는 정답
공개로 넘어갈 수 없다.revealed: sealed 이후에만 실제 label을 넣을 수 있고
공개된 label은 불변이다. 모든 사례가 공개되어야 평가 단계로 간다.evaluated: 공개 뒤에만 case × condition
평가를 저장하며 전부 채워져야 완료 상태가 된다.전문과 canonical JSON SHA-256, 실제 UTC 전이 시각을 보존한다. 과거 시각을 추정해 채우지 않는다. 이 상태 기계는 순서와 불변성을 보장하지만, 입력 생성기가 정답을 다른 경로로 미리 보지 않았다는 사실까지 보장하지는 않는다. 그 주장은 별도의 노출·격리 감사가 필요하다.
주 endpoint는 생성된 첫 메시지를 blind 분류한
primary_action과 실제 첫 메시지의
primary_action exact-match다. 선언 자체의 적중과
선언/생성 self-consistency는 진단값이다. 실제 label이 ambiguous/null이면
주 exact-match 분모에서 제외하고 이유와 유효 n을 공개한다. 예측만
ambiguous이고 실제가 명확하면 오답이다.
보조 지표는 relational category exact-match, relational/context/style
adequacy 0/0.5/1, secondary function, affective mode, 글자
수·메시지 수 오차, calibration이다. 글자 수는 정규화하지 않은 Unicode
code point(본문 줄바꿈 포함, 인공 구분자 제외)이며 first message와
burst를 분리한다.
relative_char_error = |predicted_chars - actual_chars| / max(actual_chars, 1)
generated_relative_char_error도 동일
multiclass_brier = Σ_k (p_k - 1[y=k])² # 비정규화 합, 범위 0–2
top1_binary_brier = (declared_confidence - declared_category_correct)²
가능하면 조건명·선언·정답을 가린 두 평가자가 동결 부분집합을 독립
채점한다. 원점수·불일치·합의·유효 n을 보존하고 범주는 raw
agreement/kappa, 적합도는 사전 가중 kappa를 쓴다. 계산 불가면
NA; 같은 모델의 반복 채점은 독립 인간 평가가 아니다.
provisional이다. 한 배치나 임의 SE
문턱으로 확정 개선을 선언하지 않는다.20260921로
계산한다. 같은 scene 관측은 함께 재표집한다.insufficient_clusters로 남긴다. 적은 cluster나 퇴화된
차이는 지나치게 좁은 CI를 만들 수 있다.후보 평가 상태는 dev_only, provisional,
supported_on_frozen_unseen_set, inconclusive,
rejected다. supported도 특정 동결 자료에서의
제한적 근거일 뿐 성격의 진실, 다른 상황 일반화, 인과적 귀속, 통계적
확증을 뜻하지 않는다. 규칙 자체의 상태(hypothesis,
provisional, supported,
contradicted, retired)와 후보 평가 상태를 섞지
않는다.
STABILITY-01 초안은 공개 패널에서 역할별 hash 첫 1개(총
3/18)에 대해 C0와 선택 후보를 같은 설정으로 각 2회 추가 생성한다.
재생성은 별도 audit ID/replicate index로 남기며 최초 top-1을 덮어쓰거나
best-of로 선택하지 않는다.T+C,
T+Original P0_snapshot+C,
T+Final P*_snapshot+C다. 세 조건의 CP·모델·예산은 같고 모두
정답 전에 봉인한다.P*−P0와 P*−baseline을 각각
제시한다. final 결과를 보고 다시 튜닝했다면 그 평가는 더 이상 final이
아니다.CSV는 canonical 전문을 대체하지 않고 색인·분석·감사 연결층이다. JSON
배열·객체는 유효 JSON으로 저장한다. 미실행 수치는 빈
값+상태/사유, 실제 측정된 0만 숫자 0,
null과 빈 배열은 서로 다른 의미로 취급한다. 옛
intent/distance 혼합 열은 legacy이며 새 r3 행에 자동 변환하지
않는다.
| 로그 | 의미 |
|---|---|
predictions |
case×condition 예측, 실제 label, 생성/선언 분류, T/C/P·snapshot·request hash, 공개 시각, 점수, 맥락 진단, calibration, 안정성 반복을 연결한다. |
prompt_changes |
선택된 prompt 변경의 parent/child, 전문, rule ID/revision, 연산, 구조 diff, 근거·상태를 남긴다. 탈락 후보 저장소가 아니다. |
optimization_runs |
모든 후보와 parent, 가설·오류군·패널·비용·full-dev 상태·Pareto·gate·선택 이유·통계·복잡도·archive/track 연결을 보존한다. |
seed_audit |
P0 evidence node의 시각 적격성·노출·포함 여부와 case별 snapshot mapping을 감사한다. |
case_edit_effects |
후보별 case×field parent/child 원값, fixed/broken/partial, hard/soft 심각도, rule lineage를 기록한다. |
case_usage_events |
고유 event별 diagnosis/candidate generation/candidate selection 노출을 기록한다. 같은 판단 event의 중복 집계를 금지한다. |
case_usage |
case별 용도·최초/최종 버전·노출 횟수 집계다. 모델 호출·token 비용과는 다른 개념이다. |
research_archive |
동일 패널에서 non-dominated였던 active shadow 최대 3개와 퇴역·branch lineage를 보존한다. |
validation_tracks |
장기 동결 track의 시작 checkpoint, 후보/reference, 유효 pair, 종료·건너뜀 사유를 보존한다. |
allocation_audit |
final purge, embargo, 중복, scene/event cluster, 시간 적격성과 배정 결과를 기록한다. 원문 삭제 목록이 아니다. |
입력 C 전문, task instruction T 전문, 사례별 P snapshot 전문, canonical 요청 전체, 예측 JSON 전문을 각각 보존하고 hash로 연결한다. baseline은 P가 없으므로 빈 값을 명시한다. persona 조건의 prompt hash와 snapshot hash는 일치해야 한다. 같은 candidate prompt hash와 사례별 snapshot hash를 혼동하지 않는다.
이 항목이 동결되지 않은 실제 숫자는 빈 값과 미실행 사유로 남긴다.
숫자 0을 “아직 안 함”의 뜻으로 사용하지 않는다.
정식 실험 완료를 주장하려면 후보 생성·비교, 선택 근거, 공개 전 모든 조건 예측, 실제 공개, 채점, 원본·전문·hash 보존 증거가 모두 있어야 한다.
SCOPE & PRIVACY
공개 화면과 AI용 방법서는 검토된 실험 방법·스키마 설명 및 기존에 소개된 규칙·집계 요약을 제공합니다. 개인 대화 원문, 개별 예측·정답, 전체 원장과 계약 snapshot 원본은 공개하지 않습니다. 방법서가 충분히 상세하다는 것과 원자료를 전부 공개한다는 것은 다릅니다. 외부 연구의 정확한 재현이나 저작권 검증을 주장하지 않습니다.