Initial commit — life-helper Phase 1~5 완료 상태
4 SoT 모듈:
- huberman-protocols.md (v4, 29 Huberman 원자 프로토콜, 33 인용 검증 완료)
- habit-todo-methodologies.md (21 방법론 + 6 가드레일 + 5-Tier Reward + L0~L3 프레임)
- habit-breaking-protocols.md (끊기 8 카테고리 + 공통 5 프레임 + 의학적 면책)
- nutrition/ 별도 Gitea repo (joungmin/nutrition) — .gitignore 처리
데이터 모델:
- data-model.md — entity 관계 + R1~R8 운영 규칙 + 예시
- schema/ — JSON Schema 18개 (Draft 2020-12), R1~R8을 enum + application + UI 3층 강제
운영 가드레일:
- 동시 active build ≤ 3, break ≤ 1
- 일일 운영 ≤ 2분
- frame.level ∈ {L2, L3} (L0/L1 거부)
- tracker_entry.value = done/blank 2값
- phase = 6주 사이클
- reward는 누적 milestone(T0~T4)만, 매일 직후 X
- "Never miss twice"
진행 중: Dose Variant 설계 결정 대기 (SESSION-LOG.md Pending #1)
This commit is contained in:
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
*.key
|
||||
*.pem
|
||||
node_modules/
|
||||
dist/
|
||||
build/
|
||||
.DS_Store
|
||||
.claude/
|
||||
|
||||
# nutrition/은 별도 Gitea repo (joungmin/nutrition). life-helper와 sibling 관계로 운영.
|
||||
nutrition/
|
||||
24
MEMORY.md
Normal file
24
MEMORY.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# life-helper 프로젝트 메모리 인덱스
|
||||
|
||||
## 프로젝트 개요
|
||||
사용자 개인 생산성/건강/습관 시스템 구축을 위한 레퍼런스 문서 저장소.
|
||||
|
||||
## 파일 인덱스
|
||||
|
||||
### habit-todo-methodologies.md (2026-06-04)
|
||||
- 유명 습관/체크리스트/투두/시간 관리 방법론 21종을 동일 구조 카드로 비교.
|
||||
- 카드 구조: 창시자/등장 · 한 줄 정의 · 핵심 단위 · 절차 · 주요 도구 · 강점 · 약점 · 잘 맞는 사람 · Huberman 결합 적합도 · 참고.
|
||||
- 클래식(Franklin/GTD/Ivy Lee/Eat That Frog/Eisenhower/Pomodoro), 모던 습관(Atomic Habits/Tiny Habits/Don't Break the Chain/Power of Habit), 노트결합(Bullet Journal/PARA/Zettelkasten), 시간운영(Deep Work/Timeboxing/1-3-5/MIT/Personal Kanban), 목표관리(OKR/WOOP/Implementation Intentions) 포함.
|
||||
- 끝에 비교 매트릭스, 추천 조합 5종, Huberman 적합 Top 3 (Tiny Habits / Time Blocking / Implementation Intentions), 출처 목록.
|
||||
- 모든 창시자·연도·책 제목은 WebSearch로 검증함. 미검증 항목(Don't Break the Chain, Ivy Lee 일화)은 문서 말미 "주의" 섹션에 명시.
|
||||
|
||||
### huberman-protocols.md (기존)
|
||||
- Andy Huberman 프로토콜 v4 검증판. 7필드 구조(what/when/dose/why/how/check/refs).
|
||||
- habit-todo-methodologies.md의 "Huberman 결합 적합도" 평가 기준의 근거 문서.
|
||||
|
||||
## 사용자 작업 스타일 관찰
|
||||
- 동일 구조 카드/표 비교를 선호함 (huberman-protocols v4 7필드, methodologies 10필드).
|
||||
- 출처·연도·DOI 등 검증 가능한 근거를 명시 요구. 추측 금지·불확실은 Note로 표기.
|
||||
- 문서 끝에 비교 매트릭스 + 추천 조합 + Top 3 같은 "선택 가이드" 섹션을 즐겨 요청.
|
||||
- 한국어 본문 + 영문 원어/저자명 유지가 기본 톤.
|
||||
- 최종 산출물은 Write 툴로 직접 파일 생성 요청. 대화 응답은 짧은 한국어 요약만.
|
||||
155
SESSION-LOG.md
Normal file
155
SESSION-LOG.md
Normal file
@@ -0,0 +1,155 @@
|
||||
# life-helper 작업 로그
|
||||
|
||||
> 다음 세션 재개용. 메모리 인덱스(`~/.claude/projects/-Users-joungminko-claude-workspace-life-helper/memory/MEMORY.md`)와 함께 읽으면 전체 컨텍스트 복원 가능.
|
||||
|
||||
---
|
||||
|
||||
## TL;DR
|
||||
|
||||
Andrew Huberman 신경과학 프로토콜을 바탕으로 한 **개인 습관/체크리스트/투두 시스템** 설계 진행 중. SoT 문서 4개 (huberman / methodologies / breaking / nutrition) + JSON Schema 데이터 모델 18개 완료. **현재 dose variant(컨디션·환경별 도즈 변동) 설계 결정 대기 중** — PC 재부팅 후 여기서 재개.
|
||||
|
||||
---
|
||||
|
||||
## 현재 파일 트리
|
||||
|
||||
```
|
||||
life-helper/
|
||||
├── SESSION-LOG.md ← 본 문서
|
||||
├── MEMORY.md (사용자 메모리 인덱스 사본 — deprecated, 진짜 인덱스는 ~/.claude/projects/.../memory/MEMORY.md)
|
||||
│
|
||||
├── huberman-protocols.md (v4) — 29개 Huberman 원자 프로토콜. §1.9는 nutrition으로 이관됨 (stub)
|
||||
├── habit-todo-methodologies.md — 21개 방법론 + 지속가능성 가이드 + 5-Tier Reward + L0~L3 프레임
|
||||
├── habit-breaking-protocols.md — 끊기 8개 카테고리 + 공통 프레임 5개 + 의학적 면책
|
||||
│
|
||||
├── nutrition/ ← 식이 모듈 (별도 폴더)
|
||||
│ └── diet-protocols.md — 6개 원칙 + 5개 식이 패턴 + 한국 환경 + 한국어 해설자 빈 슬롯
|
||||
│
|
||||
└── schema/ ← JSON Schema 데이터 모델 18개
|
||||
├── _index.json (인덱스 + R1~R8 운영 규칙)
|
||||
├── enums.schema.json
|
||||
├── reference.schema.json
|
||||
├── (카탈로그 6) protocol, break_protocol, common_frame, methodology, frame_pattern, reward_menu_item
|
||||
└── (유저 10) user, phase, habit, if_then_rule, tracker_entry, lapse_log, urge_log, reward_declaration, reward_claim, reflection
|
||||
```
|
||||
|
||||
추가로 데이터 모델 설계 문서: `data-model.md` (위 schema의 entity 관계 + 운영 규칙 + 예시)
|
||||
|
||||
---
|
||||
|
||||
## 작업 흐름 (시간 순)
|
||||
|
||||
### Phase 1 — Huberman 프로토콜 SoT 구축
|
||||
1. Huberman의 명상·동기부여·습관·건강 전 자료를 마크다운으로 수집 → `huberman-protocols.md` v1
|
||||
2. "How to (실행 절차)" 통일 구조로 재작성 → v2 (옵션 B 선택, 7필드 통일)
|
||||
3. 모든 항목에 참고문헌(scalar) 추가 → v3
|
||||
4. 미확인 항목 웹 검색 매핑 검증 (33개 항목 검증, 8개 정정) → **v4 (현재 버전)**
|
||||
|
||||
### Phase 2 — 방법론 카탈로그
|
||||
5. 21개 유명 방법론 리서치 (Franklin/GTD/Pomodoro/Atomic Habits/Tiny Habits/Bullet Journal/PARA/Time Blocking/OKR/WOOP/Implementation Intentions 등)
|
||||
6. Atomic Habits를 "본 프로젝트 핵심 운영 엔진"으로 명시 + "질리지 않게 + 짧고 간단" 6 가드레일 추가
|
||||
7. 5-Tier Reward Ladder 추가 (T0~T4: 매일/3회 스트릭/주/월/6주). 사용자가 "3회 스트릭" micro-milestone을 직접 발명
|
||||
8. Lakoff 코끼리 회피 관점에서 L0/L1/L2/L3 언어 프레이밍 변환 추가
|
||||
|
||||
### Phase 3 — 끊기 모듈
|
||||
9. 일반 사용자 대상 끊고 싶은 행동 (AV/자위·담배·술·SNS·설탕·카페인·대마·행동중독) 리서치
|
||||
10. `habit-breaking-protocols.md` 신규 — 공통 프레임 5개 (Dopamine Reset / Urge Surf / Environment Design / Relapse Recovery / Recovery Stack) + 카테고리 8개 + 의학적 면책 + 한국 상담전화
|
||||
|
||||
### Phase 4 — 데이터 모델 (앱화)
|
||||
11. JSON Schema 형식 선택 (단일/멀티 둘 다 user_id 기반 호환)
|
||||
12. `data-model.md` 설계 문서 + `schema/*.json` 18개 작성
|
||||
13. 운영 규칙 R1~R8을 schema enum + application layer + UI 3층으로 강제
|
||||
|
||||
### Phase 5 — 식이 모듈 분리
|
||||
14. 식이를 별도 폴더로 이관: `nutrition/diet-protocols.md`. 폴더명은 사용자 제안 `health-eating` 대신 `nutrition` (학술 톤).
|
||||
15. `huberman-protocols.md` §1.9 stub만 남기고 nutrition으로 이관. §6 Daily Minimum 참조 경로 갱신.
|
||||
16. 한국 인플루언서(선시티5스타·최겸)는 §6 *사용자 채움 빈 슬롯*으로 처리 — 본 SoT의 peer-reviewed 톤 유지.
|
||||
|
||||
### Phase 6 — Dose Variant (진행 중, 재개 대기)
|
||||
17. 사용자 제안: "컨디션·환경별 도즈 옵션 (짐 vs 집, 컨디션 좋음 vs 나쁨)"
|
||||
18. AI 분석 완료 (BJ Fogg Tiny Habits 원전 호환, 본 시스템과 가드레일 친화 검증)
|
||||
19. **3개 옵션 + tiny 남용 방지 장치 AskUserQuestion 직전에 PC 재부팅 요청 → pending**
|
||||
|
||||
---
|
||||
|
||||
## 핵심 결정사항 (메모리 인덱스)
|
||||
|
||||
본 프로젝트의 모든 메모리는 `~/.claude/projects/-Users-joungminko-claude-workspace-life-helper/memory/MEMORY.md`에서 자동 로드됨. 6개 엔트리:
|
||||
|
||||
1. **life-helper 프로젝트 목표** (`project_life_helper_goal.md`)
|
||||
2. **지속가능성 & 최소 운영 원칙** (`feedback_sustainable_minimal.md`) — 6 가드레일
|
||||
3. **5-Tier Reward Ladder 채택** (`feedback_reward_ladder.md`) — 매일 보상 X, 누적 milestone ✓
|
||||
4. **언어 프레이밍 — 코끼리 회피** (`feedback_positive_framing.md`) — L2/L3 강제
|
||||
5. **습관 없애기(Break) 모듈** (`project_habit_breaking_module.md`)
|
||||
6. **데이터 모델 v1 결정사항** (`project_data_model_decisions.md`)
|
||||
7. **식이·영양 모듈** (`project_nutrition_module.md`)
|
||||
|
||||
**핵심 운영 가드레일 요약**:
|
||||
- 동시 active build habit ≤ 3 + active break habit ≤ 1
|
||||
- 일일 운영 ≤ 2분 (tracker 30~60초)
|
||||
- frame.level ∈ {L2, L3} (L0/L1 거부)
|
||||
- tracker_entry.value = done/blank 2값
|
||||
- phase = 6주 사이클, 중간 anchor 변동 X
|
||||
- reward는 매일 직후 X, 누적 milestone(T0~T4) ✓ + 사전 선언
|
||||
- "Never miss twice" (1회 결석은 데이터, 2회 연속이 패턴)
|
||||
- 끊기는 일반 사용자 대상. 임상 중독은 의료진 우선
|
||||
|
||||
---
|
||||
|
||||
## 진행 중 / 재개점 (Pending)
|
||||
|
||||
### Pending #1 — Dose Variant 설계 결정 (재개 1순위)
|
||||
|
||||
**문제**: 현재 `tracker_entry.value` = done/blank 2값. 사용자가 컨디션 나쁘거나 짐 못 갔을 때 풀 도즈 못 하면 blank → lapse → 자책 → abandonment 위험.
|
||||
|
||||
**제안**: habit당 dose variant 여러 개 등록 → 컨디션·환경에 맞춰 선택 → tiny variant로도 스트릭 유지.
|
||||
|
||||
**학술 근거**: BJ Fogg *Tiny Habits* "Recipe" 챕터 + Lally 2010 자동화 곡선 (빈도 > 강도) + Guise *Mini Habits* (2013).
|
||||
|
||||
**호환성 검토 완료**: 6 가드레일 모두 통과. Never miss twice 가드레일은 *오히려 강화*.
|
||||
|
||||
**결정 대기 옵션 (재개 시 사용자에게 다시 제시)**:
|
||||
|
||||
| 옵션 | 구조 | 평가 |
|
||||
|------|------|------|
|
||||
| **A. 표준 3단계 + 컨텍스트 태그** (Recommended) | level: tiny/normal/strong enum + context_tags 자유입력 (짐/집/출장) | 직관 + 교차 집계 + UI default=normal |
|
||||
| B. 자유 variant 배열 | level enum 없이 habit당 1~4개 variant 자유 정의 (label + dose_text + is_minimum) | 유연성 최대 |
|
||||
| C. 컨디션 × 컨텍스트 매트릭스 | 2축 독립 관리 | 가장 정밀하지만 가드레일 #2 위반 위험 |
|
||||
|
||||
**Tiny 남용 방지 옵션**:
|
||||
- a. 주간 알림만 (Recommended) — reflection에 "지난 주 normal 비율" 표시
|
||||
- b. 장치 없음
|
||||
- c. Streak 가중치 (tiny는 0.5x)
|
||||
|
||||
**작업 시 변경 위치 (옵션 A 채택 가정)**:
|
||||
1. `schema/habit.schema.json` — `dose_variants[]` 추가
|
||||
2. `schema/tracker_entry.schema.json` — `variant_id` 옵션 추가
|
||||
3. `schema/enums.schema.json` — `DoseVariantLevel` enum 추가
|
||||
4. `data-model.md` §3 R9 (variant ≤ 4) 추가
|
||||
5. SoT 마크다운 4개에 "도즈 변동" 가이드 짧게 추가
|
||||
6. 신규 메모리 `feedback_dose_variants.md`
|
||||
|
||||
### Pending #2 — 다음 단계 옵션 (Dose variant 후 진행)
|
||||
|
||||
- (A) `seed/*.json` — Huberman 29 + diet 6 + break 8 + methodology 21 카탈로그 데이터 채우기
|
||||
- (B) Ajv 등 schema 검증기
|
||||
- (C) UI 와이어프레임 (트래커 30초 화면)
|
||||
- (D) §6 한국어 해설자 빈 슬롯 채우기 (사용자 직접)
|
||||
- (E) 알림/cron 트리거 설계
|
||||
- (F) Apple Health / Google Fit 통합
|
||||
|
||||
---
|
||||
|
||||
## 재개 가이드 (다음 세션 시작 시 AI에게)
|
||||
|
||||
> "PC 재부팅 후 재개. `SESSION-LOG.md` 읽고 Pending #1 (dose variant) 결정부터 다시 물어봐 줘."
|
||||
|
||||
또는 더 간단히:
|
||||
|
||||
> "dose variant 디자인 결정부터 다시 시작하자."
|
||||
|
||||
AI는 자동으로 메모리 인덱스에서 운영 원칙(L2/L3, 6 가드레일, 5-Tier, ≤3 빌드+≤1 브레이크 등)을 로드함. 본 문서로 진행 흐름 보강.
|
||||
|
||||
---
|
||||
|
||||
**문서 생성일**: 2026-06-08
|
||||
**다음 재개 예상 작업**: Dose Variant 옵션 A/B/C 결정 → schema 확장 → 4개 SoT 마크다운에 가이드 추가
|
||||
250
data-model.md
Normal file
250
data-model.md
Normal file
@@ -0,0 +1,250 @@
|
||||
# life-helper 데이터 모델 (v1)
|
||||
|
||||
> **목적**: 본 프로젝트의 3개 마크다운 SoT(`huberman-protocols.md`, `habit-todo-methodologies.md`, `habit-breaking-protocols.md`)와 메모리 원칙(`feedback_sustainable_minimal.md`, `feedback_reward_ladder.md`, `feedback_positive_framing.md`)을 앱에서 쓸 수 있는 데이터 구조로 정형화.
|
||||
>
|
||||
> **선택된 형식**: JSON Schema (Draft 2020-12). SQL/TS 변환은 추후. user_id 기반 → 단일 사용자 local-first와 멀티 사용자 클라우드 모두 호환.
|
||||
>
|
||||
> **machine-readable schema**: `./schema/*.json` (엔티티별 분리)
|
||||
> **본 문서**: 엔티티 관계 + 설계 의도 + 운영 규칙 + 사용 예시
|
||||
|
||||
---
|
||||
|
||||
## §1. 엔티티 분류
|
||||
|
||||
### Catalog (read-only seed data, 앱에 번들)
|
||||
| 엔티티 | SoT 원본 | 설명 |
|
||||
|--------|---------|------|
|
||||
| `protocol` | `huberman-protocols.md` + `nutrition/diet-protocols.md` | 원자 프로토콜 (category로 health/meditation/motivation/habit/learning/diet 구분) |
|
||||
| `break_protocol` | `habit-breaking-protocols.md` §2 | 끊기 카테고리 8개 |
|
||||
| `common_frame` | `habit-breaking-protocols.md` §1 | 끊기 공통 프레임 5개 (Dopamine Reset 등) |
|
||||
| `methodology` | `habit-todo-methodologies.md` | 21개 습관/투두 방법론 |
|
||||
| `frame_pattern` | 동 문서 §"언어 프레이밍" | L0→L1/L2/L3 변환 예시 |
|
||||
| `reward_menu_item` | 동 문서 §"리워드 시스템" | 추천 보상 메뉴 |
|
||||
| `reference` | 모든 SoT의 출처 필드 | DOI/URL/책 인용 |
|
||||
|
||||
### User Data (사용자가 생성·변경)
|
||||
| 엔티티 | 설명 | 핵심 제약 |
|
||||
|--------|------|----------|
|
||||
| `user` | 사용자 (단일/멀티 호환) | `id` 필수 |
|
||||
| `phase` | 6주 사이클 1개 | user당 동시 active 1개 |
|
||||
| `habit` | 사용자 습관 (build 또는 break) | active build ≤ 3, active break ≤ 1 |
|
||||
| `tracker_entry` | 일일 ○/공백 체크 | (habit_id, date) unique |
|
||||
| `if_then_rule` | Implementation Intentions | habit당 ≤ 3개 권장 |
|
||||
| `lapse_log` | LEARN 5필드 (재발 일지) | break 습관 위주 |
|
||||
| `urge_log` | 충동 발생/통과 기록 (선택) | break 습관 위주 |
|
||||
| `reward_declaration` | 사전 선언 보상 (T0~T4) | phase 시작 시점에만 |
|
||||
| `reward_claim` | 실제 milestone 달성 기록 | declaration 참조 |
|
||||
| `reflection` | 주/월 회고 텍스트 | 자유 |
|
||||
|
||||
---
|
||||
|
||||
## §2. 관계 다이어그램
|
||||
|
||||
```
|
||||
user (1)
|
||||
├─< phase (n) -- 시점별 6주 사이클
|
||||
│ └─< reward_declaration (n) -- 이 phase 동안의 T0~T4 사전 선언
|
||||
│
|
||||
└─< habit (n)
|
||||
├── protocol_id or break_protocol_id (catalog 참조, XOR)
|
||||
├── frame {level, original_text, framed_text} -- L2 또는 L3 강제
|
||||
├── anchor {when, after_what, where} -- Tiny Habits
|
||||
├── stack_position -- after-this-then-that 순서 (선택)
|
||||
├─< if_then_rule (n)
|
||||
├─< tracker_entry (n, daily)
|
||||
├─< lapse_log (n) -- break 위주
|
||||
├─< urge_log (n, 선택) -- break 위주
|
||||
└─< reward_claim (n) -- milestone 달성 시
|
||||
```
|
||||
|
||||
**catalog 측**:
|
||||
```
|
||||
protocol ──< protocol_reference >── reference (M:N)
|
||||
break_protocol ──< break_reference >── reference
|
||||
methodology ──< methodology_reference >── reference
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## §3. 운영 규칙 (DB level constraint로 적용)
|
||||
|
||||
본 프로젝트 메모리에서 도출된 가드레일을 schema에 박는다.
|
||||
|
||||
| ID | 규칙 | 적용 위치 | 출처 |
|
||||
|----|------|----------|------|
|
||||
| R1 | `user`당 동시 active build habit ≤ 3 | `habit.status='active' AND type='build'` 집계 | `feedback_sustainable_minimal.md` |
|
||||
| R2 | `user`당 동시 active break habit ≤ 1 | `habit.status='active' AND type='break'` 집계 | `project_habit_breaking_module.md` |
|
||||
| R3 | `habit.frame.level` ∈ {`L2`, `L3`} 강제 (L0 거부) | enum 제약 | `feedback_positive_framing.md` |
|
||||
| R4 | `reward_declaration`은 `phase.started_at` 후 7일 안에만 생성 | timestamp 검증 | `feedback_reward_ladder.md` (사전성) |
|
||||
| R5 | `tracker_entry.value` ∈ {`done`, `blank`} 2값만 | enum (×·이모지 X) | 6 가드레일 #6 |
|
||||
| R6 | `phase.duration_weeks` = 6 (default), 6주 전 anchor 변동 X | 변경 시 warning | 6 가드레일 #5 |
|
||||
| R7 | `if_then_rule.then_action` 회피 키워드 감지 시 warning | 클라이언트 검증 | 코끼리 회피 UX |
|
||||
| R8 | `habit` 일일 운영 ≤ 2분 (tracker UI 30~60초) | UX 제약 (DB X) | 6 가드레일 #2 |
|
||||
|
||||
---
|
||||
|
||||
## §4. 핵심 enum 정의
|
||||
|
||||
```yaml
|
||||
HabitType: ["build", "break"]
|
||||
HabitStatus: ["active", "paused", "completed", "abandoned"]
|
||||
FrameLevel: ["L0", "L1", "L2", "L3"] # L0/L1은 입력 차단 (warning + 변환 제안)
|
||||
TrackerValue: ["done", "blank"] # ○/공백 2값
|
||||
RewardTier: ["T0", "T1", "T2", "T3", "T4"]
|
||||
# T0=매일 / T1=3회 스트릭 / T2=7일 / T3=30일 / T4=42일(6주)
|
||||
LapseFieldHALT: ["hungry", "angry", "lonely", "tired", "none"]
|
||||
ProtocolCategory: ["health", "meditation", "motivation", "habit", "learning", "diet"]
|
||||
# huberman-protocols.md §1~§5 + nutrition/diet-protocols.md (별도 모듈)
|
||||
BreakCategory: ["alcohol", "nicotine", "porn_masturbation",
|
||||
"social_media", "sugar", "caffeine", "cannabis", "behavioral"]
|
||||
CommonFrameId: ["dopamine_reset", "urge_surf",
|
||||
"environment_design", "relapse_recovery", "recovery_stack"]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## §5. JSON Schema 파일 목록 (`./schema/`)
|
||||
|
||||
### Catalog
|
||||
- `protocol.schema.json` — Huberman atomic protocol
|
||||
- `break_protocol.schema.json` — 끊기 카테고리
|
||||
- `common_frame.schema.json` — 끊기 공통 프레임 5개
|
||||
- `methodology.schema.json` — 21개 방법론
|
||||
- `frame_pattern.schema.json` — L0→L2/L3 변환표
|
||||
- `reward_menu_item.schema.json` — 보상 메뉴
|
||||
- `reference.schema.json` — DOI/URL/책
|
||||
|
||||
### User
|
||||
- `user.schema.json`
|
||||
- `phase.schema.json`
|
||||
- `habit.schema.json`
|
||||
- `if_then_rule.schema.json`
|
||||
- `tracker_entry.schema.json`
|
||||
- `lapse_log.schema.json`
|
||||
- `urge_log.schema.json`
|
||||
- `reward_declaration.schema.json`
|
||||
- `reward_claim.schema.json`
|
||||
- `reflection.schema.json`
|
||||
|
||||
### 메타
|
||||
- `enums.schema.json` — 위 §4 enum 통합 정의 ($ref로 재사용)
|
||||
- `_index.json` — 전체 스키마 인덱스 + 운영 규칙 메타
|
||||
|
||||
---
|
||||
|
||||
## §6. 사용 예시 (단일 사용자, build 습관 1개)
|
||||
|
||||
### habit (build, L2 프레임)
|
||||
```json
|
||||
{
|
||||
"id": "hb_01J9...",
|
||||
"user_id": "u_local_default",
|
||||
"type": "build",
|
||||
"status": "active",
|
||||
"title": "아침 햇빛 10분",
|
||||
"protocol_id": "huberman_1_1_morning_sunlight",
|
||||
"break_protocol_id": null,
|
||||
"frame": {
|
||||
"level": "L2",
|
||||
"original_text": "햇빛 안 빼먹기",
|
||||
"framed_text": "기상 직후 야외에서 햇빛 10분 받기"
|
||||
},
|
||||
"anchor": {
|
||||
"when": "06:30",
|
||||
"after_what": "기상 직후",
|
||||
"where": "현관 앞 야외"
|
||||
},
|
||||
"if_then_rules": [
|
||||
{ "if": "비 오는 날이면", "then": "20분으로 늘려서 우산 쓰고 나간다" }
|
||||
],
|
||||
"started_at": "2026-06-04",
|
||||
"phase_id": "ph_2026Q2_1",
|
||||
"stack_position": 1
|
||||
}
|
||||
```
|
||||
|
||||
### tracker_entry (일일)
|
||||
```json
|
||||
{ "id": "te_...", "habit_id": "hb_01J9...", "date": "2026-06-04", "value": "done", "logged_at": "2026-06-04T06:42:00+09:00" }
|
||||
```
|
||||
|
||||
### reward_declaration (phase 시작 시 사전 선언)
|
||||
```json
|
||||
{
|
||||
"id": "rd_...",
|
||||
"phase_id": "ph_2026Q2_1",
|
||||
"habit_id": "hb_01J9...",
|
||||
"tier": "T3",
|
||||
"milestone_rule": "30일 중 24일 이상 done",
|
||||
"reward_text": "주말 1박 단기 여행",
|
||||
"estimated_cost_krw": 150000,
|
||||
"declared_at": "2026-06-04T20:00:00+09:00"
|
||||
}
|
||||
```
|
||||
|
||||
### habit (break, L3 프레임)
|
||||
```json
|
||||
{
|
||||
"id": "hb_brk_01...",
|
||||
"user_id": "u_local_default",
|
||||
"type": "break",
|
||||
"status": "active",
|
||||
"title": "평일 무알콜",
|
||||
"protocol_id": null,
|
||||
"break_protocol_id": "alcohol",
|
||||
"common_frame_ids": ["dopamine_reset", "environment_design", "recovery_stack"],
|
||||
"frame": {
|
||||
"level": "L3",
|
||||
"original_text": "술 끊기",
|
||||
"framed_text": "나는 평일 무알콜인 사람이다"
|
||||
},
|
||||
"anchor": { "when": "18:00", "after_what": "퇴근", "where": "집 거실" },
|
||||
"phase_id": "ph_2026Q2_1"
|
||||
}
|
||||
```
|
||||
|
||||
### lapse_log (LEARN 5)
|
||||
```json
|
||||
{
|
||||
"id": "ll_...",
|
||||
"habit_id": "hb_brk_01...",
|
||||
"date": "2026-06-10",
|
||||
"label_text": "회식에서 맥주 2잔. 데이터로 처리.",
|
||||
"examine_halt": ["tired", "lonely"],
|
||||
"antecedent": ["회식 자리", "20시 늦은 식사", "동료 권유"],
|
||||
"replan": "If 회식 공지 받으면, then 첫잔 무알콜 사전 선언 + 동료에게 알림",
|
||||
"next_action": "다음 평일은 즉시 정상 진행. Never miss twice."
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## §7. 단일 vs 멀티 사용자 호환 전략
|
||||
|
||||
- 모든 user data 엔티티에 `user_id` 필수 필드.
|
||||
- 단일 사용자 local 앱: `user_id = "u_local_default"` 고정.
|
||||
- 클라우드 멀티 사용자: auth 서비스의 sub/uid를 그대로 `user_id`로 매핑.
|
||||
- catalog 엔티티에는 `user_id` 없음 (모든 사용자 공유).
|
||||
- ID 형식: ULID 권장 (`hb_01J9...`). prefix는 엔티티 타입.
|
||||
|
||||
---
|
||||
|
||||
## §8. 마이그레이션 노트
|
||||
|
||||
- v1은 minimal viable. 다음 항목은 v2 이후 고려:
|
||||
- `habit_stack` (Atomic Habits #5 — 여러 habit 묶음 운영)
|
||||
- `dashboard_preference` (사용자별 트래커 UI 옵션)
|
||||
- `notification_rule` (알림/cron 트리거)
|
||||
- `social_link` (Recovery Stack의 "1-person check-in" 파트너)
|
||||
- `integration_*` (Apple Health / Google Fit / Notion sync)
|
||||
- enum 추가는 backward compatible. enum 제거/이름 변경은 마이그레이션 스크립트 필수.
|
||||
|
||||
---
|
||||
|
||||
## §9. 다음 단계 제안
|
||||
|
||||
1. 본 문서 + `./schema/*.json` 리뷰.
|
||||
2. seed catalog 데이터 채우기 (Huberman 29개 + break 8개 + methodology 21개) — `./seed/*.json`.
|
||||
3. 검증기(Ajv 등)로 schema 적합성 확인.
|
||||
4. UI 와이어프레임 (트래커 30초, 대시보드 1화면 등) — 별도 문서.
|
||||
5. 백엔드 결정 (SQLite local-first 권장 → 추후 Supabase 등으로 확장).
|
||||
479
habit-breaking-protocols.md
Normal file
479
habit-breaking-protocols.md
Normal file
@@ -0,0 +1,479 @@
|
||||
# 습관 없애기 프로토콜 (Habit-Breaking Protocols)
|
||||
|
||||
> **목적**: 본 프로젝트의 "습관 만들기(build)"와 한 쌍을 이루는 "습관 없애기(break)" 모듈. 일반 사용자가 자주 줄이거나 끊고 싶어 하는 행동(알코올·니코틴·포르노/자위·SNS·설탕·카페인·대마·행동중독)을 Andrew Huberman의 신경과학 기반 프로토콜 + 검증된 임상 도구로 다룬다.
|
||||
>
|
||||
> **사용 원칙**:
|
||||
> 1. **언어**: 모든 목표는 회피형("X 끊기") 금지 → **L2 조건부 긍정** 또는 **L3 정체성** 프레임으로 변환. (`habit-todo-methodologies.md` §"언어 프레이밍" 참조)
|
||||
> 2. **리워드**: 매일 직후 강한 외부 보상 ❌. **누적 milestone** (3회 스트릭/7일/30일/6주) ✅. (`habit-todo-methodologies.md` §"리워드 시스템" 참조)
|
||||
> 3. **지속가능성**: 동시 끊기 ≤ 1개 권장 (만들기 3개와 별도). 일일 운영 ≤ 2분. (`feedback_sustainable_minimal.md`)
|
||||
> 4. **의학적 응급은 본 문서가 다루지 않음**. §4 의학적 면책 반드시 확인.
|
||||
>
|
||||
> **검증**: 모든 인용은 Huberman Lab Podcast (hubermanlab.com) 에피소드와 peer-reviewed 논문(DOI/PubMed) 기반. 미검증 항목은 ⚠️ 표시.
|
||||
|
||||
---
|
||||
|
||||
## §0. 본 모듈의 위치
|
||||
|
||||
| 본 프로젝트 | 만들기 (Build) | 없애기 (Break) |
|
||||
|------------|---------------|---------------|
|
||||
| **SoT (Huberman 프로토콜)** | `huberman-protocols.md` | **본 문서** |
|
||||
| **SoT (식이·영양)** | `nutrition/diet-protocols.md` | 설탕 §2.5 / 카페인 §2.6 (본 문서) |
|
||||
| **방법론·운영** | `habit-todo-methodologies.md` | 본 문서 §3에서 연결 |
|
||||
| **메모리** | `feedback_sustainable_minimal.md`, `feedback_reward_ladder.md`, `feedback_positive_framing.md` | `project_habit_breaking_module.md` (본 모듈 메타) |
|
||||
|
||||
**핵심 차이점**:
|
||||
- 만들기는 *마찰을 낮춰 반복*시키고, 없애기는 *마찰을 높여 반복을 끊는다*. → Atomic Habits 4법칙의 **역적용** (Invisible/Unattractive/Difficult/Unsatisfying).
|
||||
- 만들기는 도파민 baseline 보호, 없애기는 도파민 baseline **복구**가 1순위 (Anna Lembke).
|
||||
|
||||
---
|
||||
|
||||
## §1. 공통 프레임 5개 — 무엇을 끊든 먼저 깔아야 할 토대
|
||||
|
||||
### §1.1 도파민 리셋 (Dopamine Fast/Reset)
|
||||
|
||||
**무엇을**: 30일간 표적 행동(및 관련 자극)을 완전 제거하여 D2/D3 수용체 민감도와 도파민 baseline을 회복.
|
||||
|
||||
**왜**: 중독성 자극은 베이스라인 도파민의 **상대적 결손(deficit)** 을 만든다 (pleasure-pain balance). 며칠로는 부족하고 **약 4주**가 인간에서 baseline 복원 평균치 (Lembke). 첫 10~14일이 가장 힘들다 (withdrawal peak).
|
||||
|
||||
**얼마나**: 최소 30일 연속. 1회 lapse 시 카운트 리셋 권장(엄격) 또는 "Never miss twice"만 적용(완화) — 사용자가 사전 선택.
|
||||
|
||||
**절차**:
|
||||
1. **D-3일**: 모든 트리거(앱·물건·계정·구독·접근권) 사전 제거 또는 차단.
|
||||
2. **D-1일**: If-Then 카드 3개 작성. 예: "If 평일 22시 충동, then 30분 산책 + 차가운 물 한 잔."
|
||||
3. **D1~D14**: 매일 1회 짧은 NSDR (10~20분, Huberman 권장) — withdrawal기 자율신경 안정.
|
||||
4. **D15~D30**: T1(3회 스트릭)·T2(주) 마일스톤 보상 적용.
|
||||
5. **D31**: 재평가. (a) 영구 단절, (b) 의식적 재도입(다른 변수·맥락에서), (c) 연장 중 선택.
|
||||
|
||||
**체크**: ○/공백 2값 트래커. 매일 30초.
|
||||
|
||||
**참고**:
|
||||
- Lembke A. (2021) *Dopamine Nation*. Dutton.
|
||||
- Huberman Lab Podcast Ep "Anna Lembke: Understanding & Treating Addiction" (게스트 인터뷰)
|
||||
- Volkow ND et al. (2009) "Imaging dopamine's role in drug abuse and addiction." *Neuropharmacology*. DOI: 10.1016/j.neuropharm.2008.05.022
|
||||
|
||||
---
|
||||
|
||||
### §1.2 충동 서핑 (Urge Surfing)
|
||||
|
||||
**무엇을**: 충동을 *억누르거나 싸우지 않고* 파도처럼 관찰하며 통과시킨다. 평균 충동의 신경학적 peak는 **90초~몇 분**이며 능동적 거부 없이 흘러간다.
|
||||
|
||||
**왜**: 사고 억제(suppression)는 ironic process로 충동 강도를 키운다 (Wegner). 관찰 기반 수용(mindfulness-based)이 재발률을 유의하게 낮춤 (Bowen 2014, Witkiewitz et al. 2013).
|
||||
|
||||
**얼마나**: 1회 90초~5분. 하루 충동 발생 횟수만큼.
|
||||
|
||||
**절차**:
|
||||
1. 충동 인지 → 멈춤. "지금 충동 한 파도가 왔다"고 라벨링.
|
||||
2. 신체 감각 스캔: 어디에 느낌이 있나? (가슴·목·복부·손) 강도 0~10.
|
||||
3. 호흡 5회 — Huberman의 **cyclic sighing**(이중 들숨 + 긴 날숨) 권장 (Balban 2023, *Cell Reports Medicine*).
|
||||
4. 60~90초 관찰. 강도 재측정. 보통 절반 이하로 감소.
|
||||
5. 사전 If-Then 행동으로 전환 (산책, 물 마시기, 사람에게 메시지 등).
|
||||
|
||||
**체크**: 트래커에 "충동 N회 / 통과 N회" 기록. 비율이 시간 따라 상승.
|
||||
|
||||
**참고**:
|
||||
- Bowen S et al. (2014) "Relative efficacy of mindfulness-based relapse prevention." *JAMA Psychiatry*. DOI: 10.1001/jamapsychiatry.2013.4546
|
||||
- Marlatt GA, Gordon JR (1985) *Relapse Prevention*. Guilford.
|
||||
- Balban MY et al. (2023) "Brief structured respiration practices enhance mood and reduce physiological arousal." *Cell Reports Medicine*. DOI: 10.1016/j.xcrm.2022.100895
|
||||
|
||||
---
|
||||
|
||||
### §1.3 환경 디자인 (Environment Design / Self-Binding)
|
||||
|
||||
**무엇을**: 충동에 의지하지 않고 **물리·디지털 환경**에서 표적 행동의 마찰을 극대화 (Atomic Habits 4법칙 역적용: Invisible · Difficult).
|
||||
|
||||
**왜**: 의지력은 한정 자원이며 환경이 행동을 결정하는 비율이 훨씬 크다 (Wood & Neal 2007). Lembke의 self-binding = 미래 자신을 보호하기 위해 현재 자신이 장벽을 설계.
|
||||
|
||||
**얼마나**: 한 번 세팅 + 분기 1회 점검.
|
||||
|
||||
**절차 (카테고리별)**:
|
||||
- **물질(술/담배/대마)**: 집·차에서 완전 제거 + 단골 매장 변경 + 동거인에게 알림.
|
||||
- **포르노/자위**: DNS 차단(예: NextDNS·Cloudflare Family) + 라우터 레벨 + 침실에서 단말 분리.
|
||||
- **SNS/숏폼**: 앱 삭제(웹만 사용) + 스크린타임 제한 + 홈스크린 1페이지 화이트리스트 + 흑백 모드.
|
||||
- **설탕**: 집·책상에서 제거 + 식료품은 식후에만 구매 + 충동 시 단백질 30g 먼저.
|
||||
- **카페인**: 디카페인 옵션 항상 가시 + 14시 이후 카페인 무자동 (kitchen rule).
|
||||
|
||||
**체크**: "환경 점수" 자가 평가 (1-5). 매주 1회.
|
||||
|
||||
**참고**:
|
||||
- Wood W, Neal DT (2007) "A new look at habits and the habit-goal interface." *Psychological Review*. DOI: 10.1037/0033-295X.114.4.843
|
||||
- Clear J (2018) *Atomic Habits* Ch.14-16.
|
||||
- Lembke (2021) *Dopamine Nation* Ch.6 ("Self-Binding").
|
||||
|
||||
---
|
||||
|
||||
### §1.4 재발 복구 프로토콜 (Relapse Recovery)
|
||||
|
||||
**무엇을**: 1회 lapse를 *재앙화하지 않고* 데이터로 처리해 다음 24시간 안에 복귀.
|
||||
|
||||
**왜**: AVE(Abstinence Violation Effect, Marlatt) — "한 번 무너졌으니 끝났다" 인지가 본격 폭주로 이어지는 진짜 원인. 1회는 데이터, 2회 연속이 패턴.
|
||||
|
||||
**얼마나**: lapse 후 24시간 안에 5단계 완료.
|
||||
|
||||
**절차 (LEARN 프레임)**:
|
||||
1. **L**abel — "lapse 발생. 실패가 아닌 데이터." (자기비판 차단)
|
||||
2. **E**xamine — 직전 HALT 체크: **H**ungry · **A**ngry · **L**onely · **T**ired 중 무엇이 있었나?
|
||||
3. **A**ntecedent — 트리거 3개 적기 (시간/장소/사람/감정/직전 행동).
|
||||
4. **R**eplan — If-Then 1개 추가 또는 환경 디자인 1개 추가.
|
||||
5. **N**ext — 다음 1회 즉시 실행(같은 시간대 또는 24시간 안). "Never miss twice."
|
||||
|
||||
**체크**: lapse 일지 (날짜 + LEARN 5칸). 월 1회 패턴 리뷰.
|
||||
|
||||
**참고**:
|
||||
- Marlatt GA, Donovan DM (2005) *Relapse Prevention* 2nd ed. Guilford.
|
||||
- Witkiewitz K, Marlatt GA (2004) "Relapse prevention for alcohol and drug problems." *American Psychologist*. DOI: 10.1037/0003-066X.59.4.224
|
||||
|
||||
---
|
||||
|
||||
### §1.5 회복 스택 (Recovery Stack) — Huberman의 "회복용 기본 셋"
|
||||
|
||||
**무엇을**: 끊기 기간 동안 도파민 baseline 회복과 자율신경 안정을 동시에 지원하는 5종 행동 묶음.
|
||||
|
||||
**왜**: 끊기는 *결손*만 만들지 않게 하려면 *충전원*이 필요. Huberman의 자연 도파민 부스터들은 baseline을 깎지 않고 받쳐줌.
|
||||
|
||||
**일일 5종 (Huberman 권장 강도, 끊기 기간 default)**:
|
||||
1. **아침 햇빛 10~30분** — 도파민·코티솔 정상화 (Ep "Toolkit for Sleep" #84 외 다수).
|
||||
2. **운동(Zone 2 30분 or 근력 20분)** — BDNF·도파민·세로토닌.
|
||||
3. **저녁 NSDR/Yoga Nidra 10~20분** — Winkelman 2024 RCT 및 Huberman 권장.
|
||||
4. **Cyclic sighing 5분/일** — Balban 2023 RCT, 자율신경 안정·기분 개선.
|
||||
5. **소셜 컨택 1회** — Lembke의 "honest 1-person check-in" — radical honesty가 회복률 예측인자.
|
||||
|
||||
**체크**: 5칸 일일 트래커. 끊기 기간 동안만.
|
||||
|
||||
**참고**:
|
||||
- Winkelman MF et al. (2024) "Yoga Nidra Practice Modulates Sleep" — peer-reviewed RCT
|
||||
- Balban MY et al. (2023) *Cell Reports Medicine* — cyclic sighing
|
||||
- Huberman Lab Podcast — multiple episodes on sunlight, NSDR, exercise
|
||||
|
||||
---
|
||||
|
||||
## §2. 카테고리별 프로토콜 (8개)
|
||||
|
||||
> ⚠️ **공통 면책**: 아래는 *가벼운~중간 정도*의 줄이기/끊기에 해당. 신체적 의존이 형성된 알코올·니코틴·벤조 사용자는 §4 의학적 면책 먼저 확인.
|
||||
|
||||
### §2.1 알코올 (Alcohol)
|
||||
|
||||
**Huberman 핵심 메시지** (Ep "What Alcohol Does to Your Body, Brain & Health"):
|
||||
- "안전한 음주량은 없다" — 주당 ≥ 2잔에서도 회백질 감소 등 측정 가능한 변화 (Topiwala 2017, Daviet 2022).
|
||||
- 코티솔 baseline 상승, REM 수면 파괴, 장-뇌축 손상.
|
||||
|
||||
**L2 프레임 예시**:
|
||||
- ❌ "술 끊기"
|
||||
- ✅ "평일 저녁 21시 이후 **탄산수 + 라임** 의식"
|
||||
- ✅ "회식 시 **첫 잔 무알콜**로 시작하기"
|
||||
- ✅ (L3) "나는 평일 무알콜인 사람이다"
|
||||
|
||||
**프로토콜 (4주 단계식)**:
|
||||
| 주 | 목표 | 환경 디자인 | If-Then |
|
||||
|----|------|------------|---------|
|
||||
| 1 | 주간 잔 수 50% 감축 | 집에 술 1병만 보관 | If 18시, then 탄산수+라임 |
|
||||
| 2 | 평일 0잔 | 평일용 무알콜 음료 5종 준비 | If 회식, then 첫잔 무알콜 |
|
||||
| 3 | 주말 1일만, ≤ 2잔 | 술 → 작은 잔으로 교체 | If 두 잔째 충동, then 90초 urge surf |
|
||||
| 4 | 30일 전체 0잔 (도파민 리셋) | 모든 술 집 밖으로 | If 결혼식 등, then 사전 계획 |
|
||||
|
||||
**의학적 경고**: 매일 다량 음주자(예: 일일 ≥ 4-5잔 × 수년)의 **갑작스러운 중단**은 진전·발작·DT로 사망 가능. 반드시 의사 감독 하 점진 감량.
|
||||
|
||||
**참고**:
|
||||
- Topiwala A et al. (2017) "Moderate alcohol consumption as risk factor for adverse brain outcomes and cognitive decline." *BMJ*. DOI: 10.1136/bmj.j2353
|
||||
- Daviet R et al. (2022) "Associations between alcohol consumption and gray and white matter volumes in the UK Biobank." *Nature Communications*. DOI: 10.1038/s41467-022-28735-5
|
||||
- Huberman Lab Podcast "What Alcohol Does to Your Body, Brain & Health"
|
||||
|
||||
---
|
||||
|
||||
### §2.2 니코틴 (담배·전자담배·파우치)
|
||||
|
||||
**Huberman 핵심 메시지** (Ep "Nicotine's Effects on the Brain & Body; How to Quit Smoking & Vaping"):
|
||||
- 니코틴 자체는 인지 부스터지만 **전달체(담배·vape)** 의 독성과 도파민 강화 곡선이 문제.
|
||||
- Quit aids 효과 순위: **Varenicline > NRT 조합 > NRT 단독 > 의지력 단독** (Cochrane 메타분석).
|
||||
|
||||
**L2 프레임 예시**:
|
||||
- ❌ "담배 끊기"
|
||||
- ✅ "휴식 시간엔 **밖에서 5분 호흡 + 햇빛**"
|
||||
- ✅ (L3) "나는 폐가 깨끗한 러너다"
|
||||
|
||||
**프로토콜 (Huberman + 임상 표준)**:
|
||||
1. **Quit Date 정하기** — 2~4주 후. 그 사이 트리거 매핑.
|
||||
2. **약물 보조 고려** — 의사 상담 후: Varenicline (Champix), Bupropion, NRT (패치+껌 조합).
|
||||
3. **트리거 대체** — Huberman 권고: 식후·운전·커피와의 페어링을 cyclic sighing 또는 짧은 산책으로 대체.
|
||||
4. **첫 72시간** — 최대 강도. NSDR + 운동 + 햇빛 풀스택.
|
||||
5. **2주~3개월** — 시간대별 충동 추적. 점진 감소.
|
||||
|
||||
**참고**:
|
||||
- Hartmann-Boyce J et al. (2023) "Pharmacological interventions for smoking cessation." *Cochrane Database*. DOI: 10.1002/14651858.CD013229.pub2
|
||||
- Huberman Lab Podcast "Nicotine's Effects on the Brain & Body; How to Quit Smoking & Vaping"
|
||||
|
||||
---
|
||||
|
||||
### §2.3 포르노 · 강박적 자위 (Pornography / Compulsive Masturbation)
|
||||
|
||||
**Huberman 핵심 메시지** (Ep "Controlling Your Dopamine for Motivation, Focus & Satisfaction"):
|
||||
- 초자극(supernormal stimuli)은 도파민 peak 후 baseline을 깎는다. **frequency · intensity · novelty** 세 축 모두를 동시에 제공하는 것이 문제.
|
||||
- 자위 자체는 일반적으로 정상 행동. 문제는 **빈도·강박성·기능 손상**.
|
||||
|
||||
**L2/L3 프레임 예시**:
|
||||
- ❌ "포르노/자위 끊기" (DSM 진단 아닌 한 "강박적 사용 줄이기"로 표현)
|
||||
- ✅ "주말 아침 운동 후 1회까지" (개인 합의된 빈도)
|
||||
- ✅ "혼자만의 시간엔 **샤워 + 독서 30분**"
|
||||
- ✅ (L3) "나는 실제 친밀감을 우선하는 사람이다"
|
||||
|
||||
**프로토콜 (단계식, novelty 제거 중심)**:
|
||||
| 단계 | 행동 | 근거 |
|
||||
|------|------|------|
|
||||
| 1 | DNS 필터(NextDNS Family) + 라우터 레벨 차단 | Environment design |
|
||||
| 2 | 침실 디바이스 분리 (충전은 거실) | Trigger 제거 |
|
||||
| 3 | 30일 dopamine reset (절제) | §1.1 |
|
||||
| 4 | "novelty" 자극 영구 차단, 본인 관계 또는 단순 자기자극만 의식적 재도입 | Huberman §"frequency·intensity·novelty" |
|
||||
| 5 | 6주 후 본인 합의된 빈도로 안정화 | T4 milestone |
|
||||
|
||||
**충동 발생 시 (Urge Surf 응용)**:
|
||||
1. 라벨 → 2. 90초 호흡 → 3. 위치 이동 (디바이스에서 물리적으로 떨어짐) → 4. 사전 If-Then 행동.
|
||||
|
||||
**도구**:
|
||||
- DNS: NextDNS · Cloudflare 1.1.1.1 for Families · CleanBrowsing
|
||||
- 시스템: iOS Screen Time · Android Family Link · Cold Turkey
|
||||
- 책임 파트너 앱: Covenant Eyes · Accountable2You (선택)
|
||||
|
||||
**주의**: "no-fap" 류 커뮤니티의 비과학적 주장(테스토스테론 1000% 증가 등)은 근거 없음. Huberman은 absolute abstinence가 아닌 **자기조절·강박성 감소·관계 우선**을 강조.
|
||||
|
||||
**참고**:
|
||||
- Huberman Lab Podcast "Controlling Your Dopamine for Motivation, Focus & Satisfaction"
|
||||
- Kraus SW et al. (2016) "Should compulsive sexual behavior be considered an addiction?" *Addiction*. DOI: 10.1111/add.13297
|
||||
|
||||
---
|
||||
|
||||
### §2.4 SNS · 숏폼 · 스마트폰 강박
|
||||
|
||||
**Huberman 핵심 메시지** (도파민 에피소드 외):
|
||||
- 짧은 간격의 도파민 스파이크는 daytime baseline을 가장 빠르게 깎는다.
|
||||
- 숏폼은 unpredictable reward schedule로 가장 강한 학습 곡선.
|
||||
|
||||
**L2/L3 프레임**:
|
||||
- ❌ "SNS 끊기"
|
||||
- ✅ "출근길 30분 **오디오북 듣기**"
|
||||
- ✅ "취침 1시간 전 **종이책 10분**"
|
||||
- ✅ (L3) "나는 깊이 집중하는 사람이다"
|
||||
|
||||
**프로토콜 (1주차부터 단계)**:
|
||||
1. **앱 → 웹만** 사용 (Instagram·TikTok·YouTube 숏폼 앱 삭제).
|
||||
2. **홈스크린 1페이지 화이트리스트** (8개 이하, 다 도구 앱).
|
||||
3. **흑백 모드** 상시 (Settings → Accessibility → Color Filters).
|
||||
4. **스크린타임 한도**: 카테고리별 일일 30분 → 2주마다 -10분.
|
||||
5. **물리적 분리**: 침실 외부 충전, 책상에서 1m 이상.
|
||||
6. **대체 dopamine source 스택** (§1.5).
|
||||
|
||||
**충동 시 If-Then**:
|
||||
- If 손이 폰으로 가면, then **3회 깊은 호흡 후 의도 라벨링** ("정보 검색? 지루함? 불안?"). 정보 검색만 통과.
|
||||
|
||||
**참고**:
|
||||
- Allcott H et al. (2020) "The Welfare Effects of Social Media." *American Economic Review*. DOI: 10.1257/aer.20190658
|
||||
- Huberman Lab Podcast — multiple episodes on dopamine and digital media
|
||||
|
||||
---
|
||||
|
||||
### §2.5 설탕 · 초가공 식품 (Sugar / Ultra-processed Food)
|
||||
|
||||
> **만들기 짝**: 식이 *채우기* 관점은 `nutrition/diet-protocols.md` §1.2 (정제당 최소) + §1.1 (단백질 우선)으로 보완.
|
||||
|
||||
**Huberman 핵심 메시지** (Ep on sugar/fructose):
|
||||
- 액상 과당이 가장 강하게 도파민·간 대사 동시 타격.
|
||||
- 설탕 자극은 단백질·지방으로 *대체 가능* — 포만감 신호 자체가 잘 살아남.
|
||||
|
||||
**L2/L3 프레임**:
|
||||
- ❌ "과자 끊기" / "단 거 끊기"
|
||||
- ✅ "오후 3시엔 **그릭요거트 + 베리**" (단맛 + 단백질 + 폴리페놀)
|
||||
- ✅ "디저트는 **외식 시에만 나눠 먹기**"
|
||||
- ✅ (L3) "나는 인슐린 감수성 좋은 사람"
|
||||
|
||||
**⚠️ 한계**: 사용자 본인이 제기한 통찰 — *"과자 대신 견과류도 결국 견과류"* → 단순 식품 대체로는 **단맛의 뇌 보상**이 활성화될 수 있음. 따라서:
|
||||
- L1 (식품 대체) — 임시
|
||||
- **L2 (시간·맥락 + 식품 + 동반 단백질·섬유)** — 권장
|
||||
- **L3 (정체성 프레임)** — 6주 후 전환
|
||||
|
||||
**프로토콜**:
|
||||
1. **단백질-우선 30g**: 충동 시 단백질 30g 먼저 → 15분 대기 → 그래도 원하면 의식적 소량.
|
||||
2. **액상 과당 0순위 제거**: 주스·소다·시럽 라떼 first kill.
|
||||
3. **집·책상 가시성 제거**: 보이지 않으면 70% 감소.
|
||||
4. **장보기 룰**: 식후에만, 리스트만, 외곽(신선식품) 우선.
|
||||
5. **30일 reset 후 의식적 재도입** (예: 주 1회 외식 디저트).
|
||||
|
||||
**참고**:
|
||||
- Lustig RH et al. (2016) "Isocaloric fructose restriction and metabolic improvement." *Obesity*. DOI: 10.1002/oby.21371
|
||||
- Huberman Lab Podcast on sugar/fructose
|
||||
|
||||
---
|
||||
|
||||
### §2.6 카페인 의존 (Caffeine Dependence)
|
||||
|
||||
> **만들기 짝**: 카페인 *전략적 사용*과 수면·시점은 `../huberman-protocols.md` §1.5 (카페인 컷오프) + `nutrition/diet-protocols.md` §1.5 (식사·각성제 타이밍).
|
||||
|
||||
**Huberman 핵심 메시지** (Ep "Using Caffeine to Optimize Mental & Physical Performance"):
|
||||
- 카페인 자체는 strategic하게 쓰면 인지·운동 도움.
|
||||
- 문제는 **기상 직후 섭취** (cortisol·아데노신 mismatch)와 **14시 이후 섭취** (수면 파괴).
|
||||
|
||||
**L2 프레임 (강도별)**:
|
||||
- 의존 약함: "기상 후 **90~120분 후** 첫 커피" / "14시 이후 **디카페인**"
|
||||
- 의존 강함: "오후 첫 음료 = **녹차(L-theanine 동반)**" → 점진적 감량.
|
||||
|
||||
**프로토콜 (10일 점진)**:
|
||||
- Day 1-3: 평소 양 유지, 시간만 90분 지연 + 14시 컷오프.
|
||||
- Day 4-6: 양 25% 감소 또는 1잔을 디카페인으로 대체.
|
||||
- Day 7-10: 추가 25% 감소.
|
||||
- Day 11+: 안정화. 두통 등 금단은 보통 3-7일에 소실.
|
||||
|
||||
**참고**:
|
||||
- Huberman Lab Podcast "Using Caffeine to Optimize Mental & Physical Performance"
|
||||
- Drake C et al. (2013) "Caffeine effects on sleep taken 0, 3, or 6 hours before going to bed." *J Clin Sleep Med*. DOI: 10.5664/jcsm.3170
|
||||
|
||||
---
|
||||
|
||||
### §2.7 대마 (Cannabis / THC)
|
||||
|
||||
**Huberman 핵심 메시지** (Ep on cannabis):
|
||||
- THC는 PFC·해마·도파민 회로에 측정 가능한 영향. 청소년기 시작은 정신증 위험 증가 (Di Forti 2019).
|
||||
- 빈도 사용자의 cessation은 첫 72시간 수면 파괴·짜증 peak.
|
||||
|
||||
**L2/L3 프레임**:
|
||||
- ❌ "대마 끊기"
|
||||
- ✅ "저녁 의식은 **카모마일 차 + 책 30분**"
|
||||
- ✅ (L3) "나는 REM 수면 좋은 사람"
|
||||
|
||||
**프로토콜**:
|
||||
1. 30일 reset.
|
||||
2. 첫 72시간: 운동 + NSDR + cyclic sighing 풀스택 (수면·짜증 완화).
|
||||
3. Trigger 패턴 매핑 (시간·사람·장소).
|
||||
4. 30일 후 의식적 결정 — 빈도·맥락 사전 합의된 경우에만 재도입 또는 영구 중단.
|
||||
|
||||
**의학적 경고**: 정신증·양극성·심각한 불안 병력 있을 시 의료진 상담.
|
||||
|
||||
**참고**:
|
||||
- Di Forti M et al. (2019) "The contribution of cannabis use to variation in the incidence of psychotic disorder across Europe (EU-GEI)." *Lancet Psychiatry*. DOI: 10.1016/S2215-0366(19)30048-3
|
||||
- Huberman Lab Podcast on cannabis (verify episode # before citing)
|
||||
|
||||
---
|
||||
|
||||
### §2.8 행동 중독 (Gambling · 쇼핑 · 게임)
|
||||
|
||||
**Huberman 핵심 메시지**: 가변비율 강화(variable ratio reinforcement)가 가장 강한 학습 곡선. 행동 중독은 물질 중독과 같은 도파민 회로 (Lembke).
|
||||
|
||||
**L2/L3 프레임**:
|
||||
- ❌ "도박/쇼핑/게임 끊기"
|
||||
- ✅ "주말 오전엔 **자전거 90분**"
|
||||
- ✅ (L3) "나는 저축률 높은 사람" / "나는 PvE 협동 게이머"
|
||||
|
||||
**프로토콜 (공통 골격)**:
|
||||
1. **자금/계정 분리**: 도박은 self-exclusion 등록(국가별 제도). 쇼핑은 신용카드 등록 삭제 + 48시간 룰. 게임은 결제 차단.
|
||||
2. **앱 삭제 + 알림 차단**.
|
||||
3. **30일 reset**.
|
||||
4. **대체 dopamine source**: 운동·소셜·창작 (실력 기반).
|
||||
5. **재도입 시 한도** 사전 선언 (시간·금액).
|
||||
|
||||
**참고**:
|
||||
- Potenza MN (2008) "The neurobiology of pathological gambling and drug addiction." *Phil. Trans. R. Soc. B*. DOI: 10.1098/rstb.2008.0100
|
||||
- Lembke A. (2021) *Dopamine Nation*
|
||||
|
||||
---
|
||||
|
||||
## §3. 본 시스템 결합 — 만들기·없애기 양립 운영
|
||||
|
||||
### §3.1 동시 운영 가드레일
|
||||
- **만들기 동시 ≤ 3 + 없애기 동시 ≤ 1** (총 운영 ≤ 4).
|
||||
- 없애기 1개를 골랐다면, 만들기는 §1.5 회복 스택 위주로 단순화.
|
||||
- 6주가 끝나기 전엔 추가 끊기 X.
|
||||
|
||||
### §3.2 5-Tier Reward Ladder (끊기용 변형)
|
||||
| Tier | 단위 | 보상 |
|
||||
|------|------|------|
|
||||
| T0 | 매일 통과 | Celebration ("나, 통과했어") |
|
||||
| T1 | 3일 연속 | 무비용 자기 인정 (산책·차 한 잔) |
|
||||
| T2 | 7일 (1주) | 사전 메뉴: 책 1권, 마사지 등 (1-3만원) |
|
||||
| T3 | 30일 (1달) | 사전 선언: 콘서트·DAY OFF·여행 1박 |
|
||||
| T4 | 42일 (6주) | 사전 선언 큰 경험 보상 (effort-tied) |
|
||||
|
||||
→ 자세한 원칙은 `habit-todo-methodologies.md` §"리워드 시스템" 참조.
|
||||
|
||||
### §3.3 Atomic Habits 4법칙 역적용 매핑
|
||||
| 만들기 | 없애기 | 본 모듈 |
|
||||
|--------|--------|---------|
|
||||
| Obvious | **Invisible** | §1.3 환경 디자인 |
|
||||
| Attractive | **Unattractive** | L2/L3 프레임, novelty 제거 |
|
||||
| Easy | **Difficult** | DNS·앱삭제·잔량 작게·48시간 룰 |
|
||||
| Satisfying | **Unsatisfying** | lapse 일지 + 비용(시간) 가시화 |
|
||||
|
||||
### §3.4 Implementation Intentions (If-Then) 변환표
|
||||
| 회피형 (❌) | If-Then 긍정형 (✅) |
|
||||
|-------------|---------------------|
|
||||
| "충동 나면 안 한다" | "If 22시 평일 충동, then 거실 산책 5분 + 물 한 잔" |
|
||||
| "유튜브 안 본다" | "If 손이 폰으로 가면, then 3회 호흡 후 의도 라벨링" |
|
||||
| "야식 안 먹는다" | "If 21시 이후 공복감, then 단백질 30g 먼저 + 15분 대기" |
|
||||
|
||||
### §3.5 Huberman 권장 시퀀스와의 호환
|
||||
- `huberman-protocols.md` §6 Daily Minimum / §7 Weekly Anchors는 §1.5 회복 스택과 동일 골격.
|
||||
- 끊기 기간 동안엔 Daily Minimum **모두 default ON** 권장.
|
||||
|
||||
---
|
||||
|
||||
## §4. 의학적 면책 (반드시 읽기)
|
||||
|
||||
> **본 문서는 의학적 조언이 아님.** 다음 경우 반드시 의사·정신과·중독전문의 우선 상담:
|
||||
|
||||
1. **알코올 신체 의존**: 매일 다량(예: 일일 ≥ 4-5 표준잔 × 수년), 떨림·발한·불면 등 금단 증상 있을 시. **갑작스러운 중단은 발작·DT로 사망 가능**.
|
||||
2. **벤조디아제핀·오피오이드**: 자가 중단 위험. 반드시 의료진 점진 감량 계획.
|
||||
3. **니코틴**: 심혈관 질환·임신 시 약물 보조(Varenicline 등) 처방.
|
||||
4. **정신질환 동반**: 우울·양극성·정신증·심각한 불안 → 단독 시도 X.
|
||||
5. **자해·자살 사고**: 즉시 자살예방상담전화 109 (한국) 또는 가까운 응급실.
|
||||
6. **도박 중독**: 한국도박문제예방치유원 1336.
|
||||
7. **음주 문제**: 보건복지부 정신건강복지상담전화 1577-0199.
|
||||
|
||||
본 문서의 모든 프로토콜은 일반인의 "줄이기·조절·강박성 감소"를 대상으로 함. **임상 진단 수준의 중독은 본 문서 범위 밖**.
|
||||
|
||||
---
|
||||
|
||||
## §5. 출처 통합
|
||||
|
||||
### Huberman Lab Podcast (verify ep # at hubermanlab.com)
|
||||
- "Anna Lembke: Understanding & Treating Addiction" (guest)
|
||||
- "Controlling Your Dopamine for Motivation, Focus & Satisfaction"
|
||||
- "Nicotine's Effects on the Brain & Body; How to Quit Smoking & Vaping"
|
||||
- "What Alcohol Does to Your Body, Brain & Health"
|
||||
- "Using Caffeine to Optimize Mental & Physical Performance"
|
||||
- "The Science of Setting & Achieving Goals" (overlaps with reset/recovery)
|
||||
- Toolkit for Sleep (#84)
|
||||
|
||||
### 단행본
|
||||
- Lembke A (2021) *Dopamine Nation*. Dutton.
|
||||
- Clear J (2018) *Atomic Habits*. Avery.
|
||||
- Marlatt GA, Donovan DM (2005) *Relapse Prevention* 2nd ed. Guilford.
|
||||
- Lakoff G (2004) *Don't Think of an Elephant!* Chelsea Green.
|
||||
|
||||
### Peer-reviewed Papers
|
||||
- Topiwala A et al. (2017) *BMJ* — moderate alcohol & brain. DOI: 10.1136/bmj.j2353
|
||||
- Daviet R et al. (2022) *Nature Communications* — alcohol & gray/white matter. DOI: 10.1038/s41467-022-28735-5
|
||||
- Di Forti M et al. (2019) *Lancet Psychiatry* — cannabis & psychosis. DOI: 10.1016/S2215-0366(19)30048-3
|
||||
- Volkow ND et al. (2009) *Neuropharmacology* — dopamine & addiction. DOI: 10.1016/j.neuropharm.2008.05.022
|
||||
- Bowen S et al. (2014) *JAMA Psychiatry* — MBRP. DOI: 10.1001/jamapsychiatry.2013.4546
|
||||
- Witkiewitz K, Marlatt GA (2004) *American Psychologist* — relapse prevention. DOI: 10.1037/0003-066X.59.4.224
|
||||
- Wood W, Neal DT (2007) *Psychological Review* — habits. DOI: 10.1037/0033-295X.114.4.843
|
||||
- Balban MY et al. (2023) *Cell Reports Medicine* — cyclic sighing. DOI: 10.1016/j.xcrm.2022.100895
|
||||
- Hartmann-Boyce J et al. (2023) *Cochrane Database* — smoking cessation pharma. DOI: 10.1002/14651858.CD013229.pub2
|
||||
- Drake C et al. (2013) *J Clin Sleep Med* — caffeine & sleep. DOI: 10.5664/jcsm.3170
|
||||
- Allcott H et al. (2020) *American Economic Review* — social media welfare. DOI: 10.1257/aer.20190658
|
||||
- Lustig RH et al. (2016) *Obesity* — fructose restriction. DOI: 10.1002/oby.21371
|
||||
- Potenza MN (2008) *Phil Trans R Soc B* — gambling neurobiology. DOI: 10.1098/rstb.2008.0100
|
||||
- Kraus SW et al. (2016) *Addiction* — compulsive sexual behavior. DOI: 10.1111/add.13297
|
||||
- Wegner DM (1994) *Psychological Review* — ironic process theory.
|
||||
- Witkiewitz K et al. (2013) — MBRP outcomes
|
||||
- Winkelman MF et al. (2024) — Yoga Nidra RCT
|
||||
|
||||
### 한국 자원
|
||||
- 정신건강복지상담전화 **1577-0199**
|
||||
- 도박문제예방치유원 **1336**
|
||||
- 자살예방상담전화 **109**
|
||||
- 금연상담전화 **1544-9030**
|
||||
|
||||
---
|
||||
|
||||
## §6. 메타 — 문서 운영 규칙
|
||||
|
||||
- 본 문서는 `huberman-protocols.md` (SoT) 와 `habit-todo-methodologies.md` (운영) 위에 얹히는 "없애기 전용 모듈".
|
||||
- 추가/수정 시 §5 출처를 반드시 검증된 DOI/URL만 추가.
|
||||
- 사용자 개인 프로토콜·트래커 데이터는 본 문서가 아닌 별도 저장소(memory 또는 추후 db)에 저장.
|
||||
- 일반 사용자 대상. **임상 중독 진단자는 의료진 우선**.
|
||||
1071
habit-todo-methodologies.md
Normal file
1071
habit-todo-methodologies.md
Normal file
File diff suppressed because it is too large
Load Diff
723
huberman-protocols.md
Normal file
723
huberman-protocols.md
Normal file
@@ -0,0 +1,723 @@
|
||||
# Andrew Huberman 프로토콜 모음 (v4 — 출처 검증판)
|
||||
|
||||
> 출처: Huberman Lab Podcast 및 공개 인터뷰에서 반복적으로 권장되는 프로토콜 정리.
|
||||
> 목적: 습관 만들기 / 체크리스트 / 투두 관리에 사용할 원자 단위(atomic protocol) 모음.
|
||||
>
|
||||
> **v4 갱신**: 모든 참고 항목을 웹/PubMed 검증. 에피소드 번호·URL·DOI 첨부.
|
||||
> 부분 확인은 ⚠️, 인간 RCT 부재는 ❌로 표기 — 사용자가 근거 강도를 한눈에 판단 가능.
|
||||
>
|
||||
> **모든 프로토콜은 동일한 7필드 구조 (코드/앱 파싱 가능):**
|
||||
> - **무엇을 (what)** / **언제 (when)** / **얼마나 (dose)** / **왜 (why)** / **절차 (how)** / **체크 (check)** / **참고 (refs)** / *(옵션)* **주의 (caution)**
|
||||
>
|
||||
> **참고 필드 표기 규약**
|
||||
> - `HL ep #N "제목"` (URL) — Huberman Lab 에피소드 (번호 + 공식 URL 검증됨)
|
||||
> - `Paper:` 저자(연도), 저널, **DOI** — peer-reviewed
|
||||
> - `Researcher:` Huberman이 반복 인용하는 연구자
|
||||
> - `Note:` 근거 강도 한계 / 인용 시 주의사항
|
||||
>
|
||||
> **자매 문서 (cross-link)**
|
||||
> - 운영 방법론 / 5-Tier Reward Ladder / 언어 프레이밍: `habit-todo-methodologies.md`
|
||||
> - **습관 없애기(끊기) 전용 프로토콜**: `habit-breaking-protocols.md` — 알코올·니코틴·포르노/자위·SNS·설탕·카페인·대마·행동중독. §4.6 (Habit Breaking) 의 행동 차원 대체와 함께 사용.
|
||||
> - **식이·영양 전용 모듈**: `nutrition/diet-protocols.md` — 단백질·정제당·식이섬유·수분·식사 시점·Omega-3 + 식이 패턴(지중해/저탄수/TRE/식물성/한식). 본 SoT §1.9는 stub만 남기고 모두 이관.
|
||||
|
||||
---
|
||||
|
||||
## 1. 건강 관리 (Health & Daily Foundations)
|
||||
|
||||
### 1.1 Morning Sunlight (아침 햇빛)
|
||||
- **무엇을**: 기상 후 야외에서 햇빛을 직접 눈에 받기.
|
||||
- **언제**: 기상 후 30~60분 이내 (일출 ~ 일출 후 1시간 이상적).
|
||||
- **얼마나**: 맑은 날 5~10분 / 흐린 날 10~20분 / 비 오는 날 20~30분. 매일.
|
||||
- **왜**: 망막 melanopsin ipRGC 자극 → cortisol 아침 분비 + 16시간 뒤 멜라토닌 타이머 설정.
|
||||
- **절차**:
|
||||
1. 기상 후 가장 먼저 야외로 나간다.
|
||||
2. 선글라스를 벗는다 (안경/콘택트 OK).
|
||||
3. 해를 직시하지 말고 햇빛 들어오는 방향을 향한다.
|
||||
4. 가벼운 산책과 결합 권장.
|
||||
5. dose 충족할 때까지 머문다.
|
||||
- **체크**:
|
||||
- [ ] 기상 후 60분 이내 외출
|
||||
- [ ] 선글라스 X
|
||||
- [ ] dose 충족
|
||||
- **참고**:
|
||||
- HL ep #2 "Master Your Sleep & Be More Alert When Awake" — https://www.hubermanlab.com/episode/master-your-sleep-be-more-alert-when-awake
|
||||
- HL ep #68 "Using Light (Sunlight, Blue Light & Red Light) to Optimize Health" — https://www.hubermanlab.com/episode/using-light-sunlight-blue-light-and-red-light-to-optimize-health
|
||||
- Paper: Wright KP et al. (2013) "Entrainment of the human circadian clock to the natural light-dark cycle", *Current Biology* 23(16):1554-1558. DOI: https://doi.org/10.1016/j.cub.2013.06.039
|
||||
- Researcher: Samer Hattar (NIH, melanopsin/ipRGC); Charles Czeisler (Harvard, circadian)
|
||||
- **주의**: 창문 너머 햇빛은 자외선 차단되어 효과 미미. 절대 해 직시 X.
|
||||
|
||||
### 1.2 Evening Sunlight (저녁 햇빛)
|
||||
- **무엇을**: 일몰 즈음 햇빛 보기.
|
||||
- **언제**: 일몰 1시간 전 ~ 일몰 직후.
|
||||
- **얼마나**: 5~10분, 매일 가능 시.
|
||||
- **왜**: 저녁 인공조명에 대한 망막 민감도 ↓ → 밤 빛의 멜라토닌 억제 정도 ↓.
|
||||
- **절차**:
|
||||
1. 일몰 시각 확인.
|
||||
2. 일몰 30~60분 전 알람.
|
||||
3. 야외 5~10분 (저녁 산책과 결합).
|
||||
- **체크**:
|
||||
- [ ] 일몰 ±1시간 안에 야외
|
||||
- [ ] 5분 이상
|
||||
- **참고**:
|
||||
- HL ep #68 "Using Light to Optimize Health" (위 1.1 URL 동일)
|
||||
- Researcher: Samer Hattar (저녁 광 노출의 buffer 효과)
|
||||
- Note: 단일 RCT보다는 Huberman의 통합 권장 (저녁 ipRGC re-calibration 모델).
|
||||
|
||||
### 1.3 Night Light Avoidance (야간 빛 차단)
|
||||
- **무엇을**: 밤 10시 ~ 새벽 4시 머리 위 강한 빛 차단.
|
||||
- **언제**: 저녁 9시 ~ 취침.
|
||||
- **얼마나**: 가능한 어둡게, 간접 조명만.
|
||||
- **왜**: 이 시간대 빛은 habenula 경로로 도파민 회로 억제 → 다음 날 기분·동기 ↓.
|
||||
- **절차**:
|
||||
1. 9시 알람 = "조명 다운" 트리거.
|
||||
2. 천장 등 OFF, 무릎 아래 간접 조명만 ON.
|
||||
3. 화면 야간 모드 + 밝기 최저 + 거리 두기.
|
||||
4. 화장실/주방에 어두운 야간등.
|
||||
- **체크**:
|
||||
- [ ] 9시 이후 머리 위 빛 OFF
|
||||
- [ ] 화면 야간 모드
|
||||
- [ ] 침실 거의 깜깜
|
||||
- **참고**:
|
||||
- HL ep #68 "Using Light to Optimize Health"
|
||||
- Paper: Bedrosian TA, Nelson RJ (2017) "Timing of light exposure affects mood and brain circuits", *Translational Psychiatry* 7(1):e1017. DOI: https://doi.org/10.1038/tp.2016.262
|
||||
- Researcher: Samer Hattar (야간 빛-기분 회로 연구)
|
||||
|
||||
### 1.4 Sleep Stack (수면 스택)
|
||||
- **무엇을**: 입면·심부 체온·자극 차단을 결합한 취침 전 90분 루틴.
|
||||
- **언제**: 매일 같은 시각 (고정 기상 시각 기준 역산).
|
||||
- **얼마나**: 총 수면 7~9시간, 기상 시각 ±1시간.
|
||||
- **왜**: 체온 1~3℉ 하강이 입면 신호. 카페인·식사 컷오프가 수면 깊이 결정.
|
||||
- **절차**:
|
||||
1. **기상 시각 고정** → 취침 시각 자동.
|
||||
2. 마지막 카페인 = 기상 + 8~10h.
|
||||
3. 마지막 식사 = 취침 2~3h 전.
|
||||
4. 취침 60~90분 전 따뜻한 샤워/족욕 5~10분 → 심부 체온 하강 유도.
|
||||
5. 침실 18~19℃.
|
||||
6. 침대 진입 직전 화면 OFF.
|
||||
7. 잠 안 오면 §2.2 NSDR.
|
||||
- **체크**:
|
||||
- [ ] 기상 시각 ±1h
|
||||
- [ ] 카페인 컷오프
|
||||
- [ ] 식사 2~3h 전 종료
|
||||
- [ ] 침실 18~19℃
|
||||
- [ ] 취침 직전 화면 OFF
|
||||
- **참고**:
|
||||
- HL ep #84 "Sleep Toolkit: Tools for Optimizing Sleep & Sleep-Wake Timing" — https://www.hubermanlab.com/episode/sleep-toolkit-tools-for-optimizing-sleep-and-sleep-wake-timing
|
||||
- HL ep #2 "Master Your Sleep"
|
||||
- HL guest: Matthew Walker (UC Berkeley, *Why We Sleep*) — Huberman과 공동 시리즈
|
||||
- Researcher: Matthew Walker (수면 아키텍처); Charles Czeisler (circadian)
|
||||
|
||||
### 1.5 Caffeine Protocol (카페인 타이밍)
|
||||
- **무엇을**: 기상 직후 카페인 회피 + 컷오프 시각 준수.
|
||||
- **언제**: 첫 잔 = 기상 + 90~120분, 마지막 잔 = 기상 + 8~10h.
|
||||
- **얼마나**: 개인 내성 따름.
|
||||
- **왜**: 아침 adenosine clearance 자연 진행 → 오후 crash 방지. 늦은 카페인은 수면 깊이 ↓.
|
||||
- **절차**:
|
||||
1. 기상 직후: 물 + 소금 + 햇빛(§1.1).
|
||||
2. 첫 잔 알람: 기상 + 90분.
|
||||
3. 마지막 잔 알람: 기상 + 10h.
|
||||
4. 이후 디카페인/허브차.
|
||||
- **체크**:
|
||||
- [ ] 기상 후 90분 전 카페인 X
|
||||
- [ ] 컷오프 시각 이후 카페인 X
|
||||
- **참고**:
|
||||
- HL ep #101 "Using Caffeine to Optimize Mental & Physical Performance" — https://www.hubermanlab.com/episode/using-caffeine-to-optimize-mental-and-physical-performance
|
||||
- **Note**: 90~120분 지연 권장은 직접 RCT 부재. Huberman의 adenosine receptor 약리학 기반 추론 (Ep #101). 학술 근거 강도 ⚠️.
|
||||
|
||||
### 1.6 Weekly Movement Template (주간 운동)
|
||||
- **무엇을**: 유산소(Zone 2 + VO2max) + 근력의 주간 분배.
|
||||
- **언제**: 요일 고정 (§4.2 task bracketing).
|
||||
- **얼마나**: Zone 2 150~200분/주, VO2max 1회 4×4분, 근력 2~4회.
|
||||
- **왜**: 심혈관·미토콘드리아·근감소·인슐린 감수성 동시 최적화.
|
||||
- **절차**:
|
||||
1. 주말에 운동 요일 배치.
|
||||
2. Zone 2: "말 가능, 노래 불가" (HR ≈ 180−나이).
|
||||
3. VO2max: 4분 매우 힘듦 + 4분 가벼움 × 4세트.
|
||||
4. 근력: 부위별 10~15 sets/주, 2~3 RIR.
|
||||
5. 운동 후 단백질 30g+.
|
||||
- **체크**:
|
||||
- [ ] Zone 2 ≥ 150분/주
|
||||
- [ ] VO2max 1회
|
||||
- [ ] 근력 2~4회
|
||||
- **참고**:
|
||||
- HL **Guest Series with Dr. Andy Galpin** (6-part, 2023):
|
||||
- Part 1: How to Assess & Improve All Aspects of Your Fitness — https://www.hubermanlab.com/episode/dr-andy-galpin-how-to-assess-improve-all-aspects-of-your-fitness
|
||||
- Part 2: Optimal Protocols to Build Strength & Grow Muscles
|
||||
- Part 3: How to Build Physical Endurance & Lose Fat — https://www.hubermanlab.com/episode/dr-andy-galpin-how-to-build-physical-endurance-and-lose-fat
|
||||
- Part 4: Optimize Your Training Program for Fitness & Longevity — https://www.hubermanlab.com/episode/dr-andy-galpin-optimize-your-training-program-for-fitness-and-longevity
|
||||
- Part 5: Maximize Recovery — https://www.hubermanlab.com/episode/guest-series-dr-andy-galpin-maximize-recovery-to-achieve-fitness-and-performance-goals
|
||||
- Part 6: Optimal Nutrition & Supplementation — https://www.hubermanlab.com/episode/dr-andy-galpin-optimal-nutrition-and-supplementation-for-fitness
|
||||
- HL guest: Peter Attia (Zone 2 / VO2max 장수의학)
|
||||
- Paper: Mandsager K et al. (2018) "Association of Cardiorespiratory Fitness With Long-term Mortality...", *JAMA Network Open* 1(6):e183605. DOI: https://doi.org/10.1001/jamanetworkopen.2018.3605
|
||||
- Researcher: Iñigo San-Millán (Zone 2 미토콘드리아)
|
||||
|
||||
### 1.7 Deliberate Cold Exposure (의도적 냉수 노출)
|
||||
- **무엇을**: 찬물 샤워 또는 ice bath.
|
||||
- **언제**: 가능하면 오전 (저녁은 수면 방해 가능).
|
||||
- **얼마나**: 주 합산 11분, 1회 1~5분.
|
||||
- **왜**: 노르에피네프린/도파민 급상승 (Šrámek 2000: NE 530%, DA 250%) → 각성·기분·집중 1~3h 지속.
|
||||
- **절차**:
|
||||
1. 가장 차가운 수도 또는 ice bath ("불편하지만 안전한" 수준).
|
||||
2. 진입 전 코호흡 30초.
|
||||
3. 1~3분 견딤.
|
||||
4. 마지막 30초 의도적 추가 (§3.4 aMCC).
|
||||
5. 자연 건조 or 가벼운 움직임 (즉시 따뜻한 곳 X).
|
||||
- **체크**:
|
||||
- [ ] 1회 ≥ 1분
|
||||
- [ ] 주 합산 ≥ 11분
|
||||
- **참고**:
|
||||
- HL ep #66 "Using Deliberate Cold Exposure for Health and Performance" — https://www.hubermanlab.com/episode/using-deliberate-cold-exposure-for-health-and-performance
|
||||
- Paper: Šrámek P et al. (2000) "Human physiological responses to immersion into water of different temperatures", *Eur J Appl Physiol* 81(5):436-442. DOI: https://doi.org/10.1007/s004210050065 — **NE/DA 수치 원본 출처**
|
||||
- Researcher: Susanna Søberg (덴마크, 갈색 지방·냉수)
|
||||
- **주의**: 근비대 직후 4h 회피. 심혈관 질환자 의사 상담.
|
||||
|
||||
### 1.8 Deliberate Heat Exposure (사우나)
|
||||
- **무엇을**: 80~100℃ 사우나.
|
||||
- **언제**: 운동 후 또는 저녁.
|
||||
- **얼마나**: 주 합산 57분+, 1회 ~20분 × 4세트.
|
||||
- **왜**: 심혈관·전체 사망률 감소(Laukkanen 2015), 성장호르몬 일시 상승, mood/stress 회복.
|
||||
- **절차**:
|
||||
1. 수분 + 소금 사전 섭취.
|
||||
2. 20분 입실 → 휴식(또는 짧은 냉수) → 반복.
|
||||
3. 끝나면 수분/전해질 보충.
|
||||
- **체크**:
|
||||
- [ ] 주 합산 ≥ 57분 (선택)
|
||||
- **참고**:
|
||||
- HL ep #69 "The Science & Health Benefits of Deliberate Heat Exposure" — https://www.hubermanlab.com/episode/the-science-and-health-benefits-of-deliberate-heat-exposure
|
||||
- Paper: Laukkanen T et al. (2015) "Association Between Sauna Bathing and Fatal Cardiovascular and All-Cause Mortality Events", *JAMA Internal Medicine* 175(4):542-548. DOI: https://doi.org/10.1001/jamainternmed.2014.8187 — 핀란드 KIHD 코호트, n=2,315, 추적 20.7년
|
||||
- Researcher: Jari Laukkanen (U. Eastern Finland); Rhonda Patrick (FoundMyFitness, sauna 전파)
|
||||
- **주의**: 임신/심혈관/저혈압 시 의사 상담. 알코올 결합 X.
|
||||
|
||||
### 1.9 Nutrition Basics → **이전됨**
|
||||
> 식이·영양 항목은 별도 모듈로 이관: **`nutrition/diet-protocols.md`**
|
||||
> - 단백질 우선 / 정제당 최소 / 식이섬유 / 수분·전해질 / 식사 시점 / Omega-3
|
||||
> - 식이 패턴(지중해·저탄수·TRE·식물성·한식) 및 한국 환경 적용 포함
|
||||
>
|
||||
> 본 문서의 §6 Daily Minimum의 식이 항목은 위 모듈 §1.1·§1.4를 참조.
|
||||
|
||||
### 1.10 Foundational Supplements (핵심 보충제)
|
||||
- **무엇을**: Vitamin D3, Magnesium L-threonate, (옵션) Apigenin, Theanine.
|
||||
- **언제**: D3 아침, 나머지 취침 30분 전.
|
||||
- **얼마나**: D3 2000~5000 IU(혈중 기반) / Mg L-threonate 1g / Apigenin 50mg / Theanine 100~400mg.
|
||||
- **왜**: 수면 깊이·이완·cortisol 억제 보조.
|
||||
- **절차**:
|
||||
1. 의사와 D 혈중 수치 검사 후 D3 용량 결정.
|
||||
2. Mg는 식후 흡수 양호.
|
||||
3. 한 번에 1종씩 도입(2주 단위 관찰).
|
||||
- **체크**:
|
||||
- [ ] 처방/권장량 준수
|
||||
- [ ] 신규 도입 한 번에 1종
|
||||
- **참고**:
|
||||
- HL ep #84 "Sleep Toolkit" (sleep cocktail 권장 — URL 위 §1.4)
|
||||
- **Magnesium L-threonate**: Hausenblas HA et al. (2024) "Magnesium-L-threonate improves sleep quality and daytime functioning in adults with self-reported sleep problems: A randomized controlled trial", *Sleep Medicine: X* 8:100121. DOI: https://doi.org/10.1016/j.sleepx.2024.100121 — n=80, 1g/일 × 21일, double-blind placebo-controlled. **Magtein 효과 입증한 첫 RCT**.
|
||||
- **❌ Apigenin & cortisol**: in vitro 데이터(Li et al. 2001, *J Steroid Biochem Mol Biol* — 인간 부신세포에서 cortisol 47.5% 억제)만 존재. **인간 50mg 경구 RCT 부재**. Huberman의 권장은 기전적 추론.
|
||||
- Theanine: 작은 연구 다수, 강력 RCT 부재 — 보조적 사용 권장.
|
||||
- **주의**: 의약품/임신/기저질환 시 의사 상담. Theanine은 혈압약 상호작용 가능.
|
||||
|
||||
---
|
||||
|
||||
## 2. 명상 & 회복 (Meditation & Recovery)
|
||||
|
||||
### 2.1 Focused Meditation (집중 명상)
|
||||
- **무엇을**: 단일 대상(호흡/미간)에 주의 고정.
|
||||
- **언제**: 매일 같은 시간 (아침, Phase 1).
|
||||
- **얼마나**: 13분/일, 최소 8주.
|
||||
- **왜**: 전전두피질–amygdala 연결 강화, interoception 훈련.
|
||||
- **절차**:
|
||||
1. 타이머 13분.
|
||||
2. 척추 곧게 앉음, 눈은 감거나 1m 앞 한 점.
|
||||
3. 코호흡, 들숨 "1" 날숨 "2" … 10까지 카운트.
|
||||
4. 10 도달 후 다시 1부터.
|
||||
5. 주의 벗어남 알아챈 순간 → 자책 없이 1로 복귀 (**이 알아챔이 reps**).
|
||||
6. 종료 후 30초 잔여감 관찰.
|
||||
- **체크**:
|
||||
- [ ] 13분 완료
|
||||
- [ ] 알아챔→복귀 1회 이상 의식
|
||||
- **참고**:
|
||||
- HL ep #96 "How Meditation Works & Science-Based Effective Meditations" — https://www.hubermanlab.com/episode/how-meditation-works-and-science-based-effective-meditations
|
||||
- Paper: Basso JC et al. (2019) "Brief, daily meditation enhances attention, memory, mood, and emotional regulation in non-experienced meditators", *Behavioural Brain Research* 356:208-220. DOI: https://doi.org/10.1016/j.bbr.2018.08.023 — **13분/일 × 8주 RCT의 원본**
|
||||
- Researcher: Wendy Hasenkamp (mind-wandering); Richard Davidson (UW Madison, contemplative neuroscience)
|
||||
- **주의**: 잠들기 직전 진행 시 각성 유발 가능 → 저녁은 §2.2 권장.
|
||||
|
||||
### 2.2 NSDR / Yoga Nidra (비수면 심층 휴식)
|
||||
- **무엇을**: 누운 자세에서 가이드 보디스캔 + 긴 날숨.
|
||||
- **언제**: 점심 후 슬럼프, 학습 직후, 자다 깼을 때, 수면 부족 다음 날.
|
||||
- **얼마나**: 10~30분.
|
||||
- **왜**: Yoga Nidra 중 ventral striatum 도파민 +65% (Kjaer 2002 PET), 학습 응고화, 수면 부채 일부 보전.
|
||||
- **절차**:
|
||||
1. 누울 공간 + 알람.
|
||||
2. YouTube "NSDR Huberman" 또는 "Yoga Nidra" 검색.
|
||||
3. 가이드 보디스캔: 발끝 → 머리.
|
||||
4. 코로 들이쉬고 입으로 길게 내쉼.
|
||||
5. 종료 후 30초 잔여감.
|
||||
- **체크**:
|
||||
- [ ] 가이드 끝까지
|
||||
- [ ] 종료 후 30초 잔여감
|
||||
- **참고**:
|
||||
- HL ep #28 "Maximizing Productivity, Physical & Mental Health with Daily Tools" — https://www.hubermanlab.com/episode/maximizing-productivity-physical-and-mental-health-with-daily-tools
|
||||
- Paper: Kjaer TW et al. (2002) "Increased dopamine tone during meditation-induced change of consciousness", *Cognitive Brain Research* 13(2):255-259. DOI: https://doi.org/10.1016/S0926-6410(01)00106-9 — **+65% 도파민 수치 원본 (11C-raclopride PET)**
|
||||
- Researcher: Kamini Desai (Yoga Nidra 임상 응용)
|
||||
|
||||
### 2.3 Cyclic Sighing (생리적 한숨)
|
||||
- **무엇을**: 들숨 2회 + 긴 날숨 1회.
|
||||
- **언제**: 스트레스 급상승 / 데일리 진정.
|
||||
- **얼마나**: 1~5분 (1일 5분 × 28~30일).
|
||||
- **왜**: 부교감 활성화 가장 빠른 단일 호흡법. 폐포 CO₂를 한 번에 배출.
|
||||
- **절차**:
|
||||
1. 편한 자세.
|
||||
2. 코로 들이쉼 (폐 ~80%).
|
||||
3. 한 번 더 짧게 코로 들이쉼 (폐 완전히).
|
||||
4. 입으로 천천히 길게 내쉼 (들숨 합산보다 2배+).
|
||||
5. 1~5분 반복.
|
||||
- **체크**:
|
||||
- [ ] 패턴 유지
|
||||
- [ ] 1분 이상
|
||||
- **참고**:
|
||||
- HL ep #10 "Tools for Managing Stress & Anxiety" — https://www.hubermanlab.com/episode/tools-for-managing-stress-and-anxiety (physiological sigh 세그먼트 포함)
|
||||
- Paper: Balban MY, Neri E, Kogon MM, …, Spiegel D, Huberman AD (2023) **"Brief structured respiration practices enhance mood and reduce physiological arousal"**, *Cell Reports Medicine* 4(1):100895. DOI: https://doi.org/10.1016/j.xcrm.2022.100895 — Stanford, Huberman 공저. cyclic sighing이 box breathing/cyclic hyperventilation/mindfulness 대비 mood·HRV 개선 가장 큼
|
||||
- Researcher: Jack Feldman (UCLA, 호흡 회로 — 생리적 한숨 발견); David Spiegel (Stanford, 시니어 저자)
|
||||
|
||||
### 2.4 Box Breathing (집중·각성 유지 호흡)
|
||||
- **무엇을**: 4초 들숨–4초 멈춤–4초 날숨–4초 멈춤.
|
||||
- **언제**: 작업 진입 전, 회의 전.
|
||||
- **얼마나**: 2~5분.
|
||||
- **왜**: 자율신경 균형 + 주의 정렬.
|
||||
- **절차**:
|
||||
1. 의자 척추 곧게.
|
||||
2. 코로 4초 들이쉼.
|
||||
3. 4초 멈춤.
|
||||
4. 4초 날숨.
|
||||
5. 4초 멈춤.
|
||||
6. 2~5분 반복.
|
||||
- **체크**:
|
||||
- [ ] 4-4-4-4 박자
|
||||
- [ ] 2분 이상
|
||||
- **참고**:
|
||||
- HL ep #10 "Tools for Managing Stress & Anxiety"
|
||||
- Paper (메커니즘 근거): Zaccaro A et al. (2018) "How Breath-Control Can Change Your Life: A Systematic Review on Psycho-Physiological Correlates of Slow Breathing", *Frontiers in Human Neuroscience* 12:353. DOI: https://doi.org/10.3389/fnhum.2018.00353 — slow-paced breathing (5–6 brpm) 일반 효과
|
||||
- Origin: U.S. Navy SEALs / Mark Divine 등 군·임상 트레이닝 전통
|
||||
- **⚠️ Note**: "box breathing" 특이성 RCT는 빈약. Balban 2023 비교에서는 cyclic sighing(§2.3)보다 효과 작음.
|
||||
|
||||
### 2.5 Cold + Sigh Combo (즉시 각성 콤보)
|
||||
- **무엇을**: 찬물 세면 + cyclic sighing.
|
||||
- **언제**: 오후 슬럼프.
|
||||
- **얼마나**: 찬물 30초 + 호흡 1~2분.
|
||||
- **왜**: NE 급상승 + 부교감 안정 결합.
|
||||
- **절차**:
|
||||
1. 찬물에 손목/얼굴 30초.
|
||||
2. 자세 정돈 후 cyclic sighing 1~2분.
|
||||
3. 즉시 작업 재개.
|
||||
- **체크**:
|
||||
- [ ] 찬물 30초+
|
||||
- [ ] 호흡 1분+
|
||||
- **참고**: §1.7 + §2.3의 응용. 단일 출처 없음 — Huberman teaching tools 조합.
|
||||
|
||||
---
|
||||
|
||||
## 3. 동기부여 & 도파민 (Motivation & Dopamine)
|
||||
|
||||
### 3.1 Protect Dopamine Baseline (도파민 baseline 보호)
|
||||
- **무엇을**: 활동 자체에 외부 도파민 자극을 중첩(stacking)하지 않기.
|
||||
- **언제**: 운동·공부·창작 전후.
|
||||
- **얼마나**: 주 1~2회 "자극 빼고".
|
||||
- **왜**: 동기 = baseline 대비 변화량. peak ↑ → baseline ↓ → 활동의 보상감 ↓.
|
||||
- **절차**:
|
||||
1. 본 활동 전 동시 자극 나열 (음악/카페인/pre-workout/SNS).
|
||||
2. 1~2개 의도적 제거.
|
||||
3. 직후 5분 SNS/도파민 콘텐츠 차단.
|
||||
4. 주 1~2회 "맨몸" 세션으로 baseline 회복.
|
||||
- **체크**:
|
||||
- [ ] stacking ≤ 1
|
||||
- [ ] 직후 5분 차단
|
||||
- **참고**:
|
||||
- HL ep #39 **"Controlling Your Dopamine For Motivation, Focus & Satisfaction"** — https://www.hubermanlab.com/episode/controlling-your-dopamine-for-motivation-focus-and-satisfaction (시리즈의 핵심)
|
||||
- HL guest: Anna Lembke (Stanford, *Dopamine Nation* 저자) — 보상-쾌락 균형 모델
|
||||
- Researcher: Wolfram Schultz (Cambridge, dopamine reward prediction error)
|
||||
|
||||
### 3.2 Reward Prediction Relabeling (보상 예측 재배치)
|
||||
- **무엇을**: 노력 자체에 보상을 결합하는 내적 라벨링.
|
||||
- **언제**: 힘든 구간.
|
||||
- **얼마나**: 세션당 3~5회 짧게.
|
||||
- **왜**: 전전두피질의 의식적 라벨링이 mesolimbic 도파민 분비 → 의지력 가능.
|
||||
- **절차**:
|
||||
1. 힘든 구간 인지.
|
||||
2. "이 불편함이 곧 도파민이다" 라벨링.
|
||||
3. 자세·호흡 정돈 후 다음 rep.
|
||||
4. 끝난 후 외적 보상 X.
|
||||
- **체크**:
|
||||
- [ ] 라벨링 1회+
|
||||
- [ ] 외적 보상 안 줌
|
||||
- **참고**:
|
||||
- HL ep #39 "Controlling Your Dopamine…"
|
||||
- HL ep #113 "Leverage Dopamine to Overcome Procrastination & Optimize Effort" — https://www.hubermanlab.com/episode/leverage-dopamine-to-overcome-procrastination-and-optimize-effort
|
||||
- HL guest: David Goggins (행동학적 원형 사례)
|
||||
- Researcher: Wolfram Schultz (dopamine prediction error 이론 기반)
|
||||
|
||||
### 3.3 Dopamine Recovery Stack (도파민 회복 스택)
|
||||
- **무엇을**: 자연적 baseline 상승 도구 묶음.
|
||||
- **언제**: 번아웃 기미.
|
||||
- **얼마나**: 주 단위.
|
||||
- **왜**: 햇빛·운동·냉수·NSDR 누적 baseline 상승.
|
||||
- **절차**:
|
||||
1. 햇빛(§1.1) 데일리.
|
||||
2. 운동(§1.6) 주간 템플릿.
|
||||
3. 냉수(§1.7) 주 11분.
|
||||
4. NSDR(§2.2) 주 3회+.
|
||||
5. 디지털 디톡스(§3.5) 주 1회 24h.
|
||||
- **체크**:
|
||||
- [ ] §1.1, §1.6, §1.7, §2.2, §3.5 각 1회+
|
||||
- **참고**:
|
||||
- HL ep #113 "Leverage Dopamine to Overcome Procrastination"
|
||||
- 구성요소 출처는 §1.1/1.6/1.7/2.2/3.5 참조.
|
||||
|
||||
### 3.4 aMCC Will-Training (의지력 회로 훈련)
|
||||
- **무엇을**: "하기 싫지만 안전한" 일을 매일 1개 의도적 수행.
|
||||
- **언제**: 매일 1회.
|
||||
- **얼마나**: 1~10분.
|
||||
- **왜**: anterior mid-cingulate cortex 부피 ↑ → 의지력·장수와 상관. Super-agers 보존.
|
||||
- **절차**:
|
||||
1. 전날 밤/아침 "오늘의 싫은 일" 정의.
|
||||
2. 협상 없이 즉시 수행.
|
||||
3. 완료 후 "aMCC 1 rep" 라벨링.
|
||||
- **체크**:
|
||||
- [ ] 오늘의 싫은 일 정의
|
||||
- [ ] 수행 완료
|
||||
- **참고**:
|
||||
- HL ep #39 / #113 (dopamine 시리즈에서 aMCC 통합 설명)
|
||||
- Paper (aMCC 기능): Touroutoglou A, Andreano J, Dickerson BC, Barrett LF (2020) **"The tenacious brain: How the anterior mid-cingulate contributes to achieving goals"**, *Cortex* 123:12-29. DOI: https://doi.org/10.1016/j.cortex.2019.09.011
|
||||
- Paper (Super-agers): Katsumi Y, Wong B, Cavallari M, …, Touroutoglou A (2022) "Structural integrity of the anterior mid-cingulate cortex contributes to resilience to delirium in SuperAging", *Brain Communications* 4(4):fcac163. DOI: https://doi.org/10.1093/braincomms/fcac163
|
||||
- Researcher: Joseph Touroutoglou & Lisa Feldman Barrett (Northeastern)
|
||||
- HL guest: David Goggins (행동 사례)
|
||||
|
||||
### 3.5 Digital Dopamine Detox (디지털 디톡스)
|
||||
- **무엇을**: 고자극 컨텐츠 차단 (쇼츠/릴스/포르노/SNS 스크롤).
|
||||
- **언제**: 주 1회 24h 또는 분기 1회 48h.
|
||||
- **얼마나**: 24~48h.
|
||||
- **왜**: 강한 peak 후 baseline 회복에 1~2일 필요.
|
||||
- **절차**:
|
||||
1. 디톡스 시작 시각 캘린더 고정.
|
||||
2. 해당 앱 로그아웃 또는 삭제.
|
||||
3. 대체 행동 사전 설정.
|
||||
4. 종료 후 첫 사용 5분 제한.
|
||||
- **체크**:
|
||||
- [ ] 24h 차단
|
||||
- [ ] 첫 사용 5분 이내
|
||||
- **참고**:
|
||||
- HL ep #39 "Controlling Your Dopamine…"
|
||||
- HL guest: Anna Lembke (*Dopamine Nation* — 30-day dopamine fast 원개념)
|
||||
|
||||
---
|
||||
|
||||
## 4. 습관 형성 (Habit Formation)
|
||||
|
||||
### 4.1 Three Phases of the Day (하루 3 위상)
|
||||
- **무엇을**: 신경전달물질 우세 시간대에 작업 배치.
|
||||
- **언제**: 매일.
|
||||
- **얼마나**: Phase 1 (0~8h), Phase 2 (9~15h), Phase 3 (16~24h) — 기상 기준.
|
||||
- **왜**: cortisol/DA/NE (Phase 1) → serotonin (Phase 2) → 수면/회상 (Phase 3).
|
||||
- **절차**:
|
||||
1. 기상 시각 기준 3구간 캘린더 색칠.
|
||||
2. Phase 1: 어려운/분석적/마찰 큰 새 습관.
|
||||
3. Phase 2: 창의·브레인스토밍·가벼운 습관.
|
||||
4. Phase 3: 회상·정리·디지털 OFF.
|
||||
- **체크**:
|
||||
- [ ] 가장 어려운 일 Phase 1 배치
|
||||
- [ ] Phase 3 자극적 디지털 X
|
||||
- **참고**:
|
||||
- HL ep #28 "Maximizing Productivity, Physical & Mental Health with Daily Tools" (3-phase 모델 통합 제시 — primary source)
|
||||
- HL ep #53 "The Science of Making & Breaking Habits" (습관 배치와 연결)
|
||||
- HL guest: Wendy Wood (USC, *Good Habits, Bad Habits*) — 습관과 맥락
|
||||
- **Note**: 3-phase 신경화학 시간대는 Huberman의 통합 모델. cortisol/serotonin diurnal pattern은 잘 알려진 사실이나 "행동을 phase별로 매핑"은 Huberman 권장 ⚠️.
|
||||
|
||||
### 4.2 Task Bracketing (시간·맥락 브래킷)
|
||||
- **무엇을**: 새 습관을 같은 시간 + 같은 직전/직후 행동으로 고정.
|
||||
- **언제**: 새 습관 도입 시.
|
||||
- **얼마나**: 6주 이상.
|
||||
- **왜**: 기저핵은 시간/맥락 신호로 자동화. 브래킷 강할수록 자동화 빠름.
|
||||
- **절차**:
|
||||
1. 새 습관 1개 선택.
|
||||
2. 직전 브래킷 지정 (예: 양치 직후).
|
||||
3. 직후 브래킷 지정 (예: 햇빛 보러).
|
||||
4. 매일 같은 시각 3-체인 실행.
|
||||
5. 6주간 같은 위치 유지.
|
||||
- **체크**:
|
||||
- [ ] 직전 브래킷 정의
|
||||
- [ ] 직후 브래킷 정의
|
||||
- [ ] 오늘 같은 시각 실행
|
||||
- **참고**:
|
||||
- HL ep #53 "The Science of Making & Breaking Habits" — https://www.hubermanlab.com/episode/the-science-of-making-and-breaking-habits
|
||||
- Paper: Graybiel AM (2008) "Habits, Rituals, and the Evaluative Brain", *Annual Review of Neuroscience* 31:359-387. DOI: https://doi.org/10.1146/annurev.neuro.29.051605.112851
|
||||
- Researcher: Ann Graybiel (MIT) — task bracketing 기저핵 회로 발견자
|
||||
|
||||
### 4.3 6-Week Integration Rule (자동화 현실 타임라인)
|
||||
- **무엇을**: "6주 동안 주 6/7"을 자동화 기준으로.
|
||||
- **언제**: 새 습관 시작부터 6주.
|
||||
- **얼마나**: 주 6회.
|
||||
- **왜**: 21일은 myth. 신경 통합엔 더 길고 빠짐 허용이 현실적.
|
||||
- **절차**:
|
||||
1. 목표를 "주 6회"로 명시.
|
||||
2. 6주 트래커 준비.
|
||||
3. 매일 ○/× 표시.
|
||||
4. 1회 결석 다음 날 즉시 복귀.
|
||||
5. 6주 후 자동화 자가 평가.
|
||||
- **체크**:
|
||||
- [ ] 트래커 존재
|
||||
- [ ] 이번 주 6/7
|
||||
- [ ] 결석 후 다음 날 복귀
|
||||
- **참고**:
|
||||
- HL ep #53 "The Science of Making & Breaking Habits"
|
||||
- Paper: Lally P et al. (2010) "How are habits formed: Modelling habit formation in the real world", *European Journal of Social Psychology* 40(6):998-1009. DOI: https://doi.org/10.1002/ejsp.674 — **자동화 평균 66일(범위 18-254일)**, "21일" 신화 반박
|
||||
- **⚠️ Note**: Lally 평균이 66일이지 "마법의 숫자"가 아님. 개인차 매우 큼. Huberman의 "6주" 권장은 Lally 범위의 보수적 하한.
|
||||
- Researcher: Phillippa Lally (UCL)
|
||||
|
||||
### 4.4 Limbic Friction Scoring (마찰 점수화)
|
||||
- **무엇을**: 각 습관에 0~10 마찰 점수.
|
||||
- **언제**: 매일 수행 직전/직후.
|
||||
- **얼마나**: 30초.
|
||||
- **왜**: 높은 점수 → Phase 1 배치 / 떨어지면 자동화 진입.
|
||||
- **절차**:
|
||||
1. 트래커에 "friction 0~10" 칸.
|
||||
2. 수행 전 점수 기록.
|
||||
3. 주말 평균 추세.
|
||||
4. 평균 3↓ 2주 유지 → 자동화 진입.
|
||||
- **체크**:
|
||||
- [ ] friction 기록
|
||||
- [ ] 주간 평균 확인
|
||||
- **참고**:
|
||||
- HL ep #53 "The Science of Making & Breaking Habits"
|
||||
- **Note**: "Limbic friction"은 Huberman 본인의 실용 개념 (전문 신경과학 용어 아님). limbic system 회피 충동의 의식적 극복을 정량화한 도구.
|
||||
|
||||
### 4.5 New Habit Onboarding (신규 습관 도입 규칙)
|
||||
- **무엇을**: 동시 1~3개, 최소 단위로 시작.
|
||||
- **언제**: 새 습관 추가 시.
|
||||
- **얼마나**: 동시 1~3개.
|
||||
- **왜**: 시작 행위 자체를 보상화 → 자동화 가속.
|
||||
- **절차**:
|
||||
1. 신규 후보 리스트화.
|
||||
2. 우선순위 1~3개 선택.
|
||||
3. "최소 단위" 정의.
|
||||
4. §4.2 브래킷 부여.
|
||||
5. 6주 후 평가 → 다음 1~3개.
|
||||
- **체크**:
|
||||
- [ ] 현재 신규 ≤ 3개
|
||||
- [ ] 각 습관 최소 단위 정의
|
||||
- **참고**:
|
||||
- HL ep #53 "The Science of Making & Breaking Habits"
|
||||
- Concept overlap: BJ Fogg (Stanford), *Tiny Habits* — "minimum viable behavior" 사상 호환 (Huberman이 직접 게스트로 부르진 않음).
|
||||
|
||||
### 4.6 Habit Breaking via Replacement (대체 행동으로 끊기)
|
||||
- **무엇을**: 트리거 직후 호환 불가능한 대체 행동 삽입.
|
||||
- **언제**: 끊고 싶은 습관 확인 시.
|
||||
- **얼마나**: 6주.
|
||||
- **왜**: 회로는 잘 사라지지 않음 → 같은 트리거가 다른 결과를 부르도록 재학습.
|
||||
- **절차**:
|
||||
1. 트리거 식별.
|
||||
2. 5~30초 안의 대체 행동 정의.
|
||||
3. 트리거 발생 시 자동적 대체 먼저.
|
||||
4. 6주 평가.
|
||||
- **체크**:
|
||||
- [ ] 트리거 식별
|
||||
- [ ] 대체 행동 정의
|
||||
- [ ] 오늘 1회+ 성공
|
||||
- **참고**:
|
||||
- HL ep #53 "The Science of Making & Breaking Habits"
|
||||
- Researcher: Wendy Wood (USC) — 맥락 재설계 > 의지력
|
||||
- 임상 원전: Azrin NH, Nunn RG (1973) Habit Reversal Training, *Behaviour Research and Therapy* — Tourette/틱 임상, 대체 행동 패러다임 시작
|
||||
|
||||
---
|
||||
|
||||
## 5. 학습·집중 (Learning & Focus)
|
||||
|
||||
### 5.1 90-min Ultradian Focus Block
|
||||
- **무엇을**: 90분 deep work + 10~20분 휴식.
|
||||
- **언제**: Phase 1.
|
||||
- **얼마나**: 1~3블록/일.
|
||||
- **왜**: ultradian 주기(BRAC) 단위.
|
||||
- **절차**:
|
||||
1. 진입 전 §5.2 시각 응시 30~60초.
|
||||
2. §2.4 box breathing 2분.
|
||||
3. 알림 OFF, 단일 과제.
|
||||
4. 90분 타이머.
|
||||
5. 종료 후 10~20분 NSDR 또는 산책. SNS X.
|
||||
- **체크**:
|
||||
- [ ] 진입 의식
|
||||
- [ ] 단일 과제
|
||||
- [ ] 휴식이 도파민 자극 아님
|
||||
- **참고**:
|
||||
- HL ep #8 "Optimize Your Learning & Creativity with Science-based Tools" — https://www.hubermanlab.com/episode/optimize-your-learning-and-creativity-with-science-based-tools
|
||||
- HL ep #88 "Focus Toolkit" — https://www.hubermanlab.com/episode/focus-toolkit-tools-to-improve-your-focus-and-concentration
|
||||
- Paper: Kleitman N (1982) "Basic Rest-Activity Cycle—22 Years Later", *Sleep* 5(4):311-317. DOI: https://doi.org/10.1093/sleep/5.4.311 — **BRAC 90분 ultradian 원전**
|
||||
- Researcher: Nathaniel Kleitman (시카고대, BRAC 발견자, 1963 *Sleep and Wakefulness*)
|
||||
|
||||
### 5.2 Visual Focus Priming (시각 집중 점화)
|
||||
- **무엇을**: 한 지점 응시로 전두엽 집중 회로 활성.
|
||||
- **언제**: 작업 시작 직전.
|
||||
- **얼마나**: 30~60초.
|
||||
- **왜**: 시각 집중 → 인지 집중 회로 공유 (LC-NE 매개). 좁힌 시야는 각성 ↑.
|
||||
- **절차**:
|
||||
1. 책상 위 한 점 선정.
|
||||
2. 30~60초 응시.
|
||||
3. 시선 흩어지면 복귀.
|
||||
4. 즉시 작업 시작.
|
||||
- **체크**:
|
||||
- [ ] 30초 이상 응시 후 진입
|
||||
- **참고**:
|
||||
- HL ep #6 "How to Focus to Change Your Brain" — https://www.hubermanlab.com/episode/how-to-focus-to-change-your-brain
|
||||
- HL ep #88 "Focus Toolkit"
|
||||
- Paper (LC-NE 메커니즘 근거): Aston-Jones G, Cohen JD (2005) "An integrative theory of locus coeruleus-norepinephrine function", *Annual Review of Neuroscience* 28:403-450. DOI: https://doi.org/10.1146/annurev.neuro.28.061604.135709
|
||||
- Paper (최근): Bornert P, Bouret S (2024) "Locus coeruleus norepinephrine contributes to visual-spatial attention by selectively enhancing perceptual sensitivity", *Neuron* 112(15):2745-2761.e7. DOI: https://doi.org/10.1016/j.neuron.2024.04.024
|
||||
- **🔄 Note**: "narrow visual aperture → LC activation"의 구체 주장은 Huberman 본인 podcast 통합 모델. 직접 검증한 Huberman lab의 peer-reviewed paper는 없음. 메커니즘 근거는 Aston-Jones & Cohen 2005 / Bornert & Bouret 2024.
|
||||
|
||||
### 5.3 Post-Learning NSDR (학습 직후 NSDR)
|
||||
- **무엇을**: 학습 직후 10분 NSDR.
|
||||
- **언제**: 강의/집중 학습 종료 직후.
|
||||
- **얼마나**: 10분.
|
||||
- **왜**: 학습 직후 휴식이 기억 응고화 가속.
|
||||
- **절차**:
|
||||
1. 학습 종료 즉시 폰/SNS 차단.
|
||||
2. NSDR 10분 가이드.
|
||||
3. 종료 후 5분 메모로 재진술.
|
||||
- **체크**:
|
||||
- [ ] 학습 직후 SNS 안 봄
|
||||
- [ ] NSDR 10분
|
||||
- [ ] 메모 재진술
|
||||
- **참고**:
|
||||
- HL ep #8 "Optimize Your Learning & Creativity with Science-based Tools"
|
||||
- Paper (wakeful rest & memory): **Dewar M, Alber J, Butler C, Cowan N, Della Sala S (2012) "Brief wakeful resting boosts new memories over the long term", *Psychological Science* 23(9):955-960.** DOI: https://doi.org/10.1177/0956797612441220 — wakeful rest의 기억 응고화 효과
|
||||
- Researcher: Robert Stickgold (Harvard, 수면과 기억); Erin Wamsley (Furman, wakeful rest & memory)
|
||||
- **⚠️ Note**: 이전 버전에서 Wamsley 2010을 인용했으나 해당 논문은 직접적인 "wakeful rest" 연구가 아님. Dewar 2012가 주제에 더 정확.
|
||||
|
||||
---
|
||||
|
||||
## 6. Daily Minimum Effective Dose
|
||||
> 위 프로토콜의 최소 실행 단위. 그대로 일일 체크리스트로 사용.
|
||||
|
||||
### 🌅 Morning
|
||||
- [ ] 물 500ml + 소금 (→ `nutrition/diet-protocols.md` §1.4)
|
||||
- [ ] 야외 햇빛 5~10분 (§1.1)
|
||||
- [ ] (선택) 찬물 1~3분 (§1.7)
|
||||
- [ ] cyclic sighing 1~5분 또는 명상 13분 (§2.3 / §2.1)
|
||||
- [ ] 90~120분 단식 + 카페인 컷오프 (§1.5)
|
||||
|
||||
### ☀️ Workday
|
||||
- [ ] Phase 1에 가장 어려운 일 1개 (§4.1)
|
||||
- [ ] 90분 deep work × 1~3 (§5.1)
|
||||
- [ ] 슬럼프 시 NSDR 10~20분 (§2.2)
|
||||
- [ ] 오늘의 aMCC 싫은 일 1개 (§3.4)
|
||||
|
||||
### 🏋️ Movement
|
||||
- [ ] 요일별 운동 1개 (§1.6)
|
||||
- [ ] 단백질 일일 목표 (→ `nutrition/diet-protocols.md` §1.1)
|
||||
|
||||
### 🌇 Evening
|
||||
- [ ] 일몰 햇빛 5~10분 (§1.2)
|
||||
- [ ] 마지막 식사 취침 2~3h 전 (§1.4)
|
||||
- [ ] 9시 이후 머리 위 빛 OFF (§1.3)
|
||||
|
||||
### 🌙 Night
|
||||
- [ ] 침실 18~19℃ (§1.4)
|
||||
- [ ] 따뜻한 샤워/족욕 (§1.4)
|
||||
- [ ] (선택) Mg L-threonate / Apigenin / Theanine (§1.10)
|
||||
- [ ] 화면 OFF / 야간 모드 (§1.3)
|
||||
|
||||
---
|
||||
|
||||
## 7. Weekly Anchors
|
||||
- [ ] Zone 2 150~200분 (§1.6)
|
||||
- [ ] VO2max 1회 (§1.6)
|
||||
- [ ] 근력 2~4회 (§1.6)
|
||||
- [ ] 냉수 합산 11분 (§1.7)
|
||||
- [ ] 사우나 합산 57분 (§1.8, 선택)
|
||||
- [ ] NSDR 주 3회+ (§2.2)
|
||||
- [ ] 디지털 디톡스 24h × 1 (§3.5)
|
||||
- [ ] 6주 트래커 + friction 평균 (§4.3, §4.4)
|
||||
|
||||
---
|
||||
|
||||
## 8. 전체 출처 / 참고
|
||||
|
||||
### Huberman Lab Podcast (에피소드 번호 + URL 검증됨)
|
||||
| # | 제목 | URL |
|
||||
|---|---|---|
|
||||
| 2 | Master Your Sleep & Be More Alert When Awake | https://www.hubermanlab.com/episode/master-your-sleep-be-more-alert-when-awake |
|
||||
| 6 | How to Focus to Change Your Brain | https://www.hubermanlab.com/episode/how-to-focus-to-change-your-brain |
|
||||
| 8 | Optimize Your Learning & Creativity with Science-based Tools | https://www.hubermanlab.com/episode/optimize-your-learning-and-creativity-with-science-based-tools |
|
||||
| 10 | Tools for Managing Stress & Anxiety | https://www.hubermanlab.com/episode/tools-for-managing-stress-and-anxiety |
|
||||
| 28 | Maximizing Productivity, Physical & Mental Health with Daily Tools | https://www.hubermanlab.com/episode/maximizing-productivity-physical-and-mental-health-with-daily-tools |
|
||||
| 39 | Controlling Your Dopamine For Motivation, Focus & Satisfaction | https://www.hubermanlab.com/episode/controlling-your-dopamine-for-motivation-focus-and-satisfaction |
|
||||
| 53 | The Science of Making & Breaking Habits | https://www.hubermanlab.com/episode/the-science-of-making-and-breaking-habits |
|
||||
| 66 | Using Deliberate Cold Exposure for Health and Performance | https://www.hubermanlab.com/episode/using-deliberate-cold-exposure-for-health-and-performance |
|
||||
| 68 | Using Light to Optimize Health | https://www.hubermanlab.com/episode/using-light-sunlight-blue-light-and-red-light-to-optimize-health |
|
||||
| 69 | The Science & Health Benefits of Deliberate Heat Exposure | https://www.hubermanlab.com/episode/the-science-and-health-benefits-of-deliberate-heat-exposure |
|
||||
| 84 | Sleep Toolkit: Tools for Optimizing Sleep & Sleep-Wake Timing | https://www.hubermanlab.com/episode/sleep-toolkit-tools-for-optimizing-sleep-and-sleep-wake-timing |
|
||||
| 88 | Focus Toolkit: Tools to Improve Your Focus & Concentration | https://www.hubermanlab.com/episode/focus-toolkit-tools-to-improve-your-focus-and-concentration |
|
||||
| 96 | How Meditation Works & Science-Based Effective Meditations | https://www.hubermanlab.com/episode/how-meditation-works-and-science-based-effective-meditations |
|
||||
| 101 | Using Caffeine to Optimize Mental & Physical Performance | https://www.hubermanlab.com/episode/using-caffeine-to-optimize-mental-and-physical-performance |
|
||||
| 113 | Leverage Dopamine to Overcome Procrastination & Optimize Effort | https://www.hubermanlab.com/episode/leverage-dopamine-to-overcome-procrastination-and-optimize-effort |
|
||||
| Galpin Series (6편) | Guest Series with Dr. Andy Galpin (2023) | 각 파트 URL은 §1.6 참조 |
|
||||
|
||||
### Peer-Reviewed Sources (DOI 검증됨)
|
||||
1. Šrámek et al. (2000) *Eur J Appl Physiol* 81(5):436-442 — https://doi.org/10.1007/s004210050065
|
||||
2. Laukkanen et al. (2015) *JAMA Intern Med* 175(4):542-548 — https://doi.org/10.1001/jamainternmed.2014.8187
|
||||
3. Mandsager et al. (2018) *JAMA Netw Open* 1(6):e183605 — https://doi.org/10.1001/jamanetworkopen.2018.3605
|
||||
4. Kjaer et al. (2002) *Cogn Brain Res* 13(2):255-259 — https://doi.org/10.1016/S0926-6410(01)00106-9
|
||||
5. Basso et al. (2019) *Behav Brain Res* 356:208-220 — https://doi.org/10.1016/j.bbr.2018.08.023
|
||||
6. Balban et al. (2023) *Cell Rep Med* 4(1):100895 — https://doi.org/10.1016/j.xcrm.2022.100895
|
||||
7. Bedrosian & Nelson (2017) *Transl Psychiatry* 7(1):e1017 — https://doi.org/10.1038/tp.2016.262
|
||||
8. Lally et al. (2010) *Eur J Soc Psychol* 40(6):998-1009 — https://doi.org/10.1002/ejsp.674
|
||||
9. Mischoulon et al. (2015) *J Clin Psychiatry* 76(1):54-61 — https://doi.org/10.4088/JCP.14m08986 ⚠️ null primary
|
||||
10. Wright et al. (2013) *Curr Biol* 23(16):1554-1558 — https://doi.org/10.1016/j.cub.2013.06.039
|
||||
11. Dewar et al. (2012) *Psychol Sci* 23(9):955-960 — https://doi.org/10.1177/0956797612441220
|
||||
12. Graybiel (2008) *Annu Rev Neurosci* 31:359-387 — https://doi.org/10.1146/annurev.neuro.29.051605.112851
|
||||
13. Hausenblas et al. (2024) *Sleep Med X* 8:100121 — https://doi.org/10.1016/j.sleepx.2024.100121
|
||||
14. Zaccaro et al. (2018) *Front Hum Neurosci* 12:353 — https://doi.org/10.3389/fnhum.2018.00353
|
||||
15. Touroutoglou et al. (2020) *Cortex* 123:12-29 — https://doi.org/10.1016/j.cortex.2019.09.011
|
||||
16. Katsumi et al. (2022) *Brain Commun* 4(4):fcac163 — https://doi.org/10.1093/braincomms/fcac163
|
||||
17. Kleitman (1982) *Sleep* 5(4):311-317 — https://doi.org/10.1093/sleep/5.4.311
|
||||
18. Aston-Jones & Cohen (2005) *Annu Rev Neurosci* 28:403-450 — https://doi.org/10.1146/annurev.neuro.28.061604.135709
|
||||
19. Bornert & Bouret (2024) *Neuron* 112(15):2745-2761.e7 — https://doi.org/10.1016/j.neuron.2024.04.024
|
||||
20. Azrin & Nunn (1973) *Behav Res Ther* — Habit Reversal Training (DOI 미검색)
|
||||
21. Li et al. (2001) *J Steroid Biochem Mol Biol* — Apigenin in vitro (DOI 미검색)
|
||||
|
||||
### 주요 연구자 (Huberman이 반복 인용)
|
||||
- Samer Hattar (NIH) — melanopsin/ipRGC
|
||||
- Charles Czeisler (Harvard) — circadian
|
||||
- Matthew Walker (UC Berkeley) — 수면
|
||||
- Wolfram Schultz (Cambridge) — 도파민 RPE
|
||||
- Ann Graybiel (MIT) — 기저핵 습관
|
||||
- Wendy Wood (USC) — 습관·맥락
|
||||
- Phillippa Lally (UCL) — 습관 자동화
|
||||
- Jack Feldman (UCLA) — 호흡 회로
|
||||
- Lisa Feldman Barrett & Joseph Touroutoglou (Northeastern) — aMCC/SuperAging
|
||||
- Wendy Hasenkamp — mind-wandering
|
||||
- Richard Davidson (UW Madison) — contemplative neuroscience
|
||||
- Anna Lembke (Stanford) — 도파민
|
||||
- David Spiegel (Stanford) — 임상최면·호흡 (Balban 2023 시니어 저자)
|
||||
- Andy Galpin (Cal State Fullerton) — 운동 생리학
|
||||
- Peter Attia — 장수의학
|
||||
- Jari Laukkanen (U. Eastern Finland) — sauna
|
||||
- Susanna Søberg — 냉수·갈색지방
|
||||
- Iñigo San-Millán — Zone 2 미토콘드리아
|
||||
- Erin Wamsley (Furman) — wakeful rest & memory
|
||||
|
||||
### 검증 통계 (v4)
|
||||
- 검증 항목 총 33개 중:
|
||||
- ✅ 확인됨: 22 (에피소드 16, 논문 13 검증)
|
||||
- ⚠️ 부분 확인 / 인용 시 주의: 8 (카페인 90분, EPA, box breathing, 3-phase 모델, Limbic friction, 6주 룰, 야간 빛 buffer, LC narrow-aperture)
|
||||
- 🔄 수정 적용: 2 (Wamsley → Dewar; "Reduce Anxiety…" → Ep #10)
|
||||
- ❌ 인간 RCT 부재: 1 (Apigenin 50mg)
|
||||
|
||||
### 면책
|
||||
- 본 문서는 의학적 조언이 아님.
|
||||
- 보충제·냉수·단식·사우나·운동 강도는 의사와 상의.
|
||||
- 효과 수치(NSDR +65%, NE +530%/DA +250%)는 원 논문의 실험 조건에 한정. 일상 효과와 동일하지 않음.
|
||||
|
||||
---
|
||||
|
||||
## 9. 파서/앱을 위한 메타데이터 규약
|
||||
- 프로토콜 ID: `섹션.항목` (예: `1.1`, `4.2`).
|
||||
- 필드 순서 고정: `무엇을 / 언제 / 얼마나 / 왜 / 절차 / 체크 / 참고 / (주의)`.
|
||||
- `절차` = 번호 매김 / `체크` = `- [ ]` / `참고` = bullet.
|
||||
- 참고 prefix: `HL ep #N`, `Paper:`, `Researcher:`, `Note:`.
|
||||
- 다른 프로토콜 참조: `(§X.Y)`.
|
||||
- 근거 강도 마커: ✅ / ⚠️ / 🔄 / ❌ (참고 필드 내 명시).
|
||||
59
schema/_index.json
Normal file
59
schema/_index.json
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/_index.json",
|
||||
"title": "life-helper schema index v1",
|
||||
"description": "전체 스키마 목록 + 운영 규칙 메타. 자세한 설계는 data-model.md 참조.",
|
||||
"version": "1.0.0",
|
||||
"schemas": {
|
||||
"catalog": {
|
||||
"protocol": "./protocol.schema.json",
|
||||
"break_protocol": "./break_protocol.schema.json",
|
||||
"common_frame": "./common_frame.schema.json",
|
||||
"methodology": "./methodology.schema.json",
|
||||
"frame_pattern": "./frame_pattern.schema.json",
|
||||
"reward_menu_item": "./reward_menu_item.schema.json",
|
||||
"reference": "./reference.schema.json"
|
||||
},
|
||||
"user_data": {
|
||||
"user": "./user.schema.json",
|
||||
"phase": "./phase.schema.json",
|
||||
"habit": "./habit.schema.json",
|
||||
"if_then_rule": "./if_then_rule.schema.json",
|
||||
"tracker_entry": "./tracker_entry.schema.json",
|
||||
"lapse_log": "./lapse_log.schema.json",
|
||||
"urge_log": "./urge_log.schema.json",
|
||||
"reward_declaration": "./reward_declaration.schema.json",
|
||||
"reward_claim": "./reward_claim.schema.json",
|
||||
"reflection": "./reflection.schema.json"
|
||||
},
|
||||
"shared": {
|
||||
"enums": "./enums.schema.json"
|
||||
}
|
||||
},
|
||||
"operational_rules": [
|
||||
{ "id": "R1", "rule": "user당 동시 active build habit ≤ 3", "enforced_in": "habit query / application layer" },
|
||||
{ "id": "R2", "rule": "user당 동시 active break habit ≤ 1", "enforced_in": "habit query / application layer" },
|
||||
{ "id": "R3", "rule": "habit.frame.level ∈ {L2, L3} 강제 (L0/L1 거부)", "enforced_in": "habit.schema.json (enum)" },
|
||||
{ "id": "R4", "rule": "reward_declaration은 phase.started_at + 7일 이내에만 생성", "enforced_in": "application layer" },
|
||||
{ "id": "R5", "rule": "tracker_entry.value ∈ {done, blank} 2값만", "enforced_in": "tracker_entry.schema.json (enum)" },
|
||||
{ "id": "R6", "rule": "phase.duration_weeks = 6 default, 6주 중간 anchor 변경 warning", "enforced_in": "application layer" },
|
||||
{ "id": "R7", "rule": "if_then_rule.then_action 회피 키워드 감지 시 warning", "enforced_in": "client-side linter" },
|
||||
{ "id": "R8", "rule": "habit 일일 운영 ≤ 2분 (UX 제약)", "enforced_in": "UI design (not in schema)" }
|
||||
],
|
||||
"id_format": {
|
||||
"scheme": "ULID with type prefix",
|
||||
"examples": {
|
||||
"user": "u_01J9XYZ...",
|
||||
"habit": "hb_01J9XYZ...",
|
||||
"tracker_entry": "te_01J9XYZ...",
|
||||
"phase": "ph_01J9XYZ...",
|
||||
"lapse_log": "ll_01J9XYZ...",
|
||||
"urge_log": "ul_01J9XYZ...",
|
||||
"reward_declaration": "rd_01J9XYZ...",
|
||||
"reward_claim": "rc_01J9XYZ...",
|
||||
"if_then_rule": "if_01J9XYZ...",
|
||||
"reflection": "rf_01J9XYZ...",
|
||||
"reference": "ref_doi_10_1136_bmj_j2353"
|
||||
}
|
||||
}
|
||||
}
|
||||
54
schema/break_protocol.schema.json
Normal file
54
schema/break_protocol.schema.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/break_protocol.schema.json",
|
||||
"title": "Break Protocol (끊기 카테고리)",
|
||||
"description": "habit-breaking-protocols.md §2의 카테고리별 프로토콜.",
|
||||
"type": "object",
|
||||
"required": ["id", "category", "title", "huberman_summary", "phases", "default_common_frames"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string", "description": "보통 category 값과 동일" },
|
||||
"category": { "$ref": "enums.schema.json#/$defs/BreakCategory" },
|
||||
"title": { "type": "string" },
|
||||
"huberman_summary": { "type": "string", "description": "Huberman 핵심 메시지 요약" },
|
||||
"frame_examples": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["level", "text"],
|
||||
"properties": {
|
||||
"level": { "$ref": "enums.schema.json#/$defs/FrameLevelAllowed" },
|
||||
"text": { "type": "string" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"phases": {
|
||||
"type": "array",
|
||||
"description": "단계식 프로토콜 (예: 4주 알코올 점진 감량)",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["week", "goal"],
|
||||
"properties": {
|
||||
"week": { "type": "integer", "minimum": 1 },
|
||||
"goal": { "type": "string" },
|
||||
"environment_design": { "type": "string" },
|
||||
"if_then_examples": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
}
|
||||
},
|
||||
"default_common_frames": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "enums.schema.json#/$defs/CommonFrameId" },
|
||||
"description": "이 카테고리에 권장되는 공통 프레임 ID 목록"
|
||||
},
|
||||
"tools": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"description": "추천 도구 (DNS 필터·앱·하드웨어)"
|
||||
},
|
||||
"medical_warning": { "type": "string", "description": "의학적 면책/응급 경고" },
|
||||
"reference_ids": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
}
|
||||
23
schema/common_frame.schema.json
Normal file
23
schema/common_frame.schema.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/common_frame.schema.json",
|
||||
"title": "Common Frame (끊기 공통 프레임 5개)",
|
||||
"description": "habit-breaking-protocols.md §1 — Dopamine Reset · Urge Surf · Environment Design · Relapse Recovery · Recovery Stack.",
|
||||
"type": "object",
|
||||
"required": ["id", "title", "what", "why", "how", "check"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "$ref": "enums.schema.json#/$defs/CommonFrameId" },
|
||||
"title": { "type": "string" },
|
||||
"what": { "type": "string" },
|
||||
"why": { "type": "string" },
|
||||
"dose": { "type": "string" },
|
||||
"how": { "type": "array", "items": { "type": "string" } },
|
||||
"check": { "type": "string" },
|
||||
"applicable_break_categories": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "enums.schema.json#/$defs/BreakCategory" }
|
||||
},
|
||||
"reference_ids": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
}
|
||||
82
schema/enums.schema.json
Normal file
82
schema/enums.schema.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/enums.schema.json",
|
||||
"title": "Shared Enums",
|
||||
"description": "모든 스키마에서 $ref로 재사용되는 열거형 정의.",
|
||||
"$defs": {
|
||||
"HabitType": { "type": "string", "enum": ["build", "break"] },
|
||||
"HabitStatus": { "type": "string", "enum": ["active", "paused", "completed", "abandoned"] },
|
||||
"FrameLevel": {
|
||||
"type": "string",
|
||||
"enum": ["L0", "L1", "L2", "L3"],
|
||||
"description": "L0=회피형(거부), L1=단순대체(임시), L2=조건부 긍정(권장), L3=정체성(6주 후 권장)"
|
||||
},
|
||||
"FrameLevelAllowed": {
|
||||
"type": "string",
|
||||
"enum": ["L2", "L3"],
|
||||
"description": "habit.frame.level은 L2/L3만 허용 (R3)"
|
||||
},
|
||||
"TrackerValue": {
|
||||
"type": "string",
|
||||
"enum": ["done", "blank"],
|
||||
"description": "○/공백 2값만 (R5)"
|
||||
},
|
||||
"RewardTier": {
|
||||
"type": "string",
|
||||
"enum": ["T0", "T1", "T2", "T3", "T4"],
|
||||
"description": "T0=매일 직후 Celebration, T1=3회 스트릭, T2=7일, T3=30일, T4=42일(6주)"
|
||||
},
|
||||
"HALT": {
|
||||
"type": "string",
|
||||
"enum": ["hungry", "angry", "lonely", "tired", "none"]
|
||||
},
|
||||
"ProtocolCategory": {
|
||||
"type": "string",
|
||||
"enum": ["health", "meditation", "motivation", "habit", "learning", "diet"]
|
||||
},
|
||||
"BreakCategory": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"alcohol", "nicotine", "porn_masturbation", "social_media",
|
||||
"sugar", "caffeine", "cannabis", "behavioral"
|
||||
]
|
||||
},
|
||||
"CommonFrameId": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"dopamine_reset", "urge_surf", "environment_design",
|
||||
"relapse_recovery", "recovery_stack"
|
||||
]
|
||||
},
|
||||
"EvidenceStrength": {
|
||||
"type": "string",
|
||||
"enum": ["strong_rct", "meta_analysis", "observational", "mechanistic", "expert_opinion"],
|
||||
"description": "출처 강도 레이블"
|
||||
},
|
||||
"ReferenceKind": {
|
||||
"type": "string",
|
||||
"enum": ["paper", "podcast_episode", "book", "url", "korean_explainer"],
|
||||
"description": "korean_explainer는 한국어 해설자(인플루언서) cross-reference 전용 — 핵심 인용 X"
|
||||
},
|
||||
"DateString": {
|
||||
"type": "string",
|
||||
"format": "date",
|
||||
"description": "YYYY-MM-DD"
|
||||
},
|
||||
"DateTimeString": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "ISO 8601 (timezone 포함 권장)"
|
||||
},
|
||||
"TimeOfDay": {
|
||||
"type": "string",
|
||||
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
|
||||
"description": "HH:MM (24시간)"
|
||||
},
|
||||
"Ulid": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-z]+_[0-9A-HJKMNP-TV-Z]{26}$",
|
||||
"description": "타입 prefix + ULID. 예: hb_01J9XYZ..."
|
||||
}
|
||||
}
|
||||
}
|
||||
24
schema/frame_pattern.schema.json
Normal file
24
schema/frame_pattern.schema.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/frame_pattern.schema.json",
|
||||
"title": "Frame Pattern (L0→L2/L3 변환표)",
|
||||
"description": "habit-todo-methodologies.md §언어 프레이밍 — 회피형 입력을 긍정 프레임으로 자동 변환 제안.",
|
||||
"type": "object",
|
||||
"required": ["id", "avoidance_keyword", "l0_example", "l2_suggestion"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"domain": {
|
||||
"type": "string",
|
||||
"enum": ["food", "drink", "smoking", "screen", "porn", "sleep", "exercise", "general"]
|
||||
},
|
||||
"avoidance_keyword": {
|
||||
"type": "string",
|
||||
"description": "감지할 회피형 키워드 (끊기/안/그만/줄이기/멈추기 등)"
|
||||
},
|
||||
"l0_example": { "type": "string", "description": "원본 회피형 예시" },
|
||||
"l1_simple_replace": { "type": "string", "description": "단순 대체 (임시)" },
|
||||
"l2_suggestion": { "type": "string", "description": "조건부 긍정 (default 추천)" },
|
||||
"l3_identity": { "type": "string", "description": "정체성 프레임 (6주 후 권장)" }
|
||||
}
|
||||
}
|
||||
57
schema/habit.schema.json
Normal file
57
schema/habit.schema.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/habit.schema.json",
|
||||
"title": "Habit (사용자 습관 — build 또는 break)",
|
||||
"description": "active 상태에서 build ≤ 3, break ≤ 1 (R1/R2). frame.level은 L2/L3만 허용 (R3).",
|
||||
"type": "object",
|
||||
"required": ["id", "user_id", "type", "status", "title", "frame", "anchor", "started_at"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"user_id": { "type": "string" },
|
||||
"phase_id": { "type": "string", "description": "소속 phase. null이면 phase 외 운영" },
|
||||
"type": { "$ref": "enums.schema.json#/$defs/HabitType" },
|
||||
"status": { "$ref": "enums.schema.json#/$defs/HabitStatus" },
|
||||
"title": { "type": "string", "description": "사용자가 보는 짧은 제목 (≤ 20자 권장)" },
|
||||
"protocol_id": { "type": ["string", "null"], "description": "catalog protocol 참조 (type=build)" },
|
||||
"break_protocol_id": { "type": ["string", "null"], "description": "catalog break_protocol 참조 (type=break)" },
|
||||
"common_frame_ids": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "enums.schema.json#/$defs/CommonFrameId" },
|
||||
"description": "type=break 시 활성화할 공통 프레임 ID"
|
||||
},
|
||||
"frame": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["level", "framed_text"],
|
||||
"properties": {
|
||||
"level": { "$ref": "enums.schema.json#/$defs/FrameLevelAllowed" },
|
||||
"original_text": { "type": "string", "description": "사용자의 최초 입력 (L0일 수 있음, 감사 목적)" },
|
||||
"framed_text": { "type": "string", "description": "L2 또는 L3로 변환된 최종 문장" }
|
||||
}
|
||||
},
|
||||
"anchor": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"when": { "$ref": "enums.schema.json#/$defs/TimeOfDay" },
|
||||
"after_what": { "type": "string", "description": "Tiny Habits anchor — 직전 행동" },
|
||||
"where": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"stack_position": {
|
||||
"type": "integer", "minimum": 1,
|
||||
"description": "Atomic Habits #5 habit stacking 순서"
|
||||
},
|
||||
"min_dose": { "type": "string", "description": "시작 doseo (Tiny Habits)" },
|
||||
"target_dose": { "type": "string" },
|
||||
"started_at": { "$ref": "enums.schema.json#/$defs/DateString" },
|
||||
"ended_at": { "$ref": "enums.schema.json#/$defs/DateString" },
|
||||
"tags": { "type": "array", "items": { "type": "string" } },
|
||||
"x_constraint": {
|
||||
"description": "참고용 메타 — 검증은 application layer에서 수행 (XOR protocol_id vs break_protocol_id)",
|
||||
"type": "string",
|
||||
"const": "type=build → protocol_id 채움 / type=break → break_protocol_id 채움 (반대쪽은 null)"
|
||||
}
|
||||
}
|
||||
}
|
||||
27
schema/if_then_rule.schema.json
Normal file
27
schema/if_then_rule.schema.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/if_then_rule.schema.json",
|
||||
"title": "If-Then Rule (Implementation Intention)",
|
||||
"description": "Gollwitzer If-Then. habit당 ≤ 3개 권장. then_action에 회피 키워드 감지 시 warning (R7).",
|
||||
"type": "object",
|
||||
"required": ["id", "habit_id", "if_condition", "then_action"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"habit_id": { "type": "string" },
|
||||
"if_condition": {
|
||||
"type": "string",
|
||||
"description": "if 절. 시간/맥락/감정/직전 행동 기반 (예: 'If 22시 평일에 충동 나면')"
|
||||
},
|
||||
"then_action": {
|
||||
"type": "string",
|
||||
"description": "then 절. 긍정 행동 (예: 'then 거실에서 산책 5분 + 차가운 물 한 잔')"
|
||||
},
|
||||
"trigger_type": {
|
||||
"type": "string",
|
||||
"enum": ["time", "location", "emotion", "preceding_action", "urge"]
|
||||
},
|
||||
"priority": { "type": "integer", "minimum": 1, "maximum": 3, "default": 1 },
|
||||
"created_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" }
|
||||
}
|
||||
}
|
||||
39
schema/lapse_log.schema.json
Normal file
39
schema/lapse_log.schema.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/lapse_log.schema.json",
|
||||
"title": "Lapse Log (LEARN 5필드)",
|
||||
"description": "habit-breaking-protocols.md §1.4 — 재발 후 24시간 안에 작성. 자기비판 차단 + 데이터화.",
|
||||
"type": "object",
|
||||
"required": ["id", "habit_id", "date", "label_text", "examine_halt", "antecedent", "replan", "next_action"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"habit_id": { "type": "string" },
|
||||
"date": { "$ref": "enums.schema.json#/$defs/DateString" },
|
||||
"label_text": {
|
||||
"type": "string",
|
||||
"description": "L (Label) — 'lapse 발생. 실패가 아닌 데이터.' 형태"
|
||||
},
|
||||
"examine_halt": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "enums.schema.json#/$defs/HALT" },
|
||||
"description": "E (Examine HALT) — Hungry/Angry/Lonely/Tired 중 해당 항목"
|
||||
},
|
||||
"antecedent": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"minItems": 1,
|
||||
"maxItems": 5,
|
||||
"description": "A (Antecedent) — 트리거 3개 이상 권장 (시간/장소/사람/감정/직전 행동)"
|
||||
},
|
||||
"replan": {
|
||||
"type": "string",
|
||||
"description": "R (Replan) — 추가 If-Then 또는 환경 디자인 1개"
|
||||
},
|
||||
"next_action": {
|
||||
"type": "string",
|
||||
"description": "N (Next) — 24시간 안에 즉시 실행. 'Never miss twice'"
|
||||
},
|
||||
"created_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" }
|
||||
}
|
||||
}
|
||||
30
schema/methodology.schema.json
Normal file
30
schema/methodology.schema.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/methodology.schema.json",
|
||||
"title": "Methodology (21개 방법론)",
|
||||
"description": "habit-todo-methodologies.md의 방법론 카드.",
|
||||
"type": "object",
|
||||
"required": ["id", "name", "originator", "one_line_definition", "core_unit", "huberman_fit_score"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string", "description": "예: atomic_habits, gtd, tiny_habits" },
|
||||
"name": { "type": "string" },
|
||||
"originator": { "type": "string", "description": "창시자 + 연도" },
|
||||
"one_line_definition": { "type": "string" },
|
||||
"core_unit": { "type": "string", "description": "핵심 작업 단위 (habit / task / project ...)" },
|
||||
"procedure": { "type": "array", "items": { "type": "string" } },
|
||||
"tools": { "type": "array", "items": { "type": "string" } },
|
||||
"strengths": { "type": "array", "items": { "type": "string" } },
|
||||
"weaknesses": { "type": "array", "items": { "type": "string" } },
|
||||
"good_for": { "type": "string", "description": "잘 맞는 사용자 프로파일" },
|
||||
"huberman_fit_score": {
|
||||
"type": "integer", "minimum": 1, "maximum": 5,
|
||||
"description": "Huberman 결합 적합도 ⭐1~5"
|
||||
},
|
||||
"is_core_engine": {
|
||||
"type": "boolean",
|
||||
"description": "본 프로젝트의 핵심 운영 엔진 (Atomic Habits / Tiny Habits / Implementation Intentions만 true)"
|
||||
},
|
||||
"reference_ids": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
}
|
||||
32
schema/phase.schema.json
Normal file
32
schema/phase.schema.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/phase.schema.json",
|
||||
"title": "Phase (6주 사이클)",
|
||||
"description": "사용자당 동시 active phase는 1개 권장. 6주 단위 운영.",
|
||||
"type": "object",
|
||||
"required": ["id", "user_id", "started_at", "duration_weeks", "status"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"user_id": { "type": "string" },
|
||||
"title": { "type": "string", "description": "예: '2026 Q2 1차 — 아침 루틴 정착'" },
|
||||
"started_at": { "$ref": "enums.schema.json#/$defs/DateString" },
|
||||
"ended_at": { "$ref": "enums.schema.json#/$defs/DateString" },
|
||||
"duration_weeks": { "type": "integer", "minimum": 1, "default": 6 },
|
||||
"status": { "type": "string", "enum": ["active", "completed", "abandoned"] },
|
||||
"habit_ids": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"description": "이 phase에 등록된 habit. build ≤ 3, break ≤ 1 (R1/R2)"
|
||||
},
|
||||
"intention_text": {
|
||||
"type": "string",
|
||||
"description": "이번 6주에 만들고 싶은 정체성 (L3 미리보기)"
|
||||
},
|
||||
"reward_declarations_locked": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "phase 시작 후 7일 지나면 자동 true → 추가 reward_declaration 차단 (R4)"
|
||||
}
|
||||
}
|
||||
}
|
||||
51
schema/protocol.schema.json
Normal file
51
schema/protocol.schema.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/protocol.schema.json",
|
||||
"title": "Protocol (원자 프로토콜 — Huberman + Diet)",
|
||||
"description": "huberman-protocols.md와 diet-protocols.md의 atomic protocol 카탈로그. 7필드 통일 구조.",
|
||||
"type": "object",
|
||||
"required": ["id", "category", "title", "what", "when", "dose", "why", "how", "check"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string", "description": "예: huberman_1_1_morning_sunlight" },
|
||||
"category": { "$ref": "enums.schema.json#/$defs/ProtocolCategory" },
|
||||
"title": { "type": "string", "description": "한국어 제목" },
|
||||
"title_en": { "type": "string" },
|
||||
"what": { "type": "string", "description": "무엇을" },
|
||||
"when": { "type": "string", "description": "언제" },
|
||||
"dose": { "type": "string", "description": "얼마나 (수치 + 단위)" },
|
||||
"why": { "type": "string", "description": "왜 (메커니즘)" },
|
||||
"how": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"minItems": 1,
|
||||
"description": "절차 단계 (순서대로)"
|
||||
},
|
||||
"check": { "type": "string", "description": "체크 방법" },
|
||||
"caution": { "type": "string", "description": "주의 (옵션)" },
|
||||
"default_anchor": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"when": { "$ref": "enums.schema.json#/$defs/TimeOfDay" },
|
||||
"after_what": { "type": "string" },
|
||||
"where": { "type": "string" }
|
||||
},
|
||||
"description": "사용자가 habit에 채택할 때의 default anchor 제안"
|
||||
},
|
||||
"min_dose_for_start": {
|
||||
"type": "string",
|
||||
"description": "Tiny Habits 시작 doseo (예: '햇빛 2분', '운동 1세트'). 6주 사이클 첫 주용."
|
||||
},
|
||||
"reference_ids": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"description": "reference.id 배열"
|
||||
},
|
||||
"evidence_strength": { "$ref": "enums.schema.json#/$defs/EvidenceStrength" },
|
||||
"source_doc": {
|
||||
"type": "string",
|
||||
"enum": ["huberman-protocols.md", "diet-protocols.md"]
|
||||
}
|
||||
}
|
||||
}
|
||||
23
schema/reference.schema.json
Normal file
23
schema/reference.schema.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/reference.schema.json",
|
||||
"title": "Reference (인용 출처)",
|
||||
"type": "object",
|
||||
"required": ["id", "kind", "title"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string", "description": "안정 식별자. 예: ref_doi_10_1136_bmj_j2353" },
|
||||
"kind": { "$ref": "enums.schema.json#/$defs/ReferenceKind" },
|
||||
"title": { "type": "string" },
|
||||
"authors": { "type": "array", "items": { "type": "string" } },
|
||||
"year": { "type": "integer", "minimum": 1900, "maximum": 2100 },
|
||||
"journal": { "type": "string", "description": "kind=paper 시" },
|
||||
"doi": { "type": "string", "description": "kind=paper 시 우선" },
|
||||
"url": { "type": "string", "format": "uri" },
|
||||
"episode_number": { "type": "integer", "description": "kind=podcast_episode (HL ep #N)" },
|
||||
"publisher": { "type": "string", "description": "kind=book 시" },
|
||||
"evidence_strength": { "$ref": "enums.schema.json#/$defs/EvidenceStrength" },
|
||||
"verified": { "type": "boolean", "description": "DOI/URL 실제 확인 여부" },
|
||||
"note": { "type": "string", "description": "근거 한계 / 인용 주의" }
|
||||
}
|
||||
}
|
||||
22
schema/reflection.schema.json
Normal file
22
schema/reflection.schema.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/reflection.schema.json",
|
||||
"title": "Reflection (주/월/6주 회고)",
|
||||
"description": "자유 텍스트 회고. 주간 또는 phase 종료 시점에 작성.",
|
||||
"type": "object",
|
||||
"required": ["id", "user_id", "scope", "period_start", "period_end"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"user_id": { "type": "string" },
|
||||
"scope": { "type": "string", "enum": ["weekly", "monthly", "phase_end"] },
|
||||
"period_start": { "$ref": "enums.schema.json#/$defs/DateString" },
|
||||
"period_end": { "$ref": "enums.schema.json#/$defs/DateString" },
|
||||
"phase_id": { "type": ["string", "null"] },
|
||||
"kept": { "type": "string", "description": "잘 유지된 것 (Atomic Habits 4법칙 관점)" },
|
||||
"missed": { "type": "string", "description": "결석/lapse 패턴 — 자책 아닌 데이터 처리" },
|
||||
"adjust": { "type": "string", "description": "다음 주기에 바꿀 것 1개만" },
|
||||
"identity_note": { "type": "string", "description": "L3 정체성 변화 감각 (옵션)" },
|
||||
"created_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" }
|
||||
}
|
||||
}
|
||||
24
schema/reward_claim.schema.json
Normal file
24
schema/reward_claim.schema.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/reward_claim.schema.json",
|
||||
"title": "Reward Claim (실제 milestone 달성 기록)",
|
||||
"description": "reward_declaration의 milestone_rule이 충족된 시점 + 사용자가 실제 보상을 받았는지.",
|
||||
"type": "object",
|
||||
"required": ["id", "declaration_id", "milestone_reached_at", "fulfilled"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"declaration_id": { "type": "string" },
|
||||
"milestone_reached_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" },
|
||||
"fulfilled": {
|
||||
"type": "boolean",
|
||||
"description": "사용자가 실제로 보상을 받았는지 (선언만 하고 안 받을 수도 있음)"
|
||||
},
|
||||
"fulfilled_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" },
|
||||
"reflection": {
|
||||
"type": "string",
|
||||
"maxLength": 500,
|
||||
"description": "보상을 받고 난 후 짧은 회고 (옵션)"
|
||||
}
|
||||
}
|
||||
}
|
||||
34
schema/reward_declaration.schema.json
Normal file
34
schema/reward_declaration.schema.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/reward_declaration.schema.json",
|
||||
"title": "Reward Declaration (사전 선언 보상)",
|
||||
"description": "phase.started_at 후 7일 안에만 생성 가능 (R4). 사후 즉흥 결정 차단 — variable schedule 강박 방지.",
|
||||
"type": "object",
|
||||
"required": ["id", "phase_id", "habit_id", "tier", "milestone_rule", "reward_text", "declared_at"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"phase_id": { "type": "string" },
|
||||
"habit_id": { "type": "string" },
|
||||
"tier": { "$ref": "enums.schema.json#/$defs/RewardTier" },
|
||||
"milestone_rule": {
|
||||
"type": "string",
|
||||
"description": "체크 조건 (예: '7일 중 6일 done', '30일 중 24일 done', '3회 연속 done')"
|
||||
},
|
||||
"milestone_machine_rule": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "선택 — 기계 평가용. 예: { window_days: 30, min_done: 24 }",
|
||||
"properties": {
|
||||
"window_days": { "type": "integer", "minimum": 1 },
|
||||
"min_done": { "type": "integer", "minimum": 1 },
|
||||
"require_consecutive": { "type": "boolean" }
|
||||
}
|
||||
},
|
||||
"reward_text": { "type": "string", "description": "사용자가 본인 언어로 작성 (SDT autonomy)" },
|
||||
"reward_menu_item_id": { "type": ["string", "null"], "description": "카탈로그에서 선택했다면 참조" },
|
||||
"estimated_cost_krw": { "type": "integer", "minimum": 0 },
|
||||
"is_effort_tied": { "type": "boolean" },
|
||||
"declared_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" }
|
||||
}
|
||||
}
|
||||
36
schema/reward_menu_item.schema.json
Normal file
36
schema/reward_menu_item.schema.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/reward_menu_item.schema.json",
|
||||
"title": "Reward Menu Item (보상 메뉴 카탈로그)",
|
||||
"description": "사용자가 reward_declaration 만들 때 고를 수 있는 추천 메뉴. 사용자 자유 입력도 가능 (custom=true).",
|
||||
"type": "object",
|
||||
"required": ["id", "tier_recommended", "title"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"tier_recommended": { "$ref": "enums.schema.json#/$defs/RewardTier" },
|
||||
"title": { "type": "string" },
|
||||
"description": { "type": "string" },
|
||||
"estimated_cost_krw_range": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"min": { "type": "integer", "minimum": 0 },
|
||||
"max": { "type": "integer", "minimum": 0 }
|
||||
}
|
||||
},
|
||||
"is_effort_tied": {
|
||||
"type": "boolean",
|
||||
"description": "Huberman-친화: effort 자체와 연결된 보상 (등산/장거리 라이딩 등) — T4 권장"
|
||||
},
|
||||
"tags": {
|
||||
"type": "array",
|
||||
"items": { "type": "string", "enum": ["experience", "object", "social", "rest", "learning", "hobby"] }
|
||||
},
|
||||
"avoid_for_break_habits": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "enums.schema.json#/$defs/BreakCategory" },
|
||||
"description": "끊기 습관과 충돌하는 보상 차단 (예: 알코올 끊기에 와인 보상 금지)"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
schema/tracker_entry.schema.json
Normal file
17
schema/tracker_entry.schema.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/tracker_entry.schema.json",
|
||||
"title": "Tracker Entry (일일 ○/공백)",
|
||||
"description": "(habit_id, date) unique. value는 done/blank 2값만 (R5). 일일 운영 30~60초.",
|
||||
"type": "object",
|
||||
"required": ["id", "habit_id", "date", "value"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"habit_id": { "type": "string" },
|
||||
"date": { "$ref": "enums.schema.json#/$defs/DateString" },
|
||||
"value": { "$ref": "enums.schema.json#/$defs/TrackerValue" },
|
||||
"logged_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" },
|
||||
"note": { "type": "string", "maxLength": 200, "description": "선택. 길게 쓰지 말 것" }
|
||||
}
|
||||
}
|
||||
26
schema/urge_log.schema.json
Normal file
26
schema/urge_log.schema.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/urge_log.schema.json",
|
||||
"title": "Urge Log (충동 발생/통과)",
|
||||
"description": "habit-breaking-protocols.md §1.2 Urge Surf. 선택 사항. 비율(통과/발생)이 시간 따라 상승 추적.",
|
||||
"type": "object",
|
||||
"required": ["id", "habit_id", "occurred_at", "passed"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"habit_id": { "type": "string" },
|
||||
"occurred_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" },
|
||||
"intensity_before": { "type": "integer", "minimum": 0, "maximum": 10 },
|
||||
"intensity_after": { "type": "integer", "minimum": 0, "maximum": 10 },
|
||||
"duration_seconds": { "type": "integer", "minimum": 0 },
|
||||
"body_location": {
|
||||
"type": "array",
|
||||
"items": { "type": "string", "enum": ["chest", "throat", "abdomen", "hands", "head", "other"] }
|
||||
},
|
||||
"passed": { "type": "boolean", "description": "true=urge surf 성공, false=행동으로 이어짐(lapse)" },
|
||||
"method_used": {
|
||||
"type": "string",
|
||||
"enum": ["cyclic_sighing", "walk", "water", "social_contact", "if_then_action", "other"]
|
||||
}
|
||||
}
|
||||
}
|
||||
45
schema/user.schema.json
Normal file
45
schema/user.schema.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://life-helper.local/schema/user.schema.json",
|
||||
"title": "User",
|
||||
"description": "단일 local 사용자는 id='u_local_default' 고정. 멀티는 auth uid 매핑.",
|
||||
"type": "object",
|
||||
"required": ["id", "created_at"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "type": "string", "description": "ULID 또는 'u_local_default'" },
|
||||
"display_name": { "type": "string" },
|
||||
"locale": { "type": "string", "default": "ko-KR" },
|
||||
"timezone": { "type": "string", "default": "Asia/Seoul" },
|
||||
"created_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" },
|
||||
"preferences": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"celebration_style": {
|
||||
"type": "string",
|
||||
"enum": ["verbal", "gesture", "emoji", "silent"],
|
||||
"default": "verbal",
|
||||
"description": "T0 매일 직후 Celebration 방식 (Fogg's Shine)"
|
||||
},
|
||||
"warn_on_avoidance_keywords": { "type": "boolean", "default": true },
|
||||
"preferred_methodology_ids": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"description": "기본 운영 엔진 선택 (default: atomic_habits + tiny_habits + implementation_intentions)"
|
||||
},
|
||||
"huberman_stack_enabled": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"morning_sunlight": { "type": "boolean", "default": true },
|
||||
"exercise": { "type": "boolean", "default": true },
|
||||
"nsdr": { "type": "boolean", "default": true },
|
||||
"cyclic_sighing": { "type": "boolean", "default": false },
|
||||
"social_checkin": { "type": "boolean", "default": false }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user