Năm 2023, một công ty luật ở Mỹ nộp lên tòa bản tóm tắt pháp lý trích dẫn 6 vụ án tiền lệ. Thẩm phán phát hiện không vụ án nào tồn tại. ChatGPT đã bịa ra tất cả - với giọng điệu chắc chắn không thể phân biệt được với câu trích dẫn thật.
Đó là luật sư, có chuyên môn, biết nguyên tắc phải kiểm tra nguồn. Họ vẫn bị lừa.
Bạn - founder đang nhận memo AI mỗi sáng thứ Hai - có lý do chính đáng để hỏi: "Con số 3,2 tỷ doanh thu kênh Shopee trong memo này lấy từ đâu?"
Câu trả lời của hầu hết AI reporting tools: không trace được, hoặc "từ dữ liệu bạn cung cấp" mà không có địa chỉ cụ thể.
Câu trả lời của memo chúng tôi: "Từ bảng shopee_orders, cột revenue, lọc order_date tuần 3 tháng 7/2026, 1.847 đơn hàng. Click vào link để xem danh sách đơn."
Bài này giải thích tại sao sự khác biệt đó tồn tại - và cách đọc một memo có nguồn để tự kiểm chứng trong 2 phút.
Tại sao AI đưa số sai - không dùng thuật ngữ kỹ thuật
Hầu hết AI language models (GPT, Gemini, Claude) được train trên văn bản từ internet - sách, báo, diễn đàn, tài liệu kỹ thuật. Chúng học cách viết câu mạch lạc, logic, và nghe có lý. Nhưng chúng không có quyền truy cập vào database của bạn.
Khi bạn hỏi "Doanh thu kênh Shopee tháng này là bao nhiêu?", AI không mở bảng dữ liệu của bạn ra xem. Nó:
- Nhớ lại các patterns văn bản liên quan đến "doanh thu Shopee" từ training data
- Đoán một con số nghe có vẻ hợp lý với context bạn cung cấp
- Viết câu trả lời với giọng điệu tự tin như thể đó là sự thật
Con số đó có thể trùng với thực tế một cách ngẫu nhiên - hoặc lệch hoàn toàn. AI không biết sự khác biệt, vì nó không có gì để so sánh.
Đây là "hallucination" - không phải AI bị lỗi kỹ thuật, mà là AI đang làm đúng điều nó được thiết kế để làm (tạo văn bản nhất quán), nhưng trong context yêu cầu sự thật về số liệu của bạn.
Hai kiến trúc khác nhau
Kiến trúc "Viết rồi hy vọng đúng"
Câu hỏi → AI model → Câu trả lời
(Không có bước nào truy xuất dữ liệu thực của bạn)
Đây là cách ChatGPT, Gemini, Claude hoạt động mặc định. Dùng được cho: viết email, tóm tắt văn bản, brainstorming ý tưởng marketing. Không dùng được cho: báo cáo với số liệu kinh doanh cụ thể.
Kiến trúc "Lấy trước, viết sau" - Retrieval-Augmented Generation
Câu hỏi
→ Truy vấn database thực của bạn
→ Lấy dữ liệu thực (số liệu, dòng gốc)
→ AI viết bài dựa trên dữ liệu đó
→ Câu trả lời có địa chỉ nguồn
Trong kiến trúc này, AI không được phép "nhớ lại" hay "đoán" số liệu. Nó chỉ được phép:
- Viết câu giải thích dữ liệu đã được truy xuất
- So sánh với KPI target đã được định nghĩa trước
- Đặt câu hỏi về patterns trong dữ liệu
Mọi con số trong output đều có dấu vết về nguồn gốc - bảng nào, cột nào, khoảng thời gian nào, bao nhiêu dòng.
Đây là kiến trúc của memo chúng tôi. Đây cũng là lý do mỗi con số trong memo đều có chú thích có thể click.
Thư viện KPI - cái anchor mà AI bắt buộc phải bám
Kiến trúc RAG cần một bước quan trọng trước khi chạy: định nghĩa trước KPI là gì.
"Gross margin" có thể tính theo nhiều cách hợp lệ:
| Cách tính | Gross margin (ví dụ) |
|---|---|
| (Doanh thu - Giá vốn) / Doanh thu | 35% |
| (Doanh thu - Giá vốn - Phí platform) / Doanh thu | 27% |
| (Doanh thu - Giá vốn - Phí platform - Hoàn hàng) / Doanh thu | 22% |
Nếu không có định nghĩa chuẩn, AI - dù có RAG - vẫn có thể tính ra 3 con số khác nhau cho cùng một KPI tùy thuộc vào cách nó hiểu câu hỏi. Tuần này 35%, tuần sau 27%, không ai biết tại sao con số thay đổi.
Thư viện KPI của chúng tôi là tập hợp định nghĩa có version kiểm soát, bao gồm cho mỗi KPI:
- Tên chuẩn (bằng tiếng Anh để tránh nhầm lẫn dịch thuật)
- Công thức viết bằng SQL hoặc Python - không phải ngôn ngữ tự nhiên
- Nguồn dữ liệu: bảng nào, cột nào, join với bảng nào
- Tần suất cập nhật: realtime / ngày / tuần
- Ngưỡng traffic light: xanh / vàng / đỏ theo ngành
Ví dụ entry trong thư viện KPI cho ngành retailer:
kpi: channel_roas
display_name: "ROAS theo kênh (sau fee)"
formula: |
SELECT
channel,
SUM(revenue * (1 - platform_fee_rate - return_rate)) / SUM(ad_spend) as roas
FROM orders o
LEFT JOIN ad_spend a USING (channel, date)
WHERE date BETWEEN :start AND :end
GROUP BY channel
thresholds:
red: < 2.5
yellow: 2.5 - 3.5
green: > 3.5
source_tables: [orders, ad_spend, platform_config]
Khi AI viết memo, nó bắt buộc phải dùng KPI từ thư viện - không thể tự định nghĩa lại. Và vì công thức tính là SQL cụ thể, kết quả luôn trace được về dòng dữ liệu gốc.
Một đoạn memo thực trông như thế nào
Đây là đoạn memo thật (đã ẩn danh) từ một retailer đồ gia dụng, tuần 3/2026:
"Doanh thu kênh Shopee tuần 3/2026: 2,84 tỷ [¹], tăng 8.3% so với tuần 2 (2,62 tỷ [²]).
Mức tăng chủ yếu đến từ nhóm Nhà Bếp (tăng 340 triệu [³]), bù đắp cho nhóm Điện Tử Nhỏ giảm 118 triệu [⁴] do 2 SKU hết hàng từ ngày 18/7.
ROAS Shopee Sponsored thực (sau fee + hoàn hàng): 3,9 lần [⁵], thấp hơn break-even 4,2 lần [⁶] của ngành hàng hiện tại. Có 3 campaign trong nhóm Điện Tử Nhỏ ROAS dưới 2 lần [⁷] - đề xuất tạm pause và chuyển budget sang Nhà Bếp tuần này."
Các cước chú trong memo:
[¹] shopee_orders.net_revenue WHERE order_date BETWEEN '2026-07-13' AND '2026-07-19'. Tổng: 1.847 đơn. [Xem danh sách đơn →]
[²] shopee_orders.net_revenue WHERE order_date BETWEEN '2026-07-06' AND '2026-07-12'. Tổng: 1.693 đơn.
[³] Nhóm hàng product_category = 'Nhà Bếp', cùng kỳ. So sánh tuần 2 → tuần 3.
[⁴] Nhóm hàng product_category = 'Điện Tử Nhỏ'. 2 SKU hết hàng: [mã SKU đã ẩn]. Cảnh báo stockout đã bắn ngày 17/7 18:34 nhưng chưa được xử lý.
[⁵] ROAS tính theo kpi:channel_roas trong KPI Library v2.3. Đã trừ platform_fee_rate=6.5%, return_rate=9.2% (trung bình 8 tuần gần nhất).
[⁶] Break-even ROAS = 1 / gross_margin_shopee. gross_margin_shopee = 23.8% (từ kpi:gross_margin_by_channel, trung bình 13 tuần). Break-even = 4,20 lần.
[⁷] 3 campaign: "Điện Tử Nhỏ - Retargeting 7 ngày" (ROAS 1,8 lần), "Điện Tử Nhỏ - Broad Audience" (1,4 lần), "Điện Tử Nhỏ - Lookalike 1%" (1,2 lần). Tổng spend 3 campaign: 4,2 triệu/tuần.
Mỗi con số trong memo đều có địa chỉ dữ liệu. Nếu bạn nghi ngờ con số nào, bạn biết chính xác chỗ nào để kiểm tra - không cần hỏi lại AI, không cần chờ analyst pull lại.
Demo: Prompt thực và output thực
Đây là prompt cốt lõi gửi cho AI khi tạo memo (đã đơn giản hóa):
Bạn là analyst viết báo cáo tuần cho [tên công ty].
Luật: Mọi con số PHẢI lấy từ dữ liệu đã được truy xuất bên dưới.
Nếu không có dữ liệu, viết "Không có dữ liệu kỳ này" - KHÔNG đoán.
Mỗi số PHẢI đi kèm chú thích [¹] trỏ về nguồn.
Dùng KPI definitions từ thư viện đính kèm - KHÔNG tự định nghĩa lại.
Dữ liệu đã truy xuất:
--- SHOPEE_ORDERS (2026-07-13 → 2026-07-19) ---
[Kết quả SQL query thực, dạng JSON]
--- AD_SPEND_BY_CAMPAIGN ---
[Kết quả SQL query thực]
--- KPI_LIBRARY (version: 2.3) ---
[Định nghĩa KPI đính kèm]
Viết Weekly Memo theo format chuẩn:
Tổng quan → Highlights → Cảnh báo cần action → Đề xuất tuần tới.
Không quá 1 trang A4.
Kết quả: AI không thể hallucinate vì không có "room" để đoán. Nó chỉ có thể diễn giải dữ liệu đã có sẵn trong context - hoặc nói thẳng là không có dữ liệu.
Quy trình duyệt memo trước khi gửi
Dù có RAG và thư viện KPI, quy trình của chúng tôi vẫn có một bước human review:
Chủ Nhật 8h tối - Hệ thống tự động truy xuất dữ liệu tuần và tạo draft memo
Chủ Nhật 9h tối - Analyst review draft, kiểm tra:
- Có con số nào trông bất thường không so với lịch sử? (outlier check tự động cũng có, nhưng cần mắt người xác nhận)
- KPI nào cần context thêm mà hệ thống không có? (ví dụ: chương trình khuyến mãi bất ngờ, lỗi POS tạm thời)
- Đề xuất trong memo có thực tế không với context nội bộ mà hệ thống không biết?
Thứ Hai 7h58 - Memo gửi qua email + Zalo
Bước human review không để kiểm tra AI sai - để thêm context mà hệ thống không có. Một chương trình flash sale bất ngờ tối thứ Sáu, một lỗi POS 2 tiếng sáng thứ Bảy - hệ thống thấy dữ liệu bất thường nhưng không biết lý do. Người review thêm 1 dòng giải thích.
Ai nên lo, ai không cần lo
Lo ngại hallucination là đúng khi:
- Bạn đang hỏi AI chatbot trực tiếp về số liệu công ty mà không nối database
- AI tool không có kiến trúc RAG rõ ràng
- Không có KPI library được định nghĩa chuẩn từ trước
- Output không có chú thích nguồn
- Không có human review trước khi gửi lên ban điều hành
Hallucination không phải vấn đề khi:
- Hệ thống được thiết kế để AI chỉ viết từ dữ liệu đã truy xuất
- Mỗi con số có cước chú về nguồn gốc cụ thể
- Bạn có thể verify bất kỳ con số nào trong 2 phút mà không cần hỏi lại ai
Memo chúng tôi ship thuộc loại thứ hai. Nếu bạn đang nhận báo cáo AI mà không biết con số từ đâu ra - đó là rủi ro thực sự, không phải tiến bộ.
Nếu bạn muốn thấy một memo mẫu với dữ liệu giả của ngành bạn, đặt buổi review 30 phút. Chúng tôi sẽ demo live - bao gồm cả phần cước chú nguồn - trong call.
Đọc tiếp
Bài 10, Tự động hóa GA4 với AI: weekly memo và alert tự gửi về Zalo
Khi dashboard không đủ, bạn cần AI đọc data và gửi tóm tắt + đề xuất hành động. 3 pattern tự động hóa (memo tuần, alert real-time, audit định kỳ) với Make.com / n8n và OpenAI/Anthropic API. Cost thực ~$10-30/tháng.
Đọc bàiROAS là gì, và vì sao con số 4 lần trên dashboard có thể gây hiểu sai
ROAS là gì, cách tính break-even ROAS theo gross margin thực, và vì sao nhà bán Shopee hay bị lừa bởi ROAS dashboard. Bảng break-even theo ngành kèm công thức tính ngay.
Đọc bàiBộ công cụ AI cơ bản cho startup: chọn gì, dùng gì, tốn bao nhiêu tiền
Không phải mọi startup đều cần dùng hết tất cả công cụ AI. Bài này tổng hợp bộ công cụ thực tế, chi phí thật, và ai trong team nên dùng cái gì - dựa trên giai đoạn phát triển của doanh nghiệp.
Đọc bài