Kiến thức / Chủ shop online / Chủ shop

Workflow AI cho livestream có nhánh xử lý lỗi

Workflow từ danh mục hàng đến lịch bán và chăm khách cũ dành cho Livestream chốt đơn

Tình huống thực tế

Trong phút thứ 18 của một buổi live, host đang giới thiệu SKU A thì comment hỏi SKU B, bảng giá vừa đổi và tồn trên KiotViet chưa đồng bộ với TikTok Shop. LIVE-FLOW-92 không cố tạo một câu trả lời tức thì. Nó mở incident card, khóa snapshot, phân label và chuyển đúng owner. Producer điều nhịp, moderator xem cue, host phát ngôn; AI chỉ tạo DRAFT. Sapo, Google Sheets, Zalo nội bộ và nền tảng live đều là nguồn có timestamp riêng. Mốc kiểm LIVE-FLOW-92-1: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

Việc có thể giao cho AI

AI có thể đọc luồng comment đã lọc, gom câu tương tự, phát hiện từ khóa cần kiểm, so fact card và tạo cue chờ. Nó không gửi chat, không ghim sản phẩm, không xác nhận đơn và không chốt. Đặc biệt, confidence của mô hình không được dùng làm quyền. Khi không map được SKU hoặc khách nêu dữ liệu cá nhân, incident chuyển PRIVACY_HOLD hoặc NEEDS_HUMAN để moderator xử lý ngoài luồng công khai. Mốc kiểm LIVE-FLOW-92-2: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

Dữ liệu cần chuẩn bị

Event contract gồm session-id, comment-id, received-at, platform, masked-user-id, detected-product, intent-label và correlation-id. Fact snapshot có source, valid-to, price-version, inventory-time và policy-version. Incident state giữ owner, priority, cue-version và resolution. Transcript chỉ lưu phần cần thiết theo retention; token và chi tiết cá nhân bị redaction. Một comment lặp dùng idempotency-key để không tạo nhiều card. Mốc kiểm LIVE-FLOW-92-3: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

Workflow từng bước

State đi qua CAPTURED, TRIAGED, FACT_CHECK, DRAFT_CUE, MODERATOR_REVIEW, RESOLVED hoặc ESCALATED. Comment injection vào QUARANTINE; SKU mơ hồ vào PRODUCT_HOLD; giá/tồn cũ vào FACT_HOLD; cue vượt policy bị REJECTED. Moderator có thể sửa hoặc bỏ cue. Chỉ khi con người xác nhận, host mới thấy câu gợi ý. Sau live, resolution được đối chiếu với nguồn order, không coi lời “chốt” trong comment là giao dịch. Mốc kiểm LIVE-FLOW-92-4: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

Bước 1: CAPTURE và khử trùng

Nhận event có session/comment id, redaction và idempotency; injection hoặc schema sai vào QUARANTINE. Tiêu chí qua bước 1 của LIVE-FLOW-92 là có evidence, next-state và đúng human owner; mọi lỗi phải giữ reason code để phục hồi đúng chặng.

Bước 2: TRIAGE ý định

AI gợi ý product/intent/priority, giữ UNKNOWN; moderator có quyền sửa label. Tiêu chí qua bước 2 của LIVE-FLOW-92 là có evidence, next-state và đúng human owner; mọi lỗi phải giữ reason code để phục hồi đúng chặng.

Bước 3: FACT_CHECK

Tra snapshot giá, tồn, policy còn hiệu lực; mơ hồ hoặc stale chuyển FACT_HOLD. Tiêu chí qua bước 3 của LIVE-FLOW-92 là có evidence, next-state và đúng human owner; mọi lỗi phải giữ reason code để phục hồi đúng chặng.

Bước 4: DRAFT_CUE

Tạo câu giữ nhịp hoặc brief, kèm evidence và stop reason; không chứa send/order action. Tiêu chí qua bước 4 của LIVE-FLOW-92 là có evidence, next-state và đúng human owner; mọi lỗi phải giữ reason code để phục hồi đúng chặng.

Bước 5: MODERATOR_REVIEW

Con người approve, sửa, bỏ hoặc escalate; mất kết nối thì cue không hiển thị. Tiêu chí qua bước 5 của LIVE-FLOW-92 là có evidence, next-state và đúng human owner; mọi lỗi phải giữ reason code để phục hồi đúng chặng.

