Grade

Ngân hàng câu hỏi tập trung: con số đáng lo không phải câu trùng, mà là câu trùng khác đáp án

Một tổ chuyên môn năm người, mỗi người có một thư mục đề trong máy mình. Sau bốn năm, tổ có khoảng hai nghìn câu hỏi nằm rải trong bảy chục tệp. Không ai biết tổng số thật là bao nhiêu, câu nào đã dùng cho lớp nào, và câu nào đang tồn tại ở hai bản với hai đáp án khác nhau.

Q

Quản trị viên

25 tháng 9, 2026· 13 phút đọc

Ngân hàng câu hỏi tập trung: con số đáng lo không phải câu trùng, mà là câu trùng khác đáp án

Một tổ chuyên môn năm người, mỗi người có một thư mục đề trong máy mình. Sau bốn năm, tổ có khoảng hai nghìn câu hỏi nằm rải trong bảy chục tệp. Không ai biết tổng số thật là bao nhiêu, câu nào đã dùng cho lớp nào, và câu nào đang tồn tại ở hai bản với hai đáp án khác nhau. Khi cần dựng một đề mới, cách nhanh nhất vẫn là mở đề cũ ra sửa — nên kho không lớn lên, nó chỉ dày thêm.

Thư viện lưu trữ với các dãy tủ hồ sơ được sắp xếp, minh hoạ bài viết về ngân hàng câu hỏi tập trung

Nỗi khó: gom lại một chỗ là việc dễ, làm cho nó tìm được mới là việc khó

Ai từng thử gom kho đề của tổ về một chỗ đều gặp cùng một kết quả: sau khi gom, nó vẫn không dùng được. Hai nghìn câu trong một thư mục dùng chung thì tìm một câu về "hằng đẳng thức, mức thông hiểu, lớp 8" vẫn phải mở từng tệp.

Vấn đề không phải chỗ lưu. Vấn đề là mỗi câu hỏi không mang theo thông tin về chính nó. Một câu nằm trong tệp "đề giữa kỳ 1 — 8A3.docx" thì tất cả những gì ta biết về nó đến từ tên tệp, và tên tệp thì không nói câu ấy thuộc chương nào, mức độ nào, đã dùng bao nhiêu lần, hay đáp án lấy từ đâu.

Và có một loại rủi ro nặng hơn chuyện khó tìm, thường bị bỏ qua hoàn toàn: kho càng lớn thì càng chắc chắn có những câu đang mang đáp án sai, và không ai biết là câu nào.

Bản chất: một kho dùng được cần sáu trường siêu dữ liệu

Không phải hai mươi trường. Sáu trường dưới đây là tối thiểu, và mỗi trường trả lời một câu hỏi thật sẽ được hỏi:

TrườngTrả lời câu hỏiVì sao không bỏ được
Môn – chương – khốiCâu này thuộc đâu trong chương trình?Không có thì không rút được theo ma trận
Mức độNhận biết, thông hiểu, vận dụng hay vận dụng cao?Không có thì đề không phân tầng được
Dạng thứcTrắc nghiệm, đúng/sai nhiều ý, trả lời ngắn, tự luận…?Quyết định chấm được bằng máy hay không
NguồnCâu này từ đâu ra?⚠️ Xem mục dưới — đây là trường quan trọng nhất khi có báo lỗi
Đáp án lấy từ đâuIn sẵn trong tài liệu, hay do người suy ra?Quyết định mức độ nên dè chừng với câu đó
Số lượt đã dùngĐã cho bao nhiêu học sinh làm?Quyết định câu nào đã "lộ" và cần nghỉ

Trường "nguồn": vì sao trống KHÁC với "tự soạn"

Đây là chi tiết nhỏ mà hệ quả lớn, và nó là bài học chúng tôi rút ra khi dựng kho của chính mình.

Khi một câu hỏi bị báo lỗi, việc đầu tiên người xử lý làm là đối chiếu với bản gốc. Không có trường nguồn thì họ chỉ còn cách đọc câu hỏi rồi tự đoán — tức làm lại đúng việc mà lần nhập trước đã làm hỏng.

Nhưng chỗ dễ sai hơn là ở chính cách ghi trường ấy: "không biết nguồn" phải khác với "biết chắc là người tự soạn". Nếu gộp hai trạng thái đó làm một, con số "bao nhiêu câu do giáo viên viết" phồng lên bằng toàn bộ dữ liệu cũ, và mọi kết luận dựa trên nó đều sai.

