Anki의 원리, 제대로 이해하기 | SM-2 알고리즘
Based on 코리안키's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Anki는 카드 상태(뉴·러닝·리뷰)에 따라 간격 계산 로직이 달라진다.
Briefing
Anki의 핵심은 “카드가 어떤 단계에 있느냐”에 따라 간격이 달라지고, 그 간격 계산이 SM-2 로직(버튼별 가중치·보정값·랜덤 퍼지)로 굴러간다는 점이다. 이 구조를 모르고 어드밴스드 설정을 건드리면, 복습이 너무 빨리 끝나거나(졸업 과속), 반대로 특정 카드가 과도하게 반복되는(예: 이지헬) 부작용이 생길 수 있다. 결국 효율 문제의 상당 부분은 알고리즘 이해 부족에서 나온다는 결론으로 정리된다.
Anki는 카드를 크게 3가지 상태로 관리한다. 새 카드는 파란색(뉴 카드)으로 시작해, 한 번이라도 복습하면 붉은색(러닝 카드)으로 넘어간다. 러닝 카드는 사용자가 지정한 학습 단계(러닝스텝)를 거치며, 설정된 모든 단계를 통과하면 졸업(그레듀에이팅 인터벌)하여 녹색(리뷰 카드)이 된다. 다만 졸업한 카드에 대해 어게인 버튼을 누르면 “잊힌 것”으로 처리되어 다시 학습 단계로 돌아가는데, 이때는 재학습 카드(랩스)로 분류된다. 즉 카드의 생애는 “러닝 단계 → 졸업 → 리뷰 → (어게인 시) 재학습”의 사이클로 움직인다.
학습 단계에서 간격은 버튼과 러닝스텝 숫자에 의해 결정된다. 예를 들어 러닝스텝의 첫 숫자가 15분이면 어게인 응답 시 15분 뒤 재등장으로 연결된다. 이후 굿을 누르면 다음 러닝스텝으로 넘어가며, 첫 굿이 2일 간격을 주고 다음 굿이 7일 간격을 주는 식으로 단계가 진행된다. 마지막 학습 단계에서 굿을 누르면 졸업하며, 이때 그레듀에이팅 인터벌(예: 15일)이 부여된다. 어게인·하드·이지·이지 버튼(이지/이지 보너스·이지팩터 관련)은 각각 “다시 시작”, “다음 단계 지연”, “더 짧은 간격 부여(쉬운 카드 보정)” 같은 역할을 한다.
리뷰 카드 구간이 진짜 SM-2의 계산 영역이다. 리뷰 카드는 고정된 학습 단계가 없고, 버튼 입력에 따라 알고리즘이 간격을 산출한다. 기본적으로 굿은 현재 간격에 스타팅 이즈(기본 2.5)를 곱해 다음 간격을 만든다. 예컨대 졸업 직후 15일 간격을 받았다면 굿은 15×2.5=37.5일로 이어지고, 다시 굿이면 37.5×2.5=93.75일이 된다. 여기에 이지 보너스(기본 1.4)가 더해져 쉬운 카드일수록 간격이 더 늘어나거나, 반대로 하드/어게인은 조정되어 어려운 카드가 더 자주 등장하도록 설계된다. 또한 이지팩터는 버튼마다 2.5에서 시작해 어게인(-20%), 하드(-15%), 이지(+15%)처럼 미세 조정되며, 사용자가 체감하는 난이도 피드백을 간격 성장률에 반영한다.
마지막으로 퍼지팩터가 랜덤 오차를 소량 섞어 특정 날짜에 카드가 몰리는 현상을 줄인다. 그래서 복습이 밀리거나 성공률이 달라지면 간격 계산이 약간씩 달라질 수 있다. 결론적으로, SM-2를 이해하지 못한 채 어드밴스드 값을 함부로 바꾸지 말아야 하며, 권장 세팅은 러닝스텝을 3단계 이상으로 두어 너무 빠른 졸업을 막고, 리뷰 카드에서는 인터벌 모디파이어만 조정하는 방식이다. 리텐션 레이트는 보통 80~90% 범위에서 시작해, 너무 낮으면 간격을 줄여 복습 빈도를 높이고 너무 높으면 간격을 늘려야 한다는 운영 원칙도 함께 제시된다.
Cornell Notes
Anki는 카드 상태(뉴·러닝·리뷰)에 따라 간격이 달라지고, 리뷰 구간은 SM-2 기반 계산으로 다음 복습 시점을 정한다. 러닝 단계에서는 러닝스텝과 버튼(어게인/하드/굿 등)이 다음 단계 전환과 간격(예: 15분, 2일, 7일)을 결정하며, 마지막 굿이 졸업을 만든다. 졸업한 뒤에도 어게인을 누르면 랩스(재학습)로 돌아가 패널티와 함께 다시 졸업 간격을 조정한다. 리뷰 카드는 굿이 현재 간격에 스타팅 이즈(기본 2.5)를 곱해 성장시키고, 이지 보너스(기본 1.4)·이지팩터(버튼별 ±조정)로 난이도 피드백을 반영한다. 퍼지팩터는 간격을 약간 랜덤하게 만들어 특정 날짜 쏠림을 줄인다.
Anki에서 카드가 파란색(뉴)→붉은색(러닝)→녹색(리뷰)으로 바뀌는 조건은 무엇인가?
러닝스텝 숫자(예: 15분, 2일, 7일)는 버튼 입력과 어떻게 연결되나?
리뷰 카드에서 굿 버튼은 간격을 어떻게 키우나?
이지(쉬움)와 이지팩터는 간격 계산에서 어떤 조정 장치로 작동하나?
퍼지팩터는 왜 필요하며, 실제 간격에 어떤 영향을 주나?
어드밴스드 설정을 이해하지 못한 채 바꾸면 어떤 문제가 생길 수 있나?
Review Questions
- 러닝 단계에서 졸업을 결정하는 ‘마지막 굿’과 그레듀에이팅 인터벌의 관계를 설명해보라.
- 리뷰 카드에서 굿 간격이 ‘현재 간격 × 스타팅 이즈’로 계산된다는 점을 예시 숫자로 재현해보라.
- 이지팩터가 버튼별로(어게인/하드/이지) 어떻게 변하고, 그 결과가 복습 빈도에 어떤 방향으로 영향을 주는지 정리해보라.
Key Points
- 1
Anki는 카드 상태(뉴·러닝·리뷰)에 따라 간격 계산 로직이 달라진다.
- 2
러닝 단계에서는 러닝스텝 숫자와 버튼(특히 어게인/굿)이 다음 간격과 단계 전환을 직접 결정한다.
- 3
졸업한 카드에 어게인을 누르면 랩스(재학습)로 돌아가며, 재학습 과정에서 패널티와 함께 간격이 조정된다.
- 4
리뷰 카드 간격은 굿/이지/하드/어게인 입력에 따라 SM-2 방식으로 성장·감쇠하며, 스타팅 이즈(기본 2.5)가 핵심 곱셈 계수로 작동한다.
- 5
이지 보너스(기본 1.4)와 이지팩터(버튼별 ±조정)가 난이도 피드백을 간격 계산에 반영한다.
- 6
퍼지팩터는 간격을 약간 랜덤하게 만들어 카드가 특정 날짜에 몰리는 현상을 줄인다.
- 7
어드밴스드 파라미터는 이해 없이 바꾸지 말고, 러닝스텝을 3단계 이상으로 두어 너무 빠른 졸업을 막는 운영이 권장된다.