반복 간격 기반 암기 시스템 (2024)
(notes.andymatuschak.org)- 반복 간격 기반 암기 시스템은 Testing effect와 Spacing effect를 결합해 수천 개의 사실을 효율적으로 기억하게 하며, 단순 암기를 넘어 개념 이해에도 활용될 수 있음
- Piotr Wozniak의 Supermemo가 최초의 소비자용 시스템으로, “spaced repetition”이라는 용어를 채택하고 대중화함
- 구현 사례는 Supermemo, Mnemosyne, Anki 같은 전통적 도구부터 Mnemonic medium, Execute Program, RemNote, Mochi, Readwise, Chessable MoveTrainer, Revuu 같은 변형으로 넓어짐
- 실제 도입을 어렵게 하는 요인은 좋은 프롬프트 작성, 정기 리뷰 습관, 리뷰와 관심 활동의 분리, 새 프롬프트 부족으로 인한 지루함임
- 효과적인 암기 시스템은 간격 알고리듬만으로 완성되지 않으며, 프롬프트 설계와 채점 방식, 감정적 연결, 적용·종합·창작을 유도하는 사용 방식까지 함께 다뤄야 함
기억을 선택 가능한 것으로 만드는 시스템
- 반복 간격 기반 암기 시스템은 Testing effect와 Spacing effect를 결합해 많은 사실을 효율적으로 암기하게 함
- 수천 개의 사실을 다루는 데 특히 효율적이며, 일부 사용자는 더 넓은 작업에도 활용함
- 이 시스템은 기억을 선택 가능한 것으로 만들지만, 단순 사실 암기에만 머물지 않음
- 개념 이해를 발전시키는 데도 사용할 수 있으며, 단순 선언적 지식을 넘어 연결, 함의, 원인, 결과 같은 관계를 다룰 수 있음
Supermemo와 용어의 확산
- 최초의 소비자용 반복 간격 기반 암기 시스템은 Piotr Wozniak이 만든 Supermemo임
- Supermemo는 “spaced repetition”이라는 용어를 채택하고 대중화함
- 그 이전 문헌에서는 같은 기반 현상의 구체적 측면을 가리키는 여러 용어가 쓰였음
구현 도구와 변형 사례
- 전통적 구현
- 비전통적 변형
스케줄과 채점에서 생기는 설계 쟁점
- 반복 간격 기반 암기 시스템의 속성에는 최대 입력 속도, 스케줄 최적화, 자기 채점과 기계 채점, 의도적 연습과의 관계, 재시도 메커니즘이 포함됨
- 알고리듬 쟁점 중 하나는 단순 반복 간격 알고리듬이 예상된 실패를 부적절하게 처리할 수 있다는 점임
- 재시도 메커니즘과 스케줄 최적화는 암기 효율을 좌우하는 별도 설계 문제로 남아 있음
- 시스템이 참고하는 핵심 입력 중 하나는 사용자가 프롬프트를 올바르게 기억했는지 여부임
도입을 막는 현실적 장벽
- 많은 사람은 기억이 깊은 창의적 작업에 중요하지 않다고 봄
- 좋은 반복 간격 기반 암기 프롬프트를 작성하기는 어려움
- 좋은 프롬프트에는 별도의 중요한 속성이 있음
- 다른 사람이 만든 프롬프트를 공부하는 방식은 보통 효과적이지 않음
- 시스템 용량의 제한 요인은 충분히 좋은 프롬프트를 작성하는 일임
- 설명문에서 좋은 프롬프트를 생성하기 위해 머신러닝을 사용하는 가능성도 다뤄짐
- 최적화해야 할 중요한 요소 중 하나는 리뷰 세션과 그 내용에 대한 감정적 연결임
- 암기 시스템의 연습 세션은 실제로 관심 있는 활동과 너무 분리될 수 있음
- 정기적인 반복 간격 기반 암기 연습은 도입하기 부담스러운 습관임
- 시스템의 이점은 빠르게 드러나지 않음
- 사용자는 자신의 기억력이 실제보다 나쁘다고 느낄 수 있음
- 새 프롬프트가 꾸준히 들어오지 않으면 리뷰 세션은 지루하고 현재 관심사와 동떨어진 느낌이 되기 쉬움
- 반복 간격 기반 암기 시스템 주변의 지배적 문화는 의미 없는 목표에 집착할 수 있음
흔한 반론과 대응 축
- 반복 간격 기반 암기 시스템이 단순 사실 암기, 즉 학교식 학습에만 관련된다는 반론이 있음
- 사람들은 학교식 암기 경험 때문에 기억의 중요성을 과소평가할 수 있음
- 기존 시스템은 거의 대부분 단순 선언적 지식에 쓰이지만, 반복 간격 기반 암기 시스템은 개념 이해를 발전시키는 데도 사용될 수 있음
- 암기 시스템은 기계적 암기를 자동화해 더 깊은 참여에 집중하도록 도울 수 있음
- 기억 증강은 어떤 주제를 배우는 초기의 불쾌한 단계를 빠르게 지나가게 할 수 있음
- 개념 이해를 위한 프롬프트 작성은 어렵다는 단서가 붙음
- 다른 반론에는 “충분히 중요하면 자연스럽게 기억한다”, “learn by doing이 낫다”, 외부 기억 보조만으로 충분하다, 기억술이 SRS를 대체한다, SRS로 배운 지식은 전이되지 않는다, 직접 프롬프트를 만드는 데 진짜 가치가 있다는 입장이 포함됨
암기를 넘어선 활용
- 반복 간격 기반 암기 시스템은 드문 활용 사례에도 적용될 수 있음
- 사용자의 주의를 특정 방향으로 프로그래밍하는 방식으로도 쓰일 수 있음
- 교리문답(catechism) 같은 형태로도 볼 수 있음
- 적용, 종합, 창작을 유도하는 프롬프트에도 사용할 수 있음
- “spaced repetition system”보다 “memory system”이라는 표현을 선호하는 논의와, 더 나아가 “practice systems”라는 표현 가능성도 있음
참고 자료와 사례
- 참고 자료
- Branwen, G. (2009). Spaced Repetition for Efficient Learning
- Who invented the name: spaced repetition? - supermemo.guru
- 도입 사례로는 어린아이와 함께 spaced repetition을 사용하는 사례가 포함됨
댓글과 토론
Hacker News 의견들
-
며칠치 읽을거리라서 부담스럽다면, 간격 반복의 기본 아이디어를 알려주는 이 만화를 먼저 보면 좋음: https://ncase.me/remember/
-
제품 추천 하나 남기자면, 내가 가장 좋아하는 간격 반복 + 노트 작성 + 학습 앱은 https://www.remnote.com/임
관계자는 아니고 강하게 추천하는 입장임. Anki를 아는 사람이라면 같은 관례를 따른다고 보면 되고, 카드 관리 시스템이 훌륭함. 카드 추가도 불릿 포인트에[카드 앞면] == [카드 뒷면]처럼 쓰면 될 정도로 쉬움. 키보드 접근성, 단축키, 탐색 같은 사용성이 잘 잡혀 있고, 빈칸 채우기(cloze deletion), 이미지 일부 가리기(image occlusion), PDF와 이미지 같은 자산 관리, 현재로서는 최고의 SRS 스케줄링 알고리즘인 FSRS도 지원함
일반적인 코드 생성 도구를 제외하면 제품 안에 들어간 선택적 AI 통합 중 가장 좋았음. 스페인어를 배우면서el vaquero ==< [tab]처럼 쓰면 번역이 자동으로 생성되어 정방향/역방향 카드가 만들어짐. 수학을 배울 때는 LaTeX 수식 일부를 빈칸 처리할 수 있고, AI가 꽤 자주 정확한 LaTeX 수식을 만들어줘서 조금만 수정하면 됨. 이런 보너스 덕분에 스페인어 튜터링이나 수학 수업 중에도 플래시카드 기반 실시간 노트 작성이 가능해짐
Anki보다 저수준 설정은 덜 열려 있고, 확장 시스템도 작지만 대신 “바로 작동하는” 쪽에 가까움. Anki를 계속 만지작거리는 데 지쳤다면 전체적으로 훌륭함. 개발 속도도 빠르고 릴리스 노트 영상도 좋으며, 사소한 업데이트가 거의 매주 나옴. 해외여행 중 인터넷이 약할 때 몇몇 버그를 겪었지만 전반적으로 매우 만족함- 월 18달러는 터무니없이 비싸 보임. 아마 Electron 괴물 앱일 것 같기도 함
- Anki의 투박함에 지쳐서 Mochi[1]를 좋아하게 됐고, 역시 관계자는 아님
Mochi는 macOS와 iOS 네이티브 앱이 훌륭하고, 카드가 Markdown 형식이라 맞춤 시스템 프롬프트로 LLM을 써서 생성할 수 있음. 오늘 API도 있다는 걸 알게 돼서, MCP 서버를 통해 LLM이 새 카드를 직접 밀어 넣게 해볼까 함 - RemNote를 몇 달 쓰다가 결국 Mochi로 옮겼음. 개인적으로는 Anki를 더 예쁘게 만든 느낌이었음
RemNote는 블록/줄과 상호작용하는 UI가 모바일과 웹에서 모두 투박하고 복잡했음. 카드를 보여주는 표 UI도 꽤 제한적일 수 있음.<==>를 붙여 블록을 카드로 바꾸는 아이디어는 기발했지만, “AI” 활용은 많이 과대평가돼 있다고 봄 - 컴퓨터과학 학위 과정 내내 썼고 아주 잘 맞았음. 지금은 탄탄한 개인 지식베이스로 의존하고 있음
-
간격 반복 시스템을 여러 번 시도해봤지만, 늘 발견하는 문제는 외울 가치가 있는 것이 별로 없다는 점이었음. 정말 중요한 건 애쓰지 않아도 기억하고, 나머지는 매일 카드 복습을 하다 보면 시간이 지나면서 의미 없는 잡일처럼 느껴짐
- Anki를 암기 도구라기보다 우연한 연결을 만드는 장치로 씀. 흥미로운 관찰이나 생각이 생기면 몇 문장으로 적고 두 군데에 저장함. 하나는 Obsidian에 관련 노트 링크와 함께 넣고, 다른 하나는 Anki에 빈칸 카드로 넣음
Anki는 긴 복습 주기(1일, 1주, 1개월, 이후 자동)로 설정해두고, 복습은 보통 일주일에 한 번 정도 함. 그 과정에서 노트가 무작위 순서로 나타나거나 최근 하던 일과 복습 노트 사이의 연결을 발견하면서 새 아이디어가 자주 생김
실제로는 이런 것들 중 상당수를 기록하지 않고 흘려보내며, 평균적으로는 하루에 새 노트 하나 정도지만 몰아서 생기는 편임 - 예를 들면 생물학을 배울 때는 “동화 반응”이나 “역전사효소” 같은 용어를 외우고, 대수학을 배울 때는 S_n이나 GL_n 같은 주요 군을 외우며, 통계학에서는 주요 확률분포와 평균, 표준편차를 외움. 수학 경시대회를 준비할 때는 중국인의 나머지 정리 같은 것을 기억해야 함
이건 학습의 아주 작은 부분이지만 나머지 부분을 크게 가속함. 텍스트를 읽을 때 찾아보거나 깊이 생각하지 않아도 이해할 수 있고, 복잡한 문제 해결을 할 때 지식이 바로 준비된 상태가 됨
첫 번째 얕은 학습 단계에서 하거나 그 전에 해두고, 일단 외운 뒤에는 논문 읽기, 가르치기, 복잡한 문제 해결 같은 더 고급 맥락에서 쓰면 됨. 지식은 서로 연결되며, 간격 반복은 그 지식망의 단순한 부분을 빠르고 싸게 구축하는 방법임 - 나도 많은 사실을 외우는 일이 유용한 용도를 아직 못 찾은 쪽에 가까움. 계속 보이는 주요 용도는 언어 학습에서 어휘 늘리기임. 다른 것도 배우는 데 쓰는 사람이 있겠지만
이걸 보니 직장에서 ISO/IEC 표준의 중요한 부분을 더 잘 외울 수 있을까 생각해봤지만, 그걸 플래시카드로 어떻게 매핑해야 할지는 잘 안 보임
- Anki를 암기 도구라기보다 우연한 연결을 만드는 장치로 씀. 흥미로운 관찰이나 생각이 생기면 몇 문장으로 적고 두 군데에 저장함. 하나는 Obsidian에 관련 노트 링크와 함께 넣고, 다른 하나는 Anki에 빈칸 카드로 넣음
-
이 글 https://andymatuschak.org/books/에서 영감을 받아, ePub에 Q&A와 SRS를 넣는 https://readboost.io/를 만들었음. 아직 버그가 있을 수 있지만 개인적으로는 꽤 유용했음
- 미리보기 단계에서 내부 서버 오류가 나지만, 아이디어는 정말 마음에 듦
-
같은 저자의 How to write good prompts를 강력히 추천함. 이 글을 보고 간격 반복이 제대로 이해되기 시작했음
-
도입 장벽 중 하나가 사이트 저자의 목록에는 빠져 있는데, 적어도 내게는 중요함. 배우는 주제의 카드를 쓰기에 나는 세상에서 가장 자격이 부족한 사람 중 하나임. 잘못된 정보를 효과적이고 효율적으로 외우게 만드는 카드를 만들 가능성이 크고, 그런 위험은 감수하고 싶지 않음
- 보통은 해당 분야의 충분히 신뢰할 만한 말뭉치에서 바로 복사해 붙여넣음
-
읽은 내용에 대한 노트를 저장하는 데 SRS 변형을 쓰고, 일반적인 SRS 용도에도 별도로 사용함.
Psycho-Cybernetics,7 Habits,Iron John같은 책에서 만든 노트를 덩어리로 나누고 하루에 3~4개씩 복습함
읽다가 특히 눈에 띄는 부분은 “일일 복습”으로 옮기고, 나머지 노트는 며칠·몇 주·몇 달 뒤로 미룸. 지난 15년 정도 이렇게 해왔고 꽤 잘 맞았음 -
Android에서 쓸 수 있는 다른 제품 추천으로 https://normata.com/flip/가 있음
실제 어학원에서 독일어를 배우면서 보조 도구로 쓰고 있음. 새 Study Set을 처음부터 만들고, 매 수업마다 외울 새 단어를 추가함. 지금까지는 마음에 듦 -
Android에서 추천할 만한 좋은 간격 반복 앱이 있을까? 간격 반복만 하는 앱이면 좋겠음
- 위의 형제 댓글과 비슷하게 https://apps.ankiweb.net/는 오픈소스이고, 크로스 플랫폼이며, iOS를 제외하면 무료이고, 커뮤니티와 생태계가 있을 만큼 충분히 대중적임
- AnkiDroid
- Mochi가 훌륭함
-
피아노 코드 보이싱을 외우기 위한 미리 만들어진 카드나, 가능하면 같이 따라 연습할 수 있는 트랙이 있는 좋은 사이트를 찾은 사람이 있을까?