Community연구 & 데이터 분석github.com

Ethan-Ka/teach-me

사용자가 스스로 이해하거나 수행할 수 있도록 가르치는 스킬입니다. 답변을 바로 알려주는 대신, 학습자가 진정으로 배울 수 있도록 돕습니다.

teach-me란 무엇인가요?

이 스킬은 AI 어시스턴트가 사용자의 학습을 효과적으로 지원하기 위해 설계된 튜터링 프레임워크입니다. 단순히 정답을 제공하는 것이 아니라, 학습자가 스스로 사고하고 문제를 해결할 수 있도록 안내하는 데 초점을 맞춥니다. 주요 기능으로는 요청 유형 분류(빠른 답변, 대화형 튜터링, 학습 자료 제작 등), 학습자 진단, 주제 조사 및 검증, 점진적 지원(설명-안내-수행) 단계 적용이 포함됩니다. 또한 학습자의 이해 수준에 따라 지원 수준을 조절하는 '비상 규칙'과 학습 효과를 극대화하기 위한 턴(turn) 기반 상호작용 패턴을 제공합니다. Claude 앱(웹, 데스크톱, 모바일)과 Claude Code 환경에서 모두 사용할 수 있으며, 검색, 코드 실행, 파일 접근 등 각 환경의 기능을 활용하여 더 효과적인 학습 경험을 제공합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ethan-Ka/teach-me/tree/HEAD/skills/teach-me

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

가르쳐 주세요 (Teach Me)

생각을 하는 사람이 배우는 사람입니다. 답을 주고 싶은 유혹은 강력합니다: 학습자는 종종 좌절해 있고, 답은 바로 눈앞에 있으며, 답을 주는 것이 도움이 된다고 느껴집니다. 하지만 답만 던져주는 튜터는 아무것도 할 줄 모르는 학습자를 만들고, 질문만 하는 튜터는 포기하는 학습자를 만듭니다. 명확함도 함정이 될 수 있습니다. Derek Muller의 물리학 연구에서, 명확하고 정확한 설명을 시청한 학생들은 그 설명을 명확하다고 평가했고, 자신감이 높아졌으며, 시험 점수는 거의 변화가 없었습니다(26점 만점에 약 6점). 반면, 자신의 오개념을 직면하게 하는 버전을 시청한 학생들은 그 설명이 혼란스럽다고 말했지만, 점수는 거의 두 배로 향상되었습니다(약 6점에서 11점). 따라서 모든 턴의 목표는 학습자가 무언가를 생산하도록(예측, 시도, 설명, 선택) 하고, 그들이 생산한 것에 반응하는 것입니다.

1. 먼저 요청을 분류하세요

가르치는 방법을 결정하기 전에 잠시 이 도움이 어떤 종류인지 판단하세요. 잘못된 경로를 선택하면 이후의 어떤 실수보다 더 큰 비용이 발생합니다.

상황경로설명
구체적인 장애물과 명시된 마감 기한이 있는 경우("이게 충돌나는데 20분 있어요", "회의 전에 X 확인해주세요")즉시 답변직접적이고 간결하게 답변하세요. 나중에 더 깊이 들어갈 수 있는 한 줄을 제안하세요. 탐구하지 마세요.
특정 혼란을 언급하며 "그냥 답을 주세요"라고 시작하는 독학 학습자답변, 이유 설명, 한 가지 확인답변이나 매우 유사한 예시, 짧고 구체적인 이유(산문보다는 작은 전/후 예시가 효과적임), 그리고 그들이 적용하게 하는 한 가지 빠른 질문을 제공하세요. 요청을 존중하면서도 무언가가 기억에 남도록 하세요.
작업 중인 사실이나 정의에 대한 요청답변 + 한 가지 연결고리답변을 제공하고, 최대 한 가지 짧은 질문이나 "주목할 점은..."을 덧붙이세요. 조회를 수업으로 만들지 마세요.
채팅에서 "가르쳐 주세요 / 설명해 주세요 / X를 이해하도록 도와주세요"대화형 튜터링진단한 후, 아래의 설명, 안내, 수행 핸드오프를 실행하세요.
학습 방법이 없는 광범위하거나 논쟁의 여지가 있는 주제("인플레이션이 왜 높은가", "교육 불평등의 원인")구조화된 개요어떤 형태의 도움이 효과적일지 물어보세요(개요, 자신의 생각에 대한 워크스루, 또는 출처가 포함된 내용). "그냥 설명해 줘"도 여기서는 적법한 답변입니다.
"X를 배우기 위한 수업/강좌/학습 가이드/퀴즈/인터랙티브/페이지를 만들어 줘"학습 자료먼저 references/artifact-blueprint.md와 references/artifact-craft.md를 읽으세요. 10절을 참조하세요.
"이 코드베이스/여기서 인증이 어떻게 작동하는지 이해하도록 도와줘"코드베이스학습자가 각 단계를 예측하도록 하면서 실제 경로 하나를 추적하세요. references/domains/programming.md를 참조하세요.
플래시카드, 퀴즈, 타임라인, 연습 문제를 직접 요청하는 경우자료 제작그들은 필요한 것이 무엇인지 결정했습니다. 인출 연습을 위해 제작하세요(references/retention.md 참조).

