Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 2 — Tiêu chí Go-Live: định nghĩa "đủ tốt để lên thật"

Đã đọc 0/8 mục · còn khoảng 3 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Go-live không phải một cảm giác ("chắc ổn rồi") mà là một danh sách tiêu chí đo được mà cả team đồng ý trước. Bài này giúp bạn viết ra bộ tiêu chí đó và một "eval gate" tự động để chặn agent kém chất lượng lọt ra production.

Vì sao cần tiêu chí rõ ràng

Nếu không có ngưỡng, quyết định go-live phụ thuộc vào người to tiếng nhất trong phòng họp. Có ngưỡng, quyết định trở nên khách quan và có thể tự động hóa. Tiêu chí tốt thường chia 3 nhóm: chất lượng, an toàn/chi phí, vận hành.

Ví dụ bộ tiêu chí Go-Live

Một agent phân loại và trả lời email hỗ trợ có thể đặt:

  • Chất lượng: đạt ≥ 90% trên bộ eval 200 ca vàng (golden set); độ chính xác phân loại ≥ 95%.
  • An toàn: 0 ca rò rỉ PII trong bộ red-team; chi phí trung bình ≤ 0,03 USD/request.
  • Vận hành: p95 latency ≤ 4s; có dashboard + alert; có nút tắt (kill switch).
Những con số này phải gắn với rủi ro nghiệp vụ: agent duyệt hoàn tiền cần ngưỡng khắt khe hơn agent gợi ý bài viết.

Golden set và eval gate

Golden set là tập ví dụ đầu vào kèm đầu ra kỳ vọng (hoặc tiêu chí chấm). Bạn chạy agent qua golden set mỗi lần thay đổi prompt/model và chặn deploy nếu điểm tụt.

# eval_gate.py — chặn go-live nếu chất lượng dưới ngưỡng
GOLDEN = load_cases("golden_set.jsonl")   # 200 ca có nhãn
THRESHOLD = 0.90

def run_gate(agent):
    passed = 0
    for case in GOLDEN:
        out = agent.run(case["input"])
        if judge(out, case["expected"]):   # rule hoặc LLM-judge
            passed += 1
    score = passed / len(GOLDEN)
    print(f"eval score = {score:.2%}")
    assert score >= THRESHOLD, "BLOCK go-live: chất lượng dưới ngưỡng"

Gắn script này vào CI: pull request đổi prompt mà điểm tụt dưới 0,90 thì pipeline fail, không ai merge được.

Khung tư duy: tiêu chí SMART cho agent

Mỗi tiêu chí phải đo được và có ngưỡng: "trả lời tốt" là vô nghĩa; "≥ 90% golden set được LLM-judge chấm đạt" là dùng được.

Các bước làm

  • Thu thập 100–300 ca thật từ pilot làm golden set, ưu tiên ca khó và ca biên.
  • Định nghĩa cách chấm: rule cứng khi có đáp án đúng/sai, LLM-judge cho câu mở.
  • Đặt ngưỡng theo rủi ro cho từng nhóm chất lượng/an toàn/vận hành.
  • Tự động hóa eval gate trong CI để chặn merge khi tụt điểm.
  • Ghi lại quyết định go/no-go kèm số liệu, ai ký duyệt, ngày.

Checklist Go-Live

  • [ ] Có golden set ≥ 100 ca, gồm ca biên và ca tấn công.
  • [ ] Ngưỡng chất lượng/an toàn/chi phí/latency đã chốt bằng số.
  • [ ] Eval gate chạy tự động và chặn được merge.
  • [ ] Có người chịu trách nhiệm ký duyệt go-live.
  • [ ] Có kế hoạch rollback nếu tiêu chí sập sau khi lên.

Sai lầm thường gặp

  • Ngưỡng bằng cảm giác. "Thấy ổn" không phải tiêu chí; hãy dùng số trên golden set.
  • Golden set toàn ca dễ. Nó sẽ luôn xanh và không bắt được lỗi thật.
  • Chỉ đo chất lượng, quên chi phí và latency. Agent đúng nhưng chậm/đắt vẫn hỏng ở production.
  • Eval chạy tay, thỉnh thoảng. Không tự động thì sớm muộn cũng bị bỏ qua khi deadline gấp.
Có tiêu chí và eval gate rồi, bài tiếp theo ta lo phần "nhìn thấy" agent khi nó chạy thật: observability.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi