Chatbot
Giao diện hội thoại trả lời người dùng, từ cây nút bấm đơn giản tới hệ chạy trên mô hình ngôn ngữ. Phần khó nhất khi thiết kế không nằm ở câu trả lời, mà ở lúc phải chuyển sang người thật.
Định nghĩa
Đây có lẽ là thứ nhiều BA đụng tới sớm nhất trong nhóm AI, vì gần như doanh nghiệp nào cũng từng có ý định làm một con. Rồi ai làm qua một lần cũng nhận ra cùng một chuyện: phần khó nằm ở lúc bot phải dừng lại và giao cho người thật. Chỗ nó trả lời hay tới đâu thì dễ xử lý hơn nhiều.
Một chatbot tốt được đánh giá bằng số việc nó xử lý trọn vẹn, không phải bằng số câu nó trả lời được.
Ba thế hệ, và cả ba đều còn dùng
- Cây kịch bản. Người dùng bấm nút, đi theo nhánh đã vẽ sẵn. Zalo OA và Messenger đầy loại này. Nó không bao giờ bịa, và với nhiều bài toán thì thế là đủ.
- Nhận diện ý định (intent). Người dùng gõ tự do, hệ thống phân câu đó vào một trong các ý định đã huấn luyện, rồi trả câu đã soạn sẵn. Đây là thế hệ Dialogflow, Rasa. Cần công sức duy trì tập câu mẫu cho từng ý định.
- Mô hình ngôn ngữ, thường kèm RAG. Trả lời tự do dựa trên tài liệu công ty. Linh hoạt nhất, và cũng là loại duy nhất trong ba loại có thể nói sai một cách thuyết phục.
Thế hệ ba không phải bản nâng cấp của thế hệ một, dù ai cũng dễ mặc định như vậy. Chúng phục vụ hình dạng nhu cầu khác nhau.
So sánh Chatbot và AI Agent
| Chatbot | AI Agent | |
|---|---|---|
| Việc nó làm | Trả lời, hướng dẫn, tra cứu | Tự thực hiện các bước trong hệ thống |
| Ai khởi động | Người dùng, từng lượt | Một mục tiêu, rồi tự chạy tiếp |
| Chạm vào dữ liệu | Chủ yếu đọc | Đọc và ghi |
| Rủi ro chính | Trả lời sai | Hành động sai, khó rút lại |
| Kiểm soát cần có | Ngưỡng từ chối, chuyển người | Thêm hạn mức, log gọi công cụ, điểm duyệt |
Ranh giới đang mờ dần vì nhiều chatbot bây giờ cũng gọi API để tra đơn hàng. Cách phân biệt còn dùng được: nếu nó thay đổi trạng thái hệ thống mà không hỏi ai, bạn đang làm agent, và tài liệu phải viết theo chuẩn khắt khe hơn.
Ví dụ thực tế
Trước khi bàn tới công nghệ, BA của dự án này làm một việc rất chán: xuất 500 tin nhắn ngẫu nhiên của tuần trước, ngồi đọc và phân nhóm bằng tay. Chuỗi mỹ phẩm 53 cửa hàng, khoảng 4.300 tin nhắn mỗi ngày trên Zalo OA và Facebook.
Kết quả: 5 loại câu hỏi chiếm 72% lượng tin. Cửa hàng gần đây nhất ở đâu, còn hàng không, giá bao nhiêu, đơn của tôi tới đâu rồi, đổi trả thế nào.
Với phân bố như vậy, đề xuất cuối cùng là một cây nút bấm cho bốn câu đầu, cộng một tích hợp tra đơn theo số điện thoại, cộng một nút "gặp nhân viên" hiện ngay từ tin nhắn đầu tiên. Bản đầu không có RAG nào cả. Ba tuần làm xong, chi phí vận hành gần như bằng không, không có rủi ro bịa thông tin về giá.
Phần 28% còn lại — tư vấn thành phần, hợp loại da nào, so sánh sản phẩm — vẫn về tay nhân viên, và đó là chỗ họ nên dành thời gian vì đó là chỗ bán được hàng.
Lớp RAG cho nhóm câu hỏi tư vấn chỉ được thêm vào sau, khi kho nội dung sản phẩm đã chuẩn hoá xong. Làm theo thứ tự đó, họ tránh được hai quý loay hoay với một hệ thống chưa có gì tử tế để tra.
Chỉ số nên theo dõi
Đưa vào tài liệu ngay từ đầu, vì sau go-live không ai dựng lại được số liệu quá khứ:
- Tỉ lệ tự xử lý trọn vẹn — bao nhiêu phần trăm hội thoại kết thúc mà không cần người. Đây là chỉ số chính, quy ra tiền được.
- Tỉ lệ chuyển người, và lý do chuyển. Lý do quan trọng hơn con số.
- Tỉ lệ rơi vào câu trả lời mặc định. Tăng lên nghĩa là có nhu cầu mới mà bot chưa biết.
- Số lượt hỏi lại cùng một chuyện trong một hội thoại. Người dùng hỏi lại ba lần là bot đang trả lời không trúng, dù nhìn log thì mỗi câu đều "có trả lời".
- Điểm hài lòng ngay sau hội thoại, hỏi một câu thôi.
Chỗ thiết kế hay bị bỏ quên
Chuyển sang người thật. Cụ thể: ngoài giờ làm việc thì nói gì, hàng đợi bao lâu thì báo, có chuyển kèm toàn bộ lịch sử chat sang cho nhân viên không, và nhân viên trả lời xong thì bot có được nhảy vào giữa chừng nữa không.
Mình từng thấy một dự án bot làm rất công phu bị người dùng ghét chỉ vì một chi tiết: bấm "gặp nhân viên" lúc 21 giờ, bot im lặng hoàn toàn, không báo là ngoài giờ. Khách ngồi chờ mười phút rồi bỏ đi.
