Chương 19. Chat Bot
Back To BlogsChương 19. Chat Bot
📚 Mục lục sáchSweet Home Bakery giờ đã có giao diện đẹp, giỏ hàng, thanh toán, tra cứu đơn, tên miền riêng và email tự động báo trạng thái đơn hàng. Nhưng vẫn còn một khoảng trống: nửa đêm có khách hỏi "bánh này còn không", "giá bao nhiêu", "mua sao đây" — nếu không có ai trực, khách chờ không được sẽ bỏ đi. Chương này sẽ giúp bạn dựng một chat bot ngay trên website, trả lời khách bằng đúng dữ liệu sản phẩm và bài viết bạn đang có, thậm chí tự tạo link thanh toán khi khách chốt mua — tất cả chỉ bằng cách khai báo trong trang quản trị, không cần viết một dòng code nào.
Vì sao website cần thêm một "nhân viên" trực 24/7?
Một chat bot dựng đúng cách không phải để thay thế con người, mà để lấp đúng khoảng trống mà con người không thể trực liên tục:
- Trả lời tức thì ngoài giờ hành chính, thay vì để khách chờ đến sáng hôm sau rồi quên mất ý định mua hàng.
- Trả lời dựa trên đúng dữ liệu thật của bạn — giá, tình trạng còn hàng, nội dung bài viết — thay vì bịa ra thông tin sai lệch.
- Xử lý những câu hỏi lặp đi lặp lại (giá bao nhiêu, có ship không, cách thanh toán) để nhân viên thật rảnh tay lo những việc cần con người thật sự.
- Có thể hành động thay vì chỉ trả lời suông: khi khách chốt mua, bot tạo luôn link thanh toán ngay trong khung chat.
Để làm được điều này, EzyPlatform cung cấp hai mảnh ghép đi cùng nhau: EzyAI và EzyChat.
Hai mảnh ghép dựng nên chat bot
EzyChat là khung chat hiển thị trên website — nơi khách gõ câu hỏi và nhận câu trả lời. EzyAI là "bộ não" đứng sau: nơi bạn khai báo dùng dịch vụ AI nào (ChatGPT, Claude, Deepseek, Gemini, Grok, Qwen...), dạy cho nó cách trả lời, và cho phép nó tra cứu dữ liệu hay thực hiện hành động. EzyChat không tự biết trả lời — nó chỉ đóng vai trò khung giao tiếp và chuyển câu hỏi của khách sang cho dịch vụ AI đã khai báo trong EzyAI xử lý, rồi hiển thị câu trả lời trở lại.
flowchart LR
A["Khách gõ câu hỏi<br/>trên khung chat website"] --> B["EzyChat<br/>khung chat"]
B --> C["EzyAI<br/>dịch vụ AI đã chọn"]
C --> D["Cấu hình<br/>API Key, mô hình"]
D --> E["Kỹ năng<br/>chỉ dẫn hệ thống"]
E --> F["Công cụ<br/>tra cứu / tạo link thanh toán"]
F --> G["Dữ liệu thật<br/>sản phẩm, bài viết"]
F --> B
B --> H["Câu trả lời<br/>hiện lại trong khung chat"]
classDef chat fill:#0d9488,stroke:#0f766e,color:#ffffff;
classDef ai fill:#6366f1,stroke:#4338ca,color:#ffffff;
classDef cfg fill:#3b82f6,stroke:#1d4ed8,color:#ffffff;
classDef skill fill:#8b5cf6,stroke:#6d28d9,color:#ffffff;
classDef tool fill:#f59e0b,stroke:#b45309,color:#ffffff;
classDef data fill:#10b981,stroke:#047857,color:#ffffff;
class A,H chat;
class B chat;
class C ai;
class D cfg;
class E skill;
class F tool;
class G data;
linkStyle default stroke:#94a3b8,stroke-width:1.5px;
Nói ngắn gọn: mỗi dịch vụ AI có thể có nhiều cấu hình (một bộ API Key + mô hình cụ thể), mỗi cấu hình gắn với một hoặc nhiều kỹ năng (chỉ dẫn hệ thống, tức là bạn dạy AI cách cư xử), và mỗi kỹ năng được phép dùng một số công cụ nhất định (tra cứu dữ liệu, tạo link thanh toán...). Cài đặt cả EzyAI và EzyChat từ Cửa hàng plugin của EzyPlatform giống cách bạn đã cài EzyLogin hay EzyPayment ở Chương 13, rồi làm theo các bước dưới đây.
Bước 1 — Chọn một dịch vụ AI sẽ đóng vai bộ não cho chat bot
Vào mục EzyAI > Các dịch vụ AI chat, bạn sẽ thấy danh sách các dịch vụ AI được hỗ trợ sẵn: ChatGPT, Claude, Deepseek, Gemini, Grok, Qwen. EzyPlatform không tự chọn hộ bạn — bạn cần có tài khoản và API Key của đúng dịch vụ mình muốn dùng. Ví dụ trong chương này, ta chọn Deepseek vì đây là lựa chọn có chi phí API rẻ, phù hợp để bắt đầu thử nghiệm cho một tiệm bánh nhỏ.
Cột Mặc định cho biết dịch vụ nào đang được toàn hệ thống dùng khi không chỉ định cụ thể — bạn có thể bấm Lựa chọn ở một dòng khác bất cứ lúc nào để đổi sang dịch vụ đó.
Bước 2 — Lấy API Key từ nhà cung cấp đã chọn
Mỗi dịch vụ AI đều yêu cầu bạn đăng ký tài khoản riêng trên trang của họ và tự tạo API Key — EzyPlatform chỉ là nơi bạn khai báo lại để sử dụng, không cấp API Key thay bạn. Với Deepseek, vào trang platform.deepseek.com, chọn mục API keys, bấm Create new API key và lưu lại đoạn mã hiện ra — nó chỉ hiển thị được một lần duy nhất.
Bước 3 — Thêm "cấu hình" kết nối tới dịch vụ AI
Quay lại EzyAI, bấm vào dịch vụ Deepseek để vào trang Chi tiết dịch vụ AI Chat. Đây là nơi quản lý các cấu hình — mỗi cấu hình là một bộ kết nối cụ thể (API Key, endpoint, mô hình) tới dịch vụ. Bấm nút Thêm để tạo cấu hình mới.
Điền tên cấu hình để dễ phân biệt (ví dụ đặt theo mục đích sử dụng), dán API Key vừa lấy được ở Bước 2, giữ nguyên endpoint mặc định của nhà cung cấp, chọn mô hình muốn dùng, rồi bật Đã kích hoạt và bấm Lưu.
Bước 4 — Dạy cho AI một "kỹ năng"
Một cấu hình mới chỉ là đường kết nối tới AI, chưa nói cho AI biết nó nên cư xử ra sao. Đó là việc của kỹ năng (skill). Vào mục EzyAI > Các kỹ năng AI để xem danh sách kỹ năng đã tạo, và bấm Thêm mới để tạo một kỹ năng.
Trong form tạo kỹ năng, Tên kỹ năng là một mã định danh duy nhất, không đổi được sau khi tạo (ví dụ tra-cuu), còn Tên hiển thị chỉ dùng để bạn dễ nhận diện trong trang quản trị. Quan trọng nhất là ô Chỉ dẫn hệ thống: nội dung ở đây được gửi kèm mọi tin nhắn của khách để AI biết vai trò và cách trả lời, nhưng khách sẽ không nhìn thấy nó trong cuộc trò chuyện.
Bạn là trợ lý bán hàng của Sweet Home Bakery. Luôn trả lời ngắn gọn, thân thiện, bằng tiếng Việt. Khi khách hỏi giá hoặc tình trạng còn hàng của một loại bánh, hãy tra cứu đúng thông tin sản phẩm trước khi trả lời, tuyệt đối không tự đoán hay bịa số liệu. Khi khách xác nhận muốn mua, hãy tạo link thanh toán đúng sản phẩm và số lượng khách yêu cầu.
Đây thực chất là một dạng prompt engineering bạn đã làm quen ở Chương 4 — chỉ khác là thay vì gõ cho Claude Code để viết ra sản phẩm, bạn đang viết chỉ dẫn cho một AI sẽ trực tiếp trò chuyện với khách hàng của mình.
Bước 5 — Gắn "công cụ" để AI hành động được, không chỉ trả lời suông
Mặc định, một AI chat chỉ có thể trả lời dựa trên trí nhớ có sẵn của nó — nó không biết Sweet Home Bakery đang bán những loại bánh nào, giá bao nhiêu. Để AI tra cứu được dữ liệu thật hoặc thực hiện hành động (như tạo link thanh toán), kỹ năng cần được gắn thêm công cụ (tool) — đúng khái niệm "công cụ" mà AI có thể gọi trong khi trả lời, giống với các công cụ MCP Server bạn đã tìm hiểu ở Chương 9.
Mở lại kỹ năng vừa tạo, ở mục Tên công cụ được phép, chọn nguồn công cụ là Web rồi tick chọn những công cụ muốn cho phép kỹ năng này sử dụng. Chỉ những công cụ được tick mới được AI gọi khi dùng kỹ năng này.
Với kỹ năng bán hàng của Sweet Home Bakery, năm công cụ đáng chú ý là:
- search_knowledge_data_list và search_knowledge_data_by_type_and_id: tìm kiếm và lấy chi tiết dữ liệu kiến thức (sản phẩm, bài viết) để AI trả lời đúng thông tin thật thay vì đoán mò.
- fetch_product_price: lấy đúng giá hiện tại của một sản phẩm.
- create_product_checkout_link: tạo link thanh toán ngay trong cuộc trò chuyện khi khách chốt mua.
- ping: công cụ kiểm tra kết nối, chủ yếu dùng khi cần chẩn đoán sự cố.
Bước 6 — Gắn kỹ năng vào cấu hình và đặt làm mặc định
Kỹ năng đã có công cụ, nhưng vẫn cần được gắn vào đúng cấu hình đã tạo ở Bước 3 thì AI mới thực sự dùng đến nó. Mở lại cấu hình, gõ tên kỹ năng vào ô tìm kiếm và bấm Thêm.
Cuối cùng, bấm Lựa chọn ở mục Mặc định của cấu hình này. Vì EzyChat chỉ chọn dịch vụ AI nào sẽ trả lời khách (ví dụ "Deepseek"), chứ không chọn cụ thể cấu hình hay kỹ năng nào — hệ thống sẽ tự dùng đúng cấu hình đang được đặt mặc định của dịch vụ đó, cùng các kỹ năng đã gắn vào nó.
Bước 7 — Giới hạn phạm vi kiến thức mà AI được phép tra cứu
Vào EzyAI > Cài đặt để khai báo AI được phép tra cứu những loại dữ liệu nào trên toàn hệ thống — đây là lớp cấu hình chung, áp dụng cho mọi kỹ năng dùng công cụ tra cứu kiến thức.
Vài trường đáng chú ý:
- Loại dữ liệu kiến thức: khai báo
ecommerce_productsvàezyarticle_postsđể AI có thể tra cứu cả sản phẩm lẫn bài viết trên website làm nguồn kiến thức. - Giới hạn tìm kiếm dữ liệu tri thức / dữ liệu index: số bản ghi tối đa được trả về mỗi lần AI tra cứu, tránh gửi quá nhiều dữ liệu không cần thiết cho AI.
- Số lần tương tác tool tối đa: số vòng gọi công cụ tối đa AI được phép thực hiện trước khi buộc phải trả lời — tránh trường hợp AI gọi công cụ lặp vô tận mà không chốt câu trả lời.
Bước 8 — Bật chat bot trên EzyChat
Mọi thứ phía EzyAI đã sẵn sàng. Bước cuối là bật khung chat và cho phép nó tự trả lời khách. Vào EzyChat > Cài đặt, bật Hiển thị trên web để khung chat xuất hiện trên website, cân nhắc bật thêm Chat qua socket trên web nếu muốn tin nhắn cập nhật tức thời thay vì phải làm mới trang, rồi tuỳ chọn có bắt buộc khách nhập email hoặc số điện thoại trước khi chat hay không. Kéo xuống phần cấu hình bot của trang này, chọn đúng dịch vụ AI đã thiết lập ở các bước trên (Deepseek) làm dịch vụ trả lời khách, rồi lưu lại bằng tổ hợp phím Ctrl + S (hoặc Command + S trên Mac).
Kết quả: khách được tư vấn và nhận link thanh toán ngay trong khung chat
Ra ngoài website, mở khung chat và thử hỏi mua một loại bánh. Chat bot sẽ tra cứu đúng thông tin sản phẩm, xác nhận với khách, rồi khi khách chốt số lượng, nó tự tạo một link thanh toán đúng sản phẩm và giá tiền — khách chỉ cần bấm vào để hoàn tất đơn hàng, không cần rời khỏi cuộc trò chuyện.
Những điều cần lưu ý
- Chỉ dẫn hệ thống càng rõ ràng, AI càng ít "tự sáng tạo": hãy nói rõ AI phải tra cứu dữ liệu thật trước khi trả lời về giá hay tình trạng còn hàng, tránh để nó tự suy đoán.
- Chỉ gắn những công cụ thực sự cần thiết cho từng kỹ năng: một kỹ năng chăm sóc khách hàng chung chung không nhất thiết cần quyền tạo link thanh toán.
- Theo dõi chi phí API: hầu hết các dịch vụ AI đều tính phí theo lượng sử dụng, nên đặt "Số token tối đa" và theo dõi mục Usage/Billing bên phía nhà cung cấp thường xuyên, nhất là trong thời gian đầu thử nghiệm.
- Vẫn cần "Người hỗ trợ" là con người thật: chat bot xử lý tốt các câu hỏi lặp lại, nhưng những tình huống phức tạp hoặc nhạy cảm vẫn nên được một nhân viên thật tiếp nhận qua mục Người hỗ trợ của EzyChat.
Một chat bot tốt không phải là AI biết nói chuyện — mà là AI được gắn đúng dữ liệu thật, đúng công cụ, và đúng giới hạn, để những gì nó nói ra luôn đáng tin.
📌 Tóm tắt chương
- EzyChat là khung chat hiển thị trên website, EzyAI là bộ não đứng sau xử lý câu hỏi và sinh câu trả lời — cả hai cần được cài đặt và khai báo cùng nhau.
- Trong EzyAI, một dịch vụ AI (ChatGPT, Claude, Deepseek...) có nhiều cấu hình (API Key, mô hình), mỗi cấu hình gắn với các kỹ năng (chỉ dẫn hệ thống), mỗi kỹ năng được cấp một số công cụ nhất định (tra cứu dữ liệu, tạo link thanh toán).
- Chỉ dẫn hệ thống của kỹ năng chính là nơi bạn "dạy" AI cách cư xử — nội dung gửi kèm mọi tin nhắn nhưng khách không nhìn thấy được.
- Công cụ giúp AI hành động thay vì chỉ trả lời bằng trí nhớ có sẵn — cùng khái niệm với công cụ MCP Server ở Chương 9, chỉ khác là được AI tự gọi ngay trong cuộc trò chuyện.
- Mục Cài đặt của EzyAI giới hạn phạm vi dữ liệu AI được phép tra cứu; mục Cài đặt của EzyChat bật khung chat trên web và chọn dịch vụ AI sẽ trả lời khách.
- Chat bot phù hợp để xử lý các câu hỏi lặp lại và tư vấn ngoài giờ, nhưng không thay thế hoàn toàn cho đội ngũ hỗ trợ là con người ở những tình huống phức tạp.
Young Monkeys - Founder