Quest OS← 자료실개요지식 베이스여정 설계입력 부담인터뷰 킷원장용 한 장목업 갤러리

여정 설계 시스템 — 질문과 답변으로 퀘스트를 만든다

작성 2026-08-10 · 이 제품의 핵심 IP 설계 규칙 번호는 지식 베이스의 「종합 — 확정된 설계 규칙 35개」를 가리킨다.

0. 전제 하나 — 템플릿이 먼저, 위저드는 탈출구

학원 원장은 여정을 설계하고 싶은 게 아니다. 고르고 조금 고치고 싶어 한다. "당신의 퀘스트를 만들어 보세요"로 시작하는 화면은 빈 캔버스 공포를 준다.

그래서 진입 경로는 이 순서다.

템플릿 목록 (6종)  ──고를 게 있다──→  표 편집기에서 수정  ──→  시작
        │
     맞는 게 없다
        ↓
    위저드 8문항  ──→  여정 자동 생성  ──→  표 편집기에서 수정  ──→  시작

인터뷰에서 검증할 것: "이 6개 중에 쓸 만한 게 있습니까, 아니면 직접 만들고 싶습니까?" 템플릿을 고르는 사람이 다수면 위저드는 후순위 기능이 된다. 그 반대면 위저드가 제품의 중심이다. 이 답에 따라 개발 우선순위가 통째로 바뀐다.


1. 여정의 구조

Journey(여정)          기간이 정해진 캠페인.  예: "2학기 12주 항해"
 └ Chapter(장)         4주 단위 구간.        예: 1장 출항 / 2장 난바다 / 3장 귀항
    ├ RecurringQuest   반복 퀘스트. 매일·주N회로 되풀이된다
    ├ MilestoneQuest   이정표. 누적·연속 조건을 채우면 1회 달성
    └ Metric           자동 집계 지표. 출석률·완수율·연속일수·누적점

4주 챕터는 임의의 숫자가 아니다. 14주 종단 연구에서 게이미피케이션 효과는 4주차부터 떨어져 6~10주에 저점을 찍고 이후 회복하는 U자형을 그렸다(규칙 15). 챕터 경계를 그 하락 지점에 맞추고 전환마다 새 국면 — 새 목표, 새 서사, 새 보상 구조 — 을 넣어 저점을 덮는다.

챕터 수 산정

chapters = clamp(round(기간주수 / 4), 2, 5)
기간계산챕터 수
4주1 → 하한 적용2 (2주씩)
8주22
12주33
16주44
24주6 → 상한 적용5

하한 2를 두는 이유는 중간 이정표가 하나도 없는 여정은 끝까지 피드백이 없기 때문이다. 상한 5를 두는 이유는 챕터가 많아지면 각 장의 서사가 얇아져 전환 효과가 사라지기 때문이다.


2. 기성 템플릿 6종

각 템플릿은 위저드 8문항의 답이 미리 채워진 상태다. 원장은 대상 그룹만 고르면 바로 시작할 수 있다.

#이름기간반복 행동증빙주 대상
T1중등 내신 대비12주수업 출석(주3) · 오답노트 1문제(매일) · 주간 테스트(주1)강사 체크 / 본인 체크 / 점수 입력중·고등 학원
T2초등 학습 습관8주수업 출석(주2) · 숙제 제출(주2) · 독서 10분(매일)강사 체크 / 강사 체크 / 본인 체크초등 학원
T3어학 완주12주수업 출석(주2) · 단어 학습(매일) · 말하기 녹음(주1)강사 체크 / 본인 체크 / 파일 제출어학원·성인
T4교회 청년부 정착8주예배 출석(주1) · 소그룹 나눔(주1)리더 체크 / 리더 체크교회
T5동호회 운동 챌린지4주운동(주3) · 주간 기록(주1)본인 체크 / 숫자 입력동호회
T6자격증 완주16주강의 수강(주3) · 문제풀이(주5) · 모의고사(격주)본인 체크 / 본인 체크 / 점수 입력성인·직업훈련

