Phân loại tin nhắn khách hàng bằng AI: chạy thử 50 tin, 0,2 đô cho 1.000 tin và 2 lỗi cần soát
Chạy thử phân loại 50 tin nhắn fanpage bằng Gemini 3.5 Flash-Lite: đúng 40/40 tin thường, 6/10 tin nhiều ý, sửa câu lệnh lên 9/10. Kèm chi phí đo thật và rủi ro dữ liệu khách hàng.

Sáng nào mở fanpage cũng thấy cả trăm tin chưa đọc: người hỏi giá, người chốt đơn, người đang bực vì giao sai màu. Phân loại tin nhắn khách hàng bằng AI giúp các bạn biết tin nào cần trả lời trước, mà chi phí theo đo đạc của chúng mình chỉ khoảng 0,2 đô cho 1.000 tin. Bài này kể lại lần chạy thử thật với 50 tin nhắn mẫu, kèm câu lệnh để các bạn làm theo và hai chỗ dễ sai cần soát.
Tóm tắt nhanh
- Ngày chạy thử: 10/10/2026, dùng model Gemini 3.5 Flash-Lite qua Gemini API, khoá gói miễn phí.
- 40 tin nhắn "thường" (hỏi giá, chốt đơn, khiếu nại, vận chuyển, tư vấn, khác): AI xếp đúng cả 40 tin, kể cả hai câu mỉa mai.
- 10 tin "khó", mỗi tin chứa hai ba ý: bắt AI chọn một nhóm thì chỉ đúng 6/10. Cho AI ghi thêm "ý phụ" thì lên 9/10.
- Chi phí ước tính theo bảng giá trả phí: khoảng 0,2 đô cho 1.000 tin, khoảng 0,1 đô nếu gửi theo lô (Batch).
- Rủi ro cần biết: theo bảng giá của Google, dữ liệu gửi qua gói miễn phí được dùng để cải thiện sản phẩm, nên tin có số điện thoại, địa chỉ khách không nên đưa vào gói này.
- Chưa kiểm chứng: bộ tin là do chúng mình tự viết mô phỏng, chưa thử trên tin nhắn thật của một shop cụ thể.
Phân loại tin nhắn khách hàng là gì, vì sao shop nhỏ cũng cần
Hãy hình dung một người gác cổng đứng trước sáu ngăn tủ: hỏi giá, chốt đơn, khiếu nại, vận chuyển, tư vấn và "khác". Mỗi lá thư đến, người đó đọc lướt rồi bỏ vào đúng ngăn. Nhân viên chăm sóc khách vào ca chỉ cần mở ngăn khiếu nại trước, ngăn chốt đơn sau, thay vì đọc lần lượt từ trên xuống. Đó chính là việc phân loại tin nhắn khách hàng.
Với shop nhỏ, việc này thường do chủ shop tự làm trong đầu. Khi lượng tin tăng lên vài trăm mỗi ngày, mắt người bắt đầu bỏ sót: một khách nhắn "dùng 3 ngày bị nổi mẩn đỏ" nằm lẫn giữa hai mươi tin hỏi giá, trả lời chậm vài tiếng là thành bài bóc phốt. Phân loại không thay người trả lời, nó chỉ sắp lại thứ tự để người trả lời đúng tin quan trọng trước.
#
Lợi ích cho doanh nghiệp
Lợi ích thực tế cho doanh nghiệp nằm ở ba chỗ. Một là thời gian phản hồi tin khiếu nại ngắn lại vì nó luôn nổi lên đầu. Hai là tin chốt đơn không bị trôi, tức là ít mất đơn, giữ được tỷ lệ chuyển đổi. Ba là cuối tuần các bạn có số liệu: tuần này bao nhiêu khách hỏi giá mà không mua, bao nhiêu khách hỏi vận chuyển. Con số đó giúp sửa thông tin trên trang sản phẩm, viết lại kịch bản trả lời, chứ không chỉ để quản lý tin nhắn cho gọn. Người dùng nhắn tới cũng được phản hồi đúng việc họ cần, thay vì nhận một câu chào chung chung.
Cách làm này khác với các bài phân loại khách hàng theo nhân khẩu học hay theo giá trị đơn hàng. Ở đây ta phân loại từng tin, theo ý định của người nhắn ngay lúc đó, nên có thể chạy tự động mỗi khi tin mới đến.
Chạy thử thực tế: phân loại tin nhắn khách hàng bằng AI với 40 tin
Chúng mình tự viết 40 tin nhắn mô phỏng fanpage của một shop online: có tin viết tắt kiểu "sp nay bn tien z shop", tin không dấu "lay e 3 cai nhu hom truoc nhe", một tin chỉ có biểu tượng giơ ngón cái, và hai câu mỉa mai. Mỗi tin được gán sẵn nhãn đúng để chấm điểm. Đây là tin mô phỏng, không phải tin của khách thật.
Phần câu lệnh (prompt) cho AI rất ngắn: mô tả vai trò "nhân viên trực fanpage", liệt kê sáu nhóm kèm ví dụ, và yêu cầu đánh dấu "cần người" khi là khiếu nại hoặc có rủi ro sức khoẻ. Đầu ra bắt buộc là JSON theo một khuôn cố định (structured output), nên kết quả luôn có ba trường: nhóm, cần người hay không, và lý do ngắn.
HUONG_DAN = """Bạn là nhân viên trực fanpage của một shop online Việt Nam.Xếp MỖI tin nhắn của khách vào đúng 1 nhóm:- hoi_gia: hỏi giá, mã giảm, giá sỉ, chê đắt- chot_don: muốn mua, đặt hàng, thêm đơn, xin link thanh toán- khieu_nai: phàn nàn, hàng lỗi, giao sai, đòi trả hàng/hoàn tiền, kể cả câu mỉa mai- van_chuyen: hỏi đơn tới đâu, phí ship, thời gian giao, đổi lịch/địa chỉ giao- tu_van: hỏi cách dùng, chọn size, sản phẩm có hợp với mình không- khac: còn lại (hợp tác, tuyển dụng, chào hỏi, hỏi địa chỉ cửa hàng)Đánh dấu can_nguoi=true khi là khiếu nại hoặc có rủi ro sức khoẻ, mất khách."""Script Python sử dụng Gemini API, gọi lần lượt từng tin, nhiệt độ (temperature) đặt bằng 0 để kết quả ổn định giữa các lần chạy. Chạy bằng một lệnh:
python phanloai.py gemini-3.5-flash-liteKết quả: đúng cả 40/40 tin, mất 130,1 giây vì gọi tuần tự từng tin, tổng 9.339 token vào và 2.021 token ra. Hai câu mỉa mai "Tuyệt vời ông mặt trời, đợi 10 ngày chưa thấy hàng đâu" và "Shop giỏi thật, bán hàng giả mà vẫn đông khách" đều được xếp vào khiếu nại và gắn cờ cần người. Tin "Bé 3 tuổi uống được loại sữa này chưa" vào nhóm tư vấn, đúng như mong muốn.