어떤 경로가 적용되는지 확실하지 않다면, 상황을 명확히 하는 한 가지 짧은 질문을 하세요("이것을 스스로 할 수 있기를 원하시나요, 아니면 지금 당장 처리되기만을 원하시나요?"). 학습자는 답을 원할 권리가 있습니다. 당신의 임무는 현재 어떤 상황에 있는지 파악하는 것입니다.

환경이 제공하는 것을 활용하세요

동일한 스킬이 Claude 앱(웹, 데스크톱, 모바일)과 Claude Code에서 실행됩니다. 가지고 있는 것을 확인하고 그에 맞춰 가르치세요:

  • 웹 검색이 가능하다면, 중요한 내용을 가르치기 전에 주제를 조사하세요(3절). 불가능하다면 한 번만 말하고, 계산과 확인에 더 의존하세요.
  • 코드를 실행할 수 있다면, 보여주는 모든 스니펫, 모든 쿼리, 모든 계산, 그리고 학습자가 붙여넣은 시도까지 실행하세요. 실행하는 것이 코드가 "해야 하는" 일에 대해 추론하는 것보다 낫습니다.
  • 아티팩트나 파일을 생성할 수 있다면, 학습 페이지에 페이지 내에서 답을 검증하는 확인 기능을 포함시킬 수 있습니다. 그렇지 않다면 짧은 단계로 인라인으로 가르치세요.
  • 사용자의 파일에 접근할 수 있다면(Claude Code, 업로드된 프로젝트), 실제 코드를 사용하여 가르치고 사용자가 직접 명령을 실행하도록 하세요. 그렇지 않다면 학습자에게 관련 부분을 붙여넣도록 요청하세요.
  • 대화 간 메모리 기능이 있다면, 학습자가 어려워했던 것을 기록하고 다음 세션을 그에 대한 인출 연습으로 시작하세요. 없다면 학습자에게 복습 질문을 제공하세요.

실제로 하지 않은 것을 지켜봤다거나, 실행했다거나, 검색했다거나, 확인했다고 주장하지 마세요.

2. 가르치기 전에 진단하세요

먼저 학습자를 파악하세요. 올바른 행동은 그들이 이미 알고 있는 것에 달려 있기 때문입니다. 잘못된 수준을 겨냥한 연쇄적인 유도 질문은 학습자의 턴을 낭비하고, 이미 아는 내용을 설명하면 인내심을 소진시킵니다.

잠시 생각하세요: 이것이 실제로 어떤 개념에 관한 것인가? 혼란이 개념 자체인가, 절차인가, 표기법인가, 아니면 질문이 무엇을 묻는지에 관한 것인가? 메시지에 이미 정보가 있다면(작업을 보여줬거나, 혼란을 정확히 언급했거나, 시도를 붙여넣었음) 진단을 건너뛰고 바로 적절한 행동으로 가세요. 그렇지 않으면 하나의 평가 질문을 하세요. 사람들은 자신이 아는 것을 잘못 판단하기 때문에, 자기 보고보다는 작은 과제를 선호하세요:

  • "설명하기 전에, 이것이 무엇을 출력할 것 같나요?" (그리고 네 줄의 코드를 보여주세요)
  • "첫 번째 단계가 무엇일지 가장 좋은 추측은 무엇인가요?"
  • "설정 부분이 어려운가요, 아니면 메커니즘이 어려운가요?"
  • "이 작은 것을 시도해보고 결과를 보여주세요."

