Files
Study/skills/self-study-agent/feedback/spaced-repetition.md
T
Hana ab79a2a72b self-study-agent: self-driving loop, no memory format details, auto_repeat config
- Replace static pipeline diagram with self-driving loop (check memory → decide → execute → repeat)
- Remove detailed memory structure JSON schemas from all files
- Remove honcho-specific storage strategy from skill (storage is caller's responsibility)
- Add auto_repeat section to config.yaml (enabled, max_sessions_per_chat, stop_conditions)
- Add rule 8 (auto-repeat) and rule 9 (termination conditions) to execution rules
- Add session transition logic to adaptation.md (due cards → review, incomplete → study)
2026-06-19 11:43:34 +09:00

2.4 KiB
Raw Blame History

F2: 간격 반복 (Spaced Repetition)

FSRS 알고리즘

기본 원리

간격 반복은 정보를 점점 더 긴 간격으로 반복하여 장기 기억을 강화하는 기법입니다.

FSRS 파라미터

w = [0.4, 0.6, 2.4, 5.8, 4.93, 0.94, 0.86, 0.01, 1.49, 0.14, 0.94, 2.18, 0.05, 0.34, 1.26, 0.29, 2.61]

간격 계산

새 카드:

  • 최초 학습 후: 1일
  • 첫 번째 복습 후: 3-7일 (난이도 기반)
  • 두 번째 복습 후: 7-30일
  • 이후: 지수적 증가 (최대 365일)

Rating별 간격:

Rating 의미 간격 조정
again 잊어버림 간격 초기화 (1일)
hard 노력해서 회상 간격 × 1.2
good 정확히 회상 간격 × FSRS 공식
easy 쉽게 회상 간격 × 1.3 × FSRS 공식

안정성(Stability) 계산

new_stability = stability * exp(
  (w6 - w7 * delta) * (w8 - w9 * (rating-1)) * w10 +
  (1 - w11) * exp(w12 - w13 * (rating-1))
)

단, again일 때:

new_stability = w14 * max(stability * w15, 1) * min(new_stability, w16 * stability)

간격(Interval) 계산

interval = stability * target_retention
interval = max(min_interval, min(interval, max_interval))

카드 관리

카드 생성

학습 세션에서 추출된 각 개념/팩트에 대해 자동 생성:

{
  "id": "card_001",
  "concept_id": "concept_001",
  "front": "Rust의 Ownership이란?",
  "back": "메모리 안전성을 보장하는 시스템으로, 각 값에 대해 하나의 소유자가 존재합니다",
  "difficulty": 0.6,
  "interval_days": 0,
  "due_date": "timestamp",
  "reps": 0,
  "lapses": 0
}

카드 업데이트

복습 후 FSRS 알고리즘에 따라 업데이트:

{
  "id": "card_001",
  "interval_days": 7,
  "due_date": "7일 후 timestamp",
  "reps": 3,
  "lapses": 0,
  "stability": 2.5,
  "retrievability": 0.85
}

복습 세션

복습할 카드 선택

  1. 오늘 예정된 카드 우선
  2. 연체된 카드 다음
  3. 새로운 카드는 설정된 수만큼 (기본 20개/일)

복습 흐름

복습할 카드 목록
    │
    ▼
각 카드에 대해:
    │
    ├── 문제 표시
    │
    ├── 답변 시도
    │
    ├── 정답 확인
    │
    └── Rating 선택 (again/hard/good/easy)
         │
         └── 카드 간격 업데이트

카드 데이터와 통계를 메모리에 저장합니다.