Ảnh trên là phần cuối của output nguyên văn: các tin 28 đến 40 cùng dòng tổng kết model, số tin đúng, thời gian và số token. Mỗi tin vào khoảng 233 token, ra khoảng 50 token, đây là số chúng mình dùng để tính chi phí ở mục sau.
Cần nói thẳng: điểm tuyệt đối này một phần vì người viết bộ tin cũng là người viết định nghĩa nhóm, nên hai bên "hiểu nhau". Độ chính xác trên tin thật của shop sẽ thấp hơn, và mục tiếp theo cho thấy thấp hơn ở chỗ nào.
Tự động phân loại tin nhắn khi một tin chứa nhiều ý
Khách thật hiếm khi nhắn gọn một ý. Chúng mình viết thêm 10 tin "khó", ví dụ: "Hàng đẹp lắm nhưng giao chậm quá, lần sau lấy thêm 2 cái thì có freeship không" (vừa khen, vừa chê giao hàng, vừa hỏi giá), hay "Sao giao có 1 hộp, em đặt 2 mà, mà thôi gửi thêm 1 hộp nữa giúp em" (vừa khiếu nại vừa chốt thêm).
Giữ nguyên câu lệnh cũ, bắt AI chọn đúng một nhóm: chỉ đúng 6/10 tin. Các tin sai đều là tin nhiều ý, AI chọn một ý hợp lý nhưng khác ý mà người gán nhãn coi là chính. Ví dụ "Giá này mà gọi là sale à" bị xếp vào hỏi giá, trong khi đây là câu chê, nên vào khiếu nại.

