間隔反復学習の次回復習間隔を計算
次回復習間隔計算ツールは、学習者の前回の復習間隔と現在の易しさ係数を、次に予定する日数へ変換します。単純な間隔反復学習で用いられる乗算規則を適用し、指定された精度で結果を丸めます。出力は決定的で、入力値と計算式も含まれるため、学習ツール、単語カードのスケジューラー、表計算、監査可能な学習工程に利用できます。1回の計算にアカウント、ネットワーク照会、現在時刻、非公開の学習者プロフィールは必要ありません。
無料で実行
前回の間隔と易しさ係数を入力します
まず、直近2回の予定された復習を隔てた日数を previous_interval_days に入力します。6 のような整数だけでなく、アプリケーションがより細かな単位で予定を組む場合は小数も指定できます。次に、最後の復習後に学習システムが選んだ乗数を ease_factor として指定します。1 より大きい係数は間隔を延ばし、1 より小さい係数は短くします。たとえば、6 日と係数 2.5 の組み合わせは、丸める前に 15 日となります。どちらも有限の正数でなければなりません。この計算ツールは、評価点、押されたボタン、忘却回数、応答時間から係数を推測しません。それらの規則は学習システムごとに異なるためです。アプリケーションが決定済みの値を使い、透明な予定計算を1段階だけ実行します。この分離により、単語カードのアルゴリズム全体を複製したり、文書化されていない既定値に依存したりせず、SDK、表計算、テスト用データ、キューワーカーで同じ結果を再現できます。
乗算と丸めの仕組みを確認します
計算式は previous_interval_days と ease_factor の乗算です。乗算後の値を decimal_places の桁数で丸めます。既定値は 2 で、0 から 6 まで指定できます。スケジューラーが暦上の整数日だけを保存する場合は 0 を選び、別の処理層が日数の小数部分を時間やタイムスタンプへ変換する場合は、必要に応じて精度を上げてください。丸めは乗算後に1回だけ行われるため、途中の切り捨てによって長期学習計画が知らないうちに短縮されることはありません。応答には next_interval_days とともに previous_interval_days、ease_factor、decimal_places、計算式が含まれます。これによりログだけで計算内容を把握でき、予定の判断と表示上の変換を区別できます。最低1日には固定しないため、有効な積が小さければ1日未満になる場合があります。ボーナス、上限、ランダムな揺らぎ、期限超過の補正、初回専用処理も追加しません。必要な規則は明示的に適用し、別途記録してください。同じ JSON 入力は常に同じ JSON 出力になります。
継続的な復習工程で結果を使用します
next_interval_days はカレンダーの日付ではなく、予定を組むための日数間隔として扱ってください。呼び出し元のアプリケーションは、最後に成功した復習の完了時刻へこの値を加え、タイムゾーン、週末、欠席した学習、日付の切り替えを独自に処理できます。この機能は現在の日付を読み取らないため、同じ要求を後で実行しても結果は変わりません。単語カードサービスでは、返された間隔を、その根拠となった評価と係数とともに保存してください。簡潔な監査記録があれば、後日の予定変更を説明できます。教室用ダッシュボードでは、各学習者の記録に意図した前回間隔と係数があることを確認してから一括計算します。表計算を移行する場合は、古い値を置き換える前に、返された計算式の項目と既存列を比較してください。ブラウザー版は手作業の確認に適し、自動処理で同じ決定的な契約が必要な場合、APIは成功した1件につき$0.002です。検証エラーは既定の学習方針で置き換えず、示された入力項目を修正してください。
活用例
単語カードの復習を予定します
正しく想起できた後に、保存済みの間隔へ選択した係数を掛け、返された値を次の予定計算に保存します。
学習用の表計算を確認します
選択した行を明示的な丸め規則で再計算し、カリキュラムや学習記録にある数式と比較します。
学習アプリケーションをテストします
決定的な出力をテスト用データとして使い、サービス間で正しい前回間隔と係数が渡されることを確認します。
よくある質問
どの計算式を使用しますか?
previous_interval_days と ease_factor を掛け、積を decimal_places の桁数で丸めます。
復習の評価から易しさ係数を計算しますか?
いいえ。独自の評価または予定規則で選んだ係数を指定してください。この機能は間隔の乗算だけを行います。
次回間隔が1日未満になることはありますか?
はい。decimal_places に十分な精度があれば、正の日数の小数部分も保持されます。
結果はどのように丸められますか?
積を 0 から 6 までの小数桁で1回だけ丸めます。既定値は 2 桁です。
復習日そのものも選択しますか?
いいえ。日数間隔を返すだけで、時刻は読みません。アプリケーション側で任意の完了時刻へ加算できます。
APIリクエストの料金はいくらですか?
成功したAPI項目1件につき$0.002です。同じ決定的な計算をブラウザーでも実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/edu/next-spaced-interval \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"previous_interval_days":6,"ease_factor":2.5}'const res = await fetch("https://api.kit.forhosting.com/edu/next-spaced-interval", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"previous_interval_days": 6,
"ease_factor": 2.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/next-spaced-interval",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"previous_interval_days": 6,
"ease_factor": 2.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/next-spaced-interval", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"previous_interval_days":6,"ease_factor":2.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"previous_interval_days":6,"ease_factor":2.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/next-spaced-interval", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"previous_interval_days": 6,
"ease_factor": 2.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.next_spaced_interval",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |