上個月,一位醫學生給我發郵件:"我有 8,000 張 Anki 卡片用於 Step 1 備考。我想試試 SmartRecall 的 FSRS 排程器,但我很害怕丟失三個月的複習資料。" 我理解這種擔憂。你已經投入數百小時建立起對那些間隔的肌肉記憶,從零開始的想法讓人難以接受。
好訊息是:你不必從零開始。SmartRecall 的 Anki 匯入器能保留 95% 重要的內容——你的複習歷史、排程間隔、標籤和卡組結構。另外 5% 是邊緣情況,我會標註出來讓你知道該期待什麼。
TL;DR
將 Anki 卡組匯出為包含排程資訊的.apkg檔案。通過"設定 → 匯入 → Anki"匯入 SmartRecall。複習歷史、間隔和標籤會自動轉移。填空刪除、圖片遮擋和自定義筆記型別需要手動清理。一個 5,000 張卡片的卡組預計需要 15-30 分鐘。
為什麼人們從 Anki 遷移
Anki 之所以是黃金標準是有原因的——它免費、開源,經過數百萬使用者的實戰檢驗。但在兩年的使用者訪談後,我聽到了相同的痛點:
- SM-2 演算法已經過時。 Anki 的預設演算法釋出於 1988 年。SmartRecall 使用的 FSRS(自由間隔重複排程器)在相同保留率下能減少 20-30% 的複習負擔,因為它按單卡而非按卡組建模遺忘曲線。
- 移動端同步不夠流暢。 AnkiWeb 能用,但 iOS 應用要 25 美元,跨裝置同步需要手動操作。
- 沒有內建分析功能。 你需要外掛才能看到熱力圖、預測工作量或識別難記卡片。SmartRecall 預設在儀表板上顯示這些。
如果你對 Anki 滿意,繼續用就好。如果你好奇現代 SRS 能否每天為你節省 30 分鐘,這份指南能幫你在不丟失資料的情況下實現遷移。
遷移中會保留什麼
SmartRecall 的匯入器直接讀取 Anki 的 .apkg 格式。以下內容能完整轉移:
複習歷史和間隔
每張卡片的複習日誌——時間戳、難度評級(重來/困難/良好/簡單)、間隔長度——都會完整匯入。如果一張卡片在 SM-2 下的到期時間是 45 天,SmartRecall 的 FSRS 排程器會繼承該歷史,並根據你的實際表現曲線重新計算下一個間隔。
實際效果:你在 Anki 中複習過 12 次的卡片,在 SmartRecall 的歷史標籤頁中會顯示 12 次複習記錄。新演算法從第 13 次複習開始生效。
標籤和卡組層級
標籤原樣匯入。如果你用 #cardiology、#high-yield 或 #zanki-step1 標記卡片,這些標籤會出現在 SmartRecall 的標籤瀏覽器中。卡組結構(父卡組、子卡組)對映到 SmartRecall 的資料夾系統。
一個小差異:Anki 允許巢狀標籤(cardiology::arrhythmias)。SmartRecall 將其扁平化為 cardiology-arrhythmias 以保持標籤選擇器的速度。功能上完全相同,只是分隔符不同。
基礎卡片和反向卡片型別
標準的正面/背面卡片和反向卡片(背面/正面)無需修改即可匯入。如果你使用了 Anki 的"基礎(及反向卡片)"筆記型別,在 SmartRecall 中每個筆記會得到兩張卡片,和之前一樣。
媒體檔案
卡片中嵌入的圖片、音訊片段和 LaTeX 公式會自動轉移。SmartRecall 從 .apkg 壓縮包中提取它們並重新連結。我測試過包含 2GB 解剖圖的卡組——沒有問題。
什麼不會轉移(以及解決方法)
多上下文的填空刪除
Anki 的填空筆記型別從一個筆記生成多張卡片。例如:
\{\{c1::Paris\}\} is the capital of \{\{c2::France\}\}.這會建立兩張卡片。SmartRecall 匯入這兩張卡片,但如果你在 SmartRecall 中編輯筆記文本,你是在編輯兩張獨立的卡片——而不是共享筆記。
解決方法: 如果你的填空筆記少於 500 個,保持原樣即可。如果有數千個(醫學院卡組如 Anking 中很常見),考慮在匯出前將高優先順序填空轉換為基礎卡片。在 Anki 的瀏覽器中按筆記型別篩選,然後使用"更改筆記型別"選項批次轉換。
圖片遮擋
Anki 的圖片遮擋外掛以自定義欄位格式儲存遮罩座標。SmartRecall 目前還不解析這個——圖片遮擋卡片會以烘焙了遮罩的靜態圖片匯入(所以仍然能用),但你無法編輯遮罩位置。
解決方法: 對於你經常新增新遮擋的卡組(解剖圖譜、組織學切片),在 SmartRecall 推出原生圖片遮擋功能前(2026 年第三季度路線圖)繼續在 Anki 中使用。對於只複習的靜態卡組,匯入它們——功能正常。
自定義筆記型別和模板
如果你構建了帶有 JavaScript、條件欄位或複雜 CSS 的自定義卡片模板,渲染效果不會完全相同。出於安全考慮,SmartRecall 使用沙盒化的 Markdown 渲染器,因此任意指令碼不會執行。
解決方法: 匯出一個包含每種自定義型別 10-20 張卡片的樣本卡組。匯入 SmartRecall 並檢查渲染效果。如果格式損壞,你可以在完整匯出前在 Anki 中簡化模板,或使用 SmartRecall 的批次編輯器在匯入後手動修復卡片。
外掛資料
Anki 外掛將資料儲存在單獨的 SQLite 表中。熱力圖、自定義排程器和難記卡片閾值不會轉移。SmartRecall 為大多數流行外掛提供了內建等效功能(熱力圖、FSRS 排程器、難記卡片檢測),但你需要重新配置設定。
分步遷移流程
1. 備份你的 Anki 集合
在操作任何內容之前,進入 Anki → 檔案 → 建立備份。這會在你的 Anki 資料夾中建立一個帶時間戳的 .colpkg 檔案。如果出現問題,你可以從這裡恢復。
2. 匯出包含排程資訊的卡組
在 Anki 主視窗中:
- 點選你想匯出的卡組(或按住 Ctrl/Cmd 點選選擇多個卡組)。
- 檔案 → 匯出。
- 匯出格式:Anki 卡組包 (*.apkg)。
- 勾選"包含排程資訊"——這很關鍵。沒有它,你會丟失複習歷史。
- 僅當你的卡組沒有圖片/音訊且想要更小的檔案時,取消勾選"包含媒體"。否則保持勾選。
- 將
.apkg檔案儲存到你能找到的地方(桌面或下載資料夾)。
對每個卡組重複此操作。如果你有 20+ 個卡組,匯出父卡組——Anki 會將所有子卡組打包到一個 .apkg 中。
3. 匯入到 SmartRecall
登入 SmartRecall (smartrecall.ai)。進入"設定 → 匯入 → Anki"。
- 點選"選擇檔案"並選擇你的
.apkg。 - SmartRecall 掃描檔案並顯示預覽:卡片數量、媒體檔案、檢測到的標籤。
- 選擇目標資料夾(或建立新資料夾)。這是卡組在 SmartRecall 庫中的位置。
- 點選"匯入"。
進度條出現。對於包含 500MB 圖片的 5,000 張卡片卡組,預計需要 2-3 分鐘。SmartRecall 分批處理卡片以避免超時。
4. 驗證匯入
完成後,導航到匯入的卡組。抽查:
- 開啟 5-10 張隨機卡片。圖片載入了嗎?格式完整嗎?
- 檢查你在 Anki 中多次複習過的卡片的"歷史"標籤頁。你應該能看到過去的複習日期和評級。
- 按你經常使用的標籤篩選。卡片數量與 Anki 中的一致嗎?
如果有什麼看起來不對,不要驚慌。SmartRecall 會保留原始 .apkg 檔案 30 天。你可以重新匯入或聯絡支援團隊([email protected])並提供卡組名稱。
5. 調整 FSRS 設定(可選)
SmartRecall 的 FSRS 排程器有合理的預設值(目標保留率:90%,最大間隔:365 天)。但如果你在 Anki 中使用自定義設定——比如高風險考試的 95% 保留率目標——你可以在"設定 → 排程器"中調整。
FSRS 根據你的複習歷史重新計算間隔,所以你可能會看到一些卡片立即重新排程。這是正常的。演算法正在針對你的實際遺忘曲線最佳化,而不是 Anki 的通用難度因子。
處理 5% 的邊緣情況
暫停的卡片
Anki 的暫停卡片在 SmartRecall 中匯入為"已暫停"。它們不會出現在複習中,直到你取消暫停。批次取消暫停:選擇卡組,點選三點選單,選擇"全部恢復"。
篩選卡組
Anki 的篩選卡組(自定義學習、突擊模式)沒有直接等效功能。SmartRecall 使用動態篩選器。匯入後,通過進入主庫、點選"篩選"並設定條件(例如"今天到期 + 標記為 #high-yield")來重建篩選卡組。
同級卡片掩埋
如果你在 Anki 中啟用了"掩埋相關卡片",SmartRecall 在匯入時會遵守此設定。同級卡片(來自同一筆記)不會在同一複習會話中出現。你可以在"設定 → 卡組選項 → 同級處理"中按卡組切換此功能。
媒體連結損壞的卡片
偶爾,Anki 卡組中的卡片引用了媒體資料夾中不再存在的圖片(通常來自已刪除的外掛或損壞的同步)。SmartRecall 在匯入期間會標記這些卡片併發出警告:"3 張卡片缺少媒體"。你可以使用"broken-media"標籤篩選這些卡片,然後修復連結或刪除卡片。
遷移後的工作流程建議
給 FSRS 兩週時間校準
FSRS 從複習資料中學習你的遺忘曲線。在最初的 10-14 天,間隔可能感覺略有偏差——有些卡片回來得太快,有些太晚。這是演算法收集訊號的過程。每個卡組複習 50-100 次後,間隔會穩定下來,比 SM-2 更準確。
如果某張卡片持續感覺時機不對,使用"困難"或"簡單"按鈕給出反饋。FSRS 的調整速度比 Anki 的難度因子系統更快。
使用 SmartRecall 的難記卡片檢測
Anki 預設在 8 次失誤後標記難記卡片。SmartRecall 的難記卡片檢測器更細緻——它標記保留率低於 50% 且你至少複習過 5 次的卡片。這些會出現在"難記卡片"智慧資料夾中。
對於難記卡片,我建議:
- 重寫卡片使其更原子化(每張卡片一個概念)。
- 新增助記符或視覺提示。
- 如果真的無法記住,暫停它並繼續前進。不是每個事實都值得反覆練習。
跨裝置同步
與 Anki 不同,SmartRecall 自動同步。午餐時在手機上覆習 20 張卡片,桌面應用會立即反映這些複習。無需手動"同步"按鈕。
一個注意事項:離線模式是隻讀的。你可以在沒有網路的情況下複習卡片,但更改會在重新連線後上傳。Anki 的離線優先架構在這方面更強大——SmartRecall 優先考慮同步簡便性而非離線編輯。
什麼時候應該留在 Anki
遷移並不總是正確的選擇。在以下情況下堅持使用 Anki:
- 你嚴重依賴社群共享的卡組,這些卡組經常更新(如 USMLE 的 Anking)。將更新匯入 SmartRecall 需要每次從 Anki 重新匯出。
- 你構建了複雜的外掛工作流程(自定義排程器、筆記型別生成器、批次編輯指令碼)。SmartRecall 的 API 仍在成熟中。
- 你在哲學上反對閉源軟體。Anki 是 GPL 許可的;SmartRecall 是專有的(儘管我們將 FSRS 實現作為開源釋出)。
對於其他人——特別是如果你正在開始新卡組或對 Anki 的使用者體驗感到沮喪——遷移是低風險且可逆的。如果你改變主意,你隨時可以從 SmartRecall 匯出回 .apkg。
實際遷移時間
根據使用者報告:
- 1,000 張卡片卡組,無媒體: 3-5 分鐘(匯出 + 匯入 + 驗證)。
- 5,000 張卡片卡組,200MB 圖片: 15-20 分鐘。
- 20,000 張卡片卡組(完整 Anking),2GB 媒體: 45-60 分鐘。在週末進行。
瓶頸通常是媒體檔案處理。如果你有大型卡組,考慮在匯出前將其拆分為較小的子卡組以並行匯入。
最後的想法
我在 2025 年 3 月將自己的日語詞彙卡組(6,400 張卡片,18 個月的複習記錄)從 Anki 遷移到 SmartRecall。整個過程花了 22 分鐘。我沒有丟失任何複習歷史。三週內,FSRS 將我的每日複習負擔從 85 張卡片減少到 62 張,保留率穩定在 91%。
最難的部分不是技術遷移——而是信任一個新演算法來處理我花了一年時間建立的資料。如果你有這種猶豫,從小處開始。匯出一個低風險的卡組(也許是業餘專案或單本教材的一章),匯入它,複習一週。看看 FSRS 是否比 SM-2 感覺更好。如果是,再遷移其餘部分。
如果你遇到問題——媒體損壞、格式奇怪、無法匯入的卡片——給我發郵件 [email protected]。我會閱讀每條訊息,邊緣情況能幫助我為下一個人改進匯入器。
你的複習歷史太寶貴了,不能丟失。這份指南的存在是為了讓你不必在保留資料和嘗試更好的工具之間做選擇。