T4·T5는 규제 부담이 낮은 무료 파일럿 경로용이다(인터뷰 킷 참조).


3. 위저드 8문항

템플릿에 맞는 게 없을 때만 들어온다. 목표는 3분 안에 끝나는 것이다.

Q1. 누구에게 줄까요?

기존 그룹(반) 목록에서 선택. 새 그룹이면 이름과 인원만 입력. → 퀘스트는 그룹에 부여되고 구성원이 상속받는다. 개인별 부여는 예외 처리로만 존재한다.

Q2. 이 여정으로 무엇이 달라지길 원하세요?

3지선다 + 자유 입력.

→ 이 답이 여정 이름과 서사 톤을 정한다. 퀘스트 종류를 직접 정하지는 않는다.

Q3. 기간은요?

4주 / 8주 / 12주(한 학기) / 직접 입력 → 챕터 수가 여기서 결정된다(§1).

Q4. 매번 반복할 행동은 무엇인가요? (최대 3개)

행동마다 이름 + 빈도(매일 / 주 N회 / 주 1회 / 격주).

3개 제한은 의도된 것이다. 반복 퀘스트가 4개를 넘으면 학생의 하루 체크 항목이 많아져 시작 자체가 무거워진다(규칙 6). 더 필요하면 챕터를 넘길 때 교체한다.

Q5. 각 행동을 어떻게 확인하나요?

행동마다 하나 선택 — 강사가 체크 / 본인이 체크 / 사진·파일 제출 / 점수 입력. 사진·파일은 승인 큐로 들어가고, 나머지는 즉시 반영된다.

이 질문이 제품의 급소다. 선택에 따라 리더의 하루 부담이 30초가 되기도 하고 10분이 되기도 한다. 각 선택지 옆에 "이 반 기준 하루 예상 소요"를 초 단위로 즉시 계산해 보여준다. 상세 비교는 입력 부담.

Q6. 보상은 어떻게 할까요? 예산 상한은요?

기본 선택은 칭호·특권이다. 매번 주는 예상 가능한 물질 보상은 내재동기를 깎고, 그 효과는 성인보다 아동에게 더 크다(규칙 3). 실물을 고르면 이정표에만 배치되고, 화면에 근거를 한 줄로 표시한다.

Q7. 경쟁 요소를 넣을까요?

절대 전체 순위표는 만들지 않는다(규칙 17·18). 16주 종단에서 리더보드+뱃지 강좌 학생이 비게임화 강좌보다 동기·만족·역량감이 더 낮아졌고, 하위권일수록 이탈했다. 팀 대항이나 상위 노출을 고르면 그 자리에서 이 근거를 경고로 띄운다.

Q8. 참가자에게 어떤 세계로 보일까요?

대항해 / 성장 기록(중립) / 학교 테마 / 없음 → 순수 표현층. 데이터와 규칙은 동일하고 이름표와 그림만 바뀐다.


4. 생성 규칙 (결정적)

같은 답을 넣으면 항상 같은 여정이 나온다. 무작위성 없음.

1. chapters = clamp(round(주수 / 4), 2, 5)
2. 각 행동 → RecurringQuest 1개
       cadence = 답한 빈도
       evidence = 답한 확인 방법
       점수 = 빈도가 높을수록 낮게 (매일 1점 / 주N회 2점 / 주1회 5점)
3. 각 챕터 끝 → MilestoneQuest 1개
       조건 = 그 챕터 구간의 완수율 임계값
       임계값 = 60% → 70% → 75% → 80% → 80%  (챕터 순서대로, 상한 80%)
       점수 = 반복 퀘스트 1주 합계의 3배
4. 여정 끝 → 최종 MilestoneQuest 1개
       조건 = 전체 완수율 70% 이상
       보상 = 예산이 있으면 실물, 없으면 최고 칭호
