# Báo cáo đánh giá truy xuất

- **Chế độ:** `hybrid` · **Số case:** 35
- **Thời điểm:** 2026-08-27 19:59 · **Commit:** `0917632`
- **Bộ câu hỏi:** Bộ câu hỏi chuẩn đo chất lượng retrieval của Tax & Compliance Agent.

## Chỉ số truy xuất

| Chỉ số | Giá trị | Tính trên |
|---|---|---|
| Recall@1 | 0.393 | 25 case có đáp án điều khoản |
| Recall@3 | 0.447 | 25 case có đáp án điều khoản |
| Recall@5 | 0.540 | 25 case có đáp án điều khoản |
| Recall@10 | 0.620 | 25 case có đáp án điều khoản |
| MRR | 0.511 | 25 case |
| nDCG@10 | 0.510 | 25 case |
| Precision@5 | 0.151 | 25 case |

## Chỉ số khác

| Chỉ số | Giá trị | Tính trên |
|---|---|---|
| Lấy đúng văn bản | 0.800 | 35 case |
| Quan hệ đúng (kg_only) | 1.000 | 10 case |
| Có trích dẫn nguồn | 0.543 | — |
| Coverage từ khoá *(phụ)* | 0.931 | — |
| Đạt ngưỡng coverage ≥ 0.4 | 34/35 | — |

## Độ ĐÚNG của trích dẫn

Recall đo *có lấy được điều khoản đúng không*. Nhóm dưới đo thứ khác:
*thứ lấy được có dùng được không*. Hai câu hỏi tách rời — 59,8% điều
khoản trong kho thuộc văn bản đã hết hiệu lực, nên R@1 cao vẫn có thể là
đưa lên đầu một quy định đã bỏ.

| Chỉ số | Giá trị | Tính trên |
|---|---|---|
| Trích dẫn ĐẦU còn hiệu lực | 0.559 | 34/35 case kết luận được |
| Tỉ lệ top-5 còn hiệu lực | 0.578 | — |
| Trích dẫn mờ nguồn *(càng thấp càng tốt)* | 0.444 | 18/35 case hỏi đích danh một văn bản |

> Mẫu số nhỏ hơn tổng số câu là **có chủ đích**: câu không có kết quả, và
> điều khoản thuộc văn bản *hết hiệu lực một phần*, đều là không-đo-được
> chứ không phải trượt. Đọc chỉ số mà bỏ qua cột mẫu số là đọc sai.

> *Mờ nguồn* = điều khoản thuộc văn bản KHÁC văn bản được hỏi mà không
> mang nhãn quan hệ. Đó là lúc LLM đọc nội dung văn bản A và trình bày như
> quy định của văn bản B.

## Vận hành

- Độ trễ p50 **0.40s** · p95 **0.50s** · max **5.16s**
- Lỗi: 0/35

> Trên bộ dưới 40 câu, p95 không bắt được một câu chậm đơn lẻ (1/35 ≈ 2,9%,
> nằm dưới phân vị 95) — nhìn cột **max** mới thấy ngoại lệ.

- Câu chậm nhất `tc_001` (5.16s): fusion 4.80s · vector 0.17s · bu_diem_cosine 0.16s · bm25 0.03s

> Bước nạp model lần đầu nằm trong `bm25`/`vector` vì `get_instance()`
> được gọi bên trong. Thấy một trong hai chiếm gần hết thời gian nghĩa là
> **cold-start**, không phải truy vấn chậm — xem `_warm_up()` ở `src/main.py`.

## Theo nhóm câu hỏi

| Nhóm | Số câu | Recall@5 | MRR | Đúng VB | Coverage | top1_hl | mẫu số |
|---|---|---|---|---|---|---|---|
| case_study | 7 | 0.143 | 0.048 | 0.286 | 0.829 | 1.000 | 6/7 |
| doc_lookup | 8 | 0.875 | 0.875 | 0.875 | 0.875 | 0.500 | 8/8 |
| simple_retrieval | 10 | 0.550 | 0.545 | 0.900 | 0.980 | 0.900 | 10/10 |
| temporal | 10 | — | — | 1.000 | 1.000 | 0.000 | 10/10 |

> Nhóm `temporal` có `top1_hl` = 0,000 **do cấu tạo**, không phải do hỏng: câu *"văn bản X còn hiệu lực không?"* có đáp án đúng chính là văn bản đã hết hiệu lực. Đọc `top1_hl` **tổng** mà không trừ nhóm này là đọc sai — xem `tuning_notes` §11.6.

## Theo độ khó

| Độ khó | Số câu | Recall@5 | Coverage |
|---|---|---|---|
| dễ | 17 | 0.875 | 0.941 |
| khó | 8 | 0.250 | 0.850 |
| trung bình | 10 | 0.500 | 0.980 |

## Chi tiết từng câu

