Bốn thành phần của một yêu cầu xác suất
Yêu cầu cũ có một thành phần: hành vi. Yêu cầu mới có bốn, và thiếu bất cứ thành phần nào cũng làm nó không nghiệm thu được:
| Thành phần | Trả lời câu hỏi | Ví dụ |
|---|---|---|
| Hành vi | Nó làm gì? | Trích 6 trường từ ảnh hoá đơn |
| Phạm vi | Trên loại đầu vào nào? | Hoá đơn VAT Việt Nam, ảnh scan hoặc chụp điện thoại, không nhận ảnh dưới 800px |
| Ngưỡng | Đúng bao nhiêu là đủ? | ≥95% trên nhóm ảnh rõ, ≥80% trên nhóm ảnh kém |
| Đường sai | Sai thì chuyện gì xảy ra? | Điểm tin cậy dưới ngưỡng → đẩy hàng chờ người duyệt, không ghi vào sổ |
Viết lại một yêu cầu thật
Bản gốc (không nghiệm thu được):
> Hệ thống tự động đọc hoá đơn và điền vào phần mềm kế toán. Các trường phải được điền chính xác.
Bản viết lại:
> Hành vi. Với mỗi hoá đơn nhận qua email hoặc upload, hệ thống trích 6 trường: số hoá đơn, ngày, MST người bán, tiền hàng, thuế VAT, tổng tiền.
>
> Phạm vi. Hoá đơn VAT theo mẫu Việt Nam. Định dạng PDF hoặc ảnh JPG/PNG, cạnh ngắn ≥800px. Không thuộc phạm vi: hoá đơn nước ngoài, hoá đơn viết tay, ảnh có nhiều hoá đơn trong một khung.
>
> Ngưỡng. Trên bộ ca kiểm 200 hoá đơn thật (mô tả ở tài liệu EVAL-01):
> - Nhóm A — PDF gốc (chiếm ~60% thực tế): ≥98% cả 6 trường đúng.
> - Nhóm B — ảnh chụp rõ (~30%): ≥92%.
> - Nhóm C — ảnh chụp kém, nghiêng, mờ (~10%): ≥70%, và bắt buộc nhận ra mình không chắc thay vì đoán.
>
> Đường sai. Ba làn:
> - Mọi trường đạt tin cậy cao và phép kiểm tiền hàng + VAT = tổng khớp → ghi tự động.
> - Bất kỳ trường tin cậy thấp, hoặc phép kiểm tổng lệch → hàng chờ người duyệt, kèm ảnh gốc và trường nghi ngờ được đánh dấu.
> - Không đọc được, hoặc ngoài phạm vi → từ chối, thông báo lý do cụ thể cho người gửi.
>
> Không bao giờ ghi vào sổ kế toán một bản ghi mà phép kiểm tổng không khớp, bất kể điểm tin cậy.
Bản thứ hai dài hơn bốn lần. Nó cũng là bản duy nhất có thể nghiệm thu, tranh chấp được, và bàn giao được.
Chia nhóm ca: kỹ thuật quan trọng nhất trong bài này
Một con số duy nhất ("chính xác 95%") gần như luôn là con số sai, vì nó trộn lẫn các loại đầu vào có độ khó khác nhau. Hai hệ quả xấu:
- Nó che chỗ hỏng. Hệ thống đạt 95% tổng thể có thể đang đúng 99% ở nhóm dễ (90% lưu lượng) và 50% ở nhóm khó (10% lưu lượng). Nhóm khó là nhóm gây khiếu nại, và con số tổng thể không hề nhắc tới nó.
- Nó thưởng cho việc tối ưu sai chỗ. Đội kỹ thuật sẽ cải thiện chỗ dễ cải thiện nhất để đẩy con số tổng lên.
Và luôn ghi tỉ trọng thực tế của mỗi nhóm, vì nó quyết định nhóm nào đáng đầu tư.
Ngôn ngữ cần tránh trong đặc tả xác suất
| Đừng viết | Vì sao | Viết thay |
|---|---|---|
| "chính xác" | Không đo được | "≥95% trên nhóm A của EVAL-01" |
| "nhanh chóng" | Không đo được | "≤4 giây ở phân vị 95" |
| "thông minh", "tự hiểu" | Không đặc tả gì | Liệt kê ý định cụ thể cần nhận ra |
| "hạn chế sai sót" | Không có ngưỡng | Ngưỡng theo nhóm + phân loại mức nặng |
| "xử lý mọi loại hoá đơn" | Phạm vi vô hạn | Danh sách trong phạm vi + danh sách ngoài |
Một đoạn phải có trong mọi đặc tả AI
Đoạn này ngắn và nó chặn tranh chấp đắt nhất:
> Hệ thống được phép không trả lời. Khi độ tin cậy dưới ngưỡng, hoặc đầu vào nằm ngoài phạm vi, hành vi đúng là báo không xác định được và chuyển người — không phải đưa ra một giá trị có vẻ hợp lý.
Không có đoạn này, hành vi mặc định của mọi hệ thống xác suất là luôn trả lời gì đó, vì đó là cách nó được xây. Và một câu trả lời sai trông tự tin đắt hơn nhiều so với một câu "tôi không chắc".
Làm ngay
Lấy một yêu cầu AI trong backlog của bạn và viết lại theo bốn thành phần. Riêng phần Phạm vi, bắt buộc viết cả danh sách ngoài phạm vi — đó là phần bảo vệ bạn sáu tháng sau, và là phần luôn bị bỏ.