← Tất cả bài viếtHậu trường

Tôi build một bot AI tư vấn cho spa và đưa lên chạy thật — toàn bộ hành trình

2026-05-31

Tôi vừa đưa một con bot AI lên chạy thật cho một spa: tư vấn dịch vụ, báo giá, đặt hẹn — trên 3 fanpage Facebook, phục vụ khách thật. Bài này tôi kể lại toàn bộ hành trình: tôi nghĩ gì, quyết định gì, và vấp ở đâu. Không tô hồng.

Bài toán: inbox đang âm thầm làm spa mất khách

Một spa nhận hàng trăm tin nhắn mỗi ngày trên nhiều fanpage. Khách hỏi giá lúc 11h đêm, hỏi liệu trình, hỏi khung giờ trống. Nhân viên không thể trực 24/7, hay nhớ sai giá trong một menu hàng trăm dịch vụ. Mỗi tin trả lời chậm hoặc sai là một khách có thể đã đi spa khác.

Đây không phải bài toán "AI cho vui". Nó là bài toán doanh thu.

Quyết định kiến trúc: dùng Claude API, không dùng RAG

Nhiều người nghe "chatbot biết dữ liệu doanh nghiệp" là nghĩ ngay tới RAG, vector database. Tôi quyết định không. Dữ liệu của một spa nhỏ và có cấu trúc — vài trăm dịch vụ, giá, mô tả. Tôi chia làm hai loại:

  • Dữ liệu tĩnh (danh mục, giá, FAQ, chính sách): nhồi thẳng vào system prompt và bật prompt caching. Rẻ, nhanh, đủ.
  • Dữ liệu động (lịch trống, đặt hẹn, hồ sơ khách): lấy đúng lúc cần qua tool use (function calling).

Quy tắc tôi đặt ra và không bao giờ phá:

Bot KHÔNG BAO GIỜ tự nói giá hay lịch trống từ trí nhớ. Mọi con số phải đến từ dữ liệu thật. Báo sai giá là thứ giết niềm tin nhanh nhất ở dịch vụ spa.

Đây cũng chính là điểm con bot AI hơn hẳn mấy con bot kịch bản/từ khoá phổ biến: nó hiểu câu hỏi tự do, nhưng không bịa.

Những quyết định nền khác

  • Đặt lịch: phần mềm đối tác chưa chắc có API. Nên tôi tách riêng phần đặt lịch sau một lớp trừu tượng — giai đoạn 1 bot tạo yêu cầu, nhân viên xác nhận; giai đoạn 2 nối thẳng API khi có. Không để một thứ chưa chắc chắn chặn cả dự án.
  • Nhiều fanpage, một bộ não: 3 fanpage chạy chung một backend và một kho dữ liệu.
  • Song ngữ: bot trả lời đúng ngôn ngữ khách dùng — Việt hay Anh.

Cho bot nói chuyện "như người thật"

Một con bot trả lời nguyên đoạn dài, có markdown, có gạch đầu dòng — khách biết ngay là máy. Tôi đổi cách: bot nhắn nhiều tin ngắn, giọng tự nhiên, có hiệu ứng "đang nhập…", cấm markdown (Messenger không render được). Khác biệt nhỏ này làm trải nghiệm khác hẳn.

Dữ liệu thật mới là phần khó

Phần "AI" thực ra không khó nhất. Khó nhất là nạp đúng dữ liệu. Chủ spa đưa tôi file Excel xuất từ phần mềm bán hàng: tôi viết pipeline để chuẩn hoá thành 267 dịch vụ + 179 sản phẩm, tách combo/flash sale ra riêng (kèm cảnh báo phải hỏi nhân viên xác nhận còn hiệu lực), làm giàu mô tả cho các liệu trình chủ lực. Dữ liệu sạch quyết định bot trả lời tốt hay dở.

Đưa lên chạy thật: VPS + Docker + Caddy

Tôi không dùng dịch vụ đắt tiền. Một VPS Hetzner khoảng 7,6 USD/tháng là dư sức. Stack:

Messenger → Caddy (443, tự cấp HTTPS) → bot (FastAPI) → Claude API

Caddy tự xin chứng chỉ HTTPS từ Let's Encrypt, Docker Compose để chạy gọn, một lệnh là lên. Toàn bộ chỉ một người làm.

Và đây là phần thật nhất: tôi đã làm sập site

Tôi sẽ không giả vờ mọi thứ trơn tru. Khi mở rộng hệ thống (thêm web-chat, thêm tracking), tôi sửa file cấu hình Caddy và gõ sai một dòng cú pháp. Kết quả: Caddy không khởi động được, kéo sập toàn bộ — cả landing, cả bot — trong vài phút.

Bài học xương máu:

  1. Cấu hình hạ tầng phải validate trước khi restart. Một dấu cách sai cũng đủ sập cả server.
  2. Caddy bind-mount config không tự nạp lại khi docker compose up — phải restart đúng cách.
  3. Một matcher /track* tưởng vô hại lại "nuốt" luôn file /track.js — chuyện nhỏ mà tốn cả buổi.

Tự vận hành hạ tầng nghĩa là tự chịu trách nhiệm khi nó sập. Nhưng đổi lại, tôi hiểu hệ thống của mình tới từng dòng.

Kết quả & tiếp theo

Bot đang LIVE: 3 fanpage, dữ liệu thật, tư vấn song ngữ, đẩy khách tới đặt hẹn. Bước tiếp theo là tự động đặt lịch khi có API đối tác, nhắc lịch, và phân tích hội thoại.

Nếu bạn cũng đang muốn đưa AI vào công việc thật — không phải để khoe, mà để ra kết quả — thì đây là điều tôi học được: bắt đầu từ một bài toán doanh thu cụ thể, neo chặt vào dữ liệu thật, và đừng sợ tự tay vận hành.


Tôi đang làm dịch vụ này cho các spa khác. Bạn có thể chat thử bot hoặc xem dịch vụ. Còn nếu muốn nhận những bài hậu trường như thế này mỗi tuần, đăng ký email ở cuối trang nhé.

Nhận bài thực chiến qua email

Mỗi tuần một bài về cách đưa AI vào doanh nghiệp thật. Miễn phí, huỷ bất cứ lúc nào.