Files
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

145 lines
3.3 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
```
## 세션 간 전이
세션 종료 시 메모리 상태에 따라 다음 행동을 자동으로 결정합니다:
```
[세션 종료 → 다음 행동 결정]
├── due 카드 > 0 → 복습 세션 실행
├── 미완료 주제 존재 → 새 학습 세션 실행
├── 모든 주제 마스터 완료 → 새 주제 탐색
└── 모두 완료 → 종료
```
적응 변경 내역과 메트릭 이력을 메모리에 저장합니다.