Display Order Anki: Mổ Xẻ Toàn Bộ Tùy Chỉnh Thứ Tự Hiển Thị Thẻ
Bạn đã từng vào Deck Options → Display Order rồi thấy một rừng option lạ hoắc kiểu “Random notes”, “Ascending retrievability”, “Card type, then random”… rồi bấm bừa hoặc để mặc định chưa?
Tui từng vậy. Và tui dám cá phần lớn người dùng Anki cũng vậy.
Vấn đề là: Display Order không phải là thiết lập “thẩm mỹ”. Nó can thiệp trực tiếp vào cách Anki truy xuất database, sắp xếp hàng đợi (queue), và phân bổ tải lượng nhận thức (cognitive load) cho não bộ của bạn. Cấu hình sai một dòng, năng suất học có thể tụt 30-40% mà bạn không hề biết.
Trong bài này, tui sẽ mổ xẻ toàn bộ 5 nhóm Display Order trong V3 Scheduler — không phải kiểu “click chỗ này, chọn chỗ kia”, mà là giải phẫu cơ chế bên dưới (SQL queries, queue logic, FSRS retrievability) để bạn biết chọn cái nào và tại sao.
Tóm Tắt Nhanh (TL;DR)
- 🎯 Display Order là bộ điều phối hàng đợi của V3 Scheduler — quyết định thẻ nào hiện trước, thẻ nào hiện sau.
- ⚙️ 5 nhóm chính: Gather Order, Sort Order, New/Review Order, Interday Order, Review Sort Order.
- ✅ Cấu hình “Gold Standard” cho người dùng FSRS:
Show after reviews+Ascending retrievability+Show before reviews(cho Interday). - 🚨 Đừng bao giờ chọn
Show before reviewscho New/Review Order trừ khi bạn đang trong tình huống khẩn cấp. - 📊 Cấu hình đúng có thể giảm 20-30% thời gian học mà vẫn giữ retention rate.
Lưu ý: Tất cả thiết lập trong bài này yêu cầu V3 Scheduler (mặc định từ Anki 2.1.55+). Nếu bạn đang dùng V2, hãy nâng cấp ngay.
Hiểu Về 4 Loại Hàng Đợi (Queue) Trong Anki
Trước khi mổ xẻ Display Order, bạn cần biết Anki có 4 loại queue chạy song song trong mỗi phiên học. Đọc trực tiếp từ source code Rust của Anki (rslib/src/scheduler/queue/builder/gathering.rs):
fn gather_cards(&mut self, col: &mut Collection) -> Result<()> {
self.gather_intraday_learning_cards(col)?; // 1. Intraday Learning
self.gather_due_cards(col, Learning)?; // 2. Interday Learning
self.gather_due_cards(col, Review)?; // 3. Review
self.gather_new_cards(col)?; // 4. New
Ok(())
}
| Queue | Mô tả | Stability |
|---|---|---|
| Intraday Learning | Thẻ đang trong learning steps trong ngày (10m, 30m…) | Cực thấp |
| Interday Learning | Thẻ đang trong learning steps qua ngày (1d, 3d…) | Thấp |
| Review | Thẻ đã graduate, đang được ôn tập định kỳ | Cao |
| New | Thẻ chưa từng học | (chưa khởi tạo) |
Quan trọng: Display Order không thay đổi thứ tự gather mặc định ở trên — nó chỉ điều phối cách 4 queue này được trộn vào nhau ở bước hiển thị cuối cùng.
1. New Card Gather Order — Cơ Chế Lấy Thẻ Mới Từ Database
Gather Order quyết định Anki sẽ truy vấn database SQLite như thế nào để lôi thẻ “New” (chưa từng học) vào hàng đợi của ngày hôm nay.
Hiểu đơn giản: Đây là bước Anki “đi chợ”, quyết định nó sẽ chọn thẻ nào bỏ vào giỏ.
🌳 Deck — DEFAULT (Truy xuất tuần tự theo cây phân cấp)
Cơ chế: Anki duyệt cây thư mục theo thứ tự alphabet (preorder) của deck name — quét từ thư mục mẹ xuống nhánh con, đến hết thẻ ở deck đầu mới sang deck tiếp theo. Đây là giá trị mặc định trong proto definition (NEW_CARD_GATHER_PRIORITY_DECK = 0).
Khi nào dùng:
- Bạn học theo module độc lập (học xong từ vựng IT trước, rồi mới sang Y khoa).
- Mỗi deck là một “khối” hoàn chỉnh, không cần xen kẽ.
💡 Tip thực chiến: Vì Anki sắp deck theo alphabet, hãy thêm prefix số (
001-,002-) hoặc ký tự_/~để control thứ tự. Manual chính thức của Anki cũng khuyến nghị cách này.
⚠️ Cảnh báo “Starvation”: Nếu bạn có 10 deck con và global limit thấp (ví dụ 20 thẻ mới/ngày), các deck cuối danh sách có thể bị bỏ đói nhiều tháng liền.
🎲 Deck, then random notes
Vẫn duyệt deck theo alphabet, nhưng xáo trộn note trong từng deck.
Khi nào dùng:
- Bộ deck shared được tải về có sắp xếp theo thứ tự bảng chữ cái.
- Bạn không muốn học liền tù tì 20 từ bắt đầu bằng “Un-” (Unable, Unaware, Unbearable…) — não sẽ bị nhiễu hình thái học (morphological interference).
📈 Ascending position (Tăng dần theo thứ tự tạo)
Cơ chế: ORDER BY due ASC (proto: LOWEST_POSITION = 1) — thẻ tạo trước hiển thị trước, không quan tâm cấu trúc deck.
Khi nào dùng:
- Học giáo trình tuyến tính: sách giáo khoa, khóa lập trình, ngữ pháp.
- Khái niệm sau phụ thuộc vào khái niệm trước (không học “Hàm bậc 2” trước khi học “Hàm bậc 1”).
- Bạn không có cấu trúc deck phân cấp phức tạp.
📉 Descending position (LIFO — thẻ mới nhất trước)
Cơ chế: HIGHEST_POSITION = 2. Thẻ vừa thêm sẽ học trước.
Khi nào dùng:
- Cramming khẩn cấp: Vừa tổng hợp xong note bài giảng, cần đẩy ngay vào não.
- Bỏ qua toàn bộ backlog cũ để xử lý dữ liệu nóng.
🌀 Random notes
Bỏ qua ranh giới deck, random toàn bộ note trong cả collection. Khi chọn 1 note, lôi tất cả card con của note đó vào queue.
Khi nào dùng:
- Tạo “Cụm nhận thức ngữ nghĩa” (semantic cognitive cluster).
- Học một thực thể thông tin từ nhiều góc độ cùng lúc (front/back/cloze của cùng 1 note).
🔥 Random cards (Nguyên tử hóa hỗn loạn)
Mức độ entropy cao nhất. Random ở mức từng card, không quan tâm note mẹ hay deck cha.
Khi nào dùng:
- Bạn muốn áp dụng Interleaving Practice ở mức tối đa.
- Sẵn sàng đánh đổi: Tỷ lệ Again tăng vọt nhưng long-term retention đạt đỉnh.
🔧 Behind the scenes: “Random” trong Anki không phải
Math.random(). Nó dùng FNV hash với daily salt (days_elapsed). Điều này nghĩa là: trong cùng một ngày, nếu bạn rebuild queue, thứ tự “random” vẫn giống y nguyên. Sang ngày mới (salt mới) → thứ tự mới. Đây là deterministic randomness — đảm bảo trải nghiệm ổn định.
2. New Card Sort Order — Sắp Xếp Mảng Trước Khi Hiển Thị
Sau khi Gather lôi được một mảng card về, Sort Order sẽ quyết định thứ tự hiển thị các card đó.
📚 Card type, then order gathered
Gom theo template index (Card 1 trước, Card 2 sau), giữ trật tự gốc trong mỗi nhóm.
Tại sao quan trọng: Nếu Card 1 (Hỏi A → đáp B) và Card 2 (Hỏi B → đáp A) hiện sát nhau, bạn sẽ đọc từ trí nhớ ngắn hạn thay vì truy vấn dài hạn → học giả tạo. Tách ra tạo “interference time gap” buộc não phải mã hóa lại.
🔢 Order gathered
Giữ nguyên trật tự Gather. Đầu vào sao, đầu ra vậy.
Khi nào dùng: Note Type kiểu “Cloze Overlapper” hoặc văn bản dài cần học theo mạch tuyến tính cuốn chiếu.
🎯 Card type, then random (Khuyến nghị)
Tách theo card type + random nội bộ từng nhóm.
Lợi ích:
- ✅ Vẫn có “interference time gap” giữa các card cùng note.
- ✅ Phá vỡ “Linear Guessing Vulnerability” (đoán câu sau dựa vào câu trước).
Đây là setup Hybrid an toàn nhất — tui khuyến nghị cho 90% người dùng.
📦 Random note, then card type
Chọn 1 note ngẫu nhiên → xả hết card con của note đó → mới sang note khác.
Khi nào dùng: Học khái niệm có nhiều thuộc tính (medical concepts, complex frameworks) — cần “hiểu trọn vẹn” trước khi sang khái niệm khác.
🌪️ Random
Global shuffle, không tôn trọng quy tắc nào. Maximum chaos.
3. New / Review Order — Trái Tim Của Hệ Thống
Đây là cấu hình quan trọng nhất — quyết định ưu tiên giữa thẻ mới và thẻ ôn tập.
✅ Show after reviews — GOLD STANDARD
Cơ chế: Hoàn thành 100% Review queue → mới hiện thẻ New.
Tại sao đây là chuẩn vàng:
Nguyên tắc cốt lõi: Trí nhớ cũ luôn ưu tiên hơn trí nhớ mới. Quên cái cũ là mất — quên cái mới chỉ là chưa học.
Thẻ trong Review queue đang có nguy cơ sụp đổ trong não bạn (decay risk cao). Bỏ qua chúng = mất dữ liệu vĩnh viễn. Trong khi thẻ New chỉ là “data chưa load” — học sau cũng được.
❌ Show before reviews — RỦI RO CAO
Cơ chế: Học hết thẻ New trước → còn sức đâu thì làm Review.
Tại sao tránh:
- 🧠 Băng thông nhận thức (cognitive bandwidth) cao nhất bị đốt vào việc mã hóa thông tin mới (việc tốn năng lượng nhất).
- 😴 Khi xong New queue, bạn kiệt sức → bỏ Review → Retention rate sụp đổ.
- 📉 Backlog Review tích lũy → “Overdue Amnesia” — quên hàng loạt.
Chỉ dùng khi: Bạn đang trong tình huống đặc biệt, ví dụ học gấp trước thi 1 ngày.
🔄 Mix with reviews
Phân bổ xen kẽ — bơm thẻ New vào giữa Review queue.
Cách Anki thực sự “mix”: Đừng tưởng đây là random. Đọc source code (intersperser.rs), Anki dùng proportional interleaving (xen kẽ theo tỷ lệ):
Ví dụ: 3 thẻ New + 8 thẻ Review
Output: [R, R, N, R, R, N, R, R, N, R, R]
↑ Phân bố đều, deterministic — KHÔNG random
Khi nào dùng:
- Phiên học dài hơn 60 phút.
- Bạn cảm thấy mất tập trung khi làm Review liên tục (dopamine giảm).
- Thẻ New đóng vai trò “interrupt signal” tái kích hoạt sự tỉnh táo.
4. Interday Learning / Review Order — Quản Lý Trạng Thái Chuyển Tiếp
Interday Learning là loại thẻ đặc biệt: đã qua bước New, đang trong Learning steps dài qua ngày (ví dụ: 1d → 3d → 7d), nhưng chưa graduate sang Review thực thụ.
🔍 Phân biệt: Đừng nhầm với Intraday Learning (steps trong ngày như 10m, 30m). Intraday luôn được Anki ưu tiên xử lý trước mọi queue khác — không cần config.
Đây là “vùng xám” — liên kết synapse còn yếu, dễ rơi rụng nhất.
✅ Show before reviews — KHUYẾN NGHỊ
Cơ chế: Đẩy Interday lên đầu phiên học.
Tại sao:
- 🧪 Stability của Interday cards cực thấp — forgetting curve dốc đứng.
- ⚡ Phải xử lý trước khi mệt, trước khi mức Retroactive Interference từ Review queue tích tụ.
- 🎯 Đây là setup tối đa hóa conversion rate từ trí nhớ ngắn hạn sang dài hạn.
🔄 Mix with reviews
Cân bằng tải. Interday (khó) trộn với Review (dễ) → trung hòa stress spikes.
⚠️ Show after reviews — Damage Control
Khi nào dùng: Bạn vừa đi vắng 1 tháng, có 5000 thẻ Review tồn đọng. Lúc này, ưu tiên cứu tệp dữ liệu cốt lõi (Review) hơn là vài thẻ Interday non nớt.
5. Review Sort Order — Linh Hồn Của Phiên Ôn Tập
Đây là phần kỹ thuật cao nhất, đặc biệt với người dùng FSRS.
Khi Review queue trả về một mảng hàng nghìn thẻ đến hạn, Sort Order quyết định thẻ nào hiện trước.
📅 Nhóm theo Due Date
| Option | Cơ chế | Khi nào dùng |
|---|---|---|
Due date, then random ⭐ DEFAULT | Trễ hạn lâu nhất → trước, cùng ngày thì random (FNV hash) | Khi bạn đang up-to-date hoặc backlog nhỏ |
Due date, then deck | Trễ hạn → gom theo deck | Giảm context switching khi học nhiều môn |
Deck, then due date | Deck → trong deck thì trễ hạn trước | ⚠️ Không khuyến nghị — tạo “Linear Guessing Vulnerability” |
⏱️ Nhóm theo Interval & Ease (Tên chính xác từ source code)
| Option | Cơ chế | Khi nào dùng |
|---|---|---|
Ascending intervals | Interval ngắn → trước | ”Bottleneck Resolution” — xử lý card khó khi não còn tươi |
Descending intervals | Interval dài → trước | ”Cache warm-up” — khởi động bằng card dễ |
Ascending ease | Ease thấp → trước (= thẻ KHÓ trước) | Tấn công ngay điểm yếu |
Descending ease | Ease cao → trước (= thẻ DỄ trước) | Khởi động nhẹ nhàng |
⚠️ Đừng nhầm:
Ascending ease= “thẻ khó trước” (vì ease thấp = thẻ khó). Tên option theo logic kỹ thuật, không theo độ khó. Đây là bẫy với người mới.
🔥 Relative Overdueness — Vũ Khí Cứu Backlog (CHỈ KHI TẮT FSRS)
Cơ chế (SM-2 only): So sánh tỷ lệ trễ hạn / interval. Ví dụ:
- Thẻ A: interval 5 ngày, trễ 2 ngày → tỷ lệ 0.4
- Thẻ B: interval 10 ngày, trễ 3 ngày → tỷ lệ 0.3
- → Thẻ A hiển thị trước (rủi ro quên cao hơn)
Khi nào dùng: Backlog cực lớn (vài nghìn thẻ tồn đọng sau khi nghỉ dài). Ưu tiên cứu thẻ có nguy cơ quên cao nhất.
🚀 Nâng cấp với FSRS: Khi bật FSRS, option này tự động bị ẩn trong UI và thay bằng
Ascending retrievability— phiên bản chính xác hơn vì dựa trên xác suất nhớ thực tế thay vì tỷ lệ thô.
🚀 FSRS Paradigm — Ascending Retrievability (KHUYẾN NGHỊ TUYỆT ĐỐI)
Nếu bạn đã bật FSRS, đây là setup duy nhất bạn cần biết.
Cơ chế: Anki tính toán Retrievability (R) — xác suất bạn còn nhớ thẻ tại thời điểm hiện tại — rồi sắp xếp theo R tăng dần (R thấp → trước).
Ví dụ thẻ trong queue:
Card A: R = 99% (cực kỳ an toàn)
Card B: R = 75% (gần ngưỡng quên) ← HIỆN ĐẦU TIÊN
Card C: R = 90% (vẫn ổn)
Order: B → C → A
Tại sao đây là vàng ròng:
- 🎯 Anki “tia laser” vào đúng thẻ sắp đứt liên kết nơ-ron.
- 📈 Ôn tập đúng lúc R = 70-80% tạo cú hích theo cấp số nhân vào Stability (S).
- 💎 ROI thời gian học đạt đỉnh — mỗi thao tác = một intervention tối ưu.
Key Mindset: FSRS không chỉ tính lịch ôn — nó còn biết thẻ nào đáng ôn TRƯỚC trong cùng một ngày. Đừng phí công cụ này.
📉 Descending retrievability
R cao → trước. Hành vi dư thừa về mặt tối ưu — chỉ dùng để “khởi động” hoặc test phản xạ. Không khuyến nghị.
🌀 Random
Tắt mọi filter, shuffle toàn bộ (vẫn dùng FNV hash với daily salt). Buộc não dùng raw processing power — không có gợi ý từ thuật toán.
📜 Order added / Reverse order added
Order added: Sắp theo thứ tự tạo note (cũ trước).Reverse order added: Mới tạo trước.
Cho mục đích biên niên sử — duyệt lại data theo dòng thời gian.
Cấu Hình “Gold Standard” — Tổng Kết
Cho người dùng FSRS thông thường, đây là combo tui khuyến nghị:
| Setting | Giá trị | Lý do |
|---|---|---|
| New Card Gather Order | Deck (default) | Học theo cấu trúc deck phân cấp |
| New Card Sort Order | Card type, then random | Tránh Linear Guessing |
| New / Review Order | ✅ Show after reviews | Bảo vệ trí nhớ cũ |
| Interday Order | ✅ Show before reviews | Cứu vùng xám non nớt |
| Review Sort Order | 🚀 Ascending retrievability | FSRS Paradigm |
Cho người dùng còn dùng SM-2 với backlog lớn:
| Setting | Giá trị |
|---|---|
| New Card Gather Order | Deck |
| New / Review Order | Show after reviews |
| Review Sort Order | Relative overdueness (cứu thẻ rủi ro cao) |
Cho người dùng học cramming/khẩn cấp:
| Setting | Giá trị |
|---|---|
| New Card Gather Order | Descending position |
| New / Review Order | Show before reviews (tạm thời) |
| Review Sort Order | Ascending ease (= thẻ khó trước) |
Kết — Đừng Để Anki Tự Quyết Định Hộ Bạn
Display Order là một trong những công cụ mạnh nhất nhưng bị bỏ quên nhiều nhất trong Anki. Người dùng casual có thể không cần biết. Nhưng nếu bạn đang đầu tư hàng nghìn giờ học, 5 phút cấu hình đúng = tiết kiệm hàng trăm giờ về sau.
Key Takeaway: Anki không phải app “bấm Next is enough”. Nó là một engine database đang chạy thuật toán SRS phức tạp. Hiểu cách nó truy xuất và sắp xếp queue → bạn làm chủ thời gian học của mình.
Hành động ngay:
- Mở Anki → Deck Options → Display Order.
- Áp dụng combo “Gold Standard” ở trên.
- Học thử 1 tuần, theo dõi tỷ lệ Again và True Retention.
- Tinh chỉnh dần cho phù hợp với loại nội dung bạn học.
Hẹn gặp lại ở các bài Anki nâng cao tiếp theo!