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
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
---
|
||||
name: self-study-agent
|
||||
description: "Autonomous self-study pipeline with feedback loop. Learn topics → test yourself → get feedback → adapt. Uses spaced repetition, interleaving, and desirable difficulty. Stores all knowledge in memory as a structured knowledge base."
|
||||
version: 3.0.0
|
||||
author: User
|
||||
tags: [learning, pipeline, feedback-loop, self-testing, spaced-repetition]
|
||||
dependencies: [websearch, webfetch]
|
||||
---
|
||||
|
||||
# Self-Study Agent
|
||||
|
||||
자율 학습 파이프라인입니다. 학습 → 자기 평가 → 피드백 → 적응 루프를 통해 지식을 구축합니다.
|
||||
|
||||
**이 스킬은 학습과 평가만 담당합니다.** 메모리 저장은 에이전트가 처리합니다.
|
||||
|
||||
## 전체 루프
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────┐
|
||||
│ SELF-STUDY LOOP (최대 20회) │
|
||||
├─────────────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ [Phase 1: 학습 세션] │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ 주제 선택 → 소스 발견 → 추출 → 종합 → 메모리 저장 │
|
||||
│ │
|
||||
│ [Phase 2: 자기 평가 루프] (최대 20회) │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ 문제 생성 → 답변 시도 → 피드백 → 메모리 업데이트 → 다음 문제 │
|
||||
│ │ │
|
||||
│ ├── 정답 → 신뢰도 ↑, 간격 증가 │
|
||||
│ │ │
|
||||
│ └── 오답 → 피드백, 약점 분석, 재학습 → 메모리 보강 │
|
||||
│ │
|
||||
│ [종료 조건] │
|
||||
│ - 정답률 95% 이상 │
|
||||
│ - 또는 20회 완료 │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 파이프라인 단계
|
||||
|
||||
| 단계 | 파일 | 설명 |
|
||||
|------|------|------|
|
||||
| 1 | `pipeline/01-topic-selection.md` | 주제 선택 (목표/호기심/트렌드/복습) |
|
||||
| 2 | `pipeline/02-source-discovery.md` | 소스 발견 (웹/학술/GitHub/문서) |
|
||||
| 3 | `pipeline/03-extraction.md` | 지식 추출 (개념/팩트/절차/코드) |
|
||||
| 4 | `pipeline/04-synthesis.md` | 지식 종합 (연결/요약/학습 목표) |
|
||||
| 5 | `pipeline/05-session-report.md` | 세션 리포트 출력 |
|
||||
|
||||
## 피드백 루프 단계
|
||||
|
||||
| 단계 | 파일 | 설명 |
|
||||
|------|------|------|
|
||||
| F1 | `feedback/self-testing.md` | 문제 생성 + 답변 + 피드백 |
|
||||
| F2 | `feedback/spaced-repetition.md` | 간격 반복 (FSRS 알고리즘) |
|
||||
| F3 | `feedback/interleaving.md` | 교차 학습 (주제 혼합 출제) |
|
||||
| F4 | `feedback/adaptation.md` | 적응 로직 + 메트릭 |
|
||||
|
||||
## 실행 규칙
|
||||
|
||||
1. **능동적 회상** — 문제를 풀 때 메모리에서만 꺼냄 (소스 접근 금지)
|
||||
2. **피드백은 에이전트가 생성** — 정오 판정 + 설명 + 관련 개념 링크
|
||||
3. **모든 학습은 메모리에 저장** — 구조화된 지식 베이스로 유지
|
||||
4. **간격 반복 적용** — FSRS 알고리즘으로 복습 스케줄 관리
|
||||
5. **교차 학습** — 한 세션에서 여러 주제 문제를 혼합 출제
|
||||
6. **바람직한 난이도** — 정답률에 따라 난이도 자동 조절
|
||||
7. **루프 20회 제한** — 충분한 학습 기회 보장
|
||||
|
||||
## 메모리 구조 (지식 베이스)
|
||||
|
||||
```
|
||||
Memory Store
|
||||
├── Concepts (개념)
|
||||
│ ├── id, title, definition, examples
|
||||
│ ├── connections: [related_concept_ids]
|
||||
│ ├── confidence: 0.0-1.0
|
||||
│ └── source_refs: [출처 참조]
|
||||
│
|
||||
├── Facts (팩트)
|
||||
│ ├── id, statement, evidence
|
||||
│ ├── confidence: 0.0-1.0
|
||||
│ └── source_refs: [출처 참조]
|
||||
│
|
||||
├── Procedures (절차)
|
||||
│ ├── id, name, steps
|
||||
│ ├── proficiency: 0.0-1.0
|
||||
│ └── practice_count: int
|
||||
│
|
||||
├── Code Patterns (코드 패턴)
|
||||
│ ├── id, language, code, explanation
|
||||
│ └── use_cases: [list]
|
||||
│
|
||||
├── Test History (평가 이력)
|
||||
│ ├── session_id, timestamp
|
||||
│ ├── questions: [question_id, type, difficulty, user_answer, is_correct]
|
||||
│ └── metrics: {accuracy, retention_rate, ...}
|
||||
│
|
||||
└── Adaptation Log (적응 기록)
|
||||
├── timestamp
|
||||
├── strategy_changes: [list]
|
||||
└── parameter_adjustments: [list]
|
||||
```
|
||||
|
||||
## 예시 흐름
|
||||
|
||||
```
|
||||
[세션 1: 학습]
|
||||
주제: Rust Async
|
||||
소스: rust-lang.org, tokio.rs, 블로그
|
||||
추출: 12개 개념, 8개 팩트, 3개 절차, 5개 코드 패턴
|
||||
메모리 저장: 지식 베이스 구축
|
||||
|
||||
[자기 평가 루프]
|
||||
1회: "Rust의 Future란?" → 정답 (신뢰도 0.6)
|
||||
2회: "Tokio에서 spawn은?" → 정답 (신뢰도 0.7)
|
||||
3회: "Async/Await의 차이점은?" → 오답 → 피드백 → 메모리 보강
|
||||
4회: "Polling이란?" → 정답 (신뢰도 0.65)
|
||||
...
|
||||
20회: 정답률 92% → 종료
|
||||
|
||||
[최종 메모리]
|
||||
- 12개 개념 (평균 신뢰도 0.85)
|
||||
- 8개 팩트 (평균 신뢰도 0.90)
|
||||
- 3개 절차 (숙련도 0.75)
|
||||
- 5개 코드 패턴
|
||||
- 20회 평가 이력
|
||||
```
|
||||
Reference in New Issue
Block a user