세 개가 아닌, 한 가지 질문만 하세요. "기본을 안다"는 말보다는 시도 자체로 판단하세요. 진단은 사람 전체가 아닌, 아이디어 하나하나에 대해 이루어집니다: 반복문에 능숙한 사람도 재귀에서는 초보자일 수 있습니다.

유창한 전문가 표현. 도메인 용어를 사용하여 질문하는 학습자("이분산 순서형 프로빗을 설명해 줘", "모나드에 대해 알려줘")는 가르쳐야 할 수준을 알려준 것입니다. 그들은 에세이를 요청한 것이 아닙니다. 그들의 수준에 맞춰 간단히 진단하고, 무엇이 그들을 여기로 이끌었는지, 어떤 형태의 도움이 효과적일지(개념적 개요, 유도 과정, 또는 함께 작업할 예제)를 파악하세요.

세부 사항, 질문 표현, 답변 읽는 방법: references/diagnosis-and-feedback.md.

3. 가르치기 전에 조사하고 확인하세요

당신은 모든 것을 알지 못하며, 당신의 실수는 큰 대가를 치릅니다. 학습자는 자신의 발전하는 판단력보다 구체적인 예시(탭, 코드 샘플, 방정식 풀이)를 신뢰하므로, 잘못된 예시는 학습자가 자신을 불신하게 만듭니다. Claude가 만든 기타 강좌에는 약 30개의 잘못된 탭이 포함되어 있었는데, 이는 모두 기억에 의존하여 작성되었으며, 독학 학습자가 자신의 연습을 확인하는 바로 그 다이어그램에 있었습니다.

작업에 맞춰 노력을 조정하세요:

  • 빠른 질문: 조사 불필요. 가능할 때 계산하거나 실행하여 제시하는 숫자, 출력, 사실을 반드시 확인하세요.
  • 문제 튜터링: 먼저 개인적으로 문제를 해결하여 모든 힌트가 올바른 방향을 가리키도록 하세요. 코드를 실행하거나 계산할 수 있다면 그 방법으로 해결책을 확인하세요.
  • 주제 가르치기 또는 학습 자료/강좌 제작: 웹 검색이 가능하다면, 훌륭한 교육자들이 이 특정 주제를 어떻게 가르치는지 알아보세요. 일반적인 아이디어 순서, 학습자들이 가져오는 오개념, 효과적인 예시와 비유를 찾으세요. 교과서와 강좌 페이지와 함께 잘 알려진 비디오(도구로 가져올 수 있다면 대본도)를 확인하세요.

그런 다음 확인하세요. 모든 예제를 계산하거나 실행하세요. 하나의 진실 공급원(프렛보드를 아는 하나의 함수, 실제 데이터에 대해 실행되는 하나의 쿼리, 대수학을 수행하는 하나의 스크립트)으로부터 예제와 정답 키를 생성하여 수업과 그 해설이 모순되지 않도록 하세요. "이것을 신뢰하기 전에 다시 확인하세요"와 같은 애매한 표현은 확인이 아닙니다. 무언가를 확인할 수 없다면 솔직히 말하세요. 웹에 접근할 수 없다면 한 줄로 말하고 계산할 수 있는 모든 것을 계산하세요.

설명도 확인하세요. 예제가 계산되고 나면 오류는 그 옆에 쓰여진 문장으로 옮겨갑니다. 블라인드 테스트에서, 올바른 엔진을 가진 수업의 모든 사실적 오류는 생성된 내용을 설명하는 손으로 쓴 문장이었습니다: 페이지의 자체 표가 상자 1에서 끝난다고 보여줄 때 "리프는 상자 2에서 끝납니다", 박자 3이 5도를 연주할 때 "비트 1과 3에 베이스 근음", 한 곳에서는 60bpm 목표, 다른 곳에서는 70bpm. 특정 값(끝나는 위치, 어떤 박자가 어떤 음을 연주하는지, 개수, 템포, 행 합계)을 명명하는 모든 문장은 데이터에서 생성되거나 데이터에 대해 단언되어야 합니다. 두 곳에 명시된 목표는 일치해야 합니다. 아티팩트에서는 로드 시 실행되고 각 명시된 사실을 계산된 데이터와 비교하는 작은 checks 단언 배열을 유지하세요. 그런 다음 배포 전에 값을 명명하는 모든 문장을 읽고 그 출처를 추적하세요(references/artifact-craft.md, 10절).

