가이드

수식 없이 이해하는 FSRS 원리

FSRS를 쉬운 말로 설명합니다. 안정성과 난이도가 무엇을 뜻하는지, 복습 한 번이 이 값을 어떻게 바꾸는지, SM-2보다 카드 일정을 더 정확하게 잡는 이유까지 정리했습니다.

기억 안정성과 카드 난이도를 나타내는 두 계기 사이의 카드, 그리고 달력에 표시된 다음 복습일.

FSRS(Free Spaced Repetition Scheduler)는 오픈소스 알고리즘으로, 카드에 대한 두 가지 정보를 모델링해 플래시카드를 언제 다시 보여줄지 결정합니다. 하나는 기억이 얼마나 오래 유지될 것인지를 나타내는 안정성이고, 다른 하나는 그 카드가 본인에게 얼마나 어려운 편인지를 나타내는 난이도입니다. 모든 사용자에게 하나의 공식을 똑같이 적용하는 대신, 본인의 복습 기록에 맞춰 이 모델을 맞춤화합니다.

결론부터

  • FSRS는 카드마다 안정성과 난이도를 하나로 합친 값이 아니라 각각 따로 추적합니다.
  • 안정성은 회상 확률이 목표 유지율까지 떨어지기 전에 얼마나 오래 버틸 수 있는지를 추정한 값입니다.
  • 난이도는 타이밍과 무관하게 이 카드가 본인에게 얼마나 어려운지를 추정한 값입니다.
  • 복습할 때마다 어떻게 평가했는지, 그리고 복습이 예상보다 얼마나 이르거나 늦었는지에 따라 두 값이 함께 갱신됩니다.
  • 목표 기억 유지율을 설정하면 FSRS는 그 목표와 두 값을 조합해 다음 간격을 계산합니다.

FSRS는 실제로 무엇인가

FSRS는 설치하는 소프트웨어가 아니라 일정을 계산하는 알고리즘입니다. 플래시카드 앱 내부에서 작동하며, 카드마다 하나의 질문에 답합니다. 지금까지 이 카드를 복습한 기록을 바탕으로, 다음에는 언제 다시 보여줘야 하는가입니다. GitHub의 open-spaced-repetition 프로젝트에서 오픈소스로 관리되며, 별도의 설정 없이도 예전 공식보다 더 정밀하게 복습 일정을 잡아 주기 때문에 여러 플래시카드 도구가 채택했습니다.

이름의 구성은 단순합니다. Free는 오픈소스이며 무료로 쓸 수 있다는 뜻이고, Spaced Repetition은 간격 반복 학습의 원리에서 설명한 간격 효과를 기반으로 한다는 뜻이며, Scheduler는 무엇을 공부할지가 아니라 언제 복습할지를 정하는 것이 유일한 역할이라는 뜻입니다. 어떤 카드를 공부할지 고르거나 플래시카드를 대신 만들어 주지는 않습니다. 오직 복습 사이의 간격만 결정합니다.

모든 것을 좌우하는 두 가지 값: 안정성과 난이도

예전 알고리즘은 카드마다 하나의 값만 추적했습니다. 보통 마지막 답변에 따라 커지거나 작아지는 '용이성' 값입니다. FSRS는 이 하나의 값을 둘로 나눕니다. 어떤 카드는 원래 어렵지만 한 번 익히고 나면 기억에 잘 남을 수 있고, 반대로 원래 쉬운 카드라도 충분히 복습하지 않으면 금방 흐려질 수 있기 때문입니다.

안정성은 이 카드에 대한 회상 확률이 목표로 정한 유지율까지 떨어지기까지 걸리는 일수입니다. 안정성이 40이라면, 이 카드를 다시 복습하지 않아도 40일 뒤에는 대략 목표한 확률만큼 정확히 떠올릴 수 있다는 뜻입니다. 안정성은 대체로 카드를 성공적으로 떠올릴 때마다 커지며, 이미 여러 번 정답을 맞힌 카드일수록 더 빠르게 커집니다.

난이도는 그 카드를 마지막으로 본 지 얼마나 지났는지와는 무관하게, 특정 카드가 본인에게 얼마나 어려운 편인지를 나타내는 별도의 점수입니다. 두 카드가 오늘 같은 안정성을 갖고 있어도 난이도는 완전히 다를 수 있습니다. 하나는 쉽지만 새로 배운 카드라 앞으로 안정성이 빠르게 커질 것이고, 다른 하나는 어렵고 오래 공부한 카드라 정답을 맞혀도 안정성이 더 천천히 커집니다.

두 값을 따로 유지하기 때문에 FSRS는 '맞히긴 했지만 어려웠다'와 '맞혔고 쉬웠다'를 서로 다르게 반영할 수 있습니다. 이는 용이성 하나만으로는 제대로 표현할 수 없는 차이입니다.