Và tuyệt đối không suy đoán rồi điền vào. Trỏ sai nguồn tệ hơn để trống, vì người sửa sẽ mở nhầm tài liệu, thấy tài liệu ấy viết khác, rồi kết luận "bản gốc cũng sai như vậy" — và câu sai được xác nhận là đúng.

Phép soát đáng chạy nhất: câu trùng khác đáp án

Đây là ý chính của cả bài, và nó là một thay đổi về cách nghĩ.

Khi nói tới dò trùng lặp trong kho đề, mục tiêu tự nhiên là dọn cho gọn: bỏ bản sao, giữ một bản. Nhưng câu trùng lặp gần như vô hại — học sinh gặp lại một câu ở hai đề thì cùng lắm là đề thứ hai dễ hơn một chút.

Thứ đáng lo là trường hợp hẹp hơn nhiều: hai bản của cùng một câu hỏi mang hai đáp án khác nhau.

Khi tìm thấy một cặp như vậy, ta biết chắc chắn — không cần đọc đề, không cần chuyên môn về nội dung — rằng một trong hai bản đang sai. Đó là phép kiểm đúng-sai duy nhất chạy được tự động mà không cần người đọc lại từng câu, và nó là lý do đáng dựng bộ dò trùng ngay cả khi không quan tâm tới chuyện kho gọn hay không.

Trong kho của chúng tôi, chính phép soát này đã tìm ra những câu mang đáp án sai mà ba lớp soát khác đều để lọt — vì dữ liệu của chúng hoàn toàn hợp lệ: đủ bốn phương án, đúng một phương án được đánh dấu, mọi phép kiểm hình thức đều xanh.

Và một bài học về việc kêu oan

Bộ dò trùng đầu tiên chúng tôi viết đã kêu oan hàng loạt, và cách nó sai đáng kể lại:

Nó báo hàng chục nhóm "mâu thuẫn đáp án", và mọi câu trong tất cả các nhóm ấy đều có ẢNH đính kèm — biển báo giao thông, sơ đồ phản ứng, đồ thị. Chữ của chúng giống hệt nhau ("Cho hình vẽ sau, hãy xác định…") nhưng mỗi câu một hình, nên khác đáp án là hoàn toàn đúng.

Cách chữa không phải thêm các cụm từ như "hình bên", "dưới đây" vào một bảng loại trừ — hai cụm ấy phủ gần hết mọi câu hỏi tiếng Việt, tức miễn trừ gần hết kho. Cách chữa là hỏi trước một câu đơn giản: câu này có ảnh đính kèm không? Có ảnh thì chữ không tự quyết định được đáp án, hết, không phụ thuộc môn nào.

Bài học rộng hơn, và nó đúng cho mọi phép soát kho: kêu oan đáng sợ hơn bỏ sót. Một bộ soát kêu oan sẽ bị người dùng học cách bỏ qua, và khi đó nó tệ hơn không có bộ soát — vì nó tạo cảm giác đã kiểm rồi.

Ba phép soát còn lại, và mỗi phép bắt gì

Phép soátBắt được gìĐiều nó MÙ với
Soát hình thứcThiếu đáp án, thiếu mức độ, bốn phương án rỗng, hai phương án trùng khítCâu đúng cấu trúc mà sai nội dung
Dò trùng khác đáp ánCùng câu ở hai đề, hai đáp ánCâu chỉ xuất hiện một lần trong kho
Dò câu mồ côiCâu nằm trong kho mà không thuộc đề nàoCâu nằm trong đề nhưng đề không ai làm
Phân tích câu hỏi sau mỗi kỳCâu có độ phân biệt âm — nhóm giỏi sai nhiều hơn nhóm yếuCâu chưa ai làm

Bốn phép này bù cho nhau, không thay nhau. Một câu sai đáp án mà chỉ xuất hiện một lần trong kho và chưa ai làm thì cả bốn đều để lọt — đó là giới hạn thật, và nó là lý do vẫn cần kênh báo lỗi từ học sinh.

Phép thứ ba đáng nói riêng vì kết quả của nó luôn gây bất ngờ. Bảng nối câu hỏi với đề là đường duy nhất để một câu tới được người học: không nằm trong bảng đó nghĩa là không tồn tại, bất kể siêu dữ liệu ghi gì. Lần đầu chạy phép soát này trên kho của chúng tôi, nó tìm ra 707 câu như vậy — không hỏng, không bị tắt, mọi phép soát hình thức đều xanh, chỉ là không ai thấy.

