test-me은(는) 무엇을 하나요?
하나의 결과(outcome)를 정확히 그 결과가 명명하는 능력을 요구하는 과제로 확인하고, 답변이 보여주는 것에 따라 행동하세요.
기반 연구: 형성 평가(Black & Wiliam 1998), 힌지 질문(Wiliam 2011), 구성적 정렬(Biggs 1996), 인식보다 생산(McDaniel et al. 2007), 생성적 과제(Fiorella & Mayer 2016), 루브릭(Jonsson & Svingby 2007), 정교한 피드백(Shute 2008; Hattie & Timperley 2007), 조건부 스캐폴딩 및 힌트 사다리(Wood et al. 1976; Aleven et al. 2016), 버그 분석(Brown & Burton 1978), 숙달 기준(Kelly et al. 2015).
데이터베이스: 번들 스크립트를 학습자의 프로젝트 루트(채팅이 시작된 폴더)에서 실행하세요. 데이터는
./.learn/learn.db에 저장됩니다.${CLAUDE_SKILL_DIR}은 이 스킬의 폴더입니다. Claude Code가 이 값을 채우며, 다른 에이전트는 이 SKILL.md가 포함된 폴더의 경로를 사용해야 합니다.
1. 활동 설계
과제를 결과의 동사(verb)에 맞추세요: "설명하라"면 설명을 요구하고, "풀어라" 또는 "작성하라"면 수업과 다른 표면 세부 사항을 가진 새로운 문제를 제시하며, "디버그하라"면 고쳐야 할 결함이 있는 작업을 제시하세요.
2~3개 항목을 계획하고, 메시지당 하나씩 제시하세요:
- 힌지 항목: 객관식 질문 또는 "무슨 일이 일어날지 예측하세요" 유형으로, 모든 오답이 특정 오개념과 일치해야 합니다. 정답은 추측하기 어려워야 합니다.
- 생산 항목: 학습자가 새로운 문제(근접 전이)에 대해 스스로 답을 생산합니다.
- (선택 사항) 생성 항목: 이유를 설명하거나, 오류를 찾거나, 약간 다른 상황에 적용하세요.
수업이나 이전 시도의 항목을 절대 재사용하지 마세요.
2. 각 답변 평가
- 답변 직후 "확신도는 얼마인가요: 1 추측, 2 어느 정도 확신, 3 확실"을 질문하세요.
- 결과의 기준(예: 올바른 결과, 타당한 추론, 올바른 용어)에서 가져온 2~4 기준 루브릭으로 판단하세요. 평결:
correct,partial, 또는incorrect. - 오답인 경우 오류를 분류하세요: 실수(slip), 결함(gap) (필수 선수 지식 누락), 또는 오개념(misconception) (일관된 잘못된 규칙).
3. 피드백 제공
짧게 유지하고, 작업에 관한 내용으로, 세 가지 질문에 답하세요:
- 잘한 점: 구체적인 한 가지, 학습자의 답변을 인용하여.
- 문제점: 가장 중요한 한 가지 이슈, 최종 답변이 아니라 방법 수준에서.
- 다음 단계: 하나의 구체적인 행동.
학습자가 확신했지만 틀렸다면, 솔직히 말하세요("당신은 확신했지만, 실패한 이유는 다음과 같습니다"); 이러한 교정이 가장 잘 기억됩니다.
오답인 경우, 새 시도마다 힌트 단계 하나씩을 제공하며, 절대 해결책으로 바로 뛰어넘지 마세요:
- 지시 힌트: "2단계를 다시 보세요"
- 원리 프롬프트: "...에 적용되는 규칙은 무엇인가요?"
- 부분적인 작업 단계
- 전체 해결책, 그런 다음 도움 없이 풀어야 하는 새로운 병렬 항목
4. 모든 시도 기록
각 답변을 평가한 후 저장하세요(항목 시도당 한 행):
python3 "${CLAUDE_SKILL_DIR}/scripts/db.py" attempt '{"outcome_id": 7, "activity": "<항목>", "answer": "<학습자 답변>", "verdict": "correct", "feedback": "<간략: 오류 유형, 사용된 힌트 수준, 확신도, 전달한 내용>"}'
텍스트에 어색한 따옴표가 포함된 경우 stdin에 heredoc을 사용하세요.
5. 판단
다음 모든 조건이 충족되면 결과가 충족됩니다:
- 마지막 3개 항목이 연속으로 정답
- 그중 적어도 하나는 생산 또는 전이 항목
- 그중 어느 것도 힌트 단계 4가 필요하지 않음
- 학습자가 확신도 2 또는 3으로 올바른 설명을 적어도 하나 제공
그런 다음 표시하세요:
python3 "${CLAUDE_SKILL_DIR}/scripts/db.py" met '{"outcome_id": 7}'
이것은 결과가 충족된 날짜를 저장합니다. 결과는 노드에 남은 결과 수를 알려줍니다. teach-me으로 제어권을 넘기세요.
충족되지 않은 경우, 경로를 선택하고 teach-me으로 제어권을 넘기세요:
- 실수(slip) → 새 항목 하나 더
- 오개념(misconception) → 갈등을 보이게 하여 재교육한 후, 새 활동
- 결함(gap) → 누락된 선수 지식을 가르치거나 추가(create-map)
- 같은 결과에 대해 3회 이상 실패한 활동 → 결과가 너무 큼; 단계를 나누고 더 작게 가르치세요
함정
- 결과가 생산을 요구할 때 인식 질문을 사용하는 것.
- 학습자가 어떻게 생각하는지에 대해 아무것도 드러내지 않는 객관식 선택지.
- 정답 하나로 숙달을 선언하는 것.
- 항목을 재사용하여 학습자가 생각하는 대신 기억하게 하는 것.
- 첫 실수에서 답을 제시하는 것.
- 모든 오류를 한 번에 나열하는 것. 가장 중요한 것부터 먼저 고치세요.