복습 한 번이 모델을 어떻게 바꾸는가

복습할 때마다 FSRS는 세 가지 정보를 이용해 두 값을 갱신합니다. 매긴 평가(다시, 어려움, 좋음, 쉬움), 이전의 안정성과 난이도, 그리고 알고리즘이 예상한 시점과 실제로 복습한 시점 사이의 차이입니다.

  • 제때 또는 예정보다 일찍 맞힌 복습은 안정성을 높입니다. 간격이 이미 길었을수록 더 크게 오릅니다. 긴 공백 뒤에 성공적으로 떠올렸다는 사실은, 짧은 공백 뒤의 성공보다 기억이 튼튼하다는 더 강한 증거이기 때문입니다.
  • 쉬움으로 평가한 정답은 안정성을 더 크게 높이고 난이도를 약간 낮출 수 있습니다. 쉽게 맞혔다는 것은 앞으로 이 카드에 덜 신경 써도 된다는 신호이기 때문입니다.
  • 어려움으로 평가한 복습도 정답으로 처리되지만, 안정성은 덜 오르고 난이도는 오히려 오를 수 있습니다. 이 카드가 예상보다 더 불안정하다는 신호이기 때문입니다.
  • **실패한 복습(다시)**은 안정성을 짧은 초기값에 가깝게 되돌리고 난이도를 높입니다. 실수는 이전 일정이 너무 여유로웠다는 것을 알려 주는 가장 강력한 신호이기 때문입니다.

그래서 오늘 똑같은 평가를 매긴 두 카드라도 복습을 마친 뒤 다음 간격은 크게 달라질 수 있습니다. 모델은 그 평가 하나가 아니라, 그 뒤에 쌓인 전체 기록에 반응하기 때문입니다.

FSRS가 복습 기록을 필요로 하는 이유

새로 만든 카드는 기록이 전혀 없으므로, FSRS는 기본값으로 안정성과 난이도를 잡은 뒤 복습할 때마다 그 값을 다듬어 갑니다. 이를 흔히 콜드 스타트 문제라고 부릅니다. 한두 번밖에 복습하지 않은 카드에 대한 초기 예측은, 스무 번 복습한 카드에 대한 예측보다 당연히 거칠 수밖에 없습니다.

실제로는 오래 사용하고 복습이 쌓일수록 FSRS는 더 정확해집니다. 가상의 평균적인 학습자에게 맞춰진 것이 아니라, 카드 하나하나에서 본인의 정답·오답 패턴에 맞춰 조정됩니다. 다른 도구에서 몇 년치 복습 기록을 가져오면 일정이 바로 더 정교해지는 이유도 여기에 있습니다. 모든 카드를 콜드 스타트로 시작하는 대신, 처음부터 더 많은 신호를 활용할 수 있기 때문입니다.

FSRS와 SM-2, 쉽게 비교하기

SM-2 FSRS
카드마다 추적하는 값 용이성 계수 하나 안정성과 난이도를 따로
다음 간격을 정하는 방법 이전 간격에 용이성 계수를 곱함 기억 모델로 회상 확률을 예측하고, 목표 유지율에 맞춰 계산
맞혔지만 어려웠던 답변에 반응하는 방식 다른 정답과 거의 동일하게 처리 쉬운 정답보다 안정성을 덜 올림
복습 패턴에 맞춘 개인화 카드별로 대략적으로 카드별로, 그리고 모델 자체도 전체 기록으로 최적화 가능
설정 항목 초기 용이성과 간격 배수 목표 기억 유지율(목표 정하기 참고)

어느 쪽도 '틀렸다'고 할 수 없습니다. SM-2는 단순하고 예측 가능하며, 수십 년 동안 플래시카드 일정을 관리해 왔습니다. FSRS는 그 단순함을 내려놓는 대신, 실제로 잊어버리는 시점과 알고리즘이 가정하는 시점 사이의 간극을 더 좁힙니다.

목표 기억 유지율이 실제로 정하는 것

FSRS는 간격을 독립적으로 정하지 않습니다. 사용자가 직접 고르는 목표, 즉 목표 기억 유지율에 맞춰 회상 확률을 유지하는 간격을 계산합니다. 90%로 설정하면, 바로 그 순간 시험을 본다고 가정했을 때 만기가 된 카드 10장 중 대략 9장을 정확히 떠올릴 수 있도록 복습 일정을 짭니다. 80%로 설정하면 복습 간격은 더 넓어지는 대신, 복습 횟수는 줄어들고 잊어버리는 비율은 늘어납니다.

