Files
Study/skills/self-study-agent/feedback/adaptation.md
T
Hana 6e21501331 Add self-study-agent skill with feedback loop
- SKILL.md: Main skill definition with 20-iteration feedback loop
- config.yaml: Pipeline parameters (loop, sources, questions, adaptation)
- pipeline/: 5-step learning pipeline (topic selection → source discovery → extraction → synthesis → report)
- feedback/: 4 feedback mechanisms (self-testing, spaced repetition, interleaving, adaptation)
- Learning science principles: active recall, spaced repetition, desirable difficulty, interleaving, delayed feedback
2026-06-12 18:39:51 +09:00

3.6 KiB

F4: 적응 로직 (Adaptation)

개요

자기 평가 결과를 분석하여 다음 세션의 전략과 파라미터를 자동 조절합니다.

메트릭 정의

핵심 메트릭

메트릭 계산 방법 목표
정답률 정답 수 / 전체 문제 수 ≥ 0.85
유형별 정답률 유형별 정답 수 / 유형별 문제 수 ≥ 0.70
주제별 정답률 주제별 정답 수 / 주제별 문제 수 ≥ 0.70
난이도별 정답률 난이도별 정답 수 / 난이도별 문제 수 0.6-0.8
간격 유지율 예정된 복습 수행 비율 ≥ 0.80
개념 연결도 연결된 개념 비율 ≥ 0.30

메트릭 수집

각 자기 평가 루프 후 메트릭 계산:

{
  "session_id": "session_001",
  "iteration": 5,
  "metrics": {
    "accuracy": 0.75,
    "type_accuracy": {
      "direct_recall": 0.85,
      "application": 0.70,
      "variation": 0.65,
      "connection": 0.80
    },
    "topic_accuracy": {
      "rust_async": 0.80,
      "ownership": 0.70
    },
    "difficulty_accuracy": {
      "easy": 0.95,
      "medium": 0.75,
      "hard": 0.55
    },
    "concepts_mastered": 8,
    "concepts_total": 12
  }
}

적응 로직

1. 정답률 기반 적응

if 정답률 < 0.5 and 연속 3회:
    → 난이도 하향
    → 학습 속도 감소
    → 쉬운 문제 비중 증가

if 정답률 > 0.9 and 연속 5회:
    → 난이도 상향
    → 새로운 주제 탐색
    → 어려운 문제 비중 증가

2. 유형별 적응

for each 유형 in [직접 회상, 적용, 변형, 연결]:
    if 유형별 정답률 < 0.5:
        → 해당 유형 문제 비중 증가 (+0.1)
    elif 유형별 정답률 > 0.9:
        → 해당 유형 문제 비중 감소 (-0.05)

3. 난이도 적응

if 쉬운 문제 정답률 > 0.95:
    → 보통 문제 비중 증가

if 보통 문제 정답률 > 0.85:
    → 어려운 문제 비중 증가

if 어려운 문제 정답률 < 0.4:
    → 어려운 문제 비중 감소
    → 보통 문제 비중 증가

4. 주제별 적응

for each 주제 in 메모리:
    if 주제별 정답률 < 0.6:
        → 해당 주제 재학습 세션 추가
    elif 주제별 정답률 > 0.9:
        → 해당 주제 심화 탐색

파라미터 조절

문제 생성 파라미터

{
  "type_distribution": {
    "direct_recall": 0.4,
    "application": 0.3,
    "variation": 0.2,
    "connection": 0.1
  },
  "difficulty_distribution": {
    "easy": 0.3,
    "medium": 0.4,
    "hard": 0.3
  }
}

적응 예시

원래: direct_recall=0.4, application=0.3, variation=0.2, connection=0.1
적용 질문 정답률 0.45 (낮음):
→ direct_recall=0.35, application=0.35, variation=0.2, connection=0.1

어려운 문제 정답률 0.35 (낮음):
→ easy=0.35, medium=0.45, hard=0.20

적응 이력

적응 변경 시 메모리에 기록:

{
  "adaptation_log": [
    {
      "timestamp": "2024-01-10T10:00:00Z",
      "trigger": "low_accuracy_variation",
      "changes": {
        "type_distribution.variation": {"old": 0.2, "new": 0.25}
      },
      "reason": "변형 질문 정답률 0.45 (기준 미달)"
    }
  ]
}

메모리 저장 형식

{
  "current_strategy": {
    "type_distribution": {...},
    "difficulty_distribution": {...},
    "interleaving_ratio": 0.3
  },
  "adaptation_history": [...],
  "metrics_history": [
    {
      "iteration": 1,
      "accuracy": 0.60
    },
    {
      "iteration": 5,
      "accuracy": 0.75
    }
  ]
}