Chương 8: Không hiểu thì hỏi lại
Bốn năm sau buổi demo làm cả hội trường cười vì giọng mẹ tôi, NovaMind ra VinaVoice 6.
Không có slide “AI hiểu mọi giọng Việt”.
Không có 99,9%.
Không có màn gọi bất ngờ một người địa phương để chứng minh hệ thống “thật sự thông minh”.
Sự kiện launch nhỏ hơn trước.
Phần đầu nói về latency.
Phần hai về deployment profile.
Phần ba là model card.
Sales Director đứng bên cánh gà, nhìn tôi:
“Bốn năm làm với cậu, launch càng ngày càng bớt sexy.”
“Doanh thu vẫn tăng.”
“Đó là lý do tôi chưa đuổi cậu.”
Chúng tôi cười.
NovaMind không thành unicorn tỷ đô trong một đêm.
Không IPO.
Không có nhà đầu tư bay xuyên Thái Bình Dương chỉ để đọc một paper rồi ký séc.
Công ty lớn dần theo kiểu kém điện ảnh hơn.
Ngân hàng triển khai transcription có fallback.
Bệnh viện dùng draft notes.
Một số tổng đài tỉnh dùng intent routing.
Một ứng dụng trợ năng dùng speech interface cho người lớn tuổi.
Có khách hàng rời.
Có sản phẩm thất bại.
Synthetic voice ra muộn hơn đối thủ gần một năm, nhưng dùng kho dữ liệu scoped rõ và voice talent có thỏa thuận riêng.
Hội đồng Giọng nói vẫn tồn tại.
Không còn là pilot PR.
Một số thành viên mới thay người cũ.
Bác Nghiêm nghỉ vì sức khỏe.
Ông gửi một thư ngắn:
Tụi bây đừng để hội đồng thành chỗ họp cho có.
Thu in câu đó dán phía trong folder meeting, không dán lên tường.
Withdrawal ledger đã xử hàng trăm yêu cầu thay đổi scope hoặc rút dữ liệu.
Không nhiều so với tổng dataset.
Nhưng đủ để pipeline exit không còn là đường đất.
Mỗi model release có data manifest.
Mỗi model card ghi rõ benchmark version.
Không ai trong team được phép nói “model tăng hai điểm” mà không nói trên bài test nào.
Engineer mới ghét trong ba tháng đầu.
Sau đó họ ghét những người không làm vậy.
Đó là cách văn hóa kỹ thuật thay đổi: từ thứ bị coi là thủ tục thành thứ người ta bực khi thiếu.
Điểm tôi thích nhất ở VinaVoice 6 không nằm trong benchmark.
Nó là một nhánh nhỏ trong inference policy:
ask_to_repeat.
Nếu tín hiệu âm thanh xấu, confidence không được calibration tốt, critical entity có nhiều ứng viên gần nhau hoặc model phát hiện câu nằm ngoài vùng nó hiểu chắc, hệ thống có thể từ chối đoán.
Không phải mọi ứng dụng bật cùng ngưỡng.
Use case thấp rủi ro có thể thoải mái hơn.
Use case cao rủi ro chặt hơn.
Nhưng hành vi “không hiểu thì hỏi lại” trở thành tính năng chính thức, không phải lỗi UX cần giấu.
Ngày launch xong, tôi bay về Hà Tĩnh.
Mẹ giờ sáu mươi bảy.
Bà dùng điện thoại tốt hơn trước nhưng vẫn ghét nhập mật khẩu.
Tôi cài bản trợ lý giọng nói thử nghiệm.
“Mẹ nói thử.”
“Nói chi?”
“Gì cũng được.”
Mẹ nhìn điện thoại.
“Mai nhắc mạ đi lấy thuốc lúc tám giờ.”
Hệ thống hiện:
Ngày mai, nhắc cô đi lấy thuốc lúc 8:00.
“Đúng không?”
Mẹ nói:
“Đúng.”
Tôi cười.
Bà lườm:
“Cười chi. Bữa ni máy mi nghe được rồi.”
“Mẹ nói khó hơn đi.”
“Tau có phải người thi máy cho mi mô.”
Hệ thống ghi đúng gần hết.
Tôi càng vui.
Rồi mẹ đi vào bếp, cách điện thoại xa hơn.
Bà nói vọng ra một câu về việc mai mua “năm lạng cá thu” hay “năm lạng cá…” gì đó. Tiếng nước chảy đè lên nửa câu.
Hệ thống im một giây.
Ngày trước decoder có thể đã chọn câu xác suất cao nhất.
Lần này điện thoại hỏi:
“Cháu chưa nghe rõ phần món cần mua. Cô nói lại giúp cháu được không?”
Mẹ quay ra.
“Năm lạng cá thu.”
“Đã thêm 500 gram cá thu vào danh sách.”
Mẹ gật.
“Rứa mới được.”
Tôi hỏi:
“Cái gì mới được?”
Bà nhìn tôi như hỏi câu ngớ ngẩn.
“Không hiểu thì hỏi lại chứ đừng đoán.”
Tôi đứng yên.
Bốn năm.
Một triệu file.
Benchmark speaker-disjoint.
Critical entity error.
Consent scope.
Withdrawal lineage.
Model cards.
Community council.
Calibration.
Abstention.
Cuối cùng mẹ tóm hết bằng một câu.
“Mẹ.”
“Chi?”
“Nếu ngày trước con hỏi mẹ câu này sớm chắc đỡ mất công.”
“Hỏi thì mẹ cũng biết chi máy móc.”
“Mẹ biết phần người dùng.”
“Ờ.”
Bà quay lại bếp.
“Rứa thì lâu ni tụi bây toàn hỏi máy với nhau à?”
Tôi cười.
Không hoàn toàn.
Nhưng đủ để câu đó đau.
Tối, tôi mở laptop xem release dashboard.
Average national benchmark của VinaVoice 6 cao hơn VinaVoice 5 một chút.
Một số nhóm vẫn chênh.
Giọng người rất cao tuổi vẫn khó.
Người có rối loạn phát âm đa dạng vẫn cần profile riêng hoặc fallback.
Real-world overlapping speech vẫn là bài toán chưa tốt.
Không có release nào “giải xong tiếng Việt”.
Model card nói rõ.
Tôi thấy bình yên hơn ngày từng khoe 97,2%.
Ngày đó tôi nghĩ con số cao chứng minh mình gần hoàn hảo.
Bây giờ tôi biết một benchmark tốt còn phải chỉ được nơi model chưa đủ.
Trí tuệ không phải luôn trả lời.
Đôi khi trí tuệ là nhận ra evidence không đủ để chắc.
Đôi khi là giữ nguyên từ “mô”, “rứa”, “mạ” thay vì sửa người nói về tiếng Việt mà model thấy quen hơn.
Đôi khi là nói một người không cần giao thêm dữ liệu cá nhân chỉ để được phục vụ ngang người khác.
Đôi khi là từ chối dùng một dataset dù technically có thể train.
Và đôi khi chỉ là:
“Cháu chưa nghe rõ. Cô nói lại giúp cháu.”
Một tuần sau, team PR gửi draft bài giới thiệu VinaVoice 6.
Headline đầu tiên:
“AI tiếng Việt hiểu mọi giọng nói tốt hơn bao giờ hết.”
Tôi comment:
Bỏ “mọi”.
PR hỏi:
Vậy viết gì cho mạnh?
Tôi nghĩ một lúc.
Cuối cùng sửa:
“AI tiếng Việt được kiểm thử rộng hơn, nghe tốt hơn ở nhiều giọng từng bị bỏ sót — và biết hỏi lại khi chưa chắc.”
Sales Director nhắn riêng:
Dài.
Tôi trả lời:
Em biết.
Anh gửi icon chửi.
Rồi headline được duyệt.
Không viral.
Không thành khẩu hiệu quốc gia.
Nhưng tôi gửi link cho mẹ.
Bà gọi lại:
“Bài ni nói nhiều chữ quá.”
“Mẹ đọc hết à?”
“Không.”
“Vậy sao biết?”
“Nhìn dài là biết.”
Tôi cười.
“Mẹ thấy máy giờ được chưa?”
“Được hơn.”
“Bao nhiêu phần trăm?”
Bà im hai giây.
“Mi hỏi mẹ hay hỏi cái máy?”
“Mẹ.”
“Rứa thì đừng hỏi phần trăm.”
Tôi không trả lời.
Phía ngoài cửa sổ, trời Hà Tĩnh bắt đầu mưa.
Mẹ nói vọng từ bếp:
“Bữa ni mưa rồi đó.”
Điện thoại trên bàn nghe thấy.
Màn hình hiện:
Bữa ni mưa rồi đó.
Không sửa “ni” thành “nay”.
Không bỏ “đó”.
Không biến giọng mẹ thành một phiên bản chuẩn hơn để model trông thông minh.
Tôi nhìn câu chữ rất lâu.
VinaVoice vẫn chưa hiểu hết tiếng Việt.
Có lẽ sẽ không bao giờ có một thời điểm chúng tôi được quyền nói vậy.
Nhưng nó đã học được một việc quan trọng hơn con số 97,2% từng dạy tôi:
Không hiểu một người không phải lý do để đoán thay họ.
— HẾT —