Hết hàng bán chạy = mất doanh thu; tồn đọng hàng ế = chôn vốn. Agent tồn kho không chỉ trả lời số tồn mà còn chủ động cảnh báo, đề xuất nhập, và phát hiện bất thường.
Từ bị động sang chủ động
Agent tư vấn (bài 4) chỉ phản hồi khi khách hỏi. Agent tồn kho chạy theo lịch (cron/scheduled): mỗi ngày quét tồn, so ngưỡng, dự báo ngày hết hàng, rồi gửi cảnh báo cho chủ shop. Đây là dạng agent "proactive".
Các bước xây dựng
- Định nghĩa ngưỡng tồn kho theo tốc độ bán.
- Tính tốc độ bán & dự báo ngày hết (days of supply).
- Lập lịch quét định kỳ.
- Sinh cảnh báo có ưu tiên + đề xuất số lượng nhập.
- Phát hiện bất thường (bán vọt/tụt bất thường).
Bước 1 & 2 — Ngưỡng động theo tốc độ bán
Ngưỡng cố định (vd "dưới 10 thì báo") kém: món bán 50/ngày với món bán 1/tháng không thể chung ngưỡng. Dùng days of supply:
def days_of_supply(sku):
qty = get_stock(sku)["qty"]
velocity = avg_daily_sales(sku, days=14) # trung bình 14 ngày
if velocity == 0:
return None # hàng không bán (xét tồn đọng riêng)
return qty / velocity
def needs_reorder(sku, lead_time_days=5, safety=3):
dos = days_of_supply(sku)
return dos is not None and dos <= (lead_time_days + safety)
Ý tưởng: nếu số ngày còn bán được ≤ thời gian nhập hàng cộng đệm an toàn → phải đặt nhập ngay.
Bước 3 & 4 — Lịch quét + cảnh báo ưu tiên
def daily_inventory_scan():
alerts = []
for sku in all_active_skus():
if needs_reorder(sku):
qty_suggest = reorder_qty(sku) # đủ bán 30 ngày
alerts.append({"sku": sku, "level": priority(sku),
"suggest": qty_suggest})
# LLM soạn bản tóm tắt dễ đọc cho chủ shop
return summarize_for_owner(sorted(alerts, key=lambda a: a["level"]))
Bước 5 — Bất thường
Bán vọt gấp 5 lần bình thường có thể là viral (nhập gấp) hoặc lỗi giá/khuyến mãi (cần kiểm tra). Agent nêu cảnh báo kèm giả thuyết để người quyết.
Khung tư duy: vòng tồn kho khỏe mạnh
- Quan sát — quét tồn + tốc độ bán định kỳ.
- Dự báo — days of supply, ngày hết hàng.
- Cảnh báo — theo mức ưu tiên, kèm đề xuất số lượng.
- Hành động — người duyệt lệnh nhập (hoặc auto với nhà cung cấp tin cậy).
- Phản hồi — cập nhật lại tốc độ bán sau khuyến mãi/mùa vụ.
Checklist agent tồn kho
- [ ] Ngưỡng theo tốc độ bán, không dùng số cố định cho mọi SKU?
- [ ] Có tính lead time + đệm an toàn khi đề xuất nhập?
- [ ] Cảnh báo có ưu tiên (bán chạy sắp hết lên đầu)?
- [ ] Có tách nhóm hàng tồn đọng (velocity = 0) để xả?
- [ ] Có phát hiện bất thường bán vọt/tụt?
- [ ] Đề xuất nhập vẫn cần người duyệt trước khi đặt tiền thật?
Sai lầm thường gặp
- Ngưỡng cố định cho mọi mặt hàng. Bỏ sót hàng bán nhanh, báo thừa hàng bán chậm.
- Bỏ quên lead time. Báo khi đã sắp hết thì nhập về cũng không kịp; phải trừ thời gian giao của nhà cung cấp.
- Cảnh báo không ưu tiên. Dội 200 cảnh báo mỗi sáng, chủ shop bỏ đọc → mất tác dụng.
- Auto đặt hàng không người duyệt. Lỗi tốc độ bán (do khuyến mãi) khiến agent nhập thừa, chôn vốn.
- Không xử lý hàng tồn đọng. Chỉ lo hết hàng mà quên hàng ế cũng là chôn vốn — cần đề xuất xả/giảm giá.
- Bỏ qua mùa vụ. Tết/sale lớn làm tốc độ bán nhảy vọt; mô hình phải tính đến hoặc cảnh báo con người điều chỉnh.