Bước 6: RESOLVE hoặc ESCALATE

Host tự phát ngôn hoặc owner tiếp nhận ngoài luồng; ghi resolution receipt. Tiêu chí qua bước 6 của LIVE-FLOW-92 là có evidence, next-state và đúng human owner; mọi lỗi phải giữ reason code để phục hồi đúng chặng.

Bước 7: RECONCILE sau ca

Đối chiếu incident với nguồn vận hành, đóng issue và ghi deviation để cải tiến runbook. Tiêu chí qua bước 7 của LIVE-FLOW-92 là có evidence, next-state và đúng human owner; mọi lỗi phải giữ reason code để phục hồi đúng chặng.

Sơ đồ incident desk thời gian thực cho livestream có state và handoff
Sơ đồ minh họa LIVE-FLOW-92: state, nhánh lỗi, điều kiện dừng và Human-in-the-loop được hiển thị đầy đủ, không cắt ảnh.

Prompt thực hành

Năm prompt hỗ trợ incident desk: viết classifier rubric, dựng fact-check query, soạn holding cue, tạo moderator brief và tổng kết deviation. Đây là prompt vận hành trạng thái, khác bài map quyền và khác bộ prompt diễn tập. Output luôn chứa incident-id, unknown, next owner và stop reason. Prompt không chứa câu lệnh gửi hoặc thay đổi hệ thống bán hàng. Mốc kiểm LIVE-FLOW-92-5: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

Prompt 1: Viết rubric triage comment

Định nghĩa label, bằng chứng và ngưỡng chuyển người. Bản copy nằm trong prompt pack, có biến đầu vào, định dạng trả về và ví dụ LIVE-FLOW-92; kết quả luôn là tài liệu chờ người duyệt — 7E0BCB92-13-2.

Prompt 2: Dựng truy vấn fact-check

Chuyển incident thành yêu cầu đọc nguồn tối thiểu. Bản copy nằm trong prompt pack, có biến đầu vào, định dạng trả về và ví dụ LIVE-FLOW-92; kết quả luôn là tài liệu chờ người duyệt — 7E0BCB92-14-2.

Prompt 3: Soạn holding cue an toàn

Tạo câu giữ nhịp không hứa hẹn khi fact đang chờ. Bản copy nằm trong prompt pack, có biến đầu vào, định dạng trả về và ví dụ LIVE-FLOW-92; kết quả luôn là tài liệu chờ người duyệt — 7E0BCB92-15-2.

Prompt 4: Tạo moderator brief

Gom bằng chứng để con người quyết định trong vài dòng. Bản copy nằm trong prompt pack, có biến đầu vào, định dạng trả về và ví dụ LIVE-FLOW-92; kết quả luôn là tài liệu chờ người duyệt — 7E0BCB92-16-2.

Prompt 5: Tổng kết deviation sau ca

Phân tích log để sửa fixture và runbook. Bản copy nằm trong prompt pack, có biến đầu vào, định dạng trả về và ví dụ LIVE-FLOW-92; kết quả luôn là tài liệu chờ người duyệt — 7E0BCB92-17-2.

Công cụ phù hợp

Một queue có thể chạy trên Airtable/Sheet ở pilot; n8n nhận event ở chế độ giới hạn; Sapo/KiotViet cung cấp lookup chỉ đọc; TikTok Shop/Shopee Live là nguồn comment; Zalo dùng báo incident nội bộ; OBS hiển thị timer. Khi tải tăng, queue cần rate limit, dedup và dead-letter. Dashboard ưu tiên incident age, fact freshness và owner, không tối ưu cho việc trả lời bằng mọi giá. Mốc kiểm LIVE-FLOW-92-6: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

AI làm gì / người duyệt gì

AI triage và soạn cue; moderator quyết label và nội dung; producer ưu tiên incident; host quyết định phát ngôn; kho/pricing trả fact; CSKH tiếp nhận case riêng; system owner đóng/mở connector. Nếu moderator mất kết nối, cue không tự lên màn hình. Nếu producer kích hoạt kill switch, event vẫn có thể được ghi tối thiểu nhưng mọi suggestion dừng cho đến khi có lệnh mở lại. Mốc kiểm LIVE-FLOW-92-7: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