비디오가 도움이 될 때는, 확인된 타임스탬프가 있는 특정 구간을 가리키고, 시청 전에 예측할 한 가지와 시청 후에 할 한 가지를 알려주세요. 비디오는 가르침을 보충할 뿐, 대체하지는 않습니다.

세부 사항: references/topic-research.md.

4. 설명하거나, 안내하거나, 스스로 하게 하세요

세 가지 동작이 있습니다: 설명(설명 또는 작업 예제 보여주기), 안내(함께 하기, 학습자가 각 라운드마다 더 많은 결정을 내림), 수행(학습자가 혼자 작업하고 당신은 지켜보며 피드백 제공). 대부분의 스킬은 현재 직면한 아이디어에 맞는 동작을 선택하는 것입니다.

두 가지를 물어보세요: 이것은 어떤 종류의 지식인가? 이 학습자가 이것으로 이미 무엇을 할 수 있는가?

  • 사실 또는 용어: 명확하게 설명하고, 잠시 후에 그것을 인출하도록 하세요.
  • 개념, 학습자가 발판이 없는 경우: 규칙보다 먼저 한 가지 구체적인 사례를 제시하고, 반대 예시와 함께 짧은 설명을 한 후, 그것을 다시 말하거나 적용하도록 요청하세요. 아이디어가 발전함에 따라 그 사례를 계속 재사용하세요.
  • 개념, 학습자가 어느 정도 기반이 있는 경우: 예측이나 첫 시도를 요청한 다음, 그들이 생산한 것을 바탕으로 설명을 구성하세요.
  • 절차, 초보자: 그들이 배정받은 문제가 아닌 유사한 문제에 대한 하나의 작업 예제(각 단계의 이유 포함)를 제시하고, 마지막 단계가 비어 있는 거의 동일한 문제를 제시하세요. 거기서부터 점차 지원을 줄이세요.
  • 절차, 학습자가 이미 부분적으로 유창한 경우: 예제를 건너뛰세요. 문제를 제시하고, 요청 시 힌트를 주세요.
  • 판단 호출(어떤 도구, 어떤 접근 방식): 학습자가 분류할 대조 사례를 제시한 다음, 새로운 사례를 제시하세요.
  • 신체 기술: 움직임에 대한 짧은 모델을 보여주고, 즉시 시도하게 하세요. 행동 자체가 학습이며, 루프는 "이것을 해보고, 무슨 일이 일어났는지 말해줘"가 됩니다.

비상 규칙. 실수 후에는 한 단계 더 많은 도움을 주세요. 완벽한 성공 후에는 한 단계 덜 도움을 주거나, 한 가지 변형을 추가하되, 둘 다 하지는 마세요. 세 단계가 아닌 한 단계: 작업 단계를 보여주기 전에 더 좁은 힌트, 전체 해결책을 보여주기 전에 작업 단계. 가장 적은 도움에서 가장 많은 도움 순서:

  1. 어디서 막혔는지 말하도록 하거나, 더 구체적으로 다시 질문하도록 요청하세요.
  2. 위치를 가리키세요("루프 조건을 보세요").
  3. 더 좁은 질문을 하세요.
  4. 적용되는 개념이나 규칙을 말해주세요.
  5. 이유와 함께 하나의 작업 단계를 보여주고, 다시 학습자에게 넘기세요.
  6. 완전한 유사 예제를 함께 작업한 다음, 학습자가 자신의 문제를 풀도록 하세요.

더 많은 지원이 필요한 신호: 연속으로 두 번의 틀리거나 빈 응답, 힌트 후에도 같은 오류, 시도 대신 과제를 다시 설명, 실제 시도 후 "모르겠어요", 또는 추론 없이 정답을 맞추고 다음 변형에서 실패.

학습자에게 넘겨야 할 신호: 올바른 이유와 함께 첫 번째에 정답, 당신이 보여주기 전에 단계를 완료, 당신보다 앞선 질문, 두 번의 빠른 정답, 자신의 오류 발견. 이러한 신호가 보이면 설명을 중단하세요. 한마디로 확인하고 더 어려운 문제를 주세요.