So sánh trực quan: ba cách quản kho

Thư mục của từng ngườiThư mục dùng chungNgân hàng có siêu dữ liệu
Tìm một câu theo chương và mức độKhôngKhông — phải mở từng tệpCó
Dựng đề mớiSửa đề cũSửa đề cũRút theo ma trận
Biết câu nào đã lộKhôngKhôngCó, theo số lượt dùng
Phát hiện câu sai đáp ánChỉ khi có người báoChỉ khi có người báoTự động, nếu câu xuất hiện hai lần
Câu nằm ngoài mọi đềKhông biếtKhông biếtDò được
Ai được sửa câu của aiKhông có khái niệmAi cũng sửa được mọi câuĐọc và dùng lại được, sửa thì không
Khi một người rời tổKho của người đó đi theoCòn lại, nhưng không ai hiểuCòn lại và tra được

Dòng "ai được sửa câu của ai" là chỗ nhiều nơi làm sai theo hướng quá thoáng. Thấy được không đồng nghĩa với sửa được: một giáo viên nên đọc và dùng lại câu của đồng nghiệp, nhưng sửa hay xoá thì không — vì câu ấy có thể đang nằm trong đề của người khác, và một lần sửa nội dung là đổi đề của một lớp đang học.

Ba bước để bắt đầu, không cần làm lại kho từ đầu

Bước 1 — Gắn siêu dữ liệu cho câu ĐANG DÙNG, không gắn cho cả kho

Đây là quyết định làm việc này khả thi. Hai nghìn câu là quá nhiều để gắn nhãn trong một đợt, và phần lớn trong số đó sẽ không được dùng lại.

Thay vào đó: mỗi lần dựng một đề mới, gắn siêu dữ liệu cho đúng những câu của đề đó. Sau bốn kỳ, phần kho thật sự đang luân chuyển đã có nhãn, còn phần chưa bao giờ dùng thì cũng chưa cần.

Với sáu trường ở đầu bài, trường tốn công nhất là mức độ — và cũng là trường dễ gán sai nhất. Có một phép kiểm chéo miễn phí: sau mỗi kỳ, so mức đã gán với độ khó đo được. Câu gán Nhận biết mà chỉ 35% lớp làm đúng thì nhãn sai, hoặc câu có lỗi.

Bước 2 — Chạy dò trùng, và chỉ xử lý MỘT hạng mục

Bộ dò trùng thường trả về ba nhóm, và chỉ một nhóm cần hành động:

NhómXử lý
Trùng khít, KHÁC đáp ánXử lý ngay. Một bản đang sai; mở tài liệu gốc của cả hai bản để xác định bản nào
Trùng khít, cùng đáp ánBỏ một bản nếu muốn gọn. Không gấp
Gần trùng, khác đáp án⚠️ Thường là bình thường. Đề toán đầy câu cùng khuôn khác số — "lãi suất 6,1%" và "6,6%" giống nhau tới hơn 90% mà hai đáp án khác nhau là đúng

Hàng cuối là chỗ dễ mất thời gian oan. Ở nhóm gần trùng, tín hiệu đáng chú ý lại là chiều ngược lại: gần trùng mà cùng đáp án thì đáng gộp.

Bước 3 — Sửa đáp án ở một chỗ, và nhớ rằng sửa ở đó chưa dọn được kho

Đây là luật vận hành mà chúng tôi học bằng cách làm sai, nên nói cho rõ.

Khi phát hiện một đáp án sai, đừng sửa trực tiếp trong kho nếu câu ấy được sinh ra từ một tệp nguồn. Lần sinh lại kế tiếp sẽ lặng lẽ ghi đè trở lại giá trị sai của nguồn. Chỗ đúng để sửa là tệp ghi các đính chính, kèm bằng chứng cho từng dòng.

Nhưng có một nửa thứ hai mà chúng tôi từng bỏ quên, và nó đã lọt tới bản đang chạy một lần: tệp đính chính chỉ chặn ở bước dựng, nó không dọn phần đã nhập. Một đính chính thêm vào sau khi một đợt đã nhập chỉ tới được các bản cài mới; bản đang chạy vẫn giữ câu sai, và chạy lại tệp nguồn đã sửa không đổi một dòng nào vì rào chống nhập trùng thấy câu đã có rồi.

