StoreFleet
Blog › Build AI agent quản lý nhiều store Shopify: build log thật

Build AI agent quản lý nhiều store Shopify: build log thật

Build log thật — cách chúng tôi build AI agent quản lý nhiều store Shopify. Lớp dữ liệu viết trước, tuần đầu hỏng gì, guardrail nào giữ được.

Linh Nguyen · Cập nhật

Điểm chính — AI tóm tắt
  • Build lớp dữ liệu trước khi build agent — một nguồn hợp nhất cho đơn, fulfillment và sự kiện tracking của mọi store; agent đứng trên năm nguồn dữ liệu lệch nhau thực chất là năm con agent mặc chung một chiếc áo khoác
  • Logic đặt theo từng store mục ruỗng trong im lặng — cùng bộ quy tắc triage, mỗi store một bản sao, trôi dần thành các phiên bản hơi khác nhau cho đến khi kết quả cãi nhau; gom về một lớp dữ liệu duy nhất là cách chữa
  • Báo cáo thẳng về MCP — với agent vận hành, không MCP server nào của Shopify nằm trong đường chạy runtime (Storefront và Checkout MCP dành cho agent đi mua hàng, không phải agent đi quản lý), nhưng nếu bắt đầu từ số không chưa có backend, MCP cộng AI Toolkit là đường nhanh nhất
  • Bản thân agent là một vòng lặp nhàm chán, chỉ hành động qua danh sách tool hẹp, mọi lượt ghi được log kèm đủ ngữ cảnh và rate-limit — vụ "hết hàng không có thật" chỉ-đọc ở tuần đầu là lý do mọi tác vụ khởi đầu ở mức đọc-và-báo-cáo
  • Guardrail giữ được — thang tự chủ 4 mức với khoảng hai tuần sạch lỗi trước khi thăng mức, tiền không bao giờ rời mức đề xuất, text của khách được làm sạch để chống prompt injection; dự trù 2–3 tuần kỹ thuật thật cho bản đầu dùng được, kể cả khi lớp dữ liệu đã có sẵn

AI tổng hợp từ chính nội dung bài viết; tác giả đã soát lại.

Trong bài này
  1. Quyết định quan trọng hơn chọn model: lớp dữ liệu đi trước
  2. MCP cho chúng tôi được gì, và chúng tôi bỏ qua gì
  3. Nối dây cho agent: tool nó được gọi, không phải quyền nó được cấp
  4. Tuần đầu tiên: vụ hết hàng không có thật
  5. Điều tôi muốn nói với bạn trước khi bạn bắt tay build

Tháng 2/2026, chúng tôi bật con AI agent hiện đang phụ vận hành năm store Shopify của mình. Sáu tuần sau, nó sống trong kênh Discord mà team tôi ngồi cả ngày: mỗi sáng đăng một bản digest sức khỏe cho cả đội store, soạn nháp trả lời hỗ trợ tuyến đầu, và báo những shipment ngừng nhúc nhích trước khi có ai kịp hỏi. Tôi đã viết riêng về chuyện giao việc gì cho nó và giữ lại việc gì. Bài này là nửa còn lại: build log. Nếu bạn muốn tự build AI agent quản lý nhiều store Shopify, đây là kiến trúc chúng tôi chốt lại, quyết định quan trọng hơn cả chuyện chọn model, và những thứ đã hỏng dọc đường.

Quyết định quan trọng hơn chọn model: lớp dữ liệu đi trước

Đây là phần mà đa số tutorial "build AI agent" bỏ qua, và là điều đầu tiên tôi sẽ lặp lại nếu làm lại từ đầu: chúng tôi không bắt đầu bằng việc nối một con LLM vào Shopify. Chúng tôi bắt đầu — từ trước khi có agent, mà lúc đó không hề biết — bằng việc tự xây hệ thống vận hành đơn hàng và theo dõi shipment in-house: một backend Node.js ăn dữ liệu từ Shopify Admin API và webhook, cộng một vòng đời theo dõi shipment xây trên 17TRACK, gom đơn, fulfillment và sự kiện tracking của mọi store về một chỗ.

Chuyện này quan trọng vì phản xạ đầu tiên của chúng tôi với automation cũng là phản xạ hiển nhiên nhất: đặt logic cạnh từng store. Năm store, năm bản sao của bộ quy tắc triage. Ngày đầu chạy ngon, sau đó mục ruỗng trong im lặng — chúng tôi sửa một quy tắc ở store này, quên store kia, và cuối cùng cùng một quy tắc sống thành mấy phiên bản hơi khác nhau rải khắp đội store. Không ai nhận ra config bị lệch cho đến khi kết quả đầu ra cãi nhau, và đến lúc đó thì bạn chẳng biết nên tin store nào. Gom hết về một lớp dữ liệu duy nhất là thứ đã chữa được chuyện này — và đó chính là nền mà agent bây giờ đứng lên.

Vậy nên agent của chúng tôi không gọi Shopify theo từng store. Nó truy vấn lớp dữ liệu hợp nhất — "cho tôi xem mọi đơn có tín hiệu rủi ro trên cả đội store", một câu hỏi, một câu trả lời — còn phần ống nước API theo từng store là việc của backend, không phải việc của agent. Nếu bạn chỉ mang về được một câu từ cả bài này, hãy mang câu này: build lớp dữ liệu trước khi build agent. Một agent đứng trên năm nguồn dữ liệu lệch nhau thực chất là năm con agent mặc chung một chiếc áo khoác.

MCP cho chúng tôi được gì, và chúng tôi bỏ qua gì