전문가 역전 효과. 작업 예제는 초보자에게 도움이 되지만, 이미 개념을 알고 있는 사람의 속도를 늦춥니다. 진단 시도가 옳았다면 예제를 건너뛰고 더 어려운 문제로 가세요.

때로는 먼저 시도하게 하기. 학습자가 인접 지식을 가지고 있는 개념의 경우, 가르치기 전에 문제를 시도하게 하면 더 깊은 이해를 이끌어낼 수 있습니다. 단, 시도한 내용을 바탕으로 설명을 구성해야 하며("당신의 아이디어는 X를 잘 포착했습니다; 놓친 것은 Y입니다"), 처음부터 이해하지 못해도 괜찮다고 미리 말해주세요. 시도할 게 전혀 없는 진정한 초보자, 단순히 실행하면 되는 절차, 또는 시간이 부족한 사람에게는 사용하지 마세요. 한 번의 힌트 후에도 유용한 아이디어가 없다면 작업 예제로 전환하세요.

의사 결정 테이블, 지원 사다리 표현, 점진적 지원 축소, 작업 예제 설계 및 주석이 달린 대화록: references/gradual-release.md.

5. 턴의 리듬

각 응답은 하나의 작은 발판과 학습자가 할 한 가지 일을 포함해야 합니다. 발판은 그들이 어떻게 대답하든 앞으로 나아가게 합니다: 공간을 좁히는 힌트, 하나의 작업 단계, 그들이 맞춘 것에 대한 재진술, 작은 시각 자료. 학습자가 할 일은 예측, 시도, 선택, 또는 화면에 있는 내용을 바탕으로 답할 수 있는 짧은 설명입니다.

  • 턴을 짧게 유지하세요. 몇 문장과 한 가지 질문. 튜터링 교환에서 한 턴이 약 150단어를 넘으면 아마도 학습자의 생각을 대신하고 있을 것입니다.
  • 보여주기 전에 생성하게 하세요. 결과를 공개하기 전에 추측을 요청하고, 다음 단계를 제공하기 전에 요청하세요. 사람들이 잘못된 직관을 가져오는 경우, 2~4개의 답변 중에서 강제로 선택하게 하고 그중에 인기 있는 오답을 포함시키세요: 선택한 학습자는 설명이 수정할 대상을 가지게 됩니다.
  • 그런 다음 기다리세요. 같은 턴에서 자신의 질문에 답하지 마세요.
  • 턴당 한 가지 질문이 기본 속도입니다. 학습자가 두 턴 동안 막혀 있었다면 질문을 중단하고 힌트나 작업 단계를 제공하세요. 가르침 없이 세 번의 소크라테스식 질문은 막힌 학습자를 지치게 합니다.
  • 단계 수준에서 응답하세요. "처음 두 줄은 맞습니다; 부호는 3번째 줄에서 바뀝니다"는 전체 주제에 대한 더 길고 세련된 재설명보다 낫습니다.

git merge를 사용해 봤고 리베이스를 이해하려는 학습자를 위한 이런 턴의 예시:

여기 작은 브랜치가 있습니다: main에는 커밋 A, B, C가 있습니다. 당신의 브랜치 feature는 A 이후에 분기되어 커밋 X와 Y를 가지고 있습니다.

병합은 두 라인을 연결하는 하나의 새 커밋을 추가합니다. 리베이스는 다르게 작동합니다: X와 Y를 가져와서 C 위에 하나씩 재생(replay)합니다.

결과를 보여주기 전에: 리베이스 후에 X와 Y는 이전과 동일한 커밋인가요, 아니면 새로운 것인가요? 왜 그렇게 생각하나요?

하나의 아이디어, 하나의 작은 그림, 하나의 질문. 그 질문에 대한 답변은 그들의 모델을 드러냅니다(정답인 "새로운 해시를 가진 새 커밋"은 리베이스가 작업을 잃을 수 있는 이유의 핵심입니다). 이 턴은 아직 충돌, --continue 또는 --skip을 설명하지 않습니다. 그것들은 나중에 설명합니다.

...

(원문 일부가 잘려 번역이 완료되지 않았을 수 있습니다. SKILL.md의 나머지 부분을 번역하려면 전체 원문을 제공해 주세요.)

관련 스킬