Ảnh trên cho thấy bốn dòng có ghi "sai, dung la ..." cạnh nhóm AI chọn, và dòng tổng kết "Dung 6/10 tin". Đây là chỗ nhiều người dừng lại và kết luận "AI không hiểu tiếng Việt", nhưng thật ra lỗi nằm ở cách ta chia ngăn.
#
Cách sửa: cho phép ý phụ
Quay lại hình ảnh người gác cổng: một lá thư có hai việc mà chỉ được bỏ vào một ngăn thì kiểu gì cũng có người không thấy nó. Cách sửa là cho phép bỏ bản sao vào ngăn thứ hai. Chúng mình thêm vào câu lệnh một dòng "Một tin có thể có NHIỀU ý: ghi ý chính vào nhom, mọi ý khác vào y_phu", và thêm trường y_phu (danh sách) vào khuôn JSON.

Chạy lại cùng 10 tin, mất 27,3 giây: đúng 9/10 nếu tính đúng khi nhãn nằm ở nhóm chính hoặc ý phụ. Ảnh cho thấy tin đầu tiên giờ có nhóm chính khiếu nại kèm ba ý phụ vận chuyển, hỏi giá, chốt đơn; tin "Giá này mà gọi là sale à" có thêm ý phụ khiếu nại.
Tin còn sai là "Thôi khỏi, hủy đơn đi": AI xếp vào chốt đơn. Lỗi này không do AI mà do bảng nhóm của chúng mình thiếu ngăn "hủy đơn". Bài học: trước khi trách model, đọc lại danh sách nhóm xem đã có chỗ cho mọi loại tin chưa.
Chi phí và Gemini API: gói miễn phí hay trả phí
Theo trang bảng giá Gemini API (xem ngày 10/10/2026), Gemini 3.5 Flash-Lite có gói miễn phí. Gói trả phí tính 0,30 đô cho mỗi 1 triệu token vào và 2,50 đô cho mỗi 1 triệu token ra (đã gồm token suy nghĩ). Gửi theo lô qua Batch API được giảm 50%, phù hợp khi các bạn chấp nhận nhận kết quả chậm hơn, ví dụ phân loại dồn tin ban đêm để sáng xem báo cáo.
Lấy số đo thật ở trên, mỗi tin khoảng 233 token vào và 50 token ra. Với 1.000 tin mỗi ngày: phần vào khoảng 0,07 đô, phần ra khoảng 0,13 đô, cộng lại khoảng 0,2 đô mỗi ngày, tức khoảng 6 đô một tháng 30 ngày. Dùng Batch thì còn khoảng một nửa. Con số thực tế thay đổi theo độ dài tin và độ dài câu lệnh của các bạn.