5. Metric 4종 자동 생성 — 출석률 / 완수율 / 연속일수 / 누적점

임계값이 100%로 올라가지 않는 이유: 목표 난이도와 성과의 상관은 능력 범위 안에서만 r=0.82이고, 불가능한 목표에서는 r=0.11로 무너진다(규칙 8). 완벽을 요구하면 한 번 놓친 학생이 즉시 포기한다.

점수를 빈도에 반비례시키는 이유: 매일 하는 행동이 주 1회 행동보다 총점이 높아야 하는 건 맞지만, 1회당 점수까지 높으면 하루 놓친 것의 체감 손실이 과도해진다.


5. 생성 후 — 표 편집기

생성 결과는 곧바로 표로 열린다. 행 = 퀘스트, 열 = 제목 · 종류 · 빈도 · 증빙 · 점수 · 기간. 인라인으로 고치고, 행을 추가·삭제한다. 저장 버튼 없이 즉시 반영.

원장이 위저드를 다시 돌릴 일은 거의 없다. 고치는 건 표에서 한다.


6. 시행 중 수정 규칙

여정이 시작된 뒤에도 퀘스트 추가·보상 변경이 가능해야 한다(사용자 요구사항). 다만 불변식이 하나 있다.

이미 지급된 보상과 포인트는 회수하지 않는다. 포인트 원장은 append-only이고 정수로만 계산한다. 취소는 음수 항목을 추가하는 게 아니라 애초에 불가능하다. 관리자가 규칙을 바꿔도 과거 지급분에는 소급되지 않는다.

이유는 기술이 아니라 신뢰다. 어제 받은 점수가 오늘 사라지는 시스템에서 학생은 다음 퀘스트를 하지 않는다.

수정 종류허용소급
퀘스트 추가추가 시점부터
퀘스트 삭제✅ (숨김 처리, 하드 삭제 없음)기존 달성·점수는 유지
점수 변경변경 시점부터. 과거 지급분 불변
이정표 임계값 변경아직 달성 안 한 이정표만
보상 변경미지급분만
기간 연장챕터 재계산 없이 마지막 챕터를 늘린다
기간 단축⚠️ 경고 후 허용잘려나가는 이정표는 "상황 종료"로 닫고 실패 처리하지 않는다

7. dry-run — 규칙이 실제로 여정을 만드는가

사례 1 — 학원 중등 수학반, 12주, 20명

입력: Q1 중등수학A(20명) / Q2 숙제를 매일 했으면 / Q3 12주 / Q4 ①수업 출석 주3회 ②오답노트 1문제 매일 ③주간 테스트 주1회 / Q5 ①강사 체크 ②본인 체크 ③점수 입력 / Q6 칭호 + 최종 실물(5만원) / Q7 개인 목표만 / Q8 대항해

손으로 돌린 결과

항목계산
챕터 수clamp(round(12/4),2,5) = clamp(3,2,5)3
반복 퀘스트행동 3개3개 (1점 / 2점 / 5점)
이정표챕터 3 + 최종 14개
이정표 임계값순서대로60% → 70% → 75%, 최종 70%
퀘스트 정의 총계3 + 47개
1인당 12주 인스턴스출석 3×12=36, 오답 7×12=84, 테스트 1×12=12, 이정표 4136건
20명 반 전체136 × 202,720건

사례 2 — 교회 청년부, 8주, 40명

입력: Q3 8주 / Q4 ①주일 예배 주1회 ②소그룹 나눔 주1회 / Q5 둘 다 리더 체크 / Q6 칭호만 / Q7 팀 대항 / Q8 성장 기록

항목계산
챕터 수clamp(round(8/4),2,5) = 22
반복 퀘스트2개 (각 5점)2개
이정표2 + 13개 (60% → 70%, 최종 70%)
1인당 8주 인스턴스8 + 8 + 319건
40명 전체19 × 40760건

