"Sheets-first": Cách thiết kế database cho AI Agent không bị "ngáo" — giảm 80% lỗi nhầm lẫn khách hàng
Trong cộng đồng n8n & AI Agent Việt Nam, gần đây nhiều bạn cùng thắc mắc: "Tại sao Agent của em chạy được một thời gian thì bị nhầm khách, gửi sai tin, thậm chí nhầm đơn hàng?"
Một case điển hình được chia sẻ: chủ shop mỹ phẩm để AI tự chăm sóc khách, kết quả gửi chúc mừng sinh nhật khách A vào inbox khách B. Khách B phàn nàn, phải xin lỗi cả buổi sáng. Case khác: công ty xây dựng bị AI nhầm hồ sơ báo giá công trình A gán cho công trình B, gửi sai quy trình thi công, mất 3 tiếng sửa soạn.
Nguyên nhân gốc rễ không phải "AI ngu" — là data bẩn:
- Thiếu key định danh duy nhất (customer_id, project_id).
- Nhét tên + SĐT + địa chỉ + ghi chú vào một ô "Thông tin khách".
- Không tách bảng: khách, sản phẩm, log giao tiếp nằm lẫn nhau trong 1 tab.
- AI đọc xong context 5.000 token vẫn không biết đâu là khách nào.
Theo các trao đổi trong cộng đồng, bài học chung: Thiếu một lớp chuẩn hóa dữ liệu trước khi nạp cho Agent. Mọi prompt "thông minh" cũng vô nghĩa nếu input lộn xộn.
Một hướng tiếp cận phổ biến được nhiều người áp dụng thành công là tư duy Sheets-first — 3 kỹ thuật cốt lõi:
Tách bảng theo entity, gắn khóa chính (Primary Key)
- Bảng Customers: customer_id (PK), name, phone, email, birthday, segment, created_at.
- Bảng Products: product_id (PK), name, category, price, unit.
- Bảng Interactions: interaction_id (PK), customer_id (FK), product_id (FK), channel, content, direction, status, timestamp.
- Node n8n: Set hoặc Function ngay sau Webhook/Trigger để validate và gán customer_id trước khi xuống các node AI.
Chuẩn hóa field cho AI đọc: 1 ý = 1 cột, không dùng merged cell, không text tự do
- Thay vì cột "Ghi chú: Khách A thích kem dưỡng ẩm, sinh nhật 12/05, đã mua 3 lần" → tách thành: preferred_category, birthday, purchase_count.
- Node n8n: Edit Fields (Set) để map dữ liệu thô sang schema chuẩn trước khi lưu Sheets. Dùng IF để bỏ qua row thiếu customer_id.
Context Engineering: Chỉ nạp vào prompt những gì Agent cần tại thời điểm đó
- Static context (system prompt): tone-of-voice, quy trình chăm sóc, template tin nhắn — nạp 1 lần.
- Dynamic context (từng lần chạy): Lấy 5 interaction gần nhất của customer_id đó qua Google Sheets Read → Filter → Aggregate thành JSON gọn ~300 token.
- Node n8n: Google Sheets (Read range) → Filter (customer_id = {{ $json.customer_id }}) → Limit (5) → Function (format context string).
- Kết quả: Prompt Agent chỉ ~800 token thay vì 5.000 token, chính xác tuyệt đối về khách hàng đang xử lý.
Sơ đồ n8n được cộng đồng chia sẻ nhiều nhất có thứ tự như sau: • Webhook/Trigger nhận sự kiện (comment, form, tin nhắn) • Set/Function: Validate input, lookup/gán customer_id (tạo mới nếu chưa có) • Google Sheets: Append row vào Interactions (log raw) • Google Sheets Read + Filter: Lấy 5 interaction gần nhất của customer_id • Function: Build dynamic_context JSON • AI Agent: System prompt (static) + dynamic_context → sinh phản hồi • Google Sheets: Append response vào Interactions (log AI reply) • Send Message (Facebook/Zalo/Email) qua HTTP Request
Kết quả thực tế từ các bạn triển khai sau 2 tuần: • Lỗi nhầm lẫn khách hàng: từ 12 lỗi/tuần → 0 lỗi (giảm 100%) • Token cost mỗi lượt Agent chạy: từ ~4.500 token → ~750 token (giảm 83%) • Thời gian setup workflow mới: từ 4h → 1.5h nhờ có template Sheets chuẩn
Câu đúc kết: Agent không cần thông minh hơn, Agent cần dữ liệu sạch hơn.
Chi tiết checklist thiết kế Sheets + template Google Sheets + JSON workflow mẫu các bạn để tại link Blog dưới phần bình luận nhé!
Bạn đang tổ chức data cho Agent như thế nào? Dùng 1 tab lớn hay đã tách bảng? Chia sẻ cho mọi người tham khảo nhé.
Bình luận
Nhận checklist Sheets-first + template Google Sheets + workflow JSON mẫu: https://tyauto.name.vn/posts/2026-09-27-personal-feed-sheets-first-ai-agent.html
Hostinger VPS — 9router proxy
Proxy định tuyến API AI: giảm chi phí token và tự phân phối yêu cầu qua hơn 40 nhà cung cấp LLM. Triển khai một cú nhấp, sao lưu tự động hằng tuần. giảm tới 69%
Hostinger VPS — n8n tự lưu trữ
Chạy n8n tự lưu trữ: workflow không giới hạn, số lệnh chạy đồng thời không giới hạn, dùng được node cộng đồng. Hoàn tiền trong 30 ngày. giảm tới 69%