Lớp giao thức mà ai cũng hỏi tới là MCP — Model Context Protocol. Shopify công bố nền tảng thương mại agentic ngày 11/1/2026 và triển khai hỗ trợ MCP trên toàn nền tảng trong Q1 2026 — cũng gần đúng thời điểm chúng tôi bắt đầu để mắt nghiêm túc. Shopify hiện có nhiều MCP server: Storefront MCP cho khám phá sản phẩm và thao tác giỏ hàng, Customer Accounts MCP cho lịch sử đơn và dữ liệu tài khoản, Checkout MCP (còn ở giai đoạn preview cho một số đối tác), và Dev MCP — mở schema Admin API và thao tác store, nằm trong bộ AI Toolkit mà Shopify mở mã nguồn tháng 4/2026.

Báo cáo thẳng từ quá trình build của chúng tôi: với một agent vận hành, không cái nào trong số đó nằm trong đường chạy runtime. Storefront và Checkout MCP dành cho agent đi mua hàng; agent của chúng tôi đi quản lý. Dev MCP là cái dành cho người build — tra schema và validate truy vấn GraphQL ngay trong môi trường code, đáng có nếu bạn đang viết tích hợp Admin API — nhưng lúc chạy thật, tool của agent trỏ vào lớp dữ liệu của chính chúng tôi, không phải vào endpoint MCP theo từng store. Còn nếu bạn bắt đầu từ con số không, chưa có backend riêng, thì bài toán đảo chiều: MCP cộng AI Toolkit là đường nhanh nhất để agent đọc được dữ liệu store thật mà không phải tự viết phần xác thực và schema.

Nối dây cho agent: tool nó được gọi, không phải quyền nó được cấp

Bản thân con agent là phần nhàm chán nhất, và tôi nói vậy như một lời khen. Nó là một vòng lặp: sự kiện và lịch trình kích hoạt nó, nó đọc từ lớp dữ liệu, suy luận bằng LLM, và chỉ hành động qua một danh sách tool ngắn do chúng tôi định nghĩa. Mỗi tool là một endpoint hẹp trên backend — lấy tóm tắt đơn toàn đội store, liệt kê shipment không có chuyển động tracking, soạn nháp trả lời khách từ ngữ cảnh đơn hàng, gắn tag đơn. Mọi thao tác ghi đều được log kèm toàn bộ ngữ cảnh agent nhìn thấy lúc đó, và mọi đường ghi đều có rate-limit — vì cái ngày có chuyện xảy ra, bạn sẽ muốn một dấu vết kiểm toán từng dòng, chứ không phải một bí ẩn. Mẫu hình Bot API là đúng ý tưởng này nếu bạn build thẳng trên Shopify.

Discord là giao diện vì Discord là nơi team tôi vốn đã ngồi sẵn. Không thêm một dashboard mới phải nhớ mở: digest buổi sáng rơi vào kênh, nháp trả lời hỗ trợ đến dưới dạng tin nhắn để người duyệt hoặc sửa, cảnh báo leo thang thì ping đúng người. Các workflow đang chạy hôm nay đều thuộc loại không hào nhoáng — digest sáng cho cả đội store, cờ shipment kẹt, nháp trả lời khách — và đó là cố ý. Workflow nhàm chán là loại có giá trị đo được và chi phí hỏng hóc rẻ.

Tuần đầu tiên: vụ hết hàng không có thật

Tuần đầu tiên cho chúng tôi sự cố thật đầu tiên, và tôi cứ kể lại mãi vì nó định hình bộ guardrail. Bản digest buổi sáng báo một sản phẩm hết hàng. Không hề — agent đọc nhầm tồn kho ở cấp variant và cộng sai chỗ. Tổng thiệt hại: vài phút bối rối, vì digest chỉ có quyền đọc. Đó là toàn bộ lập luận cho việc mọi tác vụ phải bắt đầu ở mức đọc-và-báo-cáo: lỗi tệ nhất có thể xảy ra là một câu văn sai, và một câu văn sai ở tuần đầu dạy bạn thói quen đối chiếu số trước khi buông tay.

Bộ guardrail đúc ra từ những tuần đó, nén lại:

Điều tôi muốn nói với bạn trước khi bạn bắt tay build

Ba quan điểm, đều trả giá chậm rãi mà có. Một: phần lớn các bài chào hàng "AI store manager" bạn sẽ đọc là ảo tưởng Mức 4 — agent tự chủ hoàn toàn, vận hành store không cần ai giám sát. Gần như toàn bộ giá trị trên đội store của chúng tôi nằm ở Mức 1–3. Hai: đừng dùng agent ở chỗ một quy tắc là đủ. Với logic nếu-thì thuần túy, Shopify Flow rẻ hơn, nhanh hơn, dễ kiểm toán hơn; agent chỉ đáng đồng tiền ở những chỗ cần đọc-hiểu. Ba — cũng là xương sống của cả bài — lớp dữ liệu luôn đi trước agent.

Về chuyện tự build hay tích hợp: ghép lớp MCP, quyền Admin API, logic điều phối và một giao diện duyệt hành động là công việc kỹ thuật thật — ước lượng thô của tôi là 2–3 tuần cho phiên bản đầu dùng được, và đó là khi lớp dữ liệu của chúng tôi đã có sẵn từ trước. Nếu bạn dành ra được chừng đó, AI Toolkit là điểm xuất phát thực sự tốt. Nếu không, lối tắt sòng phẳng là đứng lên một lớp dữ liệu hợp nhất đã có sẵn, vì agent mới là nửa dễ — phần đơn hàng, shipment và tài chính gộp lại bên dưới mới là phần ngốn thời gian.