Q7에서 팀 대항을 골랐으므로 화면에 경고가 뜬다: *"경쟁 요소는 하위권 참여자의 동기를 낮춘다는 연구가 있습니다. 순위는 조 단위로만 보이고 개인 순위는 표시되지 않습니다."*

사례 3 — 동호회 러닝, 4주, 15명

입력: Q3 4주 / Q4 ①달리기 주3회 ②주간 거리 기록 주1회 / Q5 ①본인 체크 ②숫자 입력 / Q6 칭호만 / Q7 개인 목표만 / Q8 없음

항목계산
챕터 수round(4/4)=1 → 하한 2 적용2 (2주씩)
반복 퀘스트2개 (2점 / 5점)2개
이정표2 + 13개
1인당 4주 인스턴스12 + 4 + 319건
15명 전체19 × 15285건

규칙 대조 결과: 세 사례 모두 계산과 규칙이 일치했다. 하한 2 적용이 사례 3에서 실제로 발동했다.

3중 교차 검증 (2026-08-10) — 같은 값이 세 경로에서 독립적으로 나왔다.

경로사례 1 결과
위 표의 손계산3챕터 · 3반복 · 4이정표 · 136건 · 2,720건
mockup/wizard.html 실제 실행 (Playwright)3챕터 · 3반복 · 4이정표 · 136건 · 2,720건
독립 Python 재구현3챕터 · 3반복 · 4이정표 · 136건 · 2,720건

사례 2·3도 동일하게 일치했다(19건/760건, 19건/285건).

검수에서 발견돼 고친 버그 1건 — 챕터 구간 라벨이 i*4+1 ~ (i+1)*4로 고정돼 있어 챕터 수가 하한 2·상한 5로 clamp될 때 어긋났다. 4주 2챕터는 "5~4주"라는 불가능한 구간이 나왔고, 24주 5챕터는 21~24주가 통째로 사라졌다. 기간을 챕터 수로 균등 분할하도록 고쳤고, 4주(1~2, 3~4) · 12주(1~4, 5~8, 9~12) · 24주(1~5, 6~10, 11~14, 15~19, 20~24)에서 끊김·중복 없이 기간 끝까지 이어지는 것을 확인했다.

규모 시뮬레이션 — 저장이 터지는가

학생 300명 · 반 12개 · 반복 퀘스트 3종(주 11회 발생) · 12주 기준:

1인당 = 11회/주 × 12주 = 132건 + 이정표 4건 = 136건
전체  = 136 × 300명 ≈ 40,800건

4만 건은 어떤 데이터베이스에도 부담이 아니다. 수백 명 규모에서 저장 폭증 위험은 없다. 병목은 저장이 아니라 리더의 입력 시간이다 — 그래서 입력 부담가 필요하다.


8. 목업이 이 명세를 전부 구현하지는 않았다

mockup/wizard.html은 인터뷰용이라 일부만 구현했다. 원장에게 보여줄 때 이 차이를 밝혀야 한다.

명세목업
Q3 기간 직접 입력4·8·12·16·24주 고정 선택만
Q5 사진·파일 제출선택지는 있으나 업로드 화면 없음
Q6 보상 예산 상한 입력미구현 (budget 필드는 선언만)
Q7 상위 N명 노출"상위 3명"으로 고정
「본인 체크 + 10% 스팟체크」 조합Q5에서 스팟체크 비율을 지정할 수 없음
표 편집기 인라인 수정결과 표는 읽기 전용

마지막 줄이 특히 중요하다. 입력 부담의 권장 조합은 자율 학습 항목에 "본인 체크 + 무작위 10% 확인"을 쓰는데, 위저드 Q5에는 그 조합을 고를 수단이 없다. 명세와 목업 중 어느 쪽을 고칠지는 인터뷰 뒤에 정한다 — 원장이 스팟체크를 이해하고 원하는지가 먼저다.

9. 이 문서가 확정하지 않은 것


관련 문서