我在iPhone應用中匯入了5個真實的Anki牌組。結果如下
為什麼我要進行這個測試
「我的牌組能順利匯入嗎?」這是我們收到幾乎所有 Anki 使用者訊息背後的疑問。僅僅是卡片數量與電腦版 Anki 一致是不夠的:一個克漏字牌組可能匯入了正確數量的卡片,但卻顯示出原始的 {{c1::…}} 標記、遺失提示、圖片空白或音訊按鈕失效。因此,與其完全信任解析器,我挑選了醫學、MCAT 和日語學習者實際在使用的真實公開牌組,在 iPhone 上逐一匯入,並開始複習,拍下前 6 到 10 張卡片的正反面。
測試環境:Guru 1.5.1(組建號 76),iPhone 16 Pro Max,iOS 18。每個 .apkg 檔案都是直接從「檔案」App 開啟,這會觸發與 AirDrop 或分享選單相同的匯入流程。時間是從點擊「匯入」到牌組出現在「資料庫」的實際經過時間。
這五個牌組
| 牌組 | 檔案大小 | Anki 中的卡片數 | 匯入後的卡片數 | 匯入時間 | 渲染檢查(6–10 張卡片) |
|---|---|---|---|---|---|
| First Aid 2017 Pharmacology | 5.5 MB | 1,232 | 1,232 | ~10 秒 | 克漏字提示、斜體 Extra 欄位 |
| USMLE Step 2(23 種筆記類型,14 種克漏字類型) | 68 MB | 5,647 | 5,647(修復前為 11,199) | ~10 秒 | 克漏字、彩色強調、圖片、Extra 欄位 |
| MileDown's MCAT Decks | 238 MB | 2,888 | 2,888 | ~5 秒 | 彩色克漏字、圖表;外部連結顯示為灰色文字 |
| Zanki Physiology & Pathology | 125 MB | 16,966 | 16,966(修復前為 20,792) | ~15 秒 | 克漏字、底線、圖片 |
| JLPT "eggrolls" N1–N5 | 121 MB,10,107 個音訊檔 | 10,147 | 10,147 | 89 秒 | 振假名、例句、音訊按鈕 |
第六個檔案是一個包含 263 張卡片的 AnKing MCAT 樣本,僅用作重複匯入同一個包裹的對照組;我並沒有逐卡檢查它。
我在每張卡片上檢查了什麼
- 資料庫中的卡片數量是否與電腦版 Anki 顯示的該牌組數量相符。
- 克漏字挖空部分是否能在正面顯示
[…]或提示文字,並在背面將答案標示出來,每個克漏字編號對應一張卡片。 - 粗體、底線和彩色文字(AnKing 風格的強調)是否被保留。
- 檔案包內的圖片是否能載入,包含那些從 Extra 欄位引用的圖片。
- 音訊欄位是否變成可播放的按鈕;振假名 (ruby text) 是否能正確附加在漢字上方。
- 模板層級的附加內容(例如某些牌組在每張卡片頂部印出的標題)是否仍然顯示。
USMLE Step 2
這是測試中最複雜的牌組:一個檔案包中包含 23 種筆記類型和 14 種不同的克漏字模板。我開啟的每一個變體都成功渲染為正常的克漏字卡片,紅色和藍色的強調字體完好無損,且 Extra 欄位正確顯示在答案下方。心內膜炎卡片上的 Retina 高畫質照片是從檔案包的媒體資料夾載入的,而非網際網路。
Zanki Physiology & Pathology
這是卡片數量最多的牌組。匯入 16,966 張卡片大約需要 15 秒。畫底線的專有名詞和圖片都順利呈現。不過我在這裡注意到一件事,在 USMLE Step 2 中也發生過:來自同一個筆記的卡片(一個克漏字筆記的 c1、c2、c3)會在一次複習中連續出現。電腦版 Anki 預設會延遲 (bury) 相關卡片,但我測試的版本並沒有。更多細節會在後文說明。
MileDown's MCAT Decks
這是檔案最大的一個,高達 238 MB,幾乎全是圖片。因為卡片數量較少,只需約 5 秒即可匯入。彩色的克漏字挖空和圖表都能渲染。唯一的瑕疵是:MileDown 的卡片包含外部超連結,但它們顯示為灰色文字而不是可點擊的連結。文字雖然存在,但無法跳轉到目標網址。
JLPT "eggrolls" N1–N5
這是匯入最慢的牌組,原因在於媒體數量而非卡片數量:必須解壓縮並建立索引高達 10,107 個音訊檔。10,147 張卡片花了 89 秒。在卡片上,振假名正確地位於漢字上方,例句保留了它們的換行,而且每個音訊欄位都變成了一個紫色的播放按鈕。
First Aid 2017 Pharmacology
一個小型的經典克漏字牌組。克漏字提示和斜體的 Extra 欄位如預期般渲染。它唯一的問題是外觀上的:牌組的原始名稱 aervien + tracymcgrady1991 step 1 pharm (FA 2017) 是它在資料庫中顯示的名字,而且在第一個畫面就被截斷了。匯入後重新命名即可解決這個問題。
測試發現的 Bug:重複的子牌組樹
USMLE Step 2 匯入後變成了 11,199 張卡片,但電腦版 Anki 顯示為 5,647 張。Zanki 匯入後是 20,792 張,而不是 16,966 張。MileDown 和 JLPT 的數量則是完全正確。
會造成卡片倍增與否的差異在於牌組的樹狀結構。USMLE Step 2 的父牌組本身包含卡片,並且還有 15 個子牌組。匯入程式列出了每個直接包含卡片的牌組,然後列舉它們的筆記,包括它們的子項目,因此子牌組的筆記在父牌組下被收集了一次,在它們自己之下又被收集了一次。Zanki 有幾個中層牌組包含自己的卡片,這解釋了它為何多出 22% 的卡片;MileDown 和 JLPT 的父牌組是空的,所以沒有任何東西被重複計算。將「每張卡片的包含卡片祖先數量」建立模型後,預測的數量為 11,194 / 20,790 / 2,888 / 10,147,與我測量到的結果完全一致。
修復後的版本會將每個筆記只保留在宣告它的最底層牌組中。我們在本地進行了包含 17 個真實牌組的測試,之前只斷言「至少 100 張卡片」,現在則斷言精確的數量,並且全數通過 (24/24)。這項修改已包含在 Guru 1.5.1 中,在我撰寫本文時正在等待 App Store 的審核。如果您在較早的版本匯入了嵌套式牌組,並且看到大約兩倍的預期數量,請在更新後刪除該牌組並重新匯入檔案;現有的資料庫不會自動重寫。
三個我不滿意的地方
- 克漏字相關卡片連續出現。 同一個筆記的 c1、c2 和 c3 在一次複習中連續出現。在 1.5.1 版本中,Guru 每天只會顯示一個筆記中的一張卡片,這正是 Anki「延遲相關卡片 (bury siblings)」的行為。
- 「約 60 分鐘」的預估時間。 對於 20 張新卡片,每個牌組都顯示相同的預估時間。當你剛匯入 17,000 張卡片時,這不僅是錯誤的,而且令人氣餒。1.5.1 版本將根據你在複習中實際會看到的卡片數量來進行預估。
- 牌組名稱。 公開牌組匯入時會帶有其原始的、通常非常長的名稱,且會在資料庫中被截斷。這個問題尚未解決;目前請在匯入後手手動重新命名。
在你自己的牌組上進行相同的檢查
- 在電腦版 Anki 中:檔案 → 匯出 → Anki 牌組包 (.apkg)。如果您希望保留複習間隔,請勾選 包含排程資訊,並勾選 包含媒體 以保留圖片和音訊。
- 將檔案 AirDrop 到 iPhone,或是儲存到 iCloud 雲碟,然後在「檔案」App 中點擊該檔案並選擇 Guru。(附有截圖的逐步教學。)
- 將資料庫中的卡片數量與電腦版 Anki 的數量進行比對。如果您的牌組包含子牌組,且數量大約是兩倍,代表您使用的是 1.5.1 之前的版本。
- 在刪除檔案前,開始一次複習,並檢查一張克漏字卡片、一張圖片卡片和一張音訊卡片。
免費方案支援最多 5 個頂層牌組(無論是匯入或自行建立的總和),且一整棵子牌組樹只計算為一個。匯入至現有的頂層牌組中依然是免費的。每日複習皆為免費。每個牌組都能匯出回標準的 .apkg 檔案。若需要無限制數量的牌組、編輯、同步以及專注模式 (Study Lock),您可以升級至 Pro 方案(定價為每月 $4.99 美元並附 3 天試用期;每年 $39.99 美元;終身買斷 $24.99 美元)。
常見問題 (FAQ)
匯入會保留我的複習歷史和間隔嗎? 如果在匯出時勾選了「包含排程資訊」,它將會保留排程狀態(到期日、穩定度和困難度)。若匯出時沒有包含這些資訊,匯入後將全視為新卡片。
它能處理 AnKing 嗎? 本次測試中的 USMLE Step 2 牌組使用了 AnKing 風格的筆記類型,包含 14 種克漏字變體和彩色強調,且全都能成功渲染。一個完整的 AnKing Step 牌組是個更大的檔案,包含更多媒體,因此請預期匯入時間會接近一分鐘而不是 10 秒。AnkiHub 的更新不會自動流入 Guru;您需要重新匯入一個全新的匯出檔。請參閱 iPhone 上的 AnKing 和 Zanki。
為什麼語音牌組花了 89 秒,而 Zanki 只要 15 秒? 匯入時間會隨媒體檔案的數量而定,而不是卡片數量。JLPT eggrolls 擁有 10,107 個音訊檔;而 Zanki 包含的圖片雖然較大,但數量少得多。
這些截圖來自真實裝置嗎? 它們來自運行與 App Store 上架版本相同的 iOS 模擬器(iPhone 16 Pro Max);匯入引擎和渲染器與實體裝置完全相同。在實體 iPhone 15/16 上的匯入時間也在相同的範圍內。
卡片中的外部連結可以使用嗎? 還不行。卡片文字中的連結會顯示為灰色文字,而不是可點擊的連結,就像上面的 MileDown 卡片一樣。
用您自己的牌組試試看
Guru 能完整匯入包含克漏字、媒體、子牌組和排程資訊的 .apkg 與 .colpkg 檔案。免費方案支援最多 5 個頂層牌組(包含匯入或建立),每日複習皆為免費。
取得 Guru