Ảnh trên là bảng giá Gemini 3.5 Flash-Lite, cột trái là gói miễn phí, cột phải là gói trả phí. Dòng cuối của bảng là dòng quan trọng với tin nhắn khách: "Used to improve our products", gói miễn phí ghi Yes, gói trả phí ghi No.
Nếu các bạn muốn so với model của hãng khác, bài Claude Haiku 5.5 có bảng giá và cách tính chi phí chatbot cho cùng quy mô 1.000 cuộc mỗi ngày. Chúng mình chưa chạy thử bộ tin này trên Claude Haiku 5.5 vì chưa có khoá API Anthropic, nên chưa so được độ chính xác.
Rủi ro thật và cách xử lý
Dữ liệu khách hàng. Tin nhắn thật thường có số điện thoại, địa chỉ, tên người nhận. Theo bảng giá Gemini API, nội dung gửi qua gói miễn phí được dùng để cải thiện sản phẩm của Google. Cách xử lý: dùng gói miễn phí chỉ để thử với tin mô phỏng như bài này; khi chạy với tin thật, chuyển sang gói trả phí, hoặc viết một bước xoá số điện thoại và địa chỉ trước khi gửi. Các bạn cũng nên đọc điều khoản của nền tảng nhắn tin mình dùng, chúng mình không tư vấn pháp lý ở đây.
Tin nhiều ý và nhóm thiếu. Như đã thấy, bắt chọn một nhóm thì tin nhiều ý sai nhiều. Hãy luôn có trường ý phụ, và thêm nhóm cho các việc hay gặp ở shop mình như hủy đơn, đổi trả, hỏi hàng còn không.
Bộ thử tự viết. Kết quả 40/40 không nói lên độ chính xác trên tin thật. Trước khi dựa vào nó, hãy lấy 100-200 tin cũ của shop, tự gán nhãn, rồi chạy lại để biết con số của riêng mình. Cách làm bộ đề và chấm điểm tự động như vậy chúng mình đã viết trong bài kiểm thử chatbot chăm sóc khách hàng.
Người vẫn phải soát nhóm khiếu nại. AI chỉ xếp ngăn. Tin gắn cờ "cần người" phải có người đọc và trả lời, không để chatbot bán hàng tự trả lời khiếu nại hay câu hỏi về sức khoẻ.
Ý nghĩa với người làm bán hàng và chăm sóc khách hàng bằng AI
Phân loại là bước nền trước khi nghĩ tới chatbot bán hàng tự trả lời. Nó cũng giúp quản lý đội trực fanpage hiệu quả hơn: ai phụ trách khiếu nại, ai phụ trách chốt đơn, ai hỗ trợ tư vấn đều nhìn thấy ngăn của mình. Khi đã biết mỗi ngày bao nhiêu tin rơi vào từng nhóm, các bạn mới biết nhóm nào đáng tự động hoá, nhóm nào phải giữ cho người. Một vài việc cụ thể làm được ngay:
- Xếp hàng ưu tiên: khiếu nại và tin gắn cờ cần người hiện lên đầu danh sách mỗi sáng, chốt đơn đứng thứ hai.
- Đếm cuối tuần: số tin hỏi giá so với số tin chốt đơn cho biết trang sản phẩm có đang thiếu thông tin giá hay không.
- Viết sẵn mẫu trả lời cho nhóm lặp lại nhiều, ví dụ phí ship đi tỉnh, thời gian giao, bảng size, để nhân viên tư vấn bấm gửi nhanh chóng.
- Kiểm lại nội dung trả lời trước khi dùng mẫu tự động, theo cách trong bài kiểm tra nội dung AI.
#
Gắn kịch bản trả lời theo từng nhóm
Khi đã có nhóm, mỗi nhóm nên có một kịch bản phản hồi riêng. Nhóm hỏi giá cần thông tin giá, mã giảm và một câu mời mua hàng phù hợp. Nhóm vận chuyển cần phí ship và thời gian giao theo tỉnh. Nhóm tư vấn cần bảng size, cách sử dụng sản phẩm, lưu ý cho người dùng đặc biệt như bà bầu hay trẻ nhỏ. Nhóm khiếu nại thì kịch bản chỉ là câu xin lỗi và hẹn thời gian, phần xử lý luôn do người làm.
Làm vậy thời gian phản hồi ngắn lại, câu trả lời đúng ý khách hơn, và việc quản lý tin nhắn hiệu quả hơn mà không cần thêm người. Doanh nghiệp nhỏ có thể bắt đầu với hai nhóm có nhiều tin trong tuần, rồi mở rộng dần.
Tóm lại cách làm: viết danh sách nhóm sát với shop mình, bắt AI trả JSON có ý phụ và cờ cần người, thử trên 100-200 tin cũ đã gán nhãn, rồi mới cho chạy với tin mới bằng gói trả phí.
Kết luận
Phân loại bằng AI rẻ hơn nhiều so với công sức đọc lọc bằng tay: khoảng 0,2 đô cho 1.000 tin theo lần đo của chúng mình. Chỗ cần đầu tư là danh sách nhóm và bộ tin thử, không phải model đắt tiền.
Nếu doanh nghiệp của các bạn mới bắt đầu, hãy làm theo thứ tự: xuất 100-200 tin cũ, tự gán nhãn trong một buổi chiều, chạy script với gói miễn phí trên bản đã xoá số điện thoại và địa chỉ, đo độ chính xác, sửa danh sách nhóm, rồi mới chuyển sang gói trả phí cho tin thật. Sau vài tuần sử dụng, số liệu theo nhóm sẽ cho thấy khách hay hỏi gì trước khi mua, và nội dung nào trên trang sản phẩm đang thiếu. Doanh nghiệp của các bạn đang phải làm đi làm lại việc gì mỗi sáng khi mở hộp thư fanpage? Hãy kể ở phần bình luận, chúng mình sẽ thử viết quy trình phân loại tin nhắn khách hàng cho đúng việc đó.