| ID | Câu hỏi | R@5 | MRR | Đúng VB | Cov | Trượt từ khoá |
|---|---|---|---|---|---|---|
| tc_001 | Đối tượng chịu thuế giá trị gia tăng là gì? | 0.00 | 0.11 | ✅ | 1.00 | — |
| tc_002 | Người nộp thuế có những quyền gì? | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_003 | Nghĩa vụ của người nộp thuế bao gồm những gì? | 0.50 | 1.00 | ✅ | 1.00 | — |
| tc_004 | Hồ sơ khai thuế gồm những giấy tờ nào? | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_005 | Ai phải nộp thuế tài nguyên? | 0.00 | 0.14 | ✅ | 1.00 | — |
| tc_006 | Căn cứ tính thuế tài nguyên gồm những yếu tố n… | 1.00 | 0.20 | ✅ | 1.00 | — |
| tc_007 | Hành vi nào bị coi là vi phạm thủ tục thuế? | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_008 | Trốn thuế bị phạt bao nhiêu lần số tiền thuế? | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_009 | Những khoản phí lệ phí nào không thuộc ngân sá… | 0.00 | 0.00 | ✅ | 0.80 | phí bảo hiểm |
| tc_010 | Mức thu học phí tại cơ sở giáo dục công lập đư… | 0.00 | 0.00 | ❌ | 1.00 | — |
| tc_011 | Điều 16 Thông tư 06/2012/TT-BTC nói về vấn đề … | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_012 | Điều 5 Văn bản hợp nhất 03/VBHN-VPQH quy định … | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_013 | Phạm vi điều chỉnh của Thông tư 06/2012/TT-BTC | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_014 | Nghị định 04/1999/NĐ-CP quy định về nội dung g… | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_015 | Điều 2 Nghị định 05/2009/NĐ-CP liệt kê những g… | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_016 | Điều 2 Nghị định 04/1999/NĐ-CP giải thích phí … | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_017 | Nghị quyết 09/2019/NQ-HĐND quy định gì? | 0.00 | 0.00 | ❌ | 0.00 | khám bệnh, chữa bệnh, bảo hiểm y tế, mức giá dịch vụ, không thuộc phạm vi thanh toán |
| tc_018 | Thông tư 09/2002/TT-BTC hướng dẫn về việc gì? | 1.00 | 1.00 | ✅ | 1.00 | — |
| tc_019 | Thông tư 01/2013/TT-BTC còn hiệu lực không? | — | — | ✅ | 1.00 | — |
| tc_020 | Văn bản nào thay thế Thông tư 01/2013/TT-BTC? | — | — | ✅ | 1.00 | — |
| tc_021 | Thông tư 02/2012/TT-BTC được bổ sung bởi văn b… | — | — | ✅ | 1.00 | — |
| tc_022 | Nghị định 04/1999/NĐ-CP bị bãi bỏ bởi văn bản … | — | — | ✅ | 1.00 | — |
| tc_023 | Thông tư 05/2012/TT-BTC có bị bãi bỏ một phần … | — | — | ✅ | 1.00 | — |
| tc_024 | Thông tư 06/2012/TT-BTC còn hiệu lực không? | — | — | ✅ | 1.00 | — |
| tc_025 | Thông tư 01/2003/TT-BTC hết hiệu lực từ khi nà… | — | — | ✅ | 1.00 | — |
| tc_026 | Doanh nghiệp xuất khẩu muốn được hoàn thuế đầu… | 0.00 | 0.00 | ❌ | 0.80 | hợp đồng bán hàng |
| tc_027 | Công ty tôi quên nộp tờ khai thuế thì bị phạt … | 0.00 | 0.00 | ✅ | 0.40 | vi phạm thủ tục thuế, hồ sơ khai thuế, hết thời hạn nộp |
| tc_028 | Cơ quan đại diện ngoại giao có được hoàn thuế … | 0.00 | 0.00 | ❌ | 0.80 | Vụ Lễ tân |
| tc_029 | Xe quân sự của Bộ Quốc phòng có phải nộp phí s… | 0.00 | 0.00 | ❌ | 0.80 | mệnh giá vé |
| tc_030 | Tôi muốn xin cấp giấy phép xây dựng thì phải n… | 0.00 | 0.00 | ❌ | 1.00 | — |
| tc_031 | Doanh nghiệp của tôi khai sai số thuế phải nộp… | 1.00 | 0.33 | ✅ | 1.00 | — |
| tc_032 | Hộ nông dân được miễn giảm thuế sử dụng đất nô… | 0.00 | 0.00 | ❌ | 1.00 | — |
| tc_033 | Thông tư 153/2010/TT-BTC bị thay thế bởi văn b… | — | — | ✅ | 1.00 | — |
| tc_034 | Thông tư 156/2013/TT-BTC đã bị sửa đổi bổ sung… | — | — | ✅ | 1.00 | — |
| tc_035 | Thông tư 120/2005/TT-BTC còn hiệu lực không? | — | — | ✅ | 1.00 | — |

## Câu chưa đạt — từng câu một dòng lý do

- **tc_017** — Nghị quyết 09/2019/NQ-HĐND quy định gì?
  - lấy nhầm văn bản; trượt từ khoá: khám bệnh, chữa bệnh, bảo hiểm y tế, mức giá dịch vụ, không thuộc phạm vi thanh toán
  - nguồn lấy được: Điều 3. Chánh Văn phòng, Vụ trưởng Vụ Pháp chế Bộ Tài chính, Cục trưởng Cục Thuế, Cục trưởng Cục công nghệ thông tin và chuyển đổi số và thủ trưởng…, 4472/QĐ-BTC, Điều 110. Sửa đổi, bổ sung một số điều của Nghị định số 37/2019/NĐ-CP ngày 07 tháng 5 năm 2019 của Chính phủ quy định chi tiết thi hành một số điều…, 102/2024/NĐ-CP, Điều 9. Tham gia thị trường điện, 29/2019/TT-BCT
