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

173 lines
3.6 KiB
Markdown

# F4: 적응 로직 (Adaptation)
## 개요
자기 평가 결과를 분석하여 다음 세션의 전략과 파라미터를 자동 조절합니다.
## 메트릭 정의
### 핵심 메트릭
| 메트릭 | 계산 방법 | 목표 |
|--------|-----------|------|
| **정답률** | 정답 수 / 전체 문제 수 | ≥ 0.85 |
| **유형별 정답률** | 유형별 정답 수 / 유형별 문제 수 | ≥ 0.70 |
| **주제별 정답률** | 주제별 정답 수 / 주제별 문제 수 | ≥ 0.70 |
| **난이도별 정답률** | 난이도별 정답 수 / 난이도별 문제 수 | 0.6-0.8 |
| **간격 유지율** | 예정된 복습 수행 비율 | ≥ 0.80 |
| **개념 연결도** | 연결된 개념 비율 | ≥ 0.30 |
### 메트릭 수집
각 자기 평가 루프 후 메트릭 계산:
```json
{
"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:
→ 해당 주제 심화 탐색
```
## 파라미터 조절
### 문제 생성 파라미터
```json
{
"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
```
## 적응 이력
적응 변경 시 메모리에 기록:
```json
{
"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 (기준 미달)"
}
]
}
```
## 메모리 저장 형식
```json
{
"current_strategy": {
"type_distribution": {...},
"difficulty_distribution": {...},
"interleaving_ratio": 0.3
},
"adaptation_history": [...],
"metrics_history": [
{
"iteration": 1,
"accuracy": 0.60
},
{
"iteration": 5,
"accuracy": 0.75
}
]
}
```