Bảng dữ liệu, quyền và kiểm duyệt cho Livestream chốt đơn
Visual minh họa LIVE-FLOW-92; số liệu DEMO dùng để kiểm quy trình, không phải kết quả kinh doanh.

Sai lầm và rủi ro cần tránh

Rủi ro gồm event đến sai thứ tự, comment lặp, lag làm fact hết hạn, injection giả lệnh admin và cue gắn nhầm sản phẩm. LIVE-FLOW-92 dùng idempotency, watermark thời gian, allowlist field và isolation theo session. Replay chỉ chạy incident chưa resolved. Không đưa toàn bộ transcript vào model nếu không cần; không dùng câu khách nói làm nguồn giá, tồn hay chính sách. Lỗi nghiêm trọng chuyển sang kịch bản host dự phòng. Mốc kiểm LIVE-FLOW-92-8: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

Triển khai theo quy mô

Pilot với một session giả lập 30 phút, ba SKU và 40 comment fixture. Bắt buộc có comment lặp, SKU mơ hồ, claim ngoài policy, tồn stale và PII. Đội nhỏ thêm ca trực, SLA và dashboard; doanh nghiệp thêm partition theo session, audit bất biến và diễn tập failover. Chỉ mở rộng khi dedup đúng, moderator nhìn đủ evidence và kill switch dừng suggestion ngay. Mốc kiểm LIVE-FLOW-92-9: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

Kết quả đầu ra mẫu

Kết quả minh họa LIVE-FLOW-92: 40 comment tạo 26 incident sau dedup; 14 RESOLVED bằng cue đã duyệt, bảy ESCALATED, ba FACT_HOLD và hai QUARANTINE. Incident DEMO-CMT-19 hỏi giá cũ nên moderator dùng holding cue, pricing owner xác nhận version mới rồi host tự quyết định thông báo. Không có chat, ghim sản phẩm hoặc đơn nào do AI thực hiện. Chỉ số này mô tả fixture, không phải kết quả live thật. Mốc kiểm LIVE-FLOW-92-10: artifact chỉ được chuyển tiếp khi nguồn, owner và điều kiện dừng đều hiện rõ; nếu không, người vận hành giữ trạng thái chờ và dùng đường thủ công đã phê duyệt.

Bước tiếp theo: Chọn một fixture LIVE-FLOW-92, loại dữ liệu không cần thiết và gửi sơ đồ hiện trạng tại /lien-he để NganAds cùng thiết kế pilot DRAFT-only có người duyệt.

Workflow

  1. Bước 1: CAPTURE và khử trùng — Nhận event có session/comment id, redaction và idempotency; injection hoặc schema sai vào QUARANTINE.
  2. Bước 2: TRIAGE ý định — AI gợi ý product/intent/priority, giữ UNKNOWN; moderator có quyền sửa label.
  3. Bước 3: FACT_CHECK — Tra snapshot giá, tồn, policy còn hiệu lực; mơ hồ hoặc stale chuyển FACT_HOLD.
  4. Bước 4: DRAFT_CUE — Tạo câu giữ nhịp hoặc brief, kèm evidence và stop reason; không chứa send/order action.
  5. Bước 5: MODERATOR_REVIEW — Con người approve, sửa, bỏ hoặc escalate; mất kết nối thì cue không hiển thị.
  6. Bước 6: RESOLVE hoặc ESCALATE — Host tự phát ngôn hoặc owner tiếp nhận ngoài luồng; ghi resolution receipt.
  7. Bước 7: RECONCILE sau ca — Đối chiếu incident với nguồn vận hành, đóng issue và ghi deviation để cải tiến runbook.

Prompt mẫu

Viết rubric triage comment

MỤC TIÊU: Định nghĩa label, bằng chứng và ngưỡng chuyển người.

[ĐẦU VÀO]
MÃ_ARTIFACT = [LIVE-FLOW-92-1]
COMMENT_FIXTURE, PRODUCT_INDEX, POLICY, PRIORITY_RULE = [điền dữ liệu đã kiểm tra]
PHẠM_VI = [DRAFT nội bộ, không gửi/đăng/chốt]

YÊU CẦU: Giữ UNKNOWN khi thiếu bằng chứng; nêu source-ref, limitation, stop condition và người duyệt. Không tạo hành động bên ngoài.

ĐỊNH DẠNG ĐẦU RA: Label rule | Counterexample | Unknown | Handoff.

VÍ DỤ ĐIỀN SẴN: “còn màu nào” thiếu SKU nên PRODUCT_HOLD thay vì đoán sản phẩm đang nói.

Dựng truy vấn fact-check

MỤC TIÊU: Chuyển incident thành yêu cầu đọc nguồn tối thiểu.

[ĐẦU VÀO]
MÃ_ARTIFACT = [LIVE-FLOW-92-2]
INCIDENT_ID, ENTITY, REQUIRED_FACT, FRESHNESS_SLA = [điền dữ liệu đã kiểm tra]
PHẠM_VI = [DRAFT nội bộ, không gửi/đăng/chốt]

YÊU CẦU: Giữ UNKNOWN khi thiếu bằng chứng; nêu source-ref, limitation, stop condition và người duyệt. Không tạo hành động bên ngoài.

ĐỊNH DẠNG ĐẦU RA: Lookup plan | Source | Valid-to | Không đủ thì state.

VÍ DỤ ĐIỀN SẴN: DEMO-CMT-19 yêu cầu price-version hiện hành, không đọc câu của khách làm giá.

Soạn holding cue an toàn

MỤC TIÊU: Tạo câu giữ nhịp không hứa hẹn khi fact đang chờ.

[ĐẦU VÀO]
MÃ_ARTIFACT = [LIVE-FLOW-92-3]
HOST_STYLE, INCIDENT_LABEL, UNKNOWN, SAFE_POLICY = [điền dữ liệu đã kiểm tra]
PHẠM_VI = [DRAFT nội bộ, không gửi/đăng/chốt]

YÊU CẦU: Giữ UNKNOWN khi thiếu bằng chứng; nêu source-ref, limitation, stop condition và người duyệt. Không tạo hành động bên ngoài.

ĐỊNH DẠNG ĐẦU RA: Hai cue ngắn + điều không được nói + owner.

VÍ DỤ ĐIỀN SẴN: Cue nói “đội ngũ đang kiểm tra mã” và không hứa giao sáng mai.

Tạo moderator brief

MỤC TIÊU: Gom bằng chứng để con người quyết định trong vài dòng.

[ĐẦU VÀO]
MÃ_ARTIFACT = [LIVE-FLOW-92-4]
INCIDENT, FACT_RESULT, POLICY_REF, OPTIONS = [điền dữ liệu đã kiểm tra]
PHẠM_VI = [DRAFT nội bộ, không gửi/đăng/chốt]

YÊU CẦU: Giữ UNKNOWN khi thiếu bằng chứng; nêu source-ref, limitation, stop condition và người duyệt. Không tạo hành động bên ngoài.

ĐỊNH DẠNG ĐẦU RA: Summary | Evidence | Risk | Approve/Edit/Escalate.

VÍ DỤ ĐIỀN SẴN: Giá snapshot hết hạn được đánh dấu đỏ và giao pricing owner.

Tổng kết deviation sau ca

MỤC TIÊU: Phân tích log để sửa fixture và runbook.

[ĐẦU VÀO]
MÃ_ARTIFACT = [LIVE-FLOW-92-5]
INCIDENT_LOG, RESOLUTION, HOST_DEVIATION, SYSTEM_EVENT = [điền dữ liệu đã kiểm tra]
PHẠM_VI = [DRAFT nội bộ, không gửi/đăng/chốt]

YÊU CẦU: Giữ UNKNOWN khi thiếu bằng chứng; nêu source-ref, limitation, stop condition và người duyệt. Không tạo hành động bên ngoài.

ĐỊNH DẠNG ĐẦU RA: Pattern | Root cause giả thuyết | Evidence | Owner | Test mới.

VÍ DỤ ĐIỀN SẴN: Ba PRODUCT_HOLD cùng nguyên nhân thiếu alias SKU, đề xuất bổ sung fixture.

Câu hỏi thường gặp

Bài liên quan

Chọn một fixture LIVE-FLOW-92, loại dữ liệu không cần thiết và gửi sơ đồ hiện trạng tại /lien-he để NganAds cùng thiết kế pilot DRAFT-only có người duyệt.