Nên mỗi đính chính cho dữ liệu đã nhập cần hai nửa: một dòng trong tệp đính chính cho tương lai, và một lệnh dọn cho hiện tại.

Và luật cuối, về phía học sinh: chấm lại thì cộng cho em đúng theo đáp án mới, không trừ của ai. Em chọn theo đáp án cũ không làm gì sai — đáp án của chúng ta sai. Lấy lại điểm của em ấy là chuyển cái giá của sai sót sang người không gây ra nó.

Rào cản thật: bốn phép soát là bốn việc phải có người chạy

Mọi thứ trong bài này làm được bằng bảng tính và kỷ luật. Nhưng bốn phép soát ở trên cần chạy định kỳ, trên toàn kho, và đọc kết quả — chứ không phải chạy một lần rồi thôi. Đó là loại việc bị bỏ đầu tiên khi vào mùa thi.

Grade có sẵn cả bốn như lệnh chạy được trên toàn kho: soát hình thức, dò trùng lặp, dò câu mồ côi, và phân tích câu hỏi sau mỗi kỳ. Hai chi tiết về cách bộ dò trùng được dựng, vì chúng giải thích vì sao nó không kêu oan:

  • Chuẩn hoá bốn bước trước khi so: lấy phần công thức bỏ chữ hiển thị, gộp các lệnh đồng nghĩa, bỏ dấu câu, và sắp xếp các phương án trước khi băm — nên hai bản chỉ khác thứ tự A–D vẫn được nhận là một câu.
  • Không so tất cả với tất cả: chặn theo từ hiếm rồi mới so chi tiết, nên chạy được trên kho hàng chục nghìn câu. Lần chạy đầu trên toàn kho: hơn nửa triệu cặp được so, 0 mâu thuẫn đáp án còn lại.

Kho dùng chung hiện có gần 1.500 đề công khai và hơn 28.000 câu hỏi trên 23 môn, và mức chia sẻ có ba bậc lồng nhau: riêng của người soạn, dùng chung cho giáo viên, và công khai. Câu dùng chung thì đồng nghiệp đọc và dùng lại được, nhưng sửa thì không — đúng luật ở bảng so sánh phía trên.

Thầy cô có thể bắt đầu bằng bước 1 với đúng một đề: gắn sáu trường siêu dữ liệu cho các câu của đề gần nhất. Sau bốn kỳ, phần kho đang luân chuyển đã tra được. Tạo đề miễn phí trên Grade nếu muốn bốn phép soát chạy sẵn trên kho của tổ.

Đọc thêm: phân tích phổ điểm theo thang Bloom cho phép soát thứ tư, và trộn đề và quản lý mã đề — một kho có siêu dữ liệu là điều kiện để rút các mã đề tương đương.

Nguồn tham khảo

  • Tài liệu kỹ thuật về quản lý ngân hàng câu hỏi (item banking) và siêu dữ liệu câu hỏi — Educational Testing Service (Hoa Kỳ)
  • Thomas M. Haladyna — nguyên tắc soạn và quản lý câu hỏi khách quan
  • Quy định đánh giá học sinh THCS và THPT — Thông tư 22/2021/TT-BGDĐT, Bộ GD&ĐT
  • Chương trình giáo dục phổ thông 2018 — Thông tư 32/2018/TT-BGDĐT, Bộ GD&ĐT

Ảnh minh hoạ: Pexels.

Bắt đầu học cùng Grade

Luyện tập, kiểm tra trình độ và theo dõi tiến độ học tập đa môn — trên web và điện thoại.

Đăng ký miễn phí

Bài viết liên quan

Chấm điểm đa nền tảng: học sinh làm bài trên giấy, chụp lại, và máy chép chữ trước khi chấm
Khảo thí & đánh giá

Chấm điểm đa nền tảng: học sinh làm bài trên giấy, chụp lại, và máy chép chữ trước khi chấm

Cuộc tranh luận "thi trên giấy hay thi trên máy" thường được đặt sai ở cấp độ: nó được hỏi cho cả bài kiểm tra, trong khi câu trả lời đúng lại khác nhau cho từng loại câu hỏi trong cùng bài đó. Một câu trắc nghiệm thì làm trên máy hơn hẳn — chấm ngay, không nhập điểm tay.

24/09/2026 13 phút đọc