보편적으로 옳은 값은 없습니다. 목표를 높게 잡으면 복습이 늘고 망각은 줄어듭니다. 목표를 낮게 잡으면 복습은 줄고 그 과정에서 잊어버리는 비율은 늘어납니다. 적절한 수치는 그 카드를 잊었을 때 치러야 할 대가에 따라 달라집니다. 시험 범위라면 여행을 앞두고 감을 유지하려는 언어 덱보다 더 높은 목표가 필요합니다.

StudyDaily가 이를 감추지 않고 보여주는 방법

StudyDaily는 현재 버전의 알고리즘인 FSRS-6를 모든 카드에 적용합니다. 다음 간격을 뒤에서 조용히 계산하는 대신, 다시·어려움·좋음·쉬움 각 평가 버튼은 누르기 전에 그 선택이 만들어 낼 간격을 미리 보여줍니다. 평가를 확정하기 전에 그 결과를 먼저 보게 되므로, 안정성과 난이도 모델이 이론이 아니라 눈에 보이는 것으로 다가옵니다.

복습, 통계, 일정은 모두 기기에서 처리되므로 매일의 학습은 네트워크 연결과 무관합니다. 다른 FSRS 기반 도구에서 옮겨 오는 경우, StudyDaily의 가져오기 기능은 호환되는 내보내기 파일에서 기존 안정성과 난이도 값을 읽어 오며 모든 카드를 콜드 스타트로 되돌리지 않습니다. 마이그레이션에서 실제로 무엇이 남고 무엇이 남지 않는지는 마이그레이션이 실제로 보존하는 것에서 전체적으로 확인할 수 있습니다.

이제 무엇을 해야 할까요?

쉬운 카드와 어려운 카드가 섞인 덱을 열고, 평가를 다르게 매길 때마다 간격 미리보기가 어떻게 바뀌는지 지켜보세요. 5분이면 공식을 아무리 설명해도 알 수 없는 FSRS의 실제 동작을 확인할 수 있습니다.

  • 잘 아는 카드를 복습하고, 쉬움을 눌렀을 때 나오는 간격을 확인하세요.
  • 어려운 카드를 복습하고, 어려움을 눌렀을 때 나오는 간격과 비교하세요.
  • 목표 기억 유지율 설정을 확인하고, 복습이 너무 잦거나 너무 뜸하게 느껴지면 조정하세요.
  • 꾸준히 복습을 이어가세요. 모델은 완벽한 첫 추측이 아니라 더 많은 기록으로 정교해집니다.

자주 묻는 질문

FSRS는 무엇의 약자인가요?

Free Spaced Repetition Scheduler의 약자입니다. 독립된 앱이 아니라 오픈소스 일정 알고리즘이며, 플래시카드 도구들이 이를 구현해 각 카드가 언제 다시 나올지 정합니다.

FSRS가 SM-2보다 나은가요?

FSRS는 대체로 더 정밀하게 일정을 잡습니다. 용이성 계수 하나 대신 안정성과 난이도를 따로 추적하고, 예측을 본인의 복습 기록에 맞춰 조정할 수 있기 때문입니다. SM-2는 더 단순하고 오랜 실적이 있지만, 기억 자체를 모델링하기보다 마지막 답변 하나에만 반응합니다.

FSRS에서 '안정성'이란 무엇인가요?

안정성은 어떤 카드의 회상 확률이 목표 기억 유지율까지 떨어지는 데 걸리는 일수입니다. 안정성이 높은 카드는 복습 사이 간격이 길어도 정답을 맞힐 가능성이 여전히 높습니다.

FSRS가 잘 작동하려면 복습이 많이 필요한가요?

첫 복습부터 기본값으로 작동하며, 특정 카드에 복습이 쌓일수록 더 정확해집니다. 다른 FSRS 호환 도구에서 기존 복습 기록을 가져오면 모든 카드를 콜드 스타트로 시작하는 대신 모델이 한발 앞서 출발할 수 있습니다.

이 안내서에서 사용한 출처

여기서 설명한 알고리즘의 작동 방식은 open-spaced-repetition 프로젝트가 관리하는 오픈소스 FSRS 문서와 위키를 근거로 합니다. StudyDaily의 구현에 관한 설명은 제품에 실제로 쓰인 FSRS-6 스케줄러와 가져오기 기능을 근거로 하며, 이 안내서의 2026년 6월 15일 발행일 기준으로 위 출처와 대조해 확인했습니다.

내 카드로 이 방법을 시험해 보세요

브라우저에서 StudyDaily를 여세요. 로컬 학습에는 계정이 필요하지 않습니다.

StudyDaily 열기

Julien은 StudyDaily를 개발하며 1차 자료와 출시된 제품을 기준으로 모든 가이드를 확인합니다.

편집 방식